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. More...
 
void clear ()
 
void sync (EmuTime::param time)
 Update VRAM state to specified moment in time. More...
 
byte readVRAMBx (unsigned address)
 
byte readVRAMP1 (unsigned address)
 
byte readVRAMP2 (unsigned address)
 
void writeVRAMBx (unsigned address, byte value)
 
void writeVRAMP1 (unsigned address, byte value)
 
void writeVRAMP2 (unsigned address, byte value)
 
byte readVRAMDirect (unsigned address)
 
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. More...
 

Detailed Description

Video RAM for the V9990.

Definition at line 15 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 8 of file V9990VRAM.cc.

Member Function Documentation

◆ clear()

void openmsx::V9990VRAM::clear ( )

◆ readVRAMBx()

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

◆ readVRAMCPU()

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

Definition at line 41 of file V9990VRAM.cc.

References sync().

Referenced by writeVRAMDirect().

◆ readVRAMDirect()

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

◆ readVRAMP1()

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

◆ readVRAMP2()

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

Definition at line 60 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.

Referenced by setCmdEngine().

◆ setCmdEngine()

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

Definition at line 84 of file V9990VRAM.hh.

References serialize().

◆ sync()

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

Update VRAM state to specified moment in time.

Parameters
timeMoment in emulated time to synchronise VRAM to

Definition at line 33 of file V9990VRAM.hh.

References openmsx::V9990CmdEngine::sync().

Referenced by openmsx::V9990PixelRenderer::frameEnd(), readVRAMCPU(), and writeVRAMCPU().

◆ transformBx()

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

◆ transformP1()

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

Definition at line 40 of file V9990VRAM.hh.

Referenced by clear(), readVRAMP1(), and writeVRAMP1().

◆ transformP2()

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

Definition at line 43 of file V9990VRAM.hh.

References transformBx().

Referenced by clear(), readVRAMP2(), and writeVRAMP2().

◆ writeVRAMBx()

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

◆ 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 writeVRAMDirect().

◆ writeVRAMDirect()

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

◆ writeVRAMP1()

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

Definition at line 67 of file V9990VRAM.hh.

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

◆ writeVRAMP2()

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

Definition at line 70 of file V9990VRAM.hh.

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

Member Data Documentation

◆ VRAM_SIZE

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

VRAM Size.

Definition at line 20 of file V9990VRAM.hh.


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