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)
 
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.
 

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 7 of file V9990VRAM.cc.

Member Function Documentation

◆ clear()

void openmsx::V9990VRAM::clear ( )

Definition at line 14 of file V9990VRAM.cc.

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

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

◆ readVRAMBx()

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

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

References sync().

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

◆ 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 53 of file V9990VRAM.cc.

◆ setCmdEngine()

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

Definition at line 84 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 33 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 37 of file V9990VRAM.hh.

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

◆ transformP1()

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

Definition at line 40 of file V9990VRAM.hh.

Referenced by readVRAMP1(), and writeVRAMP1().

◆ transformP2()

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

Definition at line 43 of file V9990VRAM.hh.

References transformBx().

Referenced by readVRAMP2(), and writeVRAMP2().

◆ writeVRAMBx()

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

Definition at line 64 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 46 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 77 of file V9990VRAM.hh.

References openmsx::TrackedRam::write().

◆ 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
staticconstexpr

VRAM Size.

Definition at line 20 of file V9990VRAM.hh.


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