Go to the documentation of this file.
33 inline void sync(EmuTime::param time) {
34 cmdEngine->
sync(time);
37 [[nodiscard]]
static inline unsigned transformBx(
unsigned address) {
38 return ((address & 1) << 18) | ((address & 0x7FFFE) >> 1);
40 [[nodiscard]]
static inline unsigned transformP1(
unsigned address) {
43 [[nodiscard]]
static inline unsigned transformP2(
unsigned address) {
45 if (address < 0x78000) {
47 }
else if (address < 0x7C000) {
48 return address - 0x3C000;
78 data.
write(address, value);
81 [[nodiscard]]
byte readVRAMCPU(
unsigned address, EmuTime::param time);
82 void writeVRAMCPU(
unsigned address,
byte val, EmuTime::param time);
86 template<
typename Archive>
87 void serialize(Archive& ar,
unsigned version);
90 unsigned mapAddress(
unsigned address);
byte readVRAMDirect(unsigned address)
static constexpr unsigned VRAM_SIZE
VRAM Size.
void writeVRAMBx(unsigned address, byte value)
byte readVRAMBx(unsigned address)
byte readVRAMP2(unsigned address)
void setCmdEngine(V9990CmdEngine &cmdEngine_)
static unsigned transformP2(unsigned address)
static unsigned transformP1(unsigned address)
static unsigned transformBx(unsigned address)
void serialize(Archive &ar, unsigned version)
byte readVRAMP1(unsigned address)
void sync(EmuTime::param time)
Synchronizes the command engine with the V9990.
void write(unsigned addr, byte value)
void sync(EmuTime::param time)
Update VRAM state to specified moment in time.
byte readVRAMCPU(unsigned address, EmuTime::param time)
void writeVRAMDirect(unsigned address, byte value)
V9990VRAM(V9990 &vdp, EmuTime::param time)
Construct V9990 VRAM.
void writeVRAMCPU(unsigned address, byte val, EmuTime::param time)
void writeVRAMP2(unsigned address, byte value)
This file implemented 3 utility functions:
void writeVRAMP1(unsigned address, byte value)
Implementation of the Yamaha V9990 VDP as used in the GFX9000 cartridge by Sunrise.