openMSX
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
openmsx::V9990VRAM Class Reference

Video RAM for the V9990. More...

#include <V9990VRAM.hh>

Public Member Functions

 V9990VRAM (V9990 &vdp, EmuTime::param time)
 Construct V9990 VRAM.
 
void clear ()
 
void sync (EmuTime::param time)
 Update VRAM state to specified moment in time.
 
byte readVRAMBx (unsigned address) const
 
byte readVRAMP1 (unsigned address) const
 
byte readVRAMP2 (unsigned address) const
 
void writeVRAMBx (unsigned address, byte value)
 
void writeVRAMP1 (unsigned address, byte value)
 
void writeVRAMP2 (unsigned address, byte value)
 
byte readVRAMDirect (unsigned address) const
 
void writeVRAMDirect (unsigned address, byte value)
 
byte readVRAMCPU (unsigned address, EmuTime::param time)
 
void writeVRAMCPU (unsigned address, byte val, EmuTime::param time)
 
void setCmdEngine (V9990CmdEngine &cmdEngine_)
 
template<typename Archive >
void serialize (Archive &ar, unsigned version)
 

Static Public Member Functions

static unsigned transformBx (unsigned address)
 
static unsigned transformP1 (unsigned address)
 
static unsigned transformP2 (unsigned address)
 

Static Public Attributes

static constexpr unsigned VRAM_SIZE = 512 * 1024
 VRAM Size.
 

Detailed Description

Video RAM for the V9990.

Definition at line 16 of file V9990VRAM.hh.

Constructor & Destructor Documentation

◆ V9990VRAM()

openmsx::V9990VRAM::V9990VRAM ( V9990 vdp,
EmuTime::param  time 
)

Construct V9990 VRAM.

Parameters
vdpThe V9990 vdp this VRAM belongs to
timeMoment in time to create the VRAM

Definition at line 9 of file V9990VRAM.cc.

Member Function Documentation

◆ clear()

void openmsx::V9990VRAM::clear ( )

Definition at line 16 of file V9990VRAM.cc.

References ranges::fill(), and openmsx::TrackedRam::getWriteBackdoor().

Referenced by openmsx::V9990::powerUp().

◆ readVRAMBx()

byte openmsx::V9990VRAM::readVRAMBx ( unsigned  address) const
inline

Definition at line 55 of file V9990VRAM.hh.

References transformBx().

Referenced by openmsx::CursorInfo::CursorInfo(), and openmsx::P2Policy::readPatternTable().

◆ readVRAMCPU()

byte openmsx::V9990VRAM::readVRAMCPU ( unsigned  address,
EmuTime::param  time 
)

Definition at line 41 of file V9990VRAM.cc.

References sync().

Referenced by openmsx::V9990::readIO(), and openmsx::V9990::serialize().

◆ readVRAMDirect()

byte openmsx::V9990VRAM::readVRAMDirect ( unsigned  address) const
inline

◆ readVRAMP1()

byte openmsx::V9990VRAM::readVRAMP1 ( unsigned  address) const
inline

◆ readVRAMP2()

byte openmsx::V9990VRAM::readVRAMP2 ( unsigned  address) const
inline

Definition at line 61 of file V9990VRAM.hh.

References transformP2().

◆ serialize()

template<typename Archive >
void openmsx::V9990VRAM::serialize ( Archive &  ar,
unsigned  version 
)

Definition at line 55 of file V9990VRAM.cc.

◆ setCmdEngine()

void openmsx::V9990VRAM::setCmdEngine ( V9990CmdEngine cmdEngine_)
inline

Definition at line 85 of file V9990VRAM.hh.

◆ sync()

void openmsx::V9990VRAM::sync ( EmuTime::param  time)
inline

Update VRAM state to specified moment in time.

Parameters
timeMoment in emulated time to synchronize VRAM to

Definition at line 34 of file V9990VRAM.hh.

References openmsx::V9990CmdEngine::sync().

Referenced by readVRAMCPU(), and writeVRAMCPU().

◆ transformBx()

static unsigned openmsx::V9990VRAM::transformBx ( unsigned  address)
inlinestatic

Definition at line 38 of file V9990VRAM.hh.

Referenced by readVRAMBx(), transformP2(), and writeVRAMBx().

◆ transformP1()

static unsigned openmsx::V9990VRAM::transformP1 ( unsigned  address)
inlinestatic

Definition at line 41 of file V9990VRAM.hh.

Referenced by readVRAMP1(), and writeVRAMP1().

◆ transformP2()

static unsigned openmsx::V9990VRAM::transformP2 ( unsigned  address)
inlinestatic

Definition at line 44 of file V9990VRAM.hh.

References transformBx().

Referenced by readVRAMP2(), and writeVRAMP2().

◆ writeVRAMBx()

void openmsx::V9990VRAM::writeVRAMBx ( unsigned  address,
byte  value 
)
inline

Definition at line 65 of file V9990VRAM.hh.

References transformBx(), and openmsx::TrackedRam::write().

◆ writeVRAMCPU()

void openmsx::V9990VRAM::writeVRAMCPU ( unsigned  address,
byte  val,
EmuTime::param  time 
)

Definition at line 48 of file V9990VRAM.cc.

References sync(), and openmsx::TrackedRam::write().

Referenced by openmsx::V9990::writeIO().

◆ writeVRAMDirect()

void openmsx::V9990VRAM::writeVRAMDirect ( unsigned  address,
byte  value 
)
inline

Definition at line 78 of file V9990VRAM.hh.

References openmsx::TrackedRam::write().

◆ writeVRAMP1()

void openmsx::V9990VRAM::writeVRAMP1 ( unsigned  address,
byte  value 
)
inline

Definition at line 68 of file V9990VRAM.hh.

References transformP1(), and openmsx::TrackedRam::write().

◆ writeVRAMP2()

void openmsx::V9990VRAM::writeVRAMP2 ( unsigned  address,
byte  value 
)
inline

Definition at line 71 of file V9990VRAM.hh.

References transformP2(), and openmsx::TrackedRam::write().

Member Data Documentation

◆ VRAM_SIZE

constexpr unsigned openmsx::V9990VRAM::VRAM_SIZE = 512 * 1024
staticconstexpr

VRAM Size.

Definition at line 21 of file V9990VRAM.hh.


The documentation for this class was generated from the following files: