devices/bus/vcs: removed read / write macros (nw)

This commit is contained in:
Ivan Vangelista 2020-06-14 23:13:39 +02:00
parent 1537bf65d9
commit ab1e7c73c4
14 changed files with 148 additions and 143 deletions

View File

@ -47,7 +47,7 @@ ioport_constructor a26_rom_cm_device::device_input_ports() const
READ8_MEMBER(a26_rom_cm_device::read_rom)
uint8_t a26_rom_cm_device::read_rom(offs_t offset)
{
return m_rom[offset + (m_base_bank * 0x1000)];
}

View File

@ -25,7 +25,7 @@ public:
virtual void device_reset() override;
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual uint8_t read_rom(offs_t offset) override;
};

View File

@ -111,7 +111,7 @@ void dpc_device::device_timer(emu_timer &timer, device_timer_id id, int param, v
// Read / Write accesses
//-------------------------------------------------
READ8_MEMBER(dpc_device::read)
uint8_t dpc_device::read(offs_t offset)
{
static const uint8_t dpc_amplitude[8] = { 0x00, 0x04, 0x05, 0x09, 0x06, 0x0a, 0x0b, 0x0f };
uint8_t data_fetcher = offset & 0x07;
@ -181,7 +181,7 @@ READ8_MEMBER(dpc_device::read)
return data;
}
WRITE8_MEMBER(dpc_device::write)
void dpc_device::write(offs_t offset, uint8_t data)
{
uint8_t data_fetcher = offset & 0x07;
@ -268,18 +268,18 @@ void a26_rom_dpc_device::device_add_mconfig(machine_config &config)
ATARI_DPC(config, m_dpc, 0);
}
READ8_MEMBER(a26_rom_dpc_device::read_rom)
uint8_t a26_rom_dpc_device::read_rom(offs_t offset)
{
if (offset < 0x40)
return m_dpc->read(space, offset);
return m_dpc->read(offset);
else
return a26_rom_f8_device::read_rom(space, offset);
return a26_rom_f8_device::read_rom(offset);
}
WRITE8_MEMBER(a26_rom_dpc_device::write_bank)
void a26_rom_dpc_device::write_bank(address_space &space, offs_t offset, uint8_t data)
{
if (offset >= 0x40 && offset < 0x80)
m_dpc->write(space, offset, data);
m_dpc->write(offset, data);
else
a26_rom_f8_device::write_bank(space, offset, data);
}

View File

@ -23,8 +23,8 @@ public:
void set_display_data(uint8_t *data) { m_displaydata = data; }
virtual DECLARE_READ8_MEMBER(read);
virtual DECLARE_WRITE8_MEMBER(write);
virtual uint8_t read(offs_t offset);
virtual void write(offs_t offset, uint8_t data);
protected:
static constexpr device_timer_id TIMER_OSC = 0;
@ -76,8 +76,8 @@ public:
required_device<dpc_device> m_dpc;
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual uint8_t read_rom(offs_t offset) override;
virtual void write_bank(address_space &space, offs_t offset, uint8_t data) override;
virtual void setup_addon_ptr(uint8_t *ptr) override;

View File

@ -104,7 +104,7 @@ void a26_rom_harmony_device::device_reset()
m_cpu->reset();
}
READ8_MEMBER(a26_rom_harmony_device::read8_r)
uint8_t a26_rom_harmony_device::read8_r(offs_t offset)
{
return m_rom[offset + (m_base_bank * 0x1000)];
}
@ -124,16 +124,16 @@ void a26_rom_harmony_device::check_bankswitch(offs_t offset)
}
}
READ8_MEMBER(a26_rom_harmony_device::read_rom)
uint8_t a26_rom_harmony_device::read_rom(offs_t offset)
{
uint8_t retvalue = read8_r(space, offset + 0xc00); // banks start at 0xc00
uint8_t retvalue = read8_r(offset + 0xc00); // banks start at 0xc00
check_bankswitch(offset);
return retvalue;
}
WRITE8_MEMBER(a26_rom_harmony_device::write_bank)
void a26_rom_harmony_device::write_bank(address_space &space, offs_t offset, uint8_t data)
{
check_bankswitch(offset);
// a26_rom_f8_device::write_bank(space, offset, data);

View File

@ -25,13 +25,13 @@ private:
virtual void device_add_mconfig(machine_config &config) override;
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual uint8_t read_rom(offs_t offset) override;
virtual void write_bank(address_space &space, offs_t offset, uint8_t data) override;
private:
void check_bankswitch(offs_t offset);
DECLARE_READ8_MEMBER(read8_r);
uint8_t read8_r(offs_t offset);
void harmony_arm7_map(address_map &map);

View File

@ -329,7 +329,7 @@ void a26_rom_32in1_device::device_reset()
GAMES: a large majority
-------------------------------------------------*/
READ8_MEMBER(a26_rom_2k_device::read_rom)
uint8_t a26_rom_2k_device::read_rom(offs_t offset)
{
// Super Chip RAM reads are mapped in 0x1080-0x10ff
if (!m_ram.empty() && offset >= 0x80 && offset < 0x100)
@ -348,7 +348,7 @@ READ8_MEMBER(a26_rom_2k_device::read_rom)
GAMES: Fatal Run
-------------------------------------------------*/
READ8_MEMBER(a26_rom_f4_device::read_rom)
uint8_t a26_rom_f4_device::read_rom(offs_t offset)
{
// Super Chip RAM reads are mapped in 0x1080-0x10ff
if (!m_ram.empty() && offset >= 0x80 && offset < 0x100)
@ -377,7 +377,7 @@ READ8_MEMBER(a26_rom_f4_device::read_rom)
return m_rom[offset + (m_base_bank * 0x1000)];
}
WRITE8_MEMBER(a26_rom_f4_device::write_bank)
void a26_rom_f4_device::write_bank(address_space &space, offs_t offset, uint8_t data)
{
// Super Chip RAM writes are mapped in 0x1000-0x107f
if (!m_ram.empty() && offset < 0x80)
@ -414,7 +414,7 @@ WRITE8_MEMBER(a26_rom_f4_device::write_bank)
-------------------------------------------------*/
READ8_MEMBER(a26_rom_f6_device::read_rom)
uint8_t a26_rom_f6_device::read_rom(offs_t offset)
{
// Super Chip RAM reads are mapped in 0x1080-0x10ff
if (!m_ram.empty() && offset >= 0x80 && offset < 0x100)
@ -439,7 +439,7 @@ READ8_MEMBER(a26_rom_f6_device::read_rom)
return m_rom[offset + (m_base_bank * 0x1000)];
}
WRITE8_MEMBER(a26_rom_f6_device::write_bank)
void a26_rom_f6_device::write_bank(address_space &space, offs_t offset, uint8_t data)
{
// Super Chip RAM writes are mapped in 0x1000-0x107f
if (!m_ram.empty() && offset < 0x80)
@ -472,7 +472,7 @@ WRITE8_MEMBER(a26_rom_f6_device::write_bank)
-------------------------------------------------*/
READ8_MEMBER(a26_rom_f8_device::read_rom)
uint8_t a26_rom_f8_device::read_rom(offs_t offset)
{
// Super Chip RAM reads are mapped in 0x1080-0x10ff
if (!m_ram.empty() && offset >= 0x80 && offset < 0x100)
@ -495,7 +495,7 @@ READ8_MEMBER(a26_rom_f8_device::read_rom)
return m_rom[offset + (m_base_bank * 0x1000)];
}
WRITE8_MEMBER(a26_rom_f8_device::write_bank)
void a26_rom_f8_device::write_bank(address_space &space, offs_t offset, uint8_t data)
{
// Super Chip RAM writes are mapped in 0x1000-0x107f
if (!m_ram.empty() && offset < 0x80)
@ -528,7 +528,7 @@ WRITE8_MEMBER(a26_rom_f8_device::write_bank)
-------------------------------------------------*/
READ8_MEMBER(a26_rom_fa_device::read_rom)
uint8_t a26_rom_fa_device::read_rom(offs_t offset)
{
// CBS RAM+ reads are mapped in 0x1100-0x11ff
if (!m_ram.empty() && offset >= 0x100 && offset < 0x200)
@ -552,7 +552,7 @@ READ8_MEMBER(a26_rom_fa_device::read_rom)
return m_rom[offset + (m_base_bank * 0x1000)];
}
WRITE8_MEMBER(a26_rom_fa_device::write_bank)
void a26_rom_fa_device::write_bank(address_space &space, offs_t offset, uint8_t data)
{
// CBS RAM+ writes are mapped in 0x1000-0x10ff
if (!m_ram.empty() && offset < 0x100)
@ -593,7 +593,7 @@ WRITE8_MEMBER(a26_rom_fa_device::write_bank)
*/
READ8_MEMBER(a26_rom_fe_device::read_rom)
uint8_t a26_rom_fe_device::read_rom(offs_t offset)
{
uint8_t data;
@ -617,7 +617,7 @@ READ8_MEMBER(a26_rom_fe_device::read_rom)
return data;
}
WRITE8_MEMBER(a26_rom_fe_device::write_ram)
void a26_rom_fe_device::write_ram(offs_t offset, uint8_t data)
{
// Super Chip RAM writes are mapped in 0x1000-0x107f
if (!m_ram.empty() && offset < 0x80)
@ -626,7 +626,7 @@ WRITE8_MEMBER(a26_rom_fe_device::write_ram)
}
}
READ8_MEMBER(a26_rom_fe_device::read_bank)
uint8_t a26_rom_fe_device::read_bank(address_space &space, offs_t offset)
{
uint8_t data = space.read_byte(0xfe + offset);
@ -651,7 +651,7 @@ READ8_MEMBER(a26_rom_fe_device::read_bank)
return data;
}
WRITE8_MEMBER(a26_rom_fe_device::write_bank)
void a26_rom_fe_device::write_bank(address_space &space, offs_t offset, uint8_t data)
{
space.write_byte(0xfe, data);
if (!machine().side_effects_disabled())
@ -671,7 +671,7 @@ WRITE8_MEMBER(a26_rom_fe_device::write_bank)
-------------------------------------------------*/
READ8_MEMBER(a26_rom_3e_device::read_rom)
uint8_t a26_rom_3e_device::read_rom(offs_t offset)
{
if (!m_ram.empty() && m_ram_enable && offset < 0x400)
return m_ram[offset + (m_ram_bank * 0x400)];
@ -682,7 +682,7 @@ READ8_MEMBER(a26_rom_3e_device::read_rom)
return m_rom[offset + m_base_bank * 0x800];
}
WRITE8_MEMBER(a26_rom_3e_device::write_bank)
void a26_rom_3e_device::write_bank(address_space &space, offs_t offset, uint8_t data)
{
if (offset == 0x3f)
{
@ -696,7 +696,7 @@ WRITE8_MEMBER(a26_rom_3e_device::write_bank)
}
}
WRITE8_MEMBER(a26_rom_3e_device::write_ram)
void a26_rom_3e_device::write_ram(offs_t offset, uint8_t data)
{
if (!m_ram.empty() && m_ram_enable && offset >= 0x400 && offset < 0x800)
m_ram[(offset & 0x3ff) + (m_ram_bank * 0x400)] = data;
@ -714,7 +714,7 @@ WRITE8_MEMBER(a26_rom_3e_device::write_ram)
-------------------------------------------------*/
READ8_MEMBER(a26_rom_3f_device::read_rom)
uint8_t a26_rom_3f_device::read_rom(offs_t offset)
{
if (offset >= 0x800)
return m_rom[(offset & 0x7ff) + (m_num_bank - 1) * 0x800];
@ -722,7 +722,7 @@ READ8_MEMBER(a26_rom_3f_device::read_rom)
return m_rom[offset + m_base_bank * 0x800];
}
WRITE8_MEMBER(a26_rom_3f_device::write_bank)
void a26_rom_3f_device::write_bank(address_space &space, offs_t offset, uint8_t data)
{
m_base_bank = data & (m_num_bank - 1);
}
@ -737,7 +737,7 @@ WRITE8_MEMBER(a26_rom_3f_device::write_bank)
-------------------------------------------------*/
READ8_MEMBER(a26_rom_e0_device::read_rom)
uint8_t a26_rom_e0_device::read_rom(offs_t offset)
{
// update banks
if (!machine().side_effects_disabled())
@ -749,7 +749,7 @@ READ8_MEMBER(a26_rom_e0_device::read_rom)
return m_rom[(offset & 0x3ff) + (m_base_banks[(offset >> 10) & 3] * 0x400)];
}
WRITE8_MEMBER(a26_rom_e0_device::write_bank)
void a26_rom_e0_device::write_bank(address_space &space, offs_t offset, uint8_t data)
{
if (offset >= 0xfe0 && offset <= 0xff8)
m_base_banks[(offset >> 3) & 3] = offset & 7;
@ -776,7 +776,7 @@ WRITE8_MEMBER(a26_rom_e0_device::write_bank)
-------------------------------------------------*/
READ8_MEMBER(a26_rom_e7_device::read_rom)
uint8_t a26_rom_e7_device::read_rom(offs_t offset)
{
// update banks
if (!machine().side_effects_disabled())
@ -806,7 +806,7 @@ READ8_MEMBER(a26_rom_e7_device::read_rom)
return m_rom[(offset & 0x7ff) + (m_base_bank * 0x800)];
}
WRITE8_MEMBER(a26_rom_e7_device::write_bank)
void a26_rom_e7_device::write_bank(address_space &space, offs_t offset, uint8_t data)
{
if (offset >= 0xfe0 && offset <= 0xfe7)
m_base_bank = offset - 0xfe0;
@ -838,12 +838,12 @@ WRITE8_MEMBER(a26_rom_e7_device::write_bank)
-------------------------------------------------*/
READ8_MEMBER(a26_rom_ua_device::read_rom)
uint8_t a26_rom_ua_device::read_rom(offs_t offset)
{
return m_rom[(offset + (m_base_bank * 0x1000)) & (m_rom_size - 1)];
}
READ8_MEMBER(a26_rom_ua_device::read_bank)
uint8_t a26_rom_ua_device::read_bank(address_space &space, offs_t offset)
{
if (!machine().side_effects_disabled())
m_base_bank = offset >> 6;
@ -851,7 +851,7 @@ READ8_MEMBER(a26_rom_ua_device::read_bank)
return 0;
}
WRITE8_MEMBER(a26_rom_ua_device::write_bank)
void a26_rom_ua_device::write_bank(address_space &space, offs_t offset, uint8_t data)
{
m_base_bank = offset >> 6;
}
@ -867,7 +867,7 @@ WRITE8_MEMBER(a26_rom_ua_device::write_bank)
-------------------------------------------------*/
READ8_MEMBER(a26_rom_cv_device::read_rom)
uint8_t a26_rom_cv_device::read_rom(offs_t offset)
{
if (!m_ram.empty() && offset < 0x400)
{
@ -879,7 +879,7 @@ READ8_MEMBER(a26_rom_cv_device::read_rom)
return m_rom[offset & 0x7ff];
}
WRITE8_MEMBER(a26_rom_cv_device::write_bank)
void a26_rom_cv_device::write_bank(address_space &space, offs_t offset, uint8_t data)
{
if (!m_ram.empty() && offset >= 0x400 && offset < 0x800)
{
@ -898,7 +898,7 @@ WRITE8_MEMBER(a26_rom_cv_device::write_bank)
-------------------------------------------------*/
READ8_MEMBER(a26_rom_dc_device::read_rom)
uint8_t a26_rom_dc_device::read_rom(offs_t offset)
{
if (!machine().side_effects_disabled())
{
@ -912,7 +912,7 @@ READ8_MEMBER(a26_rom_dc_device::read_rom)
return m_rom[offset + (m_base_bank * 0x1000)];
}
WRITE8_MEMBER(a26_rom_dc_device::write_bank)
void a26_rom_dc_device::write_bank(address_space &space, offs_t offset, uint8_t data)
{
if (offset == 0xff0)
m_base_bank = (m_base_bank + 1) & 0x0f;
@ -928,7 +928,7 @@ WRITE8_MEMBER(a26_rom_dc_device::write_bank)
-------------------------------------------------*/
READ8_MEMBER(a26_rom_fv_device::read_rom)
uint8_t a26_rom_fv_device::read_rom(offs_t offset)
{
if (!machine().side_effects_disabled())
{
@ -945,7 +945,7 @@ READ8_MEMBER(a26_rom_fv_device::read_rom)
return m_rom[offset + (m_base_bank * 0x1000)];
}
WRITE8_MEMBER(a26_rom_fv_device::write_bank)
void a26_rom_fv_device::write_bank(address_space &space, offs_t offset, uint8_t data)
{
if (offset == 0xfd0)
{
@ -969,12 +969,12 @@ WRITE8_MEMBER(a26_rom_fv_device::write_bank)
-------------------------------------------------*/
READ8_MEMBER(a26_rom_jvp_device::read_rom)
uint8_t a26_rom_jvp_device::read_rom(offs_t offset)
{
return m_rom[offset + (m_base_bank * 0x1000)];
}
WRITE8_MEMBER(a26_rom_jvp_device::write_bank)
void a26_rom_jvp_device::write_bank(address_space &space, offs_t offset, uint8_t data)
{
switch (offset)
{
@ -997,7 +997,7 @@ WRITE8_MEMBER(a26_rom_jvp_device::write_bank)
-------------------------------------------------*/
READ8_MEMBER(a26_rom_4in1_device::read_rom)
uint8_t a26_rom_4in1_device::read_rom(offs_t offset)
{
return m_rom[offset + (m_base_bank * 0x1000)];
}
@ -1012,7 +1012,7 @@ READ8_MEMBER(a26_rom_4in1_device::read_rom)
-------------------------------------------------*/
READ8_MEMBER(a26_rom_8in1_device::read_rom)
uint8_t a26_rom_8in1_device::read_rom(offs_t offset)
{
if (!machine().side_effects_disabled())
{
@ -1037,7 +1037,7 @@ READ8_MEMBER(a26_rom_8in1_device::read_rom)
-------------------------------------------------*/
READ8_MEMBER(a26_rom_32in1_device::read_rom)
uint8_t a26_rom_32in1_device::read_rom(offs_t offset)
{
return m_rom[(offset & 0x7ff) + (m_base_bank * 0x800)];
}
@ -1050,12 +1050,12 @@ READ8_MEMBER(a26_rom_32in1_device::read_rom)
http://blog.kevtris.org/blogfiles/Atari%202600%20Mappers.txt
--------------------------------------------------*/
READ8_MEMBER(a26_rom_x07_device::read_rom)
uint8_t a26_rom_x07_device::read_rom(offs_t offset)
{
return m_rom[offset + (m_base_bank * 0x1000)];
}
WRITE8_MEMBER(a26_rom_x07_device::write_bank)
void a26_rom_x07_device::write_bank(address_space &space, offs_t offset, uint8_t data)
{
/*
A13 A0

View File

@ -18,7 +18,7 @@ public:
a26_rom_2k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual uint8_t read_rom(offs_t offset) override;
protected:
a26_rom_2k_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@ -53,8 +53,8 @@ public:
a26_rom_f6_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual uint8_t read_rom(offs_t offset) override;
virtual void write_bank(address_space &space, offs_t offset, uint8_t data) override;
protected:
a26_rom_f6_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@ -76,8 +76,8 @@ public:
a26_rom_f4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual uint8_t read_rom(offs_t offset) override;
virtual void write_bank(address_space &space, offs_t offset, uint8_t data) override;
protected:
// device-level overrides
@ -94,8 +94,8 @@ public:
a26_rom_f8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual uint8_t read_rom(offs_t offset) override;
virtual void write_bank(address_space &space, offs_t offset, uint8_t data) override;
protected:
a26_rom_f8_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@ -125,8 +125,8 @@ public:
a26_rom_fa_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual uint8_t read_rom(offs_t offset) override;
virtual void write_bank(address_space &space, offs_t offset, uint8_t data) override;
};
@ -139,10 +139,10 @@ public:
a26_rom_fe_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_READ8_MEMBER(read_bank) override;
virtual DECLARE_WRITE8_MEMBER(write_ram) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual uint8_t read_rom(offs_t offset) override;
virtual uint8_t read_bank(address_space &space, offs_t offset) override;
virtual void write_ram(offs_t offset, uint8_t data) override;
virtual void write_bank(address_space &space, offs_t offset, uint8_t data) override;
protected:
// device-level overrides
@ -163,9 +163,9 @@ public:
a26_rom_3e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual DECLARE_WRITE8_MEMBER(write_ram) override;
virtual uint8_t read_rom(offs_t offset) override;
virtual void write_bank(address_space &space, offs_t offset, uint8_t data) override;
virtual void write_ram(offs_t offset, uint8_t data) override;
protected:
// device-level overrides
@ -187,8 +187,8 @@ public:
a26_rom_3f_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual uint8_t read_rom(offs_t offset) override;
virtual void write_bank(address_space &space, offs_t offset, uint8_t data) override;
protected:
// device-level overrides
@ -207,8 +207,8 @@ public:
a26_rom_e0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual uint8_t read_rom(offs_t offset) override;
virtual void write_bank(address_space &space, offs_t offset, uint8_t data) override;
protected:
// device-level overrides
@ -228,8 +228,8 @@ public:
a26_rom_e7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual uint8_t read_rom(offs_t offset) override;
virtual void write_bank(address_space &space, offs_t offset, uint8_t data) override;
protected:
// device-level overrides
@ -249,9 +249,9 @@ public:
a26_rom_ua_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_READ8_MEMBER(read_bank) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual uint8_t read_rom(offs_t offset) override;
virtual uint8_t read_bank(address_space &space, offs_t offset) override;
virtual void write_bank(address_space &space, offs_t offset, uint8_t data) override;
protected:
// device-level overrides
@ -268,8 +268,8 @@ public:
a26_rom_cv_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual uint8_t read_rom(offs_t offset) override;
virtual void write_bank(address_space &space, offs_t offset, uint8_t data) override;
};
@ -282,8 +282,8 @@ public:
a26_rom_dc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual uint8_t read_rom(offs_t offset) override;
virtual void write_bank(address_space &space, offs_t offset, uint8_t data) override;
};
@ -296,8 +296,8 @@ public:
a26_rom_fv_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual uint8_t read_rom(offs_t offset) override;
virtual void write_bank(address_space &space, offs_t offset, uint8_t data) override;
protected:
// device-level overrides
@ -317,8 +317,8 @@ public:
a26_rom_jvp_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual uint8_t read_rom(offs_t offset) override;
virtual void write_bank(address_space &space, offs_t offset, uint8_t data) override;
};
@ -331,7 +331,7 @@ public:
a26_rom_4in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual uint8_t read_rom(offs_t offset) override;
protected:
// device-level overrides
@ -348,7 +348,7 @@ public:
a26_rom_8in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual uint8_t read_rom(offs_t offset) override;
protected:
// device-level overrides
@ -368,7 +368,7 @@ public:
a26_rom_32in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual uint8_t read_rom(offs_t offset) override;
protected:
// device-level overrides
@ -385,8 +385,8 @@ public:
a26_rom_x07_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual DECLARE_WRITE8_MEMBER(write_bank) override;
virtual uint8_t read_rom(offs_t offset) override;
virtual void write_bank(address_space &space, offs_t offset, uint8_t data) override;
};

View File

@ -109,7 +109,7 @@ inline uint8_t a26_rom_ss_device::read_byte(uint32_t offset)
return 0xff;
}
READ8_MEMBER(a26_rom_ss_device::read_rom)
uint8_t a26_rom_ss_device::read_rom(offs_t offset)
{
if (machine().side_effects_disabled())
return read_byte(offset);

View File

@ -21,7 +21,7 @@ public:
a26_rom_ss_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom) override;
virtual uint8_t read_rom(offs_t offset) override;
private:
// device-level overrides

View File

@ -784,18 +784,18 @@ std::string vcs_cart_slot_device::get_default_card_software(get_default_card_sof
read
-------------------------------------------------*/
READ8_MEMBER(vcs_cart_slot_device::read_rom)
uint8_t vcs_cart_slot_device::read_rom(offs_t offset)
{
if (m_cart)
return m_cart->read_rom(space, offset, mem_mask);
return m_cart->read_rom(offset);
else
return 0xff;
}
READ8_MEMBER(vcs_cart_slot_device::read_bank)
uint8_t vcs_cart_slot_device::read_bank(address_space &space, offs_t offset)
{
if (m_cart)
return m_cart->read_bank(space, offset, mem_mask);
return m_cart->read_bank(space, offset);
else
return 0xff;
}
@ -805,14 +805,14 @@ READ8_MEMBER(vcs_cart_slot_device::read_bank)
write
-------------------------------------------------*/
WRITE8_MEMBER(vcs_cart_slot_device::write_bank)
void vcs_cart_slot_device::write_bank(address_space &space, offs_t offset, uint8_t data)
{
if (m_cart)
m_cart->write_bank(space, offset, data, mem_mask);
m_cart->write_bank(space, offset, data);
}
WRITE8_MEMBER(vcs_cart_slot_device::write_ram)
void vcs_cart_slot_device::write_ram(offs_t offset, uint8_t data)
{
if (m_cart)
m_cart->write_ram(space, offset, data, mem_mask);
m_cart->write_ram(offset, data);
}

View File

@ -54,13 +54,13 @@ public:
virtual ~device_vcs_cart_interface();
// reading from ROM
virtual DECLARE_READ8_MEMBER(read_rom) { return 0xff; }
virtual uint8_t read_rom(offs_t offset) { return 0xff; }
// writing to RAM chips (sometimes it is in a different range than write_bank!)
virtual DECLARE_WRITE8_MEMBER(write_ram) { }
virtual void write_ram(offs_t offset, uint8_t data) { }
// read/write to bankswitch address
virtual DECLARE_READ8_MEMBER(read_bank) { return 0xff; }
virtual DECLARE_WRITE8_MEMBER(write_bank) { }
virtual uint8_t read_bank(address_space &space, offs_t offset) { return 0xff; }
virtual void write_bank(address_space &space, offs_t offset, uint8_t data) { }
virtual void setup_addon_ptr(uint8_t *ptr) { }
@ -121,10 +121,10 @@ public:
static int identify_cart_type(const uint8_t *ROM, uint32_t len);
// reading and writing
virtual DECLARE_READ8_MEMBER(read_rom);
virtual DECLARE_READ8_MEMBER(read_bank);
virtual DECLARE_WRITE8_MEMBER(write_bank);
virtual DECLARE_WRITE8_MEMBER(write_ram);
virtual uint8_t read_rom(offs_t offset);
virtual uint8_t read_bank(address_space &space, offs_t offset);
virtual void write_bank(address_space &space, offs_t offset, uint8_t data);
virtual void write_ram(offs_t offset, uint8_t data);
protected:
// device-level overrides

View File

@ -43,7 +43,7 @@ void a2600_base_state::a2600_mem(address_map &map) // 6507 has 13-bit address sp
}
READ8_MEMBER(a2600_state::cart_over_all_r)
uint8_t a2600_state::cart_over_all_r(address_space &space, offs_t offset)
{
if (!machine().side_effects_disabled())
m_cart->write_bank(space, offset, 0);
@ -81,7 +81,7 @@ READ8_MEMBER(a2600_state::cart_over_all_r)
return ret;
}
WRITE8_MEMBER(a2600_state::cart_over_all_w)
void a2600_state::cart_over_all_w(address_space &space, offs_t offset, uint8_t data)
{
m_cart->write_bank(space, offset, 0);
@ -255,21 +255,21 @@ void a2600_base_state::a2600_tia_vsync_callback_pal(uint16_t data)
}
// TODO: is this the correct behavior for the real hardware?!?
READ8_MEMBER(a2600_state::cart_over_riot_r)
uint8_t a2600_state::cart_over_riot_r(address_space &space, offs_t offset)
{
if (!machine().side_effects_disabled())
m_cart->write_bank(space, offset, 0);
return m_riot_ram[0x20 + offset];
}
WRITE8_MEMBER(a2600_state::cart_over_riot_w)
void a2600_state::cart_over_riot_w(address_space &space, offs_t offset, uint8_t data)
{
m_cart->write_bank(space, offset, 0);
m_riot_ram[0x20 + offset] = data;
}
WRITE8_MEMBER(a2600_state::cart_over_tia_w)
void a2600_state::cart_over_tia_w(address_space &space, offs_t offset, uint8_t data)
{
// Both Cart & TIA see these addresses
m_cart->write_bank(space, offset, data);
@ -302,50 +302,55 @@ void a2600_state::machine_start()
case A26_DC:
case A26_FV:
case A26_8IN1:
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1000, 0x1fff, read8_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)), write8_delegate(*m_cart, FUNC(vcs_cart_slot_device::write_bank)));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000, 0x1fff, read8sm_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)));
m_maincpu->space(AS_PROGRAM).install_write_handler(0x1000, 0x1fff, write8m_delegate(*m_cart, FUNC(vcs_cart_slot_device::write_bank)));
break;
case A26_F6:
case A26_DPC:
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1000, 0x1fff, read8_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)), write8_delegate(*m_cart, FUNC(vcs_cart_slot_device::write_bank)));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000, 0x1fff, read8sm_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)));
m_maincpu->space(AS_PROGRAM).install_write_handler(0x1000, 0x1fff, write8m_delegate(*m_cart, FUNC(vcs_cart_slot_device::write_bank)));
break;
case A26_FE:
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1000, 0x1fff, read8_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)), write8_delegate(*m_cart, FUNC(vcs_cart_slot_device::write_ram)));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x01fe, 0x01ff, read8_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_bank)));
m_maincpu->space(AS_PROGRAM).install_write_handler(0x01fe, 0x01fe, write8_delegate(*m_cart, FUNC(vcs_cart_slot_device::write_bank)));
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1000, 0x1fff, read8sm_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)), write8sm_delegate(*m_cart, FUNC(vcs_cart_slot_device::write_ram)));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x01fe, 0x01ff, read8m_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_bank)));
m_maincpu->space(AS_PROGRAM).install_write_handler(0x01fe, 0x01fe, write8m_delegate(*m_cart, FUNC(vcs_cart_slot_device::write_bank)));
break;
case A26_3E:
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1000, 0x1fff, read8_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)), write8_delegate(*m_cart, FUNC(vcs_cart_slot_device::write_ram)));
m_maincpu->space(AS_PROGRAM).install_write_handler(0x00, 0x3f, write8_delegate(*this, FUNC(a2600_state::cart_over_tia_w)));
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1000, 0x1fff, read8sm_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)), write8sm_delegate(*m_cart, FUNC(vcs_cart_slot_device::write_ram)));
m_maincpu->space(AS_PROGRAM).install_write_handler(0x00, 0x3f, write8m_delegate(*this, FUNC(a2600_state::cart_over_tia_w)));
break;
case A26_3F:
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000, 0x1fff, read8_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)));
m_maincpu->space(AS_PROGRAM).install_write_handler(0x00, 0x3f, write8_delegate(*this, FUNC(a2600_state::cart_over_tia_w)));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000, 0x1fff, read8sm_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)));
m_maincpu->space(AS_PROGRAM).install_write_handler(0x00, 0x3f, write8m_delegate(*this, FUNC(a2600_state::cart_over_tia_w)));
break;
case A26_UA:
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000, 0x1fff, read8_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)));
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x200, 0x27f, read8_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_bank)), write8_delegate(*m_cart, FUNC(vcs_cart_slot_device::write_bank)));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000, 0x1fff, read8sm_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)));
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x200, 0x27f, read8m_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_bank)), write8m_delegate(*m_cart, FUNC(vcs_cart_slot_device::write_bank)));
break;
case A26_JVP:
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1000, 0x1fff, read8_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)), write8_delegate(*m_cart, FUNC(vcs_cart_slot_device::write_bank)));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000, 0x1fff, read8sm_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)));
m_maincpu->space(AS_PROGRAM).install_write_handler(0x1000, 0x1fff, write8m_delegate(*m_cart, FUNC(vcs_cart_slot_device::write_bank)));
// to verify the actual behavior...
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xfa0, 0xfc0, read8_delegate(*this, FUNC(a2600_state::cart_over_riot_r)), write8_delegate(*this, FUNC(a2600_state::cart_over_riot_w)));
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0xfa0, 0xfc0, read8m_delegate(*this, FUNC(a2600_state::cart_over_riot_r)), write8m_delegate(*this, FUNC(a2600_state::cart_over_riot_w)));
break;
case A26_4IN1:
case A26_32IN1:
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000, 0x1fff, read8_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000, 0x1fff, read8sm_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)));
break;
case A26_SS:
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000, 0x1fff, read8_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000, 0x1fff, read8sm_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)));
break;
case A26_CM:
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000, 0x1fff, read8_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000, 0x1fff, read8sm_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)));
break;
case A26_X07:
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1000, 0x1fff, read8_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)), write8_delegate(*m_cart, FUNC(vcs_cart_slot_device::write_bank)));
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x0000, 0x0fff, read8_delegate(*this, FUNC(a2600_state::cart_over_all_r)), write8_delegate(*this, FUNC(a2600_state::cart_over_all_w)));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000, 0x1fff, read8sm_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)));
m_maincpu->space(AS_PROGRAM).install_write_handler(0x1000, 0x1fff, write8m_delegate(*m_cart, FUNC(vcs_cart_slot_device::write_bank)));
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x0000, 0x0fff, read8m_delegate(*this, FUNC(a2600_state::cart_over_all_r)), write8m_delegate(*this, FUNC(a2600_state::cart_over_all_w)));
break;
case A26_HARMONY:
m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1000, 0x1fff, read8_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)), write8_delegate(*m_cart, FUNC(vcs_cart_slot_device::write_bank)));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x1000, 0x1fff, read8sm_delegate(*m_cart, FUNC(vcs_cart_slot_device::read_rom)));
m_maincpu->space(AS_PROGRAM).install_write_handler(0x1000, 0x1fff, write8m_delegate(*m_cart, FUNC(vcs_cart_slot_device::write_bank)));
break;
}

View File

@ -94,12 +94,12 @@ public:
protected:
virtual void machine_start() override;
DECLARE_WRITE8_MEMBER(cart_over_tia_w);
void cart_over_tia_w(address_space &space, offs_t offset, uint8_t data);
// investigate how the carts mapped here (Mapper JVP) interact with the RIOT device
DECLARE_READ8_MEMBER(cart_over_riot_r);
DECLARE_WRITE8_MEMBER(cart_over_riot_w);
DECLARE_READ8_MEMBER(cart_over_all_r);
DECLARE_WRITE8_MEMBER(cart_over_all_w);
uint8_t cart_over_riot_r(address_space &space, offs_t offset);
void cart_over_riot_w(address_space &space, offs_t offset, uint8_t data);
uint8_t cart_over_all_r(address_space &space, offs_t offset);
void cart_over_all_w(address_space &space, offs_t offset, uint8_t data);
void a2600_cartslot(machine_config &config);