11 , vlm5030(
"VLM5030",
"Konami Keyboard Master's VLM5030",
12 rom.getFilename(), config)
19 reset(EmuTime::dummy());
22 for (
auto port : {0x00, 0x20}) {
23 cpuInterface.register_IO_Out(narrow_cast<byte>(port),
this);
24 cpuInterface.register_IO_In (narrow_cast<byte>(port),
this);
31 for (
auto port : {0x00, 0x20}) {
32 cpuInterface.unregister_IO_Out(narrow_cast<byte>(port),
this);
33 cpuInterface.unregister_IO_In (narrow_cast<byte>(port),
this);
44 switch (port & 0xFF) {
63 switch (port & 0xFF) {
65 return vlm5030.
getBSY(time) ? 0x10 : 0x00;
73template<
typename Archive>
76 ar.template serializeBase<Rom16kBBlocks>(*
this);
77 ar.serialize(
"VLM5030", vlm5030);
#define REGISTER_MSXDEVICE(CLASS, NAME)
MSXCPUInterface & getCPUInterface() const
void setUnmapped(unsigned region)
Select 'unmapped' memory for this region.
void setRom(unsigned region, unsigned block)
Selects a block of the ROM image for reading in a certain region.
void serialize(Archive &ar, unsigned version)
byte peekIO(word port, EmuTime::param time) const override
Read a byte from a given IO port.
~RomKonamiKeyboardMaster() override
void writeIO(word port, byte value, EmuTime::param time) override
Write a byte to a given IO port at a certain time to this device.
byte readIO(word port, EmuTime::param time) override
Read a byte from an IO port at a certain time from this device.
void reset(EmuTime::param time) override
This method is called on reset.
RomKonamiKeyboardMaster(const DeviceConfig &config, Rom &&rom)
void writeData(uint8_t data)
latch control data
bool getBSY(EmuTime::param time) const
get BSY pin level
void writeControl(uint8_t data, EmuTime::param time)
set RST / VCU / ST pins
This file implemented 3 utility functions:
uint16_t word
16 bit unsigned integer
#define INSTANTIATE_SERIALIZE_METHODS(CLASS)