summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/nes
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/nes')
-rw-r--r--src/devices/bus/nes/2a03pur.cpp4
-rw-r--r--src/devices/bus/nes/2a03pur.h4
-rw-r--r--src/devices/bus/nes/act53.cpp4
-rw-r--r--src/devices/bus/nes/act53.h4
-rw-r--r--src/devices/bus/nes/aladdin.cpp21
-rw-r--r--src/devices/bus/nes/aladdin.h23
-rw-r--r--src/devices/bus/nes/ave.cpp6
-rw-r--r--src/devices/bus/nes/ave.h6
-rw-r--r--src/devices/bus/nes/bandai.cpp40
-rw-r--r--src/devices/bus/nes/bandai.h22
-rw-r--r--src/devices/bus/nes/benshieng.cpp2
-rw-r--r--src/devices/bus/nes/benshieng.h2
-rw-r--r--src/devices/bus/nes/bootleg.cpp98
-rw-r--r--src/devices/bus/nes/bootleg.h98
-rw-r--r--src/devices/bus/nes/camerica.cpp6
-rw-r--r--src/devices/bus/nes/camerica.h8
-rw-r--r--src/devices/bus/nes/cne.cpp8
-rw-r--r--src/devices/bus/nes/cne.h8
-rw-r--r--src/devices/bus/nes/cony.cpp12
-rw-r--r--src/devices/bus/nes/cony.h12
-rw-r--r--src/devices/bus/nes/datach.cpp36
-rw-r--r--src/devices/bus/nes/datach.h24
-rw-r--r--src/devices/bus/nes/discrete.cpp8
-rw-r--r--src/devices/bus/nes/discrete.h8
-rw-r--r--src/devices/bus/nes/disksys.cpp19
-rw-r--r--src/devices/bus/nes/disksys.h12
-rw-r--r--src/devices/bus/nes/ggenie.cpp38
-rw-r--r--src/devices/bus/nes/ggenie.h22
-rw-r--r--src/devices/bus/nes/henggedianzi.cpp8
-rw-r--r--src/devices/bus/nes/henggedianzi.h8
-rw-r--r--src/devices/bus/nes/hes.cpp2
-rw-r--r--src/devices/bus/nes/hes.h2
-rw-r--r--src/devices/bus/nes/hosenkan.cpp2
-rw-r--r--src/devices/bus/nes/hosenkan.h2
-rw-r--r--src/devices/bus/nes/irem.cpp10
-rw-r--r--src/devices/bus/nes/irem.h10
-rw-r--r--src/devices/bus/nes/jaleco.cpp22
-rw-r--r--src/devices/bus/nes/jaleco.h28
-rw-r--r--src/devices/bus/nes/jy.cpp20
-rw-r--r--src/devices/bus/nes/jy.h14
-rw-r--r--src/devices/bus/nes/kaiser.cpp48
-rw-r--r--src/devices/bus/nes/kaiser.h46
-rw-r--r--src/devices/bus/nes/karastudio.cpp23
-rw-r--r--src/devices/bus/nes/karastudio.h25
-rw-r--r--src/devices/bus/nes/konami.cpp50
-rw-r--r--src/devices/bus/nes/konami.h18
-rw-r--r--src/devices/bus/nes/legacy.cpp12
-rw-r--r--src/devices/bus/nes/legacy.h14
-rw-r--r--src/devices/bus/nes/mmc1.cpp24
-rw-r--r--src/devices/bus/nes/mmc1.h18
-rw-r--r--src/devices/bus/nes/mmc2.cpp6
-rw-r--r--src/devices/bus/nes/mmc2.h6
-rw-r--r--src/devices/bus/nes/mmc3.cpp28
-rw-r--r--src/devices/bus/nes/mmc3.h20
-rw-r--r--src/devices/bus/nes/mmc3_clones.cpp202
-rw-r--r--src/devices/bus/nes/mmc3_clones.h112
-rw-r--r--src/devices/bus/nes/mmc5.cpp24
-rw-r--r--src/devices/bus/nes/mmc5.h20
-rw-r--r--src/devices/bus/nes/multigame.cpp128
-rw-r--r--src/devices/bus/nes/multigame.h122
-rw-r--r--src/devices/bus/nes/namcot.cpp44
-rw-r--r--src/devices/bus/nes/namcot.h40
-rw-r--r--src/devices/bus/nes/nanjing.cpp4
-rw-r--r--src/devices/bus/nes/nanjing.h4
-rw-r--r--src/devices/bus/nes/nes_slot.cpp63
-rw-r--r--src/devices/bus/nes/nes_slot.h51
-rw-r--r--src/devices/bus/nes/ntdec.cpp4
-rw-r--r--src/devices/bus/nes/ntdec.h4
-rw-r--r--src/devices/bus/nes/nxrom.cpp35
-rw-r--r--src/devices/bus/nes/nxrom.h28
-rw-r--r--src/devices/bus/nes/pirate.cpp48
-rw-r--r--src/devices/bus/nes/pirate.h46
-rw-r--r--src/devices/bus/nes/pt554.cpp2
-rw-r--r--src/devices/bus/nes/pt554.h2
-rw-r--r--src/devices/bus/nes/racermate.cpp2
-rw-r--r--src/devices/bus/nes/racermate.h2
-rw-r--r--src/devices/bus/nes/rcm.cpp12
-rw-r--r--src/devices/bus/nes/rcm.h14
-rw-r--r--src/devices/bus/nes/rexsoft.cpp8
-rw-r--r--src/devices/bus/nes/rexsoft.h10
-rw-r--r--src/devices/bus/nes/sachen.cpp26
-rw-r--r--src/devices/bus/nes/sachen.h34
-rw-r--r--src/devices/bus/nes/somari.cpp16
-rw-r--r--src/devices/bus/nes/somari.h12
-rw-r--r--src/devices/bus/nes/subor.cpp12
-rw-r--r--src/devices/bus/nes/subor.h10
-rw-r--r--src/devices/bus/nes/sunsoft.cpp30
-rw-r--r--src/devices/bus/nes/sunsoft.h24
-rw-r--r--src/devices/bus/nes/sunsoft_dcs.cpp27
-rw-r--r--src/devices/bus/nes/sunsoft_dcs.h27
-rw-r--r--src/devices/bus/nes/taito.cpp18
-rw-r--r--src/devices/bus/nes/taito.h14
-rw-r--r--src/devices/bus/nes/tengen.cpp8
-rw-r--r--src/devices/bus/nes/tengen.h8
-rw-r--r--src/devices/bus/nes/txc.cpp16
-rw-r--r--src/devices/bus/nes/txc.h16
-rw-r--r--src/devices/bus/nes/waixing.cpp46
-rw-r--r--src/devices/bus/nes/waixing.h36
-rw-r--r--src/devices/bus/nes/zemina.cpp2
-rw-r--r--src/devices/bus/nes/zemina.h2
100 files changed, 1232 insertions, 1204 deletions
diff --git a/src/devices/bus/nes/2a03pur.cpp b/src/devices/bus/nes/2a03pur.cpp
index ddb3820770d..87e364b1638 100644
--- a/src/devices/bus/nes/2a03pur.cpp
+++ b/src/devices/bus/nes/2a03pur.cpp
@@ -91,7 +91,7 @@ void nes_2a03pur_device::pcb_reset()
This has been assigned to iNES mapper 31.
-------------------------------------------------*/
-WRITE8_MEMBER(nes_2a03pur_device::write_l)
+void nes_2a03pur_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("2a03 puritans write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -99,7 +99,7 @@ WRITE8_MEMBER(nes_2a03pur_device::write_l)
m_reg[offset & 7] = data & ((m_prg_chunks << 2) - 1);
}
-READ8_MEMBER(nes_2a03pur_device::read_h)
+uint8_t nes_2a03pur_device::read_h(offs_t offset)
{
LOG_MMC(("2a03 puritans read_h, offset: %04x\n", offset));
diff --git a/src/devices/bus/nes/2a03pur.h b/src/devices/bus/nes/2a03pur.h
index 2ec647ccc4a..970898ff128 100644
--- a/src/devices/bus/nes/2a03pur.h
+++ b/src/devices/bus/nes/2a03pur.h
@@ -16,8 +16,8 @@ public:
// construction/destruction
nes_2a03pur_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/act53.cpp b/src/devices/bus/nes/act53.cpp
index f163be268fd..2a441c36153 100644
--- a/src/devices/bus/nes/act53.cpp
+++ b/src/devices/bus/nes/act53.cpp
@@ -158,7 +158,7 @@ void nes_action53_device::update_mirr()
}
}
-WRITE8_MEMBER(nes_action53_device::write_l)
+void nes_action53_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("action 53 write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -167,7 +167,7 @@ WRITE8_MEMBER(nes_action53_device::write_l)
}
-WRITE8_MEMBER(nes_action53_device::write_h)
+void nes_action53_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("action 53 write_h, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/act53.h b/src/devices/bus/nes/act53.h
index 1f299a5a5da..8e4b1c3b073 100644
--- a/src/devices/bus/nes/act53.h
+++ b/src/devices/bus/nes/act53.h
@@ -14,8 +14,8 @@ public:
// construction/destruction
nes_action53_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/aladdin.cpp b/src/devices/bus/nes/aladdin.cpp
index e9d81555a72..db57b61ff00 100644
--- a/src/devices/bus/nes/aladdin.cpp
+++ b/src/devices/bus/nes/aladdin.cpp
@@ -52,7 +52,7 @@ aladdin_cart_interface::~aladdin_cart_interface()
{
}
-READ8_MEMBER(aladdin_cart_interface::read)
+uint8_t aladdin_cart_interface::read(offs_t offset)
{
if (offset < 0x4000)
return m_rom[(m_lobank * 0x4000) + (offset & 0x3fff)];
@@ -84,10 +84,10 @@ void nes_aladdin_slot_device::device_start()
m_cart = dynamic_cast<aladdin_cart_interface *>(get_card_device());
}
-READ8_MEMBER(nes_aladdin_slot_device::read)
+uint8_t nes_aladdin_slot_device::read(offs_t offset)
{
if (m_cart)
- return m_cart->read(space, offset, mem_mask);
+ return m_cart->read(offset);
return 0xff;
}
@@ -296,19 +296,19 @@ void nes_aladdin_device::pcb_reset()
-------------------------------------------------*/
-READ8_MEMBER(nes_aladdin_device::read_h)
+uint8_t nes_aladdin_device::read_h(offs_t offset)
{
LOG_MMC(("aladdin read_h, offset: %04x\n", offset));
// this shall be the proper code, but it's a bit slower, so we access directly the subcart below
- //return m_subslot->read(space, offset, mem_mask);
+ //return m_subslot->read(offset);
if (m_subslot->m_cart)
- return m_subslot->m_cart->read(space, offset, mem_mask);
+ return m_subslot->m_cart->read(offset);
else // this is "fake" in the sense that we fill CPU space with 0xff if no Aladdin cart is loaded
return hi_access_rom(offset);
}
-WRITE8_MEMBER(nes_aladdin_device::write_h)
+void nes_aladdin_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("aladdin write_h, offset: %04x, data: %02x\n", offset, data));
m_subslot->write_prg(offset, data);
@@ -325,6 +325,7 @@ static void ade_cart(device_slot_interface &device)
}
-MACHINE_CONFIG_START(nes_aladdin_device::device_add_mconfig)
- MCFG_ALADDIN_MINICART_ADD("ade_slot", ade_cart)
-MACHINE_CONFIG_END
+void nes_aladdin_device::device_add_mconfig(machine_config &config)
+{
+ NES_ALADDIN_SLOT(config, m_subslot, ade_cart);
+}
diff --git a/src/devices/bus/nes/aladdin.h b/src/devices/bus/nes/aladdin.h
index de6725bb9f1..9014bf6969a 100644
--- a/src/devices/bus/nes/aladdin.h
+++ b/src/devices/bus/nes/aladdin.h
@@ -24,7 +24,7 @@ public:
virtual ~aladdin_cart_interface();
// reading and writing
- virtual DECLARE_READ8_MEMBER(read);
+ virtual uint8_t read(offs_t offset);
uint8_t *get_cart_base() { return m_rom; }
void set_cart_size(uint32_t size) { m_rom_size = size; m_rom_mask = (size / 0x4000) - 1; }
@@ -50,6 +50,16 @@ class nes_aladdin_slot_device : public device_t,
friend class nes_aladdin_device;
public:
// construction/destruction
+ template <typename T>
+ nes_aladdin_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts)
+ : nes_aladdin_slot_device(mconfig, tag, owner, (uint32_t)0)
+ {
+ option_reset();
+ opts(*this);
+ set_default_option(nullptr);
+ set_fixed(false);
+ }
+
nes_aladdin_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~nes_aladdin_slot_device();
@@ -72,7 +82,7 @@ public:
// slot interface overrides
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
- virtual DECLARE_READ8_MEMBER(read);
+ uint8_t read(offs_t offset);
void write_prg(uint32_t offset, uint8_t data) { if (m_cart) m_cart->write_prg(offset, data); }
protected:
@@ -83,11 +93,6 @@ protected:
DECLARE_DEVICE_TYPE(NES_ALADDIN_SLOT, nes_aladdin_slot_device)
-#define MCFG_ALADDIN_MINICART_ADD(_tag, _slot_intf) \
- MCFG_DEVICE_ADD(_tag, NES_ALADDIN_SLOT, 0) \
- MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, nullptr, false)
-
-
//----------------------------------
//
// Aladdin Minicart implementation
@@ -155,8 +160,8 @@ public:
// construction/destruction
nes_aladdin_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/ave.cpp b/src/devices/bus/nes/ave.cpp
index 823d66e2e57..2e93ea17501 100644
--- a/src/devices/bus/nes/ave.cpp
+++ b/src/devices/bus/nes/ave.cpp
@@ -122,7 +122,7 @@ void nes_maxi15_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_nina001_device::write_m)
+void nes_nina001_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("nina-001 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -155,7 +155,7 @@ WRITE8_MEMBER(nes_nina001_device::write_m)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_nina006_device::write_l)
+void nes_nina006_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("nina-006 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -192,7 +192,7 @@ void nes_maxi15_device::update_banks()
}
}
-READ8_MEMBER(nes_maxi15_device::read_h)
+uint8_t nes_maxi15_device::read_h(offs_t offset)
{
LOG_MMC(("Maxi 15 read_h, offset: %04x\n", offset));
diff --git a/src/devices/bus/nes/ave.h b/src/devices/bus/nes/ave.h
index 5fdd233b3c3..b40d2ed6d9d 100644
--- a/src/devices/bus/nes/ave.h
+++ b/src/devices/bus/nes/ave.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_nina001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -34,7 +34,7 @@ public:
// construction/destruction
nes_nina006_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -52,7 +52,7 @@ public:
// construction/destruction
nes_maxi15_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual uint8_t read_h(offs_t offset) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/bandai.cpp b/src/devices/bus/nes/bandai.cpp
index ff87be980d5..1dd82f1747d 100644
--- a/src/devices/bus/nes/bandai.cpp
+++ b/src/devices/bus/nes/bandai.cpp
@@ -205,7 +205,7 @@ void nes_fjump2_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_oekakids_device::nt_w)
+void nes_oekakids_device::nt_w(offs_t offset, uint8_t data)
{
int page = ((offset & 0xc00) >> 10);
@@ -220,7 +220,7 @@ WRITE8_MEMBER(nes_oekakids_device::nt_w)
m_nt_access[page][offset & 0x3ff] = data;
}
-READ8_MEMBER(nes_oekakids_device::nt_r)
+uint8_t nes_oekakids_device::nt_r(offs_t offset)
{
int page = ((offset & 0xc00) >> 10);
@@ -253,7 +253,7 @@ void nes_oekakids_device::ppu_latch(offs_t offset)
#endif
}
-WRITE8_MEMBER(nes_oekakids_device::write_h)
+void nes_oekakids_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("oeka kids write_h, offset: %04x, data: %02x\n", offset, data));
@@ -308,7 +308,7 @@ void nes_fcg_device::device_timer(emu_timer &timer, device_timer_id id, int para
}
}
-WRITE8_MEMBER(nes_fcg_device::fcg_write)
+void nes_fcg_device::fcg_write(offs_t offset, uint8_t data)
{
LOG_MMC(("lz93d50_write, offset: %04x, data: %02x\n", offset, data));
@@ -346,12 +346,12 @@ WRITE8_MEMBER(nes_fcg_device::fcg_write)
}
}
-WRITE8_MEMBER(nes_fcg_device::write_m)
+void nes_fcg_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("lz93d50 write_m, offset: %04x, data: %02x\n", offset, data));
if (m_battery.empty() && m_prgram.empty())
- fcg_write(space, offset & 0x0f, data, mem_mask);
+ fcg_write(offset & 0x0f, data);
else if (!m_battery.empty())
m_battery[offset] = data;
else
@@ -361,7 +361,7 @@ WRITE8_MEMBER(nes_fcg_device::write_m)
// FCG board does not access regs in 0x8000-0xffff space!
// only later design lz93d50 (and its variants do)!
-WRITE8_MEMBER(nes_lz93d50_24c01_device::write_h)
+void nes_lz93d50_24c01_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("lz93d50_24c01 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -373,12 +373,12 @@ WRITE8_MEMBER(nes_lz93d50_24c01_device::write_h)
m_i2c_dir = BIT(data, 7);
break;
default:
- fcg_write(space, offset & 0x0f, data, mem_mask);
+ fcg_write(offset & 0x0f, data);
break;
}
}
-READ8_MEMBER(nes_lz93d50_24c01_device::read_m)
+uint8_t nes_lz93d50_24c01_device::read_m(offs_t offset)
{
LOG_MMC(("lz93d50 EEPROM read, offset: %04x\n", offset));
if (m_i2c_dir)
@@ -391,13 +391,15 @@ READ8_MEMBER(nes_lz93d50_24c01_device::read_m)
// SERIAL I2C DEVICE
//-------------------------------------------------
-MACHINE_CONFIG_START(nes_lz93d50_24c01_device::device_add_mconfig)
- MCFG_24C01_ADD("i2cmem")
-MACHINE_CONFIG_END
+void nes_lz93d50_24c01_device::device_add_mconfig(machine_config &config)
+{
+ I2C_24C01(config, m_i2cmem);
+}
-MACHINE_CONFIG_START(nes_lz93d50_24c02_device::device_add_mconfig)
- MCFG_24C02_ADD("i2cmem")
-MACHINE_CONFIG_END
+void nes_lz93d50_24c02_device::device_add_mconfig(machine_config &config)
+{
+ I2C_24C02(config, m_i2cmem);
+}
/*-------------------------------------------------
@@ -428,19 +430,19 @@ void nes_fjump2_device::set_prg()
prg16_cdef(prg_base | 0x0f);
}
-READ8_MEMBER(nes_fjump2_device::read_m)
+uint8_t nes_fjump2_device::read_m(offs_t offset)
{
LOG_MMC(("fjump2 read_m, offset: %04x\n", offset));
return m_battery[offset & (m_battery.size() - 1)];
}
-WRITE8_MEMBER(nes_fjump2_device::write_m)
+void nes_fjump2_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("fjump2 write_m, offset: %04x, data: %02x\n", offset, data));
m_battery[offset & (m_battery.size() - 1)] = data;
}
-WRITE8_MEMBER(nes_fjump2_device::write_h)
+void nes_fjump2_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("fjump2 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -458,7 +460,7 @@ WRITE8_MEMBER(nes_fjump2_device::write_h)
set_prg();
break;
default:
- fcg_write(space, offset & 0x0f, data, mem_mask);
+ fcg_write(offset & 0x0f, data);
break;
}
}
diff --git a/src/devices/bus/nes/bandai.h b/src/devices/bus/nes/bandai.h
index e44ff99de20..e7cb0a1d0cd 100644
--- a/src/devices/bus/nes/bandai.h
+++ b/src/devices/bus/nes/bandai.h
@@ -17,9 +17,9 @@ public:
// construction/destruction
nes_oekakids_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
- virtual DECLARE_READ8_MEMBER(nt_r) override;
- virtual DECLARE_WRITE8_MEMBER(nt_w) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual uint8_t nt_r(offs_t offset) override;
+ virtual void nt_w(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -46,8 +46,8 @@ public:
nes_fcg_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
- virtual DECLARE_WRITE8_MEMBER(fcg_write);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ void fcg_write(offs_t offset, uint8_t data);
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -75,7 +75,7 @@ public:
nes_lz93d50_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_h) override { fcg_write(space, offset, data, mem_mask); }
+ virtual void write_h(offs_t offset, uint8_t data) override { fcg_write(offset, data); }
protected:
nes_lz93d50_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
@@ -90,8 +90,8 @@ public:
// construction/destruction
nes_lz93d50_24c01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -131,9 +131,9 @@ public:
// construction/destruction
nes_fjump2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/benshieng.cpp b/src/devices/bus/nes/benshieng.cpp
index 921d7c5b56f..2b3c7818f58 100644
--- a/src/devices/bus/nes/benshieng.cpp
+++ b/src/devices/bus/nes/benshieng.cpp
@@ -86,7 +86,7 @@ void nes_benshieng_device::update_banks()
chr2_6(m_mmc_vrom_bank[3], CHRROM);
}
-WRITE8_MEMBER(nes_benshieng_device::write_h)
+void nes_benshieng_device::write_h(offs_t offset, uint8_t data)
{
uint8_t helper = (offset & 0xc00) >> 10;
LOG_MMC(("benshieng write_h, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/benshieng.h b/src/devices/bus/nes/benshieng.h
index c25aba92508..599de5a6e9c 100644
--- a/src/devices/bus/nes/benshieng.h
+++ b/src/devices/bus/nes/benshieng.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_benshieng_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/bootleg.cpp b/src/devices/bus/nes/bootleg.cpp
index 49cccaa6a3b..d585a8df9de 100644
--- a/src/devices/bus/nes/bootleg.cpp
+++ b/src/devices/bus/nes/bootleg.cpp
@@ -570,7 +570,7 @@ void nes_ax5705_device::set_prg()
prg8_ab(m_mmc_prg_bank[1]);
}
-WRITE8_MEMBER(nes_ax5705_device::write_h)
+void nes_ax5705_device::write_h(offs_t offset, uint8_t data)
{
uint8_t bank;
LOG_MMC(("ax5705 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -652,7 +652,7 @@ void nes_sc127_device::hblank_irq(int scanline, int vblank, int blanked)
}
}
-WRITE8_MEMBER(nes_sc127_device::write_h)
+void nes_sc127_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("sc127 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -715,7 +715,7 @@ void nes_mbaby_device::device_timer(emu_timer &timer, device_timer_id id, int pa
}
}
-WRITE8_MEMBER(nes_mbaby_device::write_h)
+void nes_mbaby_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("Mario Baby write_h, offset: %04x, data: %02x\n", offset, data));
@@ -746,7 +746,7 @@ WRITE8_MEMBER(nes_mbaby_device::write_h)
}
}
-READ8_MEMBER(nes_mbaby_device::read_m)
+uint8_t nes_mbaby_device::read_m(offs_t offset)
{
LOG_MMC(("Mario Baby read_m, offset: %04x\n", offset));
return m_prg[(m_latch * 0x2000) + (offset & 0x1fff)];
@@ -764,7 +764,7 @@ READ8_MEMBER(nes_mbaby_device::read_m)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_asn_device::write_h)
+void nes_asn_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("Ai Senshi Nicol write_h, offset: %04x, data: %02x\n", offset, data));
@@ -775,7 +775,7 @@ WRITE8_MEMBER(nes_asn_device::write_h)
m_latch = data;
}
-READ8_MEMBER(nes_asn_device::read_m)
+uint8_t nes_asn_device::read_m(offs_t offset)
{
LOG_MMC(("Ai Senshi Nicol read_m, offset: %04x\n", offset));
return m_prg[((m_latch * 0x2000) + (offset & 0x1fff)) & (m_prg_size - 1)];
@@ -811,7 +811,7 @@ void nes_smb3p_device::device_timer(emu_timer &timer, device_timer_id id, int pa
}
}
-WRITE8_MEMBER(nes_smb3p_device::write_h)
+void nes_smb3p_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("btl_smb3_w, offset: %04x, data: %02x\n", offset, data));
switch (offset & 0x0f)
@@ -879,7 +879,7 @@ void nes_btl_dn_device::hblank_irq(int scanline, int vblank, int blanked )
hold_irq_line();
}
-WRITE8_MEMBER(nes_btl_dn_device::write_h)
+void nes_btl_dn_device::write_h(offs_t offset, uint8_t data)
{
uint8_t bank;
LOG_MMC(("btl_dn write_h, offset: %04x, data: %02x\n", offset, data));
@@ -933,13 +933,13 @@ WRITE8_MEMBER(nes_btl_dn_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_whirl2706_device::write_h)
+void nes_whirl2706_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("whirl2706 write_h, offset: %04x, data: %02x\n", offset, data));
m_latch = data;
}
-READ8_MEMBER(nes_whirl2706_device::read_m)
+uint8_t nes_whirl2706_device::read_m(offs_t offset)
{
LOG_MMC(("whirl2706 read_m, offset: %04x\n", offset));
return m_prg[(m_latch * 0x2000 + (offset & 0x1fff)) & (m_prg_size - 1)];
@@ -975,7 +975,7 @@ void nes_smb2j_device::device_timer(emu_timer &timer, device_timer_id id, int pa
}
}
-WRITE8_MEMBER(nes_smb2j_device::write_l)
+void nes_smb2j_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("smb2j write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -984,7 +984,7 @@ WRITE8_MEMBER(nes_smb2j_device::write_l)
m_irq_enable = data & 3; // maybe also m_irq_count = 0?!?
}
-WRITE8_MEMBER(nes_smb2j_device::write_h)
+void nes_smb2j_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("smb2j write_h, offset: %04x, data: %02x\n", offset, data));
@@ -992,7 +992,7 @@ WRITE8_MEMBER(nes_smb2j_device::write_h)
m_irq_enable = data & 3;
}
-WRITE8_MEMBER(nes_smb2j_device::write_ex)
+void nes_smb2j_device::write_ex(offs_t offset, uint8_t data)
{
LOG_MMC(("smb2j write_ex, offset: %04x, data: %02x\n", offset, data));
@@ -1010,7 +1010,7 @@ WRITE8_MEMBER(nes_smb2j_device::write_ex)
}
}
-READ8_MEMBER(nes_smb2j_device::read_l)
+uint8_t nes_smb2j_device::read_l(offs_t offset)
{
LOG_MMC(("smb2j read_l, offset: %04x\n", offset));
offset += 0x100;
@@ -1018,10 +1018,10 @@ READ8_MEMBER(nes_smb2j_device::read_l)
if (offset >= 0x1000)
return m_prg[0x10000 + (offset & 0x0fff)];
- return m_open_bus; // open bus
+ return get_open_bus(); // open bus
}
-READ8_MEMBER(nes_smb2j_device::read_m)
+uint8_t nes_smb2j_device::read_m(offs_t offset)
{
LOG_MMC(("smb2j read_m, offset: %04x\n", offset));
return m_prg[0x4000 + offset];
@@ -1057,7 +1057,7 @@ void nes_smb2ja_device::device_timer(emu_timer &timer, device_timer_id id, int p
}
}
-WRITE8_MEMBER(nes_smb2ja_device::write_h)
+void nes_smb2ja_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("smb2ja write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1076,7 +1076,7 @@ WRITE8_MEMBER(nes_smb2ja_device::write_h)
}
}
-READ8_MEMBER(nes_smb2ja_device::read_m)
+uint8_t nes_smb2ja_device::read_m(offs_t offset)
{
LOG_MMC(("smb2ja read_m, offset: %04x\n", offset));
return m_prg[(0xfe * 0x2000 + (offset & 0x1fff)) & (m_prg_size - 1)];
@@ -1114,7 +1114,7 @@ void nes_smb2jb_device::device_timer(emu_timer &timer, device_timer_id id, int p
}
}
-WRITE8_MEMBER(nes_smb2jb_device::write_l)
+void nes_smb2jb_device::write_l(offs_t offset, uint8_t data)
{
uint8_t prg;
LOG_MMC(("smb2jb write_l, offset: %04x, data: %02x\n", offset, data));
@@ -1134,14 +1134,14 @@ WRITE8_MEMBER(nes_smb2jb_device::write_l)
}
}
-READ8_MEMBER(nes_smb2jb_device::read_m)
+uint8_t nes_smb2jb_device::read_m(offs_t offset)
{
LOG_MMC(("smb2jb read_m, offset: %04x\n", offset));
return m_prg[((0x0f * 0x2000) + (offset & 0x1fff)) & (m_prg_size - 1)];
}
/* This goes to 0x4020-0x403f & 0x40a0-0x40bf */
-WRITE8_MEMBER(nes_smb2jb_device::write_ex)
+void nes_smb2jb_device::write_ex(offs_t offset, uint8_t data)
{
uint8_t prg;
LOG_MMC(("smb2jb write_ex, offset: %04x, data: %02x\n", offset, data));
@@ -1169,7 +1169,7 @@ WRITE8_MEMBER(nes_smb2jb_device::write_ex)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_09034a_device::write_ex)
+void nes_09034a_device::write_ex(offs_t offset, uint8_t data)
{
LOG_MMC(("09-034a write_ex, offset: %04x, data: %02x\n", offset, data));
@@ -1177,7 +1177,7 @@ WRITE8_MEMBER(nes_09034a_device::write_ex)
m_reg = data & 1;
}
-READ8_MEMBER(nes_09034a_device::read_m)
+uint8_t nes_09034a_device::read_m(offs_t offset)
{
LOG_MMC(("09-034a read_m, offset: %04x\n", offset));
// in 0x6000-0x7fff is mapped the 2nd PRG chip which starts after 32K (hence the +4)
@@ -1198,7 +1198,7 @@ READ8_MEMBER(nes_09034a_device::read_m)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_tobidase_device::write_l)
+void nes_tobidase_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("tobidase write_h, offset: %04x, data: %02x\n", offset, data));
offset += 0x4100;
@@ -1207,7 +1207,7 @@ WRITE8_MEMBER(nes_tobidase_device::write_l)
m_latch = data & 0x0f;
}
-READ8_MEMBER(nes_tobidase_device::read_m)
+uint8_t nes_tobidase_device::read_m(offs_t offset)
{
LOG_MMC(("tobidase read_m, offset: %04x\n", offset));
if (m_latch >= 0x0c)
@@ -1229,13 +1229,13 @@ READ8_MEMBER(nes_tobidase_device::read_m)
-------------------------------------------------*/
-READ8_MEMBER(nes_lh32_device::read_m)
+uint8_t nes_lh32_device::read_m(offs_t offset)
{
LOG_MMC(("lh32 read_m, offset: %04x\n", offset));
return m_prg[(m_latch * 0x2000) + (offset & 0x1fff)];
}
-READ8_MEMBER(nes_lh32_device::read_h)
+uint8_t nes_lh32_device::read_h(offs_t offset)
{
// LOG_MMC(("lh32 read_h, offset: %04x\n", offset));
@@ -1245,7 +1245,7 @@ READ8_MEMBER(nes_lh32_device::read_h)
return hi_access_rom(offset);
}
-WRITE8_MEMBER(nes_lh32_device::write_m)
+void nes_lh32_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("lh32 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -1256,7 +1256,7 @@ WRITE8_MEMBER(nes_lh32_device::write_m)
}
}
-WRITE8_MEMBER(nes_lh32_device::write_h)
+void nes_lh32_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("lh32 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1285,13 +1285,13 @@ void nes_lh10_device::update_prg()
prg8_ab(m_reg[7]);
}
-READ8_MEMBER(nes_lh10_device::read_m)
+uint8_t nes_lh10_device::read_m(offs_t offset)
{
LOG_MMC(("lh10 read_m, offset: %04x\n", offset));
return m_prg[(0x0e * 0x2000) + (offset & 0x1fff)];
}
-READ8_MEMBER(nes_lh10_device::read_h)
+uint8_t nes_lh10_device::read_h(offs_t offset)
{
// LOG_MMC(("lh10 read_h, offset: %04x\n", offset));
@@ -1301,7 +1301,7 @@ READ8_MEMBER(nes_lh10_device::read_h)
return hi_access_rom(offset);
}
-WRITE8_MEMBER(nes_lh10_device::write_h)
+void nes_lh10_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("lh10 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1354,13 +1354,13 @@ void nes_lh53_device::device_timer(emu_timer &timer, device_timer_id id, int par
}
}
-READ8_MEMBER(nes_lh53_device::read_m)
+uint8_t nes_lh53_device::read_m(offs_t offset)
{
LOG_MMC(("lh53 read_m, offset: %04x\n", offset));
return m_prg[(m_reg * 0x2000) + (offset & 0x1fff)];
}
-READ8_MEMBER(nes_lh53_device::read_h)
+uint8_t nes_lh53_device::read_h(offs_t offset)
{
// LOG_MMC(("lh53 read_h, offset: %04x\n", offset));
@@ -1370,7 +1370,7 @@ READ8_MEMBER(nes_lh53_device::read_h)
return hi_access_rom(offset);
}
-WRITE8_MEMBER(nes_lh53_device::write_h)
+void nes_lh53_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("lh53 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1412,7 +1412,7 @@ WRITE8_MEMBER(nes_lh53_device::write_h)
-------------------------------------------------*/
-READ8_MEMBER(nes_2708_device::read_m)
+uint8_t nes_2708_device::read_m(offs_t offset)
{
LOG_MMC(("btl-2708 read_m, offset: %04x\n", offset));
if (!m_reg[1])
@@ -1421,14 +1421,14 @@ READ8_MEMBER(nes_2708_device::read_m)
return m_prg[(m_reg[0] * 0x2000) + (offset & 0x1fff)];
}
-WRITE8_MEMBER(nes_2708_device::write_m)
+void nes_2708_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("btl-2708 write_m, offset: %04x, data: %02x\n", offset, data));
// if (!m_reg[1])
m_prgram[offset] = data; // lower 8K of WRAM
}
-READ8_MEMBER(nes_2708_device::read_h)
+uint8_t nes_2708_device::read_h(offs_t offset)
{
// LOG_MMC(("btl-2708 read_h, offset: %04x\n", offset));
@@ -1438,7 +1438,7 @@ READ8_MEMBER(nes_2708_device::read_h)
return hi_access_rom(offset);
}
-WRITE8_MEMBER(nes_2708_device::write_h)
+void nes_2708_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("btl-2708 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1475,20 +1475,20 @@ WRITE8_MEMBER(nes_2708_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_ac08_device::write_ex)
+void nes_ac08_device::write_ex(offs_t offset, uint8_t data)
{
LOG_MMC(("AC-08 write_ex, offset: %04x, data: %02x\n", offset, data));
if (offset == 5) // $4025
set_nt_mirroring(!BIT(data, 3) ? PPU_MIRROR_VERT : PPU_MIRROR_HORZ);
}
-READ8_MEMBER(nes_ac08_device::read_m)
+uint8_t nes_ac08_device::read_m(offs_t offset)
{
LOG_MMC(("AC-08 read_m, offset: %04x\n", offset));
return m_prg[(m_latch * 0x2000) + (offset & 0x1fff)];
}
-WRITE8_MEMBER(nes_ac08_device::write_h)
+void nes_ac08_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("AC-08 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1511,13 +1511,13 @@ WRITE8_MEMBER(nes_ac08_device::write_h)
-------------------------------------------------*/
-READ8_MEMBER(nes_unl_bb_device::read_m)
+uint8_t nes_unl_bb_device::read_m(offs_t offset)
{
LOG_MMC(("unl-bb read_m, offset: %04x\n", offset));
return m_prg[(((m_reg[0] & 3 & m_prg_mask) * 0x2000) + (offset & 0x1fff))];
}
-WRITE8_MEMBER(nes_unl_bb_device::write_h)
+void nes_unl_bb_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("unl-bb write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1549,7 +1549,7 @@ WRITE8_MEMBER(nes_unl_bb_device::write_h)
-------------------------------------------------*/
-READ8_MEMBER(nes_mmalee_device::read_m)
+uint8_t nes_mmalee_device::read_m(offs_t offset)
{
LOG_MMC(("mmalee read_m, offset: %04x\n", offset));
@@ -1561,7 +1561,7 @@ READ8_MEMBER(nes_mmalee_device::read_m)
return ((offset + 0x6000) & 0xff00) >> 8;
}
-WRITE8_MEMBER(nes_mmalee_device::write_m)
+void nes_mmalee_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("mmalee write_m, offset: %04x, data: %02x\n", offset, data));
@@ -1594,7 +1594,7 @@ void nes_shuiguan_device::device_timer(emu_timer &timer, device_timer_id id, int
}
}
-WRITE8_MEMBER(nes_shuiguan_device::write_h)
+void nes_shuiguan_device::write_h(offs_t offset, uint8_t data)
{
int bank;
LOG_MMC(("shuiguan write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1646,7 +1646,7 @@ WRITE8_MEMBER(nes_shuiguan_device::write_h)
}
}
-READ8_MEMBER(nes_shuiguan_device::read_m)
+uint8_t nes_shuiguan_device::read_m(offs_t offset)
{
// always first bank??
LOG_MMC(("shuiguan read_m, offset: %04x\n", offset));
@@ -1670,7 +1670,7 @@ READ8_MEMBER(nes_shuiguan_device::read_m)
-------------------------------------------------*/
-READ8_MEMBER(nes_rt01_device::read_h)
+uint8_t nes_rt01_device::read_h(offs_t offset)
{
// LOG_MMC(("rt01 read_h, offset: %04x\n", offset));
diff --git a/src/devices/bus/nes/bootleg.h b/src/devices/bus/nes/bootleg.h
index a048f0955d4..42213b131b8 100644
--- a/src/devices/bus/nes/bootleg.h
+++ b/src/devices/bus/nes/bootleg.h
@@ -14,7 +14,7 @@ public:
// construction/destruction
nes_ax5705_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -36,7 +36,7 @@ class nes_sc127_device : public nes_nrom_device
public:
// construction/destruction
nes_sc127_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -58,8 +58,8 @@ class nes_mbaby_device : public nes_nrom_device
public:
// construction/destruction
nes_mbaby_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -87,8 +87,8 @@ public:
// construction/destruction
nes_asn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -109,7 +109,7 @@ public:
// construction/destruction
nes_smb3p_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -134,7 +134,7 @@ class nes_btl_dn_device : public nes_nrom_device
public:
// construction/destruction
nes_btl_dn_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -156,8 +156,8 @@ public:
// construction/destruction
nes_whirl2706_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -178,11 +178,11 @@ public:
// construction/destruction
nes_smb2j_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_ex) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_ex(offs_t offset, uint8_t data) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -207,8 +207,8 @@ class nes_smb2ja_device : public nes_nrom_device
public:
// construction/destruction
nes_smb2ja_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -233,9 +233,9 @@ class nes_smb2jb_device : public nes_nrom_device
public:
// construction/destruction
nes_smb2jb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_ex) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_ex(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -261,8 +261,8 @@ public:
// construction/destruction
nes_09034a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_ex) override;
- virtual DECLARE_READ8_MEMBER(read_m) override;
+ virtual void write_ex(offs_t offset, uint8_t data) override;
+ virtual uint8_t read_m(offs_t offset) override;
virtual void pcb_reset() override;
@@ -283,8 +283,8 @@ public:
// construction/destruction
nes_tobidase_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -305,10 +305,10 @@ public:
// construction/destruction
nes_lh32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -329,9 +329,9 @@ public:
// construction/destruction
nes_lh10_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -354,10 +354,10 @@ public:
// construction/destruction
nes_lh53_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override {}
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override {}
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -385,10 +385,10 @@ public:
// construction/destruction
nes_2708_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -408,9 +408,9 @@ public:
// nes_ac08_device/destruction
nes_ac08_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_ex) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_ex(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -429,8 +429,8 @@ class nes_unl_bb_device : public nes_nrom_device
public:
// construction/destruction
nes_unl_bb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -450,8 +450,8 @@ public:
// construction/destruction
nes_mmalee_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -468,8 +468,8 @@ public:
// construction/destruction
nes_shuiguan_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -496,7 +496,7 @@ public:
// construction/destruction
nes_rt01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual uint8_t read_h(offs_t offset) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/camerica.cpp b/src/devices/bus/nes/camerica.cpp
index 7b9d413f6c9..5870b2911ab 100644
--- a/src/devices/bus/nes/camerica.cpp
+++ b/src/devices/bus/nes/camerica.cpp
@@ -136,7 +136,7 @@ void nes_golden5_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bf9093_device::write_h)
+void nes_bf9093_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bf9093 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -174,7 +174,7 @@ WRITE8_MEMBER(nes_bf9093_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bf9096_device::write_h)
+void nes_bf9096_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bf9096 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -203,7 +203,7 @@ WRITE8_MEMBER(nes_bf9096_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_golden5_device::write_h)
+void nes_golden5_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("golden5 write_h, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/camerica.h b/src/devices/bus/nes/camerica.h
index b7a4782c342..7688249a64c 100644
--- a/src/devices/bus/nes/camerica.h
+++ b/src/devices/bus/nes/camerica.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_bf9093_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -34,8 +34,8 @@ public:
// construction/destruction
nes_bf9096_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override { write_h(space, offset, data, mem_mask); }
+ virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual void write_m(offs_t offset, uint8_t data) override { write_h(offset, data); }
virtual void pcb_reset() override;
@@ -56,7 +56,7 @@ public:
// construction/destruction
nes_golden5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/cne.cpp b/src/devices/bus/nes/cne.cpp
index 1f0ad793937..c81e7a2bdc8 100644
--- a/src/devices/bus/nes/cne.cpp
+++ b/src/devices/bus/nes/cne.cpp
@@ -112,7 +112,7 @@ void nes_cne_shlz_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_cne_decathl_device::write_h)
+void nes_cne_decathl_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("cne_decathl_w, offset: %04x, data: %02x\n", offset, data));
@@ -146,7 +146,7 @@ WRITE8_MEMBER(nes_cne_decathl_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_cne_fsb_device::write_m)
+void nes_cne_fsb_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("cne_fsb write_m, offset: %04x, data: %02x\n", offset, data));
@@ -184,7 +184,7 @@ WRITE8_MEMBER(nes_cne_fsb_device::write_m)
m_battery[offset] = data;
}
-READ8_MEMBER(nes_cne_fsb_device::read_m)
+uint8_t nes_cne_fsb_device::read_m(offs_t offset)
{
LOG_MMC(("cne_fsb read_m, offset: %04x\n", offset));
@@ -211,7 +211,7 @@ READ8_MEMBER(nes_cne_fsb_device::read_m)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_cne_shlz_device::write_l)
+void nes_cne_shlz_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("cne_shlz write_l, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/cne.h b/src/devices/bus/nes/cne.h
index d5e117c791a..da0623cbde3 100644
--- a/src/devices/bus/nes/cne.h
+++ b/src/devices/bus/nes/cne.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_cne_decathl_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -34,8 +34,8 @@ public:
// construction/destruction
nes_cne_fsb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -53,7 +53,7 @@ public:
// construction/destruction
nes_cne_shlz_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/cony.cpp b/src/devices/bus/nes/cony.cpp
index 78c89a57141..e42ae833f82 100644
--- a/src/devices/bus/nes/cony.cpp
+++ b/src/devices/bus/nes/cony.cpp
@@ -174,7 +174,7 @@ void nes_cony_device::device_timer(emu_timer &timer, device_timer_id id, int par
}
}
-WRITE8_MEMBER(nes_cony_device::write_l)
+void nes_cony_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("cony write_l, offset: %04x, data: %02x\n", offset, data));
@@ -182,7 +182,7 @@ WRITE8_MEMBER(nes_cony_device::write_l)
m_low_reg[offset & 0x03] = data;
}
-READ8_MEMBER(nes_cony_device::read_l)
+uint8_t nes_cony_device::read_l(offs_t offset)
{
LOG_MMC(("cony read_l, offset: %04x\n", offset));
@@ -229,7 +229,7 @@ void nes_cony_device::set_chr()
}
}
-WRITE8_MEMBER(nes_cony_device::write_h)
+void nes_cony_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("cony write_h, offset: %04x, data: %02x\n", offset, data));
@@ -310,7 +310,7 @@ WRITE8_MEMBER(nes_cony_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_yoko_device::write_l)
+void nes_yoko_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("yoko write_l, offset: %04x, data: %02x\n", offset, data));
@@ -318,7 +318,7 @@ WRITE8_MEMBER(nes_yoko_device::write_l)
m_low_reg[offset & 0x03] = data;
}
-READ8_MEMBER(nes_yoko_device::read_l)
+uint8_t nes_yoko_device::read_l(offs_t offset)
{
LOG_MMC(("yoko read_l, offset: %04x\n", offset));
@@ -359,7 +359,7 @@ void nes_yoko_device::set_chr()
chr2_6(m_reg[7], CHRROM);
}
-WRITE8_MEMBER(nes_yoko_device::write_h)
+void nes_yoko_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("yoko write_h, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/cony.h b/src/devices/bus/nes/cony.h
index b7b759a7fe1..aa767a88c13 100644
--- a/src/devices/bus/nes/cony.h
+++ b/src/devices/bus/nes/cony.h
@@ -16,9 +16,9 @@ public:
// construction/destruction
nes_cony_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -54,9 +54,9 @@ public:
// construction/destruction
nes_yoko_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/datach.cpp b/src/devices/bus/nes/datach.cpp
index c8549924f68..5262b6d927a 100644
--- a/src/devices/bus/nes/datach.cpp
+++ b/src/devices/bus/nes/datach.cpp
@@ -52,7 +52,7 @@ datach_cart_interface::~datach_cart_interface()
{
}
-READ8_MEMBER(datach_cart_interface::read)
+uint8_t datach_cart_interface::read(offs_t offset)
{
if (offset < 0x4000)
return m_rom[(m_bank * 0x4000) + (offset & 0x3fff)];
@@ -84,10 +84,10 @@ void nes_datach_slot_device::device_start()
m_cart = dynamic_cast<datach_cart_interface *>(get_card_device());
}
-READ8_MEMBER(nes_datach_slot_device::read)
+uint8_t nes_datach_slot_device::read(offs_t offset)
{
if (m_cart)
- return m_cart->read(space, offset, mem_mask);
+ return m_cart->read(offset);
return 0xff;
}
@@ -201,9 +201,10 @@ uint8_t *nes_datach_rom_device::get_cart_base()
}
-MACHINE_CONFIG_START(nes_datach_24c01_device::device_add_mconfig)
- MCFG_24C01_ADD("i2cmem")
-MACHINE_CONFIG_END
+void nes_datach_24c01_device::device_add_mconfig(machine_config &config)
+{
+ I2C_24C01(config, m_i2cmem);
+}
//---------------------------------
@@ -283,7 +284,7 @@ void nes_datach_device::pcb_reset()
-------------------------------------------------*/
-READ8_MEMBER(nes_datach_device::read_m)
+uint8_t nes_datach_device::read_m(offs_t offset)
{
LOG_MMC(("Datach read_m, offset: %04x\n", offset));
uint8_t i2c_val = 0;
@@ -300,19 +301,19 @@ READ8_MEMBER(nes_datach_device::read_m)
}
-READ8_MEMBER(nes_datach_device::read_h)
+uint8_t nes_datach_device::read_h(offs_t offset)
{
LOG_MMC(("Datach read_h, offset: %04x\n", offset));
// this shall be the proper code, but it's a bit slower, so we access directly the subcart below
- //return m_subslot->read(space, offset, mem_mask);
+ //return m_subslot->read(offset);
if (m_subslot->m_cart)
- return m_subslot->m_cart->read(space, offset, mem_mask);
+ return m_subslot->m_cart->read(offset);
else // this is "fake" in the sense that we fill CPU space with 0xff if no Datach cart is loaded
return hi_access_rom(offset);
}
-WRITE8_MEMBER(nes_datach_device::write_h)
+void nes_datach_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("Datach write_h, offset: %04x, data: %02x\n", offset, data));
@@ -352,7 +353,7 @@ WRITE8_MEMBER(nes_datach_device::write_h)
#endif
break;
default:
- fcg_write(space, offset & 0x0f, data, mem_mask);
+ fcg_write(offset & 0x0f, data);
break;
}
}
@@ -368,11 +369,12 @@ static void datach_cart(device_slot_interface &device)
}
-MACHINE_CONFIG_START(nes_datach_device::device_add_mconfig)
- BARCODE_READER(config, "datach", 0);
- MCFG_DATACH_MINICART_ADD("datach_slot", datach_cart)
- MCFG_24C02_ADD("i2cmem")
-MACHINE_CONFIG_END
+void nes_datach_device::device_add_mconfig(machine_config &config)
+{
+ BARCODE_READER(config, m_reader, 0);
+ NES_DATACH_SLOT(config, m_subslot, 0, datach_cart);
+ I2C_24C02(config, m_i2cmem);
+}
//-------------------------------------------------
diff --git a/src/devices/bus/nes/datach.h b/src/devices/bus/nes/datach.h
index 5d4decd64fa..81865baa69f 100644
--- a/src/devices/bus/nes/datach.h
+++ b/src/devices/bus/nes/datach.h
@@ -25,7 +25,7 @@ public:
virtual ~datach_cart_interface();
// reading and writing
- virtual DECLARE_READ8_MEMBER(read);
+ virtual uint8_t read(offs_t offset);
uint8_t *get_cart_base() { return m_rom; }
void write_prg_bank(uint8_t bank) { m_bank = bank; }
@@ -52,6 +52,15 @@ class nes_datach_slot_device : public device_t,
friend class nes_datach_device;
public:
// construction/destruction
+ template <typename T>
+ nes_datach_slot_device(machine_config const &mconfig, char const *tag, device_t *owner, uint32_t clock, T &&opts)
+ : nes_datach_slot_device(mconfig, tag, owner, clock)
+ {
+ option_reset();
+ opts(*this);
+ set_default_option(nullptr);
+ set_fixed(false);
+ }
nes_datach_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~nes_datach_slot_device();
@@ -74,7 +83,7 @@ public:
// slot interface overrides
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
- virtual DECLARE_READ8_MEMBER(read);
+ uint8_t read(offs_t offset);
void write_prg_bank(uint8_t bank) { if (m_cart) m_cart->write_prg_bank(bank); }
protected:
@@ -85,11 +94,6 @@ protected:
DECLARE_DEVICE_TYPE(NES_DATACH_SLOT, nes_datach_slot_device)
-#define MCFG_DATACH_MINICART_ADD(_tag, _slot_intf) \
- MCFG_DEVICE_ADD(_tag, NES_DATACH_SLOT, 0) \
- MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, nullptr, false)
-
-
//--------------------------------
//
// Datach Minicart implementation
@@ -148,9 +152,9 @@ public:
// construction/destruction
nes_datach_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/discrete.cpp b/src/devices/bus/nes/discrete.cpp
index 2e1f6a4c81b..2fb7883d063 100644
--- a/src/devices/bus/nes/discrete.cpp
+++ b/src/devices/bus/nes/discrete.cpp
@@ -134,7 +134,7 @@ void nes_74x161x138_device::pcb_reset()
-------------------------------------------------*/
// there are two 'variants' depending on hardwired or mapper ctrl mirroring
-WRITE8_MEMBER(nes_74x161x161x32_device::write_h)
+void nes_74x161x161x32_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("74x161x161x32 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -155,7 +155,7 @@ WRITE8_MEMBER(nes_74x161x161x32_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_74x139x74_device::write_m)
+void nes_74x139x74_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("74x139x74 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -179,7 +179,7 @@ WRITE8_MEMBER(nes_74x139x74_device::write_m)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_74x377_device::write_h)
+void nes_74x377_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("74x377 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -200,7 +200,7 @@ WRITE8_MEMBER(nes_74x377_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_74x161x138_device::write_m)
+void nes_74x161x138_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("74x161x138 write_m, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/discrete.h b/src/devices/bus/nes/discrete.h
index 51576a77e41..861b8b643bf 100644
--- a/src/devices/bus/nes/discrete.h
+++ b/src/devices/bus/nes/discrete.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_74x161x161x32_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -34,7 +34,7 @@ public:
// construction/destruction
nes_74x139x74_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -52,7 +52,7 @@ public:
// construction/destruction
nes_74x377_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -70,7 +70,7 @@ public:
// construction/destruction
nes_74x161x138_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/disksys.cpp b/src/devices/bus/nes/disksys.cpp
index 0f350fb7922..71101492822 100644
--- a/src/devices/bus/nes/disksys.cpp
+++ b/src/devices/bus/nes/disksys.cpp
@@ -51,9 +51,10 @@ static const floppy_interface nes_floppy_interface =
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(nes_disksys_device::device_add_mconfig)
- MCFG_LEGACY_FLOPPY_DRIVE_ADD(FLOPPY_0, nes_floppy_interface)
-MACHINE_CONFIG_END
+void nes_disksys_device::device_add_mconfig(machine_config &config)
+{
+ LEGACY_FLOPPY(config, FLOPPY_0, 0, &nes_floppy_interface);
+}
ROM_START( disksys )
@@ -172,7 +173,7 @@ void nes_disksys_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_disksys_device::write_h)
+void nes_disksys_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("Famicom Disk System write_h, offset %04x, data: %02x\n", offset, data));
@@ -180,7 +181,7 @@ WRITE8_MEMBER(nes_disksys_device::write_h)
m_prgram[offset + 0x2000] = data;
}
-READ8_MEMBER(nes_disksys_device::read_h)
+uint8_t nes_disksys_device::read_h(offs_t offset)
{
LOG_MMC(("Famicom Disk System read_h, offset: %04x\n", offset));
@@ -190,13 +191,13 @@ READ8_MEMBER(nes_disksys_device::read_h)
return m_2c33_rom[offset & 0x1fff];
}
-WRITE8_MEMBER(nes_disksys_device::write_m)
+void nes_disksys_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("Famicom Disk System write_m, offset: %04x, data: %02x\n", offset, data));
m_prgram[offset] = data;
}
-READ8_MEMBER(nes_disksys_device::read_m)
+uint8_t nes_disksys_device::read_m(offs_t offset)
{
LOG_MMC(("Famicom Disk System read_m, offset: %04x\n", offset));
return m_prgram[offset];
@@ -208,7 +209,7 @@ void nes_disksys_device::hblank_irq(int scanline, int vblank, int blanked)
hold_irq_line();
}
-WRITE8_MEMBER(nes_disksys_device::write_ex)
+void nes_disksys_device::write_ex(offs_t offset, uint8_t data)
{
LOG_MMC(("Famicom Disk System write_ex, offset: %04x, data: %02x\n", offset, data));
@@ -280,7 +281,7 @@ WRITE8_MEMBER(nes_disksys_device::write_ex)
}
}
-READ8_MEMBER(nes_disksys_device::read_ex)
+uint8_t nes_disksys_device::read_ex(offs_t offset)
{
LOG_MMC(("Famicom Disk System read_ex, offset: %04x\n", offset));
uint8_t ret;
diff --git a/src/devices/bus/nes/disksys.h b/src/devices/bus/nes/disksys.h
index 907ee06abef..1e3e45afb1e 100644
--- a/src/devices/bus/nes/disksys.h
+++ b/src/devices/bus/nes/disksys.h
@@ -17,12 +17,12 @@ public:
// construction/destruction
nes_disksys_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_ex) override;
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_ex) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_ex(offs_t offset) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_ex(offs_t offset, uint8_t data) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void disk_flip_side() override;
diff --git a/src/devices/bus/nes/ggenie.cpp b/src/devices/bus/nes/ggenie.cpp
index 462c9c5da37..bb5866feac7 100644
--- a/src/devices/bus/nes/ggenie.cpp
+++ b/src/devices/bus/nes/ggenie.cpp
@@ -80,7 +80,7 @@ void nes_ggenie_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_ggenie_device::write_h)
+void nes_ggenie_device::write_h(offs_t offset, uint8_t data)
{
// LOG_MMC(("axrom write_h, offset: %04x, data: %02x\n", offset, data));
if (!m_gg_bypass)
@@ -150,22 +150,22 @@ WRITE8_MEMBER(nes_ggenie_device::write_h)
}
}
else
- m_ggslot->write_h(space, offset, data, mem_mask);
+ m_ggslot->write_h(offset, data);
}
-WRITE8_MEMBER(nes_ggenie_device::write_m)
+void nes_ggenie_device::write_m(offs_t offset, uint8_t data)
{
if (m_gg_bypass && m_ggslot)
- m_ggslot->write_m(space, offset, data, mem_mask);
+ m_ggslot->write_m(offset, data);
}
-WRITE8_MEMBER(nes_ggenie_device::write_l)
+void nes_ggenie_device::write_l(offs_t offset, uint8_t data)
{
if (m_gg_bypass && m_ggslot)
- m_ggslot->write_l(space, offset, data, mem_mask);
+ m_ggslot->write_l(offset, data);
}
-READ8_MEMBER(nes_ggenie_device::read_h)
+uint8_t nes_ggenie_device::read_h(offs_t offset)
{
if (m_gg_bypass && m_ggslot->m_cart)
{
@@ -186,29 +186,29 @@ READ8_MEMBER(nes_ggenie_device::read_h)
return hi_access_rom(offset);
}
-READ8_MEMBER(nes_ggenie_device::read_m)
+uint8_t nes_ggenie_device::read_m(offs_t offset)
{
if (m_gg_bypass && m_ggslot->m_cart)
- return m_ggslot->m_cart->read_m(space, offset, mem_mask);
+ return m_ggslot->m_cart->read_m(offset);
return 0xff;
}
-READ8_MEMBER(nes_ggenie_device::read_l)
+uint8_t nes_ggenie_device::read_l(offs_t offset)
{
if (m_gg_bypass && m_ggslot->m_cart)
- return m_ggslot->m_cart->read_l(space, offset, mem_mask);
+ return m_ggslot->m_cart->read_l(offset);
return 0xff;
}
-WRITE8_MEMBER(nes_ggenie_device::chr_w)
+void nes_ggenie_device::chr_w(offs_t offset, uint8_t data)
{
int bank = offset >> 10;
if (m_gg_bypass && m_ggslot->m_cart)
{
- m_ggslot->m_cart->chr_w(space, offset, data, mem_mask);
+ m_ggslot->m_cart->chr_w(offset, data);
return;
}
@@ -216,24 +216,24 @@ WRITE8_MEMBER(nes_ggenie_device::chr_w)
m_chr_access[bank][offset & 0x3ff] = data;
}
-READ8_MEMBER(nes_ggenie_device::chr_r)
+uint8_t nes_ggenie_device::chr_r(offs_t offset)
{
int bank = offset >> 10;
if (m_gg_bypass && m_ggslot->m_cart)
- return m_ggslot->m_cart->chr_r(space, offset, mem_mask);
+ return m_ggslot->m_cart->chr_r(offset);
return m_chr_access[bank][offset & 0x3ff];
}
-WRITE8_MEMBER(nes_ggenie_device::nt_w)
+void nes_ggenie_device::nt_w(offs_t offset, uint8_t data)
{
int page = ((offset & 0xc00) >> 10);
if (m_gg_bypass && m_ggslot->m_cart)
{
- m_ggslot->m_cart->nt_w(space, offset, data, mem_mask);
+ m_ggslot->m_cart->nt_w(offset, data);
return;
}
@@ -243,12 +243,12 @@ WRITE8_MEMBER(nes_ggenie_device::nt_w)
m_nt_access[page][offset & 0x3ff] = data;
}
-READ8_MEMBER(nes_ggenie_device::nt_r)
+uint8_t nes_ggenie_device::nt_r(offs_t offset)
{
int page = ((offset & 0xc00) >> 10);
if (m_gg_bypass && m_ggslot->m_cart)
- return m_ggslot->m_cart->nt_r(space, offset, mem_mask);
+ return m_ggslot->m_cart->nt_r(offset);
return m_nt_access[page][offset & 0x3ff];
}
diff --git a/src/devices/bus/nes/ggenie.h b/src/devices/bus/nes/ggenie.h
index 1ca577ec7b0..2d6974be849 100644
--- a/src/devices/bus/nes/ggenie.h
+++ b/src/devices/bus/nes/ggenie.h
@@ -16,17 +16,17 @@ public:
// construction/destruction
nes_ggenie_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
-
- virtual DECLARE_READ8_MEMBER(chr_r) override;
- virtual DECLARE_WRITE8_MEMBER(chr_w) override;
- virtual DECLARE_READ8_MEMBER(nt_r) override;
- virtual DECLARE_WRITE8_MEMBER(nt_w) override;
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
+
+ virtual uint8_t chr_r(offs_t offset) override;
+ virtual void chr_w(offs_t offset, uint8_t data) override;
+ virtual uint8_t nt_r(offs_t offset) override;
+ virtual void nt_w(offs_t offset, uint8_t data) override;
void hblank_irq(int scanline, int vblank, int blanked) override { if (m_gg_bypass && m_ggslot->m_cart) m_ggslot->m_cart->hblank_irq(scanline, vblank, blanked); }
void scanline_irq(int scanline, int vblank, int blanked) override { if (m_gg_bypass && m_ggslot->m_cart) m_ggslot->m_cart->scanline_irq(scanline, vblank, blanked); }
diff --git a/src/devices/bus/nes/henggedianzi.cpp b/src/devices/bus/nes/henggedianzi.cpp
index 5d75850a0c8..0f9acd05d45 100644
--- a/src/devices/bus/nes/henggedianzi.cpp
+++ b/src/devices/bus/nes/henggedianzi.cpp
@@ -135,7 +135,7 @@ void nes_hengg_shjy3_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_hengg_srich_device::write_h)
+void nes_hengg_srich_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("hengg_srich write_h, offset: %04x, data: %02x\n", offset, data));
@@ -162,7 +162,7 @@ WRITE8_MEMBER(nes_hengg_srich_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_hengg_xhzs_device::write_l)
+void nes_hengg_xhzs_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("hengg_xhzs write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x4100;
@@ -171,7 +171,7 @@ WRITE8_MEMBER(nes_hengg_xhzs_device::write_l)
prg32(data >> 1);
}
-WRITE8_MEMBER(nes_hengg_xhzs_device::write_h)
+void nes_hengg_xhzs_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("hengg_xhzs write_h, offset: %04x, data: %02x\n", offset, data));
@@ -225,7 +225,7 @@ void nes_hengg_shjy3_device::update_banks()
}
}
-WRITE8_MEMBER(nes_hengg_shjy3_device::write_h)
+void nes_hengg_shjy3_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("shjy3 write_h, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/henggedianzi.h b/src/devices/bus/nes/henggedianzi.h
index d74da743425..0bf0b2faebc 100644
--- a/src/devices/bus/nes/henggedianzi.h
+++ b/src/devices/bus/nes/henggedianzi.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_hengg_srich_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -34,8 +34,8 @@ public:
// construction/destruction
nes_hengg_xhzs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -53,7 +53,7 @@ public:
// construction/destruction
nes_hengg_shjy3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/hes.cpp b/src/devices/bus/nes/hes.cpp
index 8d1d3a7a590..946ea1f9585 100644
--- a/src/devices/bus/nes/hes.cpp
+++ b/src/devices/bus/nes/hes.cpp
@@ -73,7 +73,7 @@ void nes_hes_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_hes_device::write_l)
+void nes_hes_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("hes write_l, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/hes.h b/src/devices/bus/nes/hes.h
index d45d20a1a3f..ea72578ad98 100644
--- a/src/devices/bus/nes/hes.h
+++ b/src/devices/bus/nes/hes.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_hes_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/hosenkan.cpp b/src/devices/bus/nes/hosenkan.cpp
index 4200655897e..ae7749b7e9a 100644
--- a/src/devices/bus/nes/hosenkan.cpp
+++ b/src/devices/bus/nes/hosenkan.cpp
@@ -105,7 +105,7 @@ void nes_hosenkan_device::hblank_irq( int scanline, int vblank, int blanked )
m_irq_clear = 0;
}
-WRITE8_MEMBER(nes_hosenkan_device::write_h)
+void nes_hosenkan_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("hosenkan write_h, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/hosenkan.h b/src/devices/bus/nes/hosenkan.h
index 153638a9cbe..163aef76edc 100644
--- a/src/devices/bus/nes/hosenkan.h
+++ b/src/devices/bus/nes/hosenkan.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_hosenkan_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/irem.cpp b/src/devices/bus/nes/irem.cpp
index 15ef687dbea..c55cb588506 100644
--- a/src/devices/bus/nes/irem.cpp
+++ b/src/devices/bus/nes/irem.cpp
@@ -166,7 +166,7 @@ void nes_h3001_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_lrog017_device::write_h)
+void nes_lrog017_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("lrog017 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -185,7 +185,7 @@ WRITE8_MEMBER(nes_lrog017_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_holydivr_device::write_h)
+void nes_holydivr_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("holy diver write_h, offset: %04x, data: %02x\n", offset, data));
@@ -209,7 +209,7 @@ WRITE8_MEMBER(nes_holydivr_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_tam_s1_device::write_h)
+void nes_tam_s1_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("tam s1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -233,7 +233,7 @@ WRITE8_MEMBER(nes_tam_s1_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_g101_device::write_h)
+void nes_g101_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("g101 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -299,7 +299,7 @@ void nes_h3001_device::device_timer(emu_timer &timer, device_timer_id id, int pa
}
}
-WRITE8_MEMBER(nes_h3001_device::write_h)
+void nes_h3001_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("h3001 write_h, offset %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/irem.h b/src/devices/bus/nes/irem.h
index a50077e70a3..82fd0815c38 100644
--- a/src/devices/bus/nes/irem.h
+++ b/src/devices/bus/nes/irem.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_lrog017_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -34,7 +34,7 @@ public:
// construction/destruction
nes_holydivr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -52,7 +52,7 @@ public:
// construction/destruction
nes_tam_s1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -70,7 +70,7 @@ public:
// construction/destruction
nes_g101_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -90,7 +90,7 @@ public:
// construction/destruction
nes_h3001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/jaleco.cpp b/src/devices/bus/nes/jaleco.cpp
index 907580d6a1e..740c3c799b8 100644
--- a/src/devices/bus/nes/jaleco.cpp
+++ b/src/devices/bus/nes/jaleco.cpp
@@ -253,7 +253,7 @@ void nes_ss88006_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_jf11_device::write_m)
+void nes_jf11_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("jf11 write_m, offset: %04x, data: %02x\n", offset, data));
chr8(data, CHRROM);
@@ -274,7 +274,7 @@ WRITE8_MEMBER(nes_jf11_device::write_m)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_jf13_device::write_m)
+void nes_jf13_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("jf13 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -301,7 +301,7 @@ WRITE8_MEMBER(nes_jf13_device::write_m)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_jf16_device::write_h)
+void nes_jf16_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("jf16 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -330,7 +330,7 @@ WRITE8_MEMBER(nes_jf16_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_jf17_device::write_h)
+void nes_jf17_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("jf17 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -345,7 +345,7 @@ WRITE8_MEMBER(nes_jf17_device::write_h)
m_latch = data;
}
-WRITE8_MEMBER(nes_jf17_adpcm_device::write_h)
+void nes_jf17_adpcm_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("jf17 + ADPCM write_h, offset: %04x, data: %02x\n", offset, data));
@@ -379,7 +379,7 @@ WRITE8_MEMBER(nes_jf17_adpcm_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_jf19_device::write_h)
+void nes_jf19_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("jf19 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -392,7 +392,7 @@ WRITE8_MEMBER(nes_jf19_device::write_h)
chr8(data & 0x0f, CHRROM);
}
-WRITE8_MEMBER(nes_jf19_adpcm_device::write_h)
+void nes_jf19_adpcm_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("jf19 + ADPCM write_h, offset: %04x, data: %02x\n", offset, data));
@@ -474,7 +474,7 @@ void nes_ss88006_device::device_timer(emu_timer &timer, device_timer_id id, int
}
}
-WRITE8_MEMBER(nes_ss88006_device::ss88006_write)
+void nes_ss88006_device::ss88006_write(offs_t offset, uint8_t data)
{
uint8_t bank;
LOG_MMC(("ss88006 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -564,7 +564,7 @@ WRITE8_MEMBER(nes_ss88006_device::ss88006_write)
// bits2-bits6 are sample number, bit1 is setup/enable/disable
// program first write sample # + bit1 set to 'init' the sample
// then it writes sample # + bit1 clear to 'start' the sample
-void nes_ss88006_adpcm_device::ss88006_adpcm_write(address_space &space, offs_t offset, uint8_t data, samples_device *dev)
+void nes_ss88006_adpcm_device::ss88006_adpcm_write(offs_t offset, uint8_t data, samples_device &dev)
{
LOG_MMC(("ss88006 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -575,13 +575,13 @@ void nes_ss88006_adpcm_device::ss88006_adpcm_write(address_space &space, offs_t
{
// printf("sample write: data: %02x\n", data);
if ((m_latch & 2) && !(data & 2))
- dev->start((data >> 2) & 0x1f, (data >> 2) & 0x1f);
+ dev.start((data >> 2) & 0x1f, (data >> 2) & 0x1f);
}
m_latch = data;
break;
default:
- ss88006_write(space, offset, data);
+ ss88006_write(offset, data);
break;
}
}
diff --git a/src/devices/bus/nes/jaleco.h b/src/devices/bus/nes/jaleco.h
index ed8c04da7a0..53cc5716ce3 100644
--- a/src/devices/bus/nes/jaleco.h
+++ b/src/devices/bus/nes/jaleco.h
@@ -17,7 +17,7 @@ public:
// construction/destruction
nes_jf11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -35,7 +35,7 @@ public:
// construction/destruction
nes_jf13_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -58,7 +58,7 @@ public:
// construction/destruction
nes_jf16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -76,7 +76,7 @@ public:
// construction/destruction
nes_jf17_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -98,7 +98,7 @@ public:
// construction/destruction
nes_jf17_adpcm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
@@ -116,7 +116,7 @@ public:
// construction/destruction
nes_jf19_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -136,7 +136,7 @@ public:
// construction/destruction
nes_jf19_adpcm_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
@@ -154,8 +154,8 @@ public:
// construction/destruction
nes_ss88006_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(ss88006_write);
- virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_write(space, offset, data, mem_mask); }
+ void ss88006_write(offs_t offset, uint8_t data);
+ virtual void write_h(offs_t offset, uint8_t data) override { ss88006_write(offset, data); }
virtual void pcb_reset() override;
@@ -188,7 +188,7 @@ protected:
// construction/destruction
nes_ss88006_adpcm_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
- void ss88006_adpcm_write(address_space &space, offs_t offset, uint8_t data, samples_device *dev);
+ void ss88006_adpcm_write(offs_t offset, uint8_t data, samples_device &dev);
};
@@ -204,7 +204,7 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
private:
- virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); }
+ virtual void write_h(offs_t offset, uint8_t data) override { ss88006_adpcm_write(offset, data, *m_samples); }
required_device<samples_device> m_samples;
};
@@ -222,7 +222,7 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
private:
- virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); }
+ virtual void write_h(offs_t offset, uint8_t data) override { ss88006_adpcm_write(offset, data, *m_samples); }
required_device<samples_device> m_samples;
};
@@ -240,7 +240,7 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
private:
- virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); }
+ virtual void write_h(offs_t offset, uint8_t data) override { ss88006_adpcm_write(offset, data, *m_samples); }
required_device<samples_device> m_samples;
};
@@ -258,7 +258,7 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
private:
- virtual DECLARE_WRITE8_MEMBER(write_h) override { ss88006_adpcm_write(space, offset, data, m_samples); }
+ virtual void write_h(offs_t offset, uint8_t data) override { ss88006_adpcm_write(offset, data, *m_samples); }
required_device<samples_device> m_samples;
};
diff --git a/src/devices/bus/nes/jy.cpp b/src/devices/bus/nes/jy.cpp
index 33c1e6e6cac..8a54624cd5a 100644
--- a/src/devices/bus/nes/jy.cpp
+++ b/src/devices/bus/nes/jy.cpp
@@ -144,14 +144,14 @@ void nes_jy_typea_device::pcb_reset()
-------------------------------------------------*/
-READ8_MEMBER(nes_jy_typea_device::nt_r)
+uint8_t nes_jy_typea_device::nt_r(offs_t offset)
{
int page = ((offset & 0xc00) >> 10);
irq_clock(0, 2);
return m_nt_access[page][offset & 0x3ff];
}
-READ8_MEMBER(nes_jy_typea_device::chr_r)
+uint8_t nes_jy_typea_device::chr_r(offs_t offset)
{
int bank = offset >> 10;
irq_clock(0, 2);
@@ -241,7 +241,7 @@ void nes_jy_typea_device::scanline_irq(int scanline, int vblank, int blanked)
// 0x5000-0x5fff : sort of protection?
-READ8_MEMBER(nes_jy_typea_device::read_l)
+uint8_t nes_jy_typea_device::read_l(offs_t offset)
{
LOG_MMC(("JY Company write_m, offset: %04x\n", offset));
offset += 0x100;
@@ -249,7 +249,7 @@ READ8_MEMBER(nes_jy_typea_device::read_l)
if (offset >= 0x1000 && offset < 0x1800)
{
// bit6/bit7 DSW read
- return m_open_bus & 0x3f;
+ return get_open_bus() & 0x3f;
}
if (offset >= 0x1800)
@@ -262,10 +262,10 @@ READ8_MEMBER(nes_jy_typea_device::read_l)
return m_latch;
}
- return m_open_bus; // open bus
+ return get_open_bus(); // open bus
}
-WRITE8_MEMBER(nes_jy_typea_device::write_l)
+void nes_jy_typea_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("JY Company write_m, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -282,14 +282,14 @@ WRITE8_MEMBER(nes_jy_typea_device::write_l)
}
// 0x6000-0x7fff : WRAM or open bus
-READ8_MEMBER(nes_jy_typea_device::read_m)
+uint8_t nes_jy_typea_device::read_m(offs_t offset)
{
LOG_MMC(("JY Company write_m, offset: %04x\n", offset));
if (m_reg[0] & 0x80)
return m_prg[(m_bank_6000 & m_prg_mask) * 0x2000 + (offset & 0x1fff)];
- return m_open_bus; // open bus
+ return get_open_bus(); // open bus
}
@@ -425,7 +425,7 @@ void nes_jy_typea_device::update_banks(int reg)
}
-WRITE8_MEMBER(nes_jy_typea_device::write_h)
+void nes_jy_typea_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("JY Company write_m, offset: %04x, data: %02x\n", offset, data));
@@ -569,7 +569,7 @@ void nes_jy_typec_device::update_mirror_typec()
update_mirror_typea();
}
-READ8_MEMBER(nes_jy_typec_device::chr_r)
+uint8_t nes_jy_typec_device::chr_r(offs_t offset)
{
int bank = offset >> 10;
diff --git a/src/devices/bus/nes/jy.h b/src/devices/bus/nes/jy.h
index 80be5d98631..d318bfae60a 100644
--- a/src/devices/bus/nes/jy.h
+++ b/src/devices/bus/nes/jy.h
@@ -16,13 +16,13 @@ public:
// construction/destruction
nes_jy_typea_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
- virtual DECLARE_READ8_MEMBER(chr_r) override;
- virtual DECLARE_READ8_MEMBER(nt_r) override;
+ virtual uint8_t chr_r(offs_t offset) override;
+ virtual uint8_t nt_r(offs_t offset) override;
virtual void scanline_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -90,7 +90,7 @@ public:
// construction/destruction
nes_jy_typec_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(chr_r) override;
+ virtual uint8_t chr_r(offs_t offset) override;
protected:
void update_mirror_typec();
diff --git a/src/devices/bus/nes/kaiser.cpp b/src/devices/bus/nes/kaiser.cpp
index 2e228782785..52690376e4b 100644
--- a/src/devices/bus/nes/kaiser.cpp
+++ b/src/devices/bus/nes/kaiser.cpp
@@ -295,7 +295,7 @@ void nes_ks7037_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_ks7058_device::write_h)
+void nes_ks7058_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("ks7058 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -322,7 +322,7 @@ WRITE8_MEMBER(nes_ks7058_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_ks7022_device::write_h)
+void nes_ks7022_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("ks7022 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -333,7 +333,7 @@ WRITE8_MEMBER(nes_ks7022_device::write_h)
m_latch = data & 0x0f;
}
-READ8_MEMBER(nes_ks7022_device::read_h)
+uint8_t nes_ks7022_device::read_h(offs_t offset)
{
LOG_MMC(("ks7022 read_h, offset: %04x\n", offset));
@@ -388,7 +388,7 @@ void nes_ks7032_device::prg_update()
prg8_cd(m_reg[3]);
}
-WRITE8_MEMBER(nes_ks7032_device::ks7032_write)
+void nes_ks7032_device::ks7032_write(offs_t offset, uint8_t data)
{
LOG_MMC(("ks7032_write, offset: %04x, data: %02x\n", offset, data));
@@ -419,7 +419,7 @@ WRITE8_MEMBER(nes_ks7032_device::ks7032_write)
}
}
-READ8_MEMBER(nes_ks7032_device::read_m)
+uint8_t nes_ks7032_device::read_m(offs_t offset)
{
LOG_MMC(("ks7032 read_m, offset: %04x\n", offset));
return m_prg[((m_reg[4] * 0x2000) + (offset & 0x1fff)) & (m_prg_size - 1)];
@@ -438,7 +438,7 @@ READ8_MEMBER(nes_ks7032_device::read_m)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_ks202_device::write_h)
+void nes_ks202_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("ks202 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -458,12 +458,12 @@ WRITE8_MEMBER(nes_ks202_device::write_h)
}
break;
default:
- ks7032_write(space, offset, data, mem_mask);
+ ks7032_write(offset, data);
break;
}
}
-READ8_MEMBER(nes_ks202_device::read_m)
+uint8_t nes_ks202_device::read_m(offs_t offset)
{
LOG_MMC(("ks202 read_m, offset: %04x\n", offset));
return m_prgram[offset & 0x1fff];
@@ -499,7 +499,7 @@ void nes_ks7017_device::device_timer(emu_timer &timer, device_timer_id id, int p
}
}
-WRITE8_MEMBER(nes_ks7017_device::write_l)
+void nes_ks7017_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("ks7017 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -512,7 +512,7 @@ WRITE8_MEMBER(nes_ks7017_device::write_l)
prg16_89ab(m_latch);
}
-WRITE8_MEMBER(nes_ks7017_device::write_ex)
+void nes_ks7017_device::write_ex(offs_t offset, uint8_t data)
{
LOG_MMC(("ks7017 write_ex, offset: %04x, data: %02x\n", offset, data));
offset += 0x20;
@@ -530,7 +530,7 @@ WRITE8_MEMBER(nes_ks7017_device::write_ex)
set_nt_mirroring(BIT(data, 3) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
}
-READ8_MEMBER(nes_ks7017_device::read_ex)
+uint8_t nes_ks7017_device::read_ex(offs_t offset)
{
LOG_MMC(("ks7017 read_ex, offset: %04x\n", offset));
offset += 0x20;
@@ -542,7 +542,7 @@ READ8_MEMBER(nes_ks7017_device::read_ex)
return temp;
}
- return m_open_bus; // open bus
+ return get_open_bus(); // open bus
}
/*-------------------------------------------------
@@ -557,7 +557,7 @@ READ8_MEMBER(nes_ks7017_device::read_ex)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_ks7012_device::write_h)
+void nes_ks7012_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("ks7012 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -580,13 +580,13 @@ WRITE8_MEMBER(nes_ks7012_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_ks7013b_device::write_m)
+void nes_ks7013b_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("ks7013b write_l, offset: %04x, data: %02x\n", offset, data));
prg16_89ab(data);
}
-WRITE8_MEMBER(nes_ks7013b_device::write_h)
+void nes_ks7013b_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("ks7013b write_h, offset: %04x, data: %02x\n", offset, data));
set_nt_mirroring((data & 1) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
@@ -613,20 +613,20 @@ WRITE8_MEMBER(nes_ks7013b_device::write_h)
-------------------------------------------------*/
-READ8_MEMBER(nes_ks7031_device::read_m)
+uint8_t nes_ks7031_device::read_m(offs_t offset)
{
// LOG_MMC(("ks7031 read_m, offset: %04x\n", offset));
return m_prg[(m_reg[(offset >> 11) & 3] * 0x0800) + (offset & 0x7ff)];
}
-READ8_MEMBER(nes_ks7031_device::read_h)
+uint8_t nes_ks7031_device::read_h(offs_t offset)
{
// here the first 32K are accessed, but in 16x2K blocks loaded in reverse order
int accessed_2k = (offset >> 11) & 0x0f;
return m_prg[((0x0f - accessed_2k) * 0x0800) + (offset & 0x7ff)];
}
-WRITE8_MEMBER(nes_ks7031_device::write_h)
+void nes_ks7031_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("ks7031 write_h, offset: %04x, data: %02x\n", offset, data));
m_reg[(offset >> 11) & 3] = data & 0x3f;
@@ -646,13 +646,13 @@ WRITE8_MEMBER(nes_ks7031_device::write_h)
-------------------------------------------------*/
-READ8_MEMBER(nes_ks7016_device::read_m)
+uint8_t nes_ks7016_device::read_m(offs_t offset)
{
// LOG_MMC(("ks7016 read_m, offset: %04x\n", offset));
return m_prg[((m_reg * 0x2000) + (offset & 0x1fff)) & (m_prg_size - 1)];
}
-WRITE8_MEMBER(nes_ks7016_device::write_h)
+void nes_ks7016_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("ks7016 write_h, offset: %04x, data: %02x\n", offset, data));
uint8_t mask = offset & 0x30;
@@ -692,7 +692,7 @@ void nes_ks7037_device::update_prg()
set_nt_page(3, CIRAM, m_reg[5] & 1, 1);
}
-READ8_MEMBER(nes_ks7037_device::read_m)
+uint8_t nes_ks7037_device::read_m(offs_t offset)
{
// LOG_MMC(("ks7037 read_m, offset: %04x\n", offset));
if (offset < 0x1000)
@@ -701,14 +701,14 @@ READ8_MEMBER(nes_ks7037_device::read_m)
return m_prg[(0x1e * 0x1000) + (offset & 0x0fff)];
}
-WRITE8_MEMBER(nes_ks7037_device::write_m)
+void nes_ks7037_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("ks7037 write_m, offset: %04x, data: %02x\n", offset, data));
if (offset < 0x1000)
m_prgram[offset & 0x0fff] = data;
}
-READ8_MEMBER(nes_ks7037_device::read_h)
+uint8_t nes_ks7037_device::read_h(offs_t offset)
{
// LOG_MMC(("ks7037 read_h, offset: %04x\n", offset));
@@ -718,7 +718,7 @@ READ8_MEMBER(nes_ks7037_device::read_h)
return hi_access_rom(offset);
}
-WRITE8_MEMBER(nes_ks7037_device::write_h)
+void nes_ks7037_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("ks7037 write_h, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/kaiser.h b/src/devices/bus/nes/kaiser.h
index 8c544059aa9..e0e31658cdb 100644
--- a/src/devices/bus/nes/kaiser.h
+++ b/src/devices/bus/nes/kaiser.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_ks7058_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -34,8 +34,8 @@ public:
// construction/destruction
nes_ks7022_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -56,9 +56,9 @@ public:
// construction/destruction
nes_ks7032_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(ks7032_write);
- virtual DECLARE_WRITE8_MEMBER(write_h) override { ks7032_write(space, offset, data, mem_mask); }
+ virtual uint8_t read_m(offs_t offset) override;
+ void ks7032_write(offs_t offset, uint8_t data);
+ virtual void write_h(offs_t offset, uint8_t data) override { ks7032_write(offset, data); }
virtual void pcb_reset() override;
@@ -91,8 +91,8 @@ public:
nes_ks202_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
};
@@ -104,9 +104,9 @@ public:
// construction/destruction
nes_ks7017_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_ex) override;
- virtual DECLARE_WRITE8_MEMBER(write_ex) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual uint8_t read_ex(offs_t offset) override;
+ virtual void write_ex(offs_t offset, uint8_t data) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -135,7 +135,7 @@ public:
// construction/destruction
nes_ks7012_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -152,8 +152,8 @@ public:
// construction/destruction
nes_ks7013b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -171,9 +171,9 @@ public:
// construction/destruction
nes_ks7031_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -194,8 +194,8 @@ public:
// construction/destruction
nes_ks7016_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -215,10 +215,10 @@ public:
// construction/destruction
nes_ks7037_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/karastudio.cpp b/src/devices/bus/nes/karastudio.cpp
index 1b828001078..fc98a658213 100644
--- a/src/devices/bus/nes/karastudio.cpp
+++ b/src/devices/bus/nes/karastudio.cpp
@@ -60,7 +60,7 @@ kstudio_cart_interface::~kstudio_cart_interface()
{
}
-READ8_MEMBER(kstudio_cart_interface::read)
+uint8_t kstudio_cart_interface::read(offs_t offset)
{
return m_rom[(m_bank * 0x4000) + (offset & 0x3fff)];
}
@@ -89,10 +89,10 @@ void nes_kstudio_slot_device::device_start()
m_cart = dynamic_cast<kstudio_cart_interface *>(get_card_device());
}
-READ8_MEMBER(nes_kstudio_slot_device::read)
+uint8_t nes_kstudio_slot_device::read(offs_t offset)
{
if (m_cart)
- return m_cart->read(space, offset, mem_mask);
+ return m_cart->read(offset);
return 0xff;
}
@@ -225,29 +225,29 @@ void nes_karaokestudio_device::pcb_reset()
-------------------------------------------------*/
-READ8_MEMBER(nes_karaokestudio_device::read_m)
+uint8_t nes_karaokestudio_device::read_m(offs_t offset)
{
LOG_MMC(("karaoke studio read_m, offset: %04x\n", offset));
return m_mic_ipt->read();
}
-READ8_MEMBER(nes_karaokestudio_device::read_h)
+uint8_t nes_karaokestudio_device::read_h(offs_t offset)
{
LOG_MMC(("karaoke studio read_h, offset: %04x\n", offset));
// this shall be the proper code, but it's a bit slower, so we access directly the subcart below
- //return m_subslot->read(space, offset, mem_mask);
+ //return m_subslot->read(offset);
// access expansion cart only if all of the followings are verified
// * we are in $8000-$bfff range
// * there has been a bankswitch write to map the expansion to such range
// * there actually is an expansion cart mounted
if (offset < 0x4000 && m_exp_active && m_subslot->m_cart)
- return m_subslot->m_cart->read(space, offset, mem_mask);
+ return m_subslot->m_cart->read(offset);
else
return hi_access_rom(offset);
}
-WRITE8_MEMBER(nes_karaokestudio_device::write_h)
+void nes_karaokestudio_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("karaoke studio write_h, offset: %04x, data: %02x\n", offset, data));
// bit3 1 = M ROM (main unit), 0=E ROM (expansion)
@@ -296,6 +296,7 @@ static void karaoke_studio_cart(device_slot_interface &device)
}
-MACHINE_CONFIG_START(nes_karaokestudio_device::device_add_mconfig)
- MCFG_KSTUDIO_MINICART_ADD("exp_slot", karaoke_studio_cart)
-MACHINE_CONFIG_END
+void nes_karaokestudio_device::device_add_mconfig(machine_config &config)
+{
+ NES_KSEXPANSION_SLOT(config, m_subslot, karaoke_studio_cart);
+}
diff --git a/src/devices/bus/nes/karastudio.h b/src/devices/bus/nes/karastudio.h
index bd712722fe9..fcb481f046e 100644
--- a/src/devices/bus/nes/karastudio.h
+++ b/src/devices/bus/nes/karastudio.h
@@ -24,7 +24,7 @@ public:
virtual ~kstudio_cart_interface();
// reading and writing
- virtual DECLARE_READ8_MEMBER(read);
+ virtual uint8_t read(offs_t offset);
uint8_t *get_cart_base() { return m_rom; }
void write_prg_bank(uint8_t bank) { m_bank = bank; }
@@ -49,6 +49,16 @@ class nes_kstudio_slot_device : public device_t,
friend class nes_karaokestudio_device;
public:
// construction/destruction
+ template <typename T>
+ nes_kstudio_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts)
+ : nes_kstudio_slot_device(mconfig, tag, owner, (uint32_t)0)
+ {
+ option_reset();
+ opts(*this);
+ set_default_option(nullptr);
+ set_fixed(false);
+ }
+
nes_kstudio_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~nes_kstudio_slot_device();
@@ -68,7 +78,7 @@ public:
// slot interface overrides
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
- virtual DECLARE_READ8_MEMBER(read);
+ uint8_t read(offs_t offset);
void write_prg_bank(uint8_t bank) { if (m_cart) m_cart->write_prg_bank(bank); }
protected:
@@ -82,11 +92,6 @@ protected:
DECLARE_DEVICE_TYPE(NES_KSEXPANSION_SLOT, nes_kstudio_slot_device)
-#define MCFG_KSTUDIO_MINICART_ADD(_tag, _slot_intf) \
- MCFG_DEVICE_ADD(_tag, NES_KSEXPANSION_SLOT, 0) \
-MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, nullptr, false)
-
-
//-----------------------------------------------
//
// Karaoke Studio Expansion cart implementation
@@ -130,9 +135,9 @@ public:
// construction/destruction
nes_karaokestudio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/konami.cpp b/src/devices/bus/nes/konami.cpp
index 320ceb1eb9b..2d3f20863cb 100644
--- a/src/devices/bus/nes/konami.cpp
+++ b/src/devices/bus/nes/konami.cpp
@@ -81,7 +81,7 @@ nes_konami_vrc6_device::nes_konami_vrc6_device(const machine_config &mconfig, co
}
nes_konami_vrc7_device::nes_konami_vrc7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : nes_konami_vrc4_device(mconfig, NES_VRC7, tag, owner, clock), m_ym2413(*this, "ym")
+ : nes_konami_vrc4_device(mconfig, NES_VRC7, tag, owner, clock), m_vrc7snd(*this, "vrc7snd")
{
}
@@ -239,7 +239,7 @@ void nes_konami_vrc7_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_konami_vrc1_device::write_h)
+void nes_konami_vrc1_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("VRC-1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -280,7 +280,7 @@ WRITE8_MEMBER(nes_konami_vrc1_device::write_h)
-------------------------------------------------*/
-READ8_MEMBER(nes_konami_vrc2_device::read_m)
+uint8_t nes_konami_vrc2_device::read_m(offs_t offset)
{
LOG_MMC(("VRC-2 read_m, offset: %04x\n", offset));
@@ -289,10 +289,10 @@ READ8_MEMBER(nes_konami_vrc2_device::read_m)
else if (!m_prgram.empty())
return m_prgram[offset & (m_prgram.size() - 1)];
else // sort of protection? it returns open bus in $7000-$7fff and (open bus & 0xfe) | m_latch in $6000-$6fff
- return (offset < 0x1000) ? ((m_open_bus & 0xfe) | (m_latch & 1)) : m_open_bus;
+ return (offset < 0x1000) ? ((get_open_bus() & 0xfe) | (m_latch & 1)) : get_open_bus();
}
-WRITE8_MEMBER(nes_konami_vrc2_device::write_m)
+void nes_konami_vrc2_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("VRC-2 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -304,7 +304,7 @@ WRITE8_MEMBER(nes_konami_vrc2_device::write_m)
m_latch = data;
}
-WRITE8_MEMBER(nes_konami_vrc2_device::write_h)
+void nes_konami_vrc2_device::write_h(offs_t offset, uint8_t data)
{
uint8_t bank, shift, mask;
uint16_t add_lines = ((offset << (9 - m_vrc_ls_prg_a)) & 0x200) | ((offset << (8 - m_vrc_ls_prg_b)) & 0x100);
@@ -385,7 +385,7 @@ void nes_konami_vrc3_device::device_timer(emu_timer &timer, device_timer_id id,
}
}
-WRITE8_MEMBER(nes_konami_vrc3_device::write_h)
+void nes_konami_vrc3_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("VRC-3 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -482,7 +482,7 @@ void nes_konami_vrc4_device::set_prg()
}
}
-WRITE8_MEMBER(nes_konami_vrc4_device::write_h)
+void nes_konami_vrc4_device::write_h(offs_t offset, uint8_t data)
{
uint8_t bank, shift, mask;
uint16_t add_lines = ((offset << (9 - m_vrc_ls_prg_a)) & 0x200) | ((offset << (8 - m_vrc_ls_prg_b)) & 0x100);
@@ -564,7 +564,7 @@ WRITE8_MEMBER(nes_konami_vrc4_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_konami_vrc6_device::write_h)
+void nes_konami_vrc6_device::write_h(offs_t offset, uint8_t data)
{
uint8_t bank;
uint16_t add_lines = ((offset << (9 - m_vrc_ls_prg_a)) & 0x200) | ((offset << (8 - m_vrc_ls_prg_b)) & 0x100);
@@ -579,10 +579,10 @@ WRITE8_MEMBER(nes_konami_vrc6_device::write_h)
prg8_cd(data);
break;
case 0x1000: // pulse 1 & global control
- m_vrc6snd->write(space, add_lines>>8, data);
+ m_vrc6snd->write(add_lines>>8, data);
break;
case 0x2000: // pulse 2
- m_vrc6snd->write(space, (add_lines>>8) | 0x100, data);
+ m_vrc6snd->write((add_lines>>8) | 0x100, data);
break;
case 0x3000:
if (add_lines == 0x300)
@@ -596,7 +596,7 @@ WRITE8_MEMBER(nes_konami_vrc6_device::write_h)
}
}
else // saw
- m_vrc6snd->write(space, (add_lines>>8) | 0x200, data);
+ m_vrc6snd->write((add_lines>>8) | 0x200, data);
break;
case 0x5000:
case 0x6000:
@@ -637,16 +637,15 @@ WRITE8_MEMBER(nes_konami_vrc6_device::write_h)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(nes_konami_vrc6_device::device_add_mconfig)
-
+void nes_konami_vrc6_device::device_add_mconfig(machine_config &config)
+{
// additional sound hardware
SPEAKER(config, "addon").front_center();
// TODO: this is not how VRC6 clock signaling works!
// The board uses the CLK pin in reality, not hardcoded NTSC values!
- MCFG_DEVICE_ADD("vrc6snd", VRC6, XTAL(21'477'272)/12)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.5)
-MACHINE_CONFIG_END
+ VRC6(config, m_vrc6snd, XTAL(21'477'272)/12).add_route(ALL_OUTPUTS, "addon", 0.5);
+}
/*-------------------------------------------------
@@ -660,7 +659,7 @@ MACHINE_CONFIG_END
-------------------------------------------------*/
-WRITE8_MEMBER(nes_konami_vrc7_device::write_h)
+void nes_konami_vrc7_device::write_h(offs_t offset, uint8_t data)
{
uint8_t bank;
LOG_MMC(("VRC-7 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -682,11 +681,11 @@ WRITE8_MEMBER(nes_konami_vrc7_device::write_h)
case 0x1010:
case 0x1018:
- m_ym2413->register_port_w(space, 0, data);
+ m_vrc7snd->register_port_w(data);
break;
case 0x1030:
case 0x1038:
- m_ym2413->data_port_w(space, 0, data);
+ m_vrc7snd->data_port_w(data);
break;
case 0x2000:
@@ -759,15 +758,12 @@ WRITE8_MEMBER(nes_konami_vrc7_device::write_h)
// and has one output pin for audio, multiplexed for all 6 channels; OPLL has two output pins, one for
// FM and one for Rhythm, and has no special status pin.
-// FIXME: we currently emulate this as a base YM2413!
-
-MACHINE_CONFIG_START(nes_konami_vrc7_device::device_add_mconfig)
-
+void nes_konami_vrc7_device::device_add_mconfig(machine_config &config)
+{
// additional sound hardware
SPEAKER(config, "addon").front_center();
// TODO: this is not how VRC7 clock signaling works!
// The board uses the CLK pin in reality, not hardcoded NTSC values!
- MCFG_DEVICE_ADD("ym", YM2413, XTAL(21'477'272)/12)
- MCFG_SOUND_ROUTE(ALL_OUTPUTS, "addon", 0.5)
-MACHINE_CONFIG_END
+ VRC7(config, m_vrc7snd, XTAL(21'477'272)/6).add_route(0, "addon", 1.0).add_route(1, "addon", 0.0);
+}
diff --git a/src/devices/bus/nes/konami.h b/src/devices/bus/nes/konami.h
index db269170f53..86afa1832e1 100644
--- a/src/devices/bus/nes/konami.h
+++ b/src/devices/bus/nes/konami.h
@@ -18,7 +18,7 @@ public:
// construction/destruction
nes_konami_vrc1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -39,9 +39,9 @@ public:
// construction/destruction
nes_konami_vrc2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -63,7 +63,7 @@ public:
// construction/destruction
nes_konami_vrc3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -91,7 +91,7 @@ public:
// construction/destruction
nes_konami_vrc4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -126,7 +126,7 @@ public:
// construction/destruction
nes_konami_vrc6_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
protected:
// device-level overrides
@@ -146,7 +146,7 @@ public:
// construction/destruction
nes_konami_vrc7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -157,7 +157,7 @@ protected:
virtual void device_add_mconfig(machine_config &config) override;
private:
- required_device<ym2413_device> m_ym2413;
+ required_device<vrc7snd_device> m_vrc7snd;
};
diff --git a/src/devices/bus/nes/legacy.cpp b/src/devices/bus/nes/legacy.cpp
index d2b1c697296..a3ab9377082 100644
--- a/src/devices/bus/nes/legacy.cpp
+++ b/src/devices/bus/nes/legacy.cpp
@@ -136,7 +136,7 @@ void nes_ffe8_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_ffe3_device::write_h)
+void nes_ffe3_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("mapper8 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -174,7 +174,7 @@ void nes_ffe4_device::device_timer(emu_timer &timer, device_timer_id id, int par
}
}
-WRITE8_MEMBER(nes_ffe4_device::write_l)
+void nes_ffe4_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("mapper6 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -202,7 +202,7 @@ WRITE8_MEMBER(nes_ffe4_device::write_l)
}
}
-WRITE8_MEMBER(nes_ffe4_device::chr_w)
+void nes_ffe4_device::chr_w(offs_t offset, uint8_t data)
{
int bank = offset >> 10;
if (m_exram_enabled)
@@ -212,7 +212,7 @@ WRITE8_MEMBER(nes_ffe4_device::chr_w)
m_chr_access[bank][offset & 0x3ff] = data;
}
-READ8_MEMBER(nes_ffe4_device::chr_r)
+uint8_t nes_ffe4_device::chr_r(offs_t offset)
{
int bank = offset >> 10;
if (m_exram_enabled)
@@ -222,7 +222,7 @@ READ8_MEMBER(nes_ffe4_device::chr_r)
}
-WRITE8_MEMBER(nes_ffe4_device::write_h)
+void nes_ffe4_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("mapper6 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -257,7 +257,7 @@ WRITE8_MEMBER(nes_ffe4_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_ffe8_device::write_l)
+void nes_ffe8_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("mapper17 write_l, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/legacy.h b/src/devices/bus/nes/legacy.h
index 91b44e108c0..92722c0591c 100644
--- a/src/devices/bus/nes/legacy.h
+++ b/src/devices/bus/nes/legacy.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_ffe3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -34,10 +34,10 @@ public:
// construction/destruction
nes_ffe4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
- virtual DECLARE_READ8_MEMBER(chr_r) override;
- virtual DECLARE_WRITE8_MEMBER(chr_w) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual uint8_t chr_r(offs_t offset) override;
+ virtual void chr_w(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -71,8 +71,8 @@ public:
nes_ffe8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override {}
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override {}
virtual void pcb_reset() override;
};
diff --git a/src/devices/bus/nes/mmc1.cpp b/src/devices/bus/nes/mmc1.cpp
index d324c153782..9a27c601b4c 100644
--- a/src/devices/bus/nes/mmc1.cpp
+++ b/src/devices/bus/nes/mmc1.cpp
@@ -219,7 +219,7 @@ void nes_sxrom_device::update_regs(int reg)
}
}
-WRITE8_MEMBER( nes_sxrom_device::write_h )
+void nes_sxrom_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("sxrom write_h, offset: %04x, data: %02x\n", offset, data));
@@ -265,7 +265,7 @@ WRITE8_MEMBER( nes_sxrom_device::write_h )
}
}
-WRITE8_MEMBER(nes_sxrom_device::write_m)
+void nes_sxrom_device::write_m(offs_t offset, uint8_t data)
{
uint8_t bank = (m_reg[1] >> 2) & 3;
LOG_MMC(("sxrom write_m, offset: %04x, data: %02x\n", offset, data));
@@ -279,7 +279,7 @@ WRITE8_MEMBER(nes_sxrom_device::write_m)
}
}
-READ8_MEMBER(nes_sxrom_device::read_m)
+uint8_t nes_sxrom_device::read_m(offs_t offset)
{
uint8_t bank = (m_reg[1] >> 2) & 3;
LOG_MMC(("sxrom read_m, offset: %04x\n", offset));
@@ -292,11 +292,11 @@ READ8_MEMBER(nes_sxrom_device::read_m)
return m_prgram[((bank * 0x2000) + offset) & (m_prgram.size() - 1)];
}
- return m_open_bus; // open bus
+ return get_open_bus(); // open bus
}
// SOROM has two RAM banks, the first is not battery backed up, the second is.
-WRITE8_MEMBER(nes_sorom_device::write_m)
+void nes_sorom_device::write_m(offs_t offset, uint8_t data)
{
uint8_t type = BIT(m_reg[0], 4) ? BIT(m_reg[1], 4) : BIT(m_reg[1], 3);
LOG_MMC(("sorom write_m, offset: %04x, data: %02x\n", offset, data));
@@ -310,7 +310,7 @@ WRITE8_MEMBER(nes_sorom_device::write_m)
}
}
-READ8_MEMBER(nes_sorom_device::read_m)
+uint8_t nes_sorom_device::read_m(offs_t offset)
{
uint8_t type = BIT(m_reg[0], 4) ? BIT(m_reg[1], 4) : BIT(m_reg[1], 3);
LOG_MMC(("sorom read_m, offset: %04x\n", offset));
@@ -323,11 +323,11 @@ READ8_MEMBER(nes_sorom_device::read_m)
return m_prgram[offset & (m_prgram.size() - 1)];
}
- return m_open_bus; // open bus
+ return get_open_bus(); // open bus
}
// MMC1A boards have no wram enable/disable bit
-WRITE8_MEMBER(nes_sxrom_a_device::write_m)
+void nes_sxrom_a_device::write_m(offs_t offset, uint8_t data)
{
uint8_t bank = (m_reg[1] >> 2) & 3;
LOG_MMC(("sxrom_a write_m, offset: %04x, data: %02x\n", offset, data));
@@ -338,7 +338,7 @@ WRITE8_MEMBER(nes_sxrom_a_device::write_m)
m_prgram[((bank * 0x2000) + offset) & (m_prgram.size() - 1)] = data;
}
-READ8_MEMBER(nes_sxrom_a_device::read_m)
+uint8_t nes_sxrom_a_device::read_m(offs_t offset)
{
uint8_t bank = (m_reg[1] >> 2) & 3;
LOG_MMC(("sxrom_a read_m, offset: %04x\n", offset));
@@ -348,10 +348,10 @@ READ8_MEMBER(nes_sxrom_a_device::read_m)
if (!m_prgram.empty())
return m_prgram[((bank * 0x2000) + offset) & (m_prgram.size() - 1)];
- return m_open_bus; // open bus
+ return get_open_bus(); // open bus
}
-WRITE8_MEMBER(nes_sorom_a_device::write_m)
+void nes_sorom_a_device::write_m(offs_t offset, uint8_t data)
{
uint8_t type = BIT(m_reg[0], 4) ? BIT(m_reg[1], 4) : BIT(m_reg[1], 3);
LOG_MMC(("sorom_a write_m, offset: %04x, data: %02x\n", offset, data));
@@ -362,7 +362,7 @@ WRITE8_MEMBER(nes_sorom_a_device::write_m)
m_prgram[offset & (m_prgram.size() - 1)] = data;
}
-READ8_MEMBER(nes_sorom_a_device::read_m)
+uint8_t nes_sorom_a_device::read_m(offs_t offset)
{
uint8_t type = BIT(m_reg[0], 4) ? BIT(m_reg[1], 4) : BIT(m_reg[1], 3);
LOG_MMC(("sorom_a read_m, offset: %04x\n", offset));
diff --git a/src/devices/bus/nes/mmc1.h b/src/devices/bus/nes/mmc1.h
index dd9ecccac75..c8ccb835d76 100644
--- a/src/devices/bus/nes/mmc1.h
+++ b/src/devices/bus/nes/mmc1.h
@@ -16,9 +16,9 @@ public:
// construction/destruction
nes_sxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -46,8 +46,8 @@ public:
// construction/destruction
nes_sorom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
};
@@ -58,8 +58,8 @@ public:
// construction/destruction
nes_sxrom_a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
};
class nes_sorom_a_device : public nes_sxrom_device
@@ -68,8 +68,8 @@ public:
// construction/destruction
nes_sorom_a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
};
diff --git a/src/devices/bus/nes/mmc2.cpp b/src/devices/bus/nes/mmc2.cpp
index 1055ce98921..8be7b04d2d7 100644
--- a/src/devices/bus/nes/mmc2.cpp
+++ b/src/devices/bus/nes/mmc2.cpp
@@ -130,7 +130,7 @@ void nes_pxrom_device::ppu_latch(offs_t offset)
}
}
-WRITE8_MEMBER( nes_pxrom_device::pxrom_write )
+void nes_pxrom_device::pxrom_write(offs_t offset, uint8_t data)
{
LOG_MMC(("pxrom write_h, offset: %04x, data: %02x\n", offset, data));
switch (offset & 0x7000)
@@ -182,7 +182,7 @@ WRITE8_MEMBER( nes_pxrom_device::pxrom_write )
-------------------------------------------------*/
-WRITE8_MEMBER( nes_fxrom_device::write_h )
+void nes_fxrom_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("fxrom write_h, offset: %04x, data: %02x\n", offset, data));
switch (offset & 0x7000)
@@ -191,7 +191,7 @@ WRITE8_MEMBER( nes_fxrom_device::write_h )
prg16_89ab(data);
break;
default:
- pxrom_write(space, offset, data, mem_mask);
+ pxrom_write(offset, data);
break;
}
}
diff --git a/src/devices/bus/nes/mmc2.h b/src/devices/bus/nes/mmc2.h
index cfd81aa87d3..9f4d100d2f6 100644
--- a/src/devices/bus/nes/mmc2.h
+++ b/src/devices/bus/nes/mmc2.h
@@ -16,8 +16,8 @@ public:
// construction/destruction
nes_pxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(pxrom_write);
- virtual DECLARE_WRITE8_MEMBER(write_h) override { pxrom_write(space, offset, data, mem_mask); }
+ virtual void pxrom_write(offs_t offset, uint8_t data);
+ virtual void write_h(offs_t offset, uint8_t data) override { pxrom_write(offset, data); }
virtual void ppu_latch(offs_t offset) override;
virtual void pcb_reset() override;
@@ -42,7 +42,7 @@ public:
nes_fxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
};
diff --git a/src/devices/bus/nes/mmc3.cpp b/src/devices/bus/nes/mmc3.cpp
index f8497dbd42d..d6f7f37dc4a 100644
--- a/src/devices/bus/nes/mmc3.cpp
+++ b/src/devices/bus/nes/mmc3.cpp
@@ -244,7 +244,7 @@ void nes_txrom_device::set_chr( uint8_t chr, int chr_base, int chr_mask )
chr_cb(chr_page ^ 7, chr_base | (m_mmc_vrom_bank[5] & chr_mask), chr);
}
-WRITE8_MEMBER(nes_txrom_device::txrom_write)
+void nes_txrom_device::txrom_write(offs_t offset, uint8_t data)
{
uint8_t mmc_helper, cmd;
@@ -313,7 +313,7 @@ WRITE8_MEMBER(nes_txrom_device::txrom_write)
}
}
-WRITE8_MEMBER(nes_txrom_device::write_m)
+void nes_txrom_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("txrom write_m, offset: %04x, data: %02x\n", offset, data));
@@ -326,7 +326,7 @@ WRITE8_MEMBER(nes_txrom_device::write_m)
}
}
-READ8_MEMBER(nes_txrom_device::read_m)
+uint8_t nes_txrom_device::read_m(offs_t offset)
{
LOG_MMC(("txrom read_m, offset: %04x\n", offset));
@@ -338,7 +338,7 @@ READ8_MEMBER(nes_txrom_device::read_m)
return m_prgram[offset & (m_prgram.size() - 1)];
}
- return m_open_bus; // open bus
+ return get_open_bus(); // open bus
}
@@ -350,7 +350,7 @@ READ8_MEMBER(nes_txrom_device::read_m)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_hkrom_device::write_m)
+void nes_hkrom_device::write_m(offs_t offset, uint8_t data)
{
uint8_t write_hi, write_lo;
LOG_MMC(("hkrom write_m, offset: %04x, data: %02x\n", offset, data));
@@ -369,15 +369,15 @@ WRITE8_MEMBER(nes_hkrom_device::write_m)
m_mmc6_ram[offset & 0x3ff] = data;
}
-READ8_MEMBER(nes_hkrom_device::read_m)
+uint8_t nes_hkrom_device::read_m(offs_t offset)
{
LOG_MMC(("hkrom read_m, offset: %04x\n", offset));
if (offset < 0x1000)
- return m_open_bus; // open bus
+ return get_open_bus(); // open bus
if (!(m_mmc6_reg & 0xa0))
- return m_open_bus; // open bus
+ return get_open_bus(); // open bus
if (BIT(offset, 9) && BIT(m_mmc6_reg, 7)) // access to upper half of 1k when upper read is enabled
return m_mmc6_ram[offset & 0x3ff];
@@ -389,7 +389,7 @@ READ8_MEMBER(nes_hkrom_device::read_m)
return 0x00;
}
-WRITE8_MEMBER(nes_hkrom_device::write_h)
+void nes_hkrom_device::write_h(offs_t offset, uint8_t data)
{
uint8_t mmc6_helper;
LOG_MMC(("hkrom write_h, offset: %04x, data: %02x\n", offset, data));
@@ -423,7 +423,7 @@ WRITE8_MEMBER(nes_hkrom_device::write_h)
break;
default:
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
break;
}
}
@@ -465,7 +465,7 @@ void nes_txsrom_device::chr_cb( int start, int bank, int source )
chr1_x(start, bank, source);
}
-WRITE8_MEMBER(nes_txsrom_device::write_h)
+void nes_txsrom_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("txsrom write_h, offset: %04x, data: %02x\n", offset, data));
@@ -475,7 +475,7 @@ WRITE8_MEMBER(nes_txsrom_device::write_h)
break;
default:
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
break;
}
}
@@ -524,7 +524,7 @@ void nes_tqrom_device::set_chr( uint8_t chr, int chr_base, int chr_mask )
-------------------------------------------------*/
-WRITE8_MEMBER(nes_qj_device::write_m)
+void nes_qj_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("qj write_m, offset: %04x, data: %02x\n", offset, data));
@@ -546,7 +546,7 @@ WRITE8_MEMBER(nes_qj_device::write_m)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_zz_device::write_m)
+void nes_zz_device::write_m(offs_t offset, uint8_t data)
{
uint8_t mmc_helper = data & 0x07;
LOG_MMC(("zz write_m, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/mmc3.h b/src/devices/bus/nes/mmc3.h
index d16a0000268..5ef9e8dbdaa 100644
--- a/src/devices/bus/nes/mmc3.h
+++ b/src/devices/bus/nes/mmc3.h
@@ -16,10 +16,10 @@ public:
// construction/destruction
nes_txrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(txrom_write);
- virtual DECLARE_WRITE8_MEMBER(write_h) override { txrom_write(space, offset, data, mem_mask); }
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void txrom_write(offs_t offset, uint8_t data);
+ virtual void write_h(offs_t offset, uint8_t data) override { txrom_write(offset, data); }
virtual void prg_cb(int start, int bank);
virtual void chr_cb(int start, int bank, int source);
@@ -62,9 +62,9 @@ public:
// construction/destruction
nes_hkrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -89,7 +89,7 @@ public:
nes_txsrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void chr_cb(int start, int bank, int source) override;
protected:
@@ -119,7 +119,7 @@ public:
nes_qj_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
};
@@ -133,7 +133,7 @@ public:
nes_zz_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
};
diff --git a/src/devices/bus/nes/mmc3_clones.cpp b/src/devices/bus/nes/mmc3_clones.cpp
index 5c578c0fcbd..9be591c7d9f 100644
--- a/src/devices/bus/nes/mmc3_clones.cpp
+++ b/src/devices/bus/nes/mmc3_clones.cpp
@@ -637,11 +637,11 @@ void nes_pjoy84_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_nitra_device::write_h)
+void nes_nitra_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("nitra write_h, offset: %04x, data: %02x\n", offset, data));
- txrom_write(space, (offset & 0x6000) | ((offset & 0x400) >> 10), offset & 0xff, mem_mask);
+ txrom_write((offset & 0x6000) | ((offset & 0x400) >> 10), offset & 0xff);
}
/*-------------------------------------------------
@@ -656,12 +656,12 @@ WRITE8_MEMBER(nes_nitra_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_ks7057_device::write_h)
+void nes_ks7057_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("ks7057 write_h, offset: %04x, data: %02x\n", offset, data));
offset = (BIT(offset, 0) << 1) | BIT(offset, 1) | (offset & ~0x03);
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
}
/*-------------------------------------------------
@@ -679,11 +679,11 @@ WRITE8_MEMBER(nes_ks7057_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_sbros11_device::write_h)
+void nes_sbros11_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("smb11 write_h, offset: %04x, data: %02x\n", offset, data));
- txrom_write(space, (offset & 0x6000) | ((offset & 0x04) >> 2), data, mem_mask);
+ txrom_write((offset & 0x6000) | ((offset & 0x04) >> 2), data);
}
/*-------------------------------------------------
@@ -711,14 +711,14 @@ void nes_malisb_device::chr_cb(int start, int bank, int source)
chr1_x(start, bank, source);
}
-WRITE8_MEMBER(nes_malisb_device::write_h)
+void nes_malisb_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("malisb write_h, offset: %04x, data: %02x\n", offset, data));
if (offset > 0x4000)
- txrom_write(space, (offset & 0xfffe) | ((offset & 0x04) >> 2) | ((offset & 0x08) >> 3), data, mem_mask);
+ txrom_write((offset & 0xfffe) | ((offset & 0x04) >> 2) | ((offset & 0x08) >> 3), data);
else
- txrom_write(space, (offset & 0xfffe) | ((offset & 0x08) >> 3), data, mem_mask);
+ txrom_write((offset & 0xfffe) | ((offset & 0x08) >> 3), data);
}
/*-------------------------------------------------
@@ -736,7 +736,7 @@ WRITE8_MEMBER(nes_malisb_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_family4646_device::write_m)
+void nes_family4646_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("family4646 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -763,7 +763,7 @@ WRITE8_MEMBER(nes_family4646_device::write_m)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_pikay2k_device::write_h)
+void nes_pikay2k_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("pikay2k write_h, offset: %04x, data: %02x\n", offset, data));
@@ -776,20 +776,20 @@ WRITE8_MEMBER(nes_pikay2k_device::write_h)
case 0x2000:
m_reg[0] = 0;
default:
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
break;
}
}
// strange WRAM usage: it is protected at start, and gets unprotected after the first write to 0xa000
-WRITE8_MEMBER(nes_pikay2k_device::write_m)
+void nes_pikay2k_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("pikay2k write_m, offset: %04x, data: %02x\n", offset, data));
m_prgram[offset & 0x1fff] = data;
}
-READ8_MEMBER(nes_pikay2k_device::read_m)
+uint8_t nes_pikay2k_device::read_m(offs_t offset)
{
LOG_MMC(("pikay2k read_m, offset: %04x\n", offset));
@@ -820,7 +820,7 @@ void nes_8237_device::chr_cb(int start, int bank, int source)
chr1_x(start, bank, source);
}
-WRITE8_MEMBER(nes_8237_device::write_l)
+void nes_8237_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("unl_8237 write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -854,7 +854,7 @@ WRITE8_MEMBER(nes_8237_device::write_l)
}
}
-WRITE8_MEMBER(nes_8237_device::write_h)
+void nes_8237_device::write_h(offs_t offset, uint8_t data)
{
static const uint8_t conv_table[8] = {0, 2, 6, 1, 7, 3, 4, 5};
LOG_MMC(("unl_8237 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -870,7 +870,7 @@ WRITE8_MEMBER(nes_8237_device::write_h)
case 0x3000:
m_cd_enable = 1;
data = (data & 0xc0) | conv_table[data & 0x07];
- txrom_write(space, 0x0000, data, mem_mask);
+ txrom_write(0x0000, data);
break;
case 0x4000:
@@ -878,7 +878,7 @@ WRITE8_MEMBER(nes_8237_device::write_h)
if (m_cd_enable)
{
m_cd_enable = 0;
- txrom_write(space, 0x0001, data, mem_mask);
+ txrom_write(0x0001, data);
}
break;
@@ -886,9 +886,9 @@ WRITE8_MEMBER(nes_8237_device::write_h)
break;
case 0x7000:
- txrom_write(space, 0x6001, data, mem_mask);
- txrom_write(space, 0x4000, data, mem_mask);
- txrom_write(space, 0x4001, data, mem_mask);
+ txrom_write(0x6001, data);
+ txrom_write(0x4000, data);
+ txrom_write(0x4001, data);
break;
}
}
@@ -907,7 +907,7 @@ WRITE8_MEMBER(nes_8237_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_sglionk_device::write_m)
+void nes_sglionk_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("sglionk write_m, offset: %04x, data: %02x\n", offset, data));
@@ -923,7 +923,7 @@ WRITE8_MEMBER(nes_sglionk_device::write_m)
}
-WRITE8_MEMBER(nes_sglionk_device::write_h)
+void nes_sglionk_device::write_h(offs_t offset, uint8_t data)
{
static const uint8_t conv_table[8] = {0, 3, 1, 5, 6, 7, 2, 4};
LOG_MMC(("sglionk write_h, offset: %04x, data: %02x\n", offset, data));
@@ -938,13 +938,13 @@ WRITE8_MEMBER(nes_sglionk_device::write_h)
case 0x2000:
m_reg_enabled = 1;
data = (data & 0xc0) | conv_table[data & 0x07];
- txrom_write(space, 0x0000, data, mem_mask);
+ txrom_write(0x0000, data);
break;
case 0x4000:
if (m_reg_enabled && (m_reg & 0x80) == 0)
{
m_reg_enabled = 0;
- txrom_write(space, 0x0001, data, mem_mask);
+ txrom_write(0x0001, data);
}
break;
}
@@ -954,12 +954,12 @@ WRITE8_MEMBER(nes_sglionk_device::write_h)
switch (offset & 0x03)
{
case 0x02:
- txrom_write(space, 0x6000, data, mem_mask);
+ txrom_write(0x6000, data);
break;
case 0x03:
- txrom_write(space, 0x6001, data, mem_mask);
- txrom_write(space, 0x4000, data, mem_mask);
- txrom_write(space, 0x4001, data, mem_mask);
+ txrom_write(0x6001, data);
+ txrom_write(0x4000, data);
+ txrom_write(0x4001, data);
break;
}
}
@@ -1022,7 +1022,7 @@ void nes_sgboog_device::set_prg(int prg_base, int prg_mask)
}
}
-WRITE8_MEMBER(nes_sgboog_device::write_l)
+void nes_sgboog_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("sgboog write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -1046,7 +1046,7 @@ WRITE8_MEMBER(nes_sgboog_device::write_l)
}
}
-WRITE8_MEMBER(nes_sgboog_device::write_m)
+void nes_sgboog_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("sgboog write_m, offset: %04x, data: %02x\n", offset, data));
@@ -1069,7 +1069,7 @@ WRITE8_MEMBER(nes_sgboog_device::write_m)
}
}
-WRITE8_MEMBER(nes_sgboog_device::write_h)
+void nes_sgboog_device::write_h(offs_t offset, uint8_t data)
{
static const uint8_t conv_table[8] = {0,2,5,3,6,1,7,4};
LOG_MMC(("sgboog write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1085,14 +1085,14 @@ WRITE8_MEMBER(nes_sgboog_device::write_h)
if (m_reg[2] && ((m_reg[0] & 0x80) == 0 || (m_latch & 0x07) < 6)) // if we use the prg16 banks and cmd=6,7 DON'T enter!
{
m_reg[2] = 0;
- txrom_write(space, 0x0001, data, mem_mask);
+ txrom_write(0x0001, data);
}
break;
case 0x2000:
data = (data & 0xc0) | conv_table[data & 0x07];
m_reg[2] = 1;
- txrom_write(space, 0x0000, data, mem_mask);
+ txrom_write(0x0000, data);
break;
case 0x4000:
@@ -1100,21 +1100,21 @@ WRITE8_MEMBER(nes_sgboog_device::write_h)
break;
case 0x4001:
- txrom_write(space, 0x6001, data, mem_mask);
+ txrom_write(0x6001, data);
break;
case 0x6001:
- txrom_write(space, 0x4000, data, mem_mask);
- txrom_write(space, 0x4001, data, mem_mask);
+ txrom_write(0x4000, data);
+ txrom_write(0x4001, data);
break;
default:
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
break;
}
}
else
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
}
/*-------------------------------------------------
@@ -1140,7 +1140,7 @@ void nes_kasing_device::prg_cb(int start, int bank)
prg8_x(start, bank);
}
-WRITE8_MEMBER(nes_kasing_device::write_m)
+void nes_kasing_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("kasing write_m, offset: %04x, data: %02x\n", offset, data));
@@ -1172,7 +1172,7 @@ WRITE8_MEMBER(nes_kasing_device::write_m)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_kay_device::write_l)
+void nes_kay_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("kay write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -1195,7 +1195,7 @@ WRITE8_MEMBER(nes_kay_device::write_l)
}
}
-READ8_MEMBER(nes_kay_device::read_l)
+uint8_t nes_kay_device::read_l(offs_t offset)
{
LOG_MMC(("kay read_l, offset: %04x\n", offset));
offset += 0x100;
@@ -1269,14 +1269,14 @@ void nes_kay_device::chr_cb(int start, int bank, int source)
chr1_x(start, bank, source);
}
-WRITE8_MEMBER(nes_kay_device::write_h)
+void nes_kay_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("kay write_h, offset: %04x, data: %02x\n", offset, data));
switch (offset & 0x6003)
{
case 0x0000:
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
set_prg(m_prg_base, m_prg_mask);
break;
@@ -1285,19 +1285,19 @@ WRITE8_MEMBER(nes_kay_device::write_h)
| (BIT(data, 3) << 2) | (BIT(data, 4) << 1) | BIT(data, 5);
if (!m_reg[7])
update_regs();
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
set_prg(m_prg_base, m_prg_mask);
break;
case 0x0003:
m_reg[5] = data;
update_regs();
- txrom_write(space, 0x0000, data, mem_mask);
+ txrom_write(0x0000, data);
set_prg(m_prg_base, m_prg_mask);
break;
default:
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
break;
}
}
@@ -1314,7 +1314,7 @@ void nes_h2288_device::prg_cb(int start, int bank)
prg8_x(start, bank);
}
-WRITE8_MEMBER(nes_h2288_device::write_l)
+void nes_h2288_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("h2288 write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -1334,7 +1334,7 @@ WRITE8_MEMBER(nes_h2288_device::write_l)
}
}
-READ8_MEMBER(nes_h2288_device::read_l)
+uint8_t nes_h2288_device::read_l(offs_t offset)
{
LOG_MMC(("h2288 read_l, offset: %04x\n", offset));
offset += 0x100;
@@ -1351,7 +1351,7 @@ READ8_MEMBER(nes_h2288_device::read_l)
return 0;
}
-WRITE8_MEMBER(nes_h2288_device::write_h)
+void nes_h2288_device::write_h(offs_t offset, uint8_t data)
{
static const uint8_t conv_table[8] = {0, 3, 1, 5, 6, 7, 2, 4};
LOG_MMC(("h2288 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1359,11 +1359,11 @@ WRITE8_MEMBER(nes_h2288_device::write_h)
switch (offset & 0x6001)
{
case 0x0000:
- txrom_write(space, 0x0000, (data & 0xc0) | conv_table[data & 0x07], mem_mask);
+ txrom_write(0x0000, (data & 0xc0) | conv_table[data & 0x07]);
break;
default:
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
break;
}
}
@@ -1378,7 +1378,7 @@ WRITE8_MEMBER(nes_h2288_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_6035052_device::write_ex)
+void nes_6035052_device::write_ex(offs_t offset, uint8_t data)
{
LOG_MMC(("6035052 write_ex, offset: %04x, data: %02x\n", offset, data));
m_prot = data & 0x03;
@@ -1386,7 +1386,7 @@ WRITE8_MEMBER(nes_6035052_device::write_ex)
m_prot = 2;
}
-READ8_MEMBER(nes_6035052_device::read_ex)
+uint8_t nes_6035052_device::read_ex(offs_t offset)
{
LOG_MMC(("6035052 read_ex, offset: %04x\n", offset));
return m_prot;
@@ -1406,7 +1406,7 @@ READ8_MEMBER(nes_6035052_device::read_ex)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_txc_tw_device::write_l)
+void nes_txc_tw_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("txc_tw write_l, offset: %04x, data: %02x\n", offset, data));
@@ -1436,22 +1436,22 @@ inline uint8_t kof97_unscramble( uint8_t data )
return ((data >> 1) & 0x01) | ((data >> 4) & 0x02) | ((data << 2) & 0x04) | ((data >> 0) & 0xd8) | ((data << 3) & 0x20);
}
-WRITE8_MEMBER(nes_kof97_device::write_h)
+void nes_kof97_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("kof97 write_h, offset: %04x, data: %02x\n", offset, data));
/* Addresses 0x9000, 0xa000, 0xd000 & 0xf000 behaves differently than MMC3 */
if (offset == 0x1000)
- txrom_write(space, 0x0001, kof97_unscramble(data), mem_mask);
+ txrom_write(0x0001, kof97_unscramble(data));
else if (offset == 0x2000)
- txrom_write(space, 0x0000, kof97_unscramble(data), mem_mask);
+ txrom_write(0x0000, kof97_unscramble(data));
else if (offset == 0x5000)
- txrom_write(space, 0x4001, kof97_unscramble(data), mem_mask);
+ txrom_write(0x4001, kof97_unscramble(data));
else if (offset == 0x7000)
- txrom_write(space, 0x6001, kof97_unscramble(data), mem_mask);
+ txrom_write(0x6001, kof97_unscramble(data));
/* Other addresses behaves like MMC3, up to unscrambling data */
else
- txrom_write(space, offset, kof97_unscramble(data), mem_mask);
+ txrom_write(offset, kof97_unscramble(data));
}
/*-------------------------------------------------
@@ -1485,7 +1485,7 @@ void nes_kof96_device::chr_cb(int start, int bank, int source)
chr1_x(start, bank, source);
}
-WRITE8_MEMBER(nes_kof96_device::write_l)
+void nes_kof96_device::write_l(offs_t offset, uint8_t data)
{
uint8_t new_bank;
LOG_MMC(("kof96 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -1532,11 +1532,11 @@ WRITE8_MEMBER(nes_kof96_device::write_l)
if (!m_reg[3] && offset > 0x1000)
{
m_reg[3] = 1;
- space.write_byte(0x4017, 0x40);
+ poke(0x4017, 0x40); // FIXME
}
}
-READ8_MEMBER(nes_kof96_device::read_l)
+uint8_t nes_kof96_device::read_l(offs_t offset)
{
LOG_MMC(("kof96 read_l, offset: %04x\n", offset));
offset += 0x100;
@@ -1547,7 +1547,7 @@ READ8_MEMBER(nes_kof96_device::read_l)
return 0;
}
-WRITE8_MEMBER(nes_kof96_device::write_h)
+void nes_kof96_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("kof96 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1555,12 +1555,12 @@ WRITE8_MEMBER(nes_kof96_device::write_h)
{
case 0x0000:
m_reg[2] = 1;
- txrom_write(space, 0x0000, data, mem_mask);
+ txrom_write(0x0000, data);
break;
case 0x0001:
if (m_reg[2])
- txrom_write(space, 0x0001, data, mem_mask);
+ txrom_write(0x0001, data);
break;
case 0x0002:
@@ -1576,7 +1576,7 @@ WRITE8_MEMBER(nes_kof96_device::write_h)
break;
default:
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
break;
}
}
@@ -1600,7 +1600,7 @@ void nes_sf3_device::set_chr(uint8_t chr_source, int chr_base, int chr_mask)
chr2_6(chr_base | (m_mmc_vrom_bank[2] & chr_mask), chr_source);
}
-WRITE8_MEMBER(nes_sf3_device::write_h)
+void nes_sf3_device::write_h(offs_t offset, uint8_t data)
{
uint8_t cmd;
LOG_MMC(("sf3 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1624,7 +1624,7 @@ WRITE8_MEMBER(nes_sf3_device::write_h)
break;
default:
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
break;
}
}
@@ -1643,7 +1643,7 @@ WRITE8_MEMBER(nes_sf3_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_gouder_device::write_l)
+void nes_gouder_device::write_l(offs_t offset, uint8_t data)
{
static const uint8_t conv_table[256] =
{
@@ -1675,7 +1675,7 @@ WRITE8_MEMBER(nes_gouder_device::write_l)
prg32(((data >> 3) & 0x02) | (data & 0x01));
}
-READ8_MEMBER(nes_gouder_device::read_l)
+uint8_t nes_gouder_device::read_l(offs_t offset)
{
LOG_MMC(("gouder read_l, offset: %04x\n", offset));
@@ -1722,7 +1722,7 @@ void nes_sa9602b_device::prg_cb(int start, int bank)
}
-WRITE8_MEMBER( nes_sa9602b_device::write_h )
+void nes_sa9602b_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("sa9602b write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1738,7 +1738,7 @@ WRITE8_MEMBER( nes_sa9602b_device::write_h )
break;
}
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
}
/*-------------------------------------------------
@@ -1762,7 +1762,7 @@ void nes_sachen_shero_device::chr_cb( int start, int bank, int source )
}
-WRITE8_MEMBER( nes_sachen_shero_device::write_l )
+void nes_sachen_shero_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("shero write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x4100;
@@ -1777,7 +1777,7 @@ WRITE8_MEMBER( nes_sachen_shero_device::write_l )
}
}
-READ8_MEMBER( nes_sachen_shero_device::read_l )
+uint8_t nes_sachen_shero_device::read_l(offs_t offset)
{
LOG_MMC(("shero read_l, offset: %04x\n", offset));
offset += 0x4100;
@@ -1786,7 +1786,7 @@ READ8_MEMBER( nes_sachen_shero_device::read_l )
{
// DSW read!
}
- return m_open_bus; // open bus
+ return get_open_bus(); // open bus
}
@@ -1886,7 +1886,7 @@ void nes_fk23c_device::fk23c_set_chr()
}
}
-WRITE8_MEMBER(nes_fk23c_device::write_l)
+void nes_fk23c_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("fk23c write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -1903,7 +1903,7 @@ WRITE8_MEMBER(nes_fk23c_device::write_l)
}
}
-WRITE8_MEMBER(nes_fk23c_device::write_h)
+void nes_fk23c_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("fk23c write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1929,7 +1929,7 @@ WRITE8_MEMBER(nes_fk23c_device::write_h)
fk23c_set_chr();
}
else
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
break;
case 0x2000:
@@ -1937,7 +1937,7 @@ WRITE8_MEMBER(nes_fk23c_device::write_h)
break;
default:
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
break;
}
}
@@ -1971,7 +1971,7 @@ void nes_s24in1sc03_device::chr_cb(int start, int bank, int source)
chr1_x(start, chr_base | bank, chr);
}
-WRITE8_MEMBER(nes_s24in1sc03_device::write_l)
+void nes_s24in1sc03_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("s24in1sc03 write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -2009,7 +2009,7 @@ WRITE8_MEMBER(nes_s24in1sc03_device::write_l)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_15in1_device::write_m)
+void nes_bmc_15in1_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_15in1 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -2037,7 +2037,7 @@ WRITE8_MEMBER(nes_bmc_15in1_device::write_m)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_sbig7_device::write_h)
+void nes_bmc_sbig7_device::write_h(offs_t offset, uint8_t data)
{
uint8_t page;
LOG_MMC(("bmc_sbig7 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2058,7 +2058,7 @@ WRITE8_MEMBER(nes_bmc_sbig7_device::write_h)
break;
default:
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
break;
}
}
@@ -2076,7 +2076,7 @@ WRITE8_MEMBER(nes_bmc_sbig7_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_hik8_device::write_m)
+void nes_bmc_hik8_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_hik8 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -2123,7 +2123,7 @@ WRITE8_MEMBER(nes_bmc_hik8_device::write_m)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_hik4_device::write_m)
+void nes_bmc_hik4_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_hik4 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -2162,7 +2162,7 @@ WRITE8_MEMBER(nes_bmc_hik4_device::write_m)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_mario7in1_device::write_m)
+void nes_bmc_mario7in1_device::write_m(offs_t offset, uint8_t data)
{
uint8_t helper1, helper2;
LOG_MMC(("bmc_mario7in1 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -2204,7 +2204,7 @@ WRITE8_MEMBER(nes_bmc_mario7in1_device::write_m)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_gold7in1_device::write_m)
+void nes_bmc_gold7in1_device::write_m(offs_t offset, uint8_t data)
{
uint8_t helper1, helper2;
LOG_MMC(("bmc_gold7in1 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -2265,7 +2265,7 @@ void nes_bmc_gc6in1_device::chr_cb(int start, int bank, int source)
chr1_x(start, ((m_reg[1] & 0x03) << 8) | bank, source);
}
-WRITE8_MEMBER(nes_bmc_gc6in1_device::write_l)
+void nes_bmc_gc6in1_device::write_l(offs_t offset, uint8_t data)
{
uint8_t bank;
LOG_MMC(("bmc_gc6in1 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -2294,7 +2294,7 @@ WRITE8_MEMBER(nes_bmc_gc6in1_device::write_l)
}
}
-WRITE8_MEMBER(nes_bmc_gc6in1_device::write_h)
+void nes_bmc_gc6in1_device::write_h(offs_t offset, uint8_t data)
{
uint8_t cmd;
static const uint8_t conv_table[8] = {0, 6, 3, 7, 5, 2, 4, 1};
@@ -2303,20 +2303,20 @@ WRITE8_MEMBER(nes_bmc_gc6in1_device::write_h)
if (!m_reg[2])
{
// in this case we act like MMC3, only with alt prg/chr handlers
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
}
else
{
switch (offset & 0x6001)
{
case 0x0000:
- txrom_write(space, 0x4000, data, mem_mask);
+ txrom_write(0x4000, data);
break;
case 0x0001:
data = (data & 0xc0) | conv_table[data & 0x07];
m_reg[3] = 1;
- txrom_write(space, 0x0000, data, mem_mask);
+ txrom_write(0x0000, data);
break;
case 0x2000:
@@ -2346,7 +2346,7 @@ WRITE8_MEMBER(nes_bmc_gc6in1_device::write_h)
break;
default:
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
break;
}
}
@@ -2377,7 +2377,7 @@ void nes_bmc_411120c_device::chr_cb(int start, int bank, int source)
chr1_x(start, bank | ((m_reg & 3) << 7), source);
}
-WRITE8_MEMBER(nes_bmc_411120c_device::write_m)
+void nes_bmc_411120c_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_411120c write_m, offset: %04x, data: %02x\n", offset, data));
@@ -2422,7 +2422,7 @@ void nes_bmc_830118c_device::chr_cb(int start, int bank, int source)
chr1_x(start, (bank & 0x7f) | ((m_reg & 0x0c) << 5), source);
}
-WRITE8_MEMBER(nes_bmc_830118c_device::write_m)
+void nes_bmc_830118c_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_830118c write_m, offset: %04x, data: %02x\n", offset, data));
@@ -2478,7 +2478,7 @@ inline void nes_pjoy84_device::set_base_mask()
m_chr_mask = BIT(m_reg[0], 7) ? 0x7f : 0xff;
}
-WRITE8_MEMBER(nes_pjoy84_device::write_m)
+void nes_pjoy84_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("pjoy84 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -2523,7 +2523,7 @@ void nes_coolboy_device::chr_cb(int start, int bank, int source)
chr1_x(start, bank, source);
}
-WRITE8_MEMBER(nes_coolboy_device::write_m)
+void nes_coolboy_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("coolboy write_m, offset: %04x, data: %02x\n", offset, data));
@@ -2593,7 +2593,7 @@ void nes_a9746_device::update_banks(uint8_t value)
}
}
-WRITE8_MEMBER(nes_a9746_device::write_h)
+void nes_a9746_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("unl_a9746 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2619,7 +2619,7 @@ WRITE8_MEMBER(nes_a9746_device::write_h)
break;
default:
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
break;
}
}
diff --git a/src/devices/bus/nes/mmc3_clones.h b/src/devices/bus/nes/mmc3_clones.h
index b6102e8fd62..680e86b4c9c 100644
--- a/src/devices/bus/nes/mmc3_clones.h
+++ b/src/devices/bus/nes/mmc3_clones.h
@@ -17,7 +17,7 @@ public:
nes_nitra_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
};
@@ -30,7 +30,7 @@ public:
nes_ks7057_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
};
@@ -43,7 +43,7 @@ public:
nes_sbros11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
};
@@ -56,7 +56,7 @@ public:
nes_malisb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
};
@@ -71,7 +71,7 @@ public:
nes_family4646_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
};
@@ -85,9 +85,9 @@ public:
// construction/destruction
nes_pikay2k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -110,8 +110,8 @@ public:
// device-level overrides
virtual void device_start() override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -131,8 +131,8 @@ public:
// construction/destruction
nes_sglionk_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -154,9 +154,9 @@ public:
// construction/destruction
nes_sgboog_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -181,7 +181,7 @@ public:
// construction/destruction
nes_kasing_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void prg_cb(int start, int bank) override;
virtual void pcb_reset() override;
@@ -203,9 +203,9 @@ public:
// construction/destruction
nes_kay_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -230,9 +230,9 @@ public:
// construction/destruction
nes_h2288_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void prg_cb(int start, int bank) override;
virtual void pcb_reset() override;
@@ -254,12 +254,12 @@ public:
// construction/destruction
nes_6035052_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_ex) override;
- virtual DECLARE_WRITE8_MEMBER(write_ex) override;
- virtual DECLARE_READ8_MEMBER(read_l) override { return read_ex(space, offset, mem_mask); }
- virtual DECLARE_READ8_MEMBER(read_m) override { return read_ex(space, offset, mem_mask); }
- virtual DECLARE_WRITE8_MEMBER(write_l) override { write_ex(space, offset, data, mem_mask); }
- virtual DECLARE_WRITE8_MEMBER(write_m) override { write_ex(space, offset, data, mem_mask); }
+ virtual uint8_t read_ex(offs_t offset) override;
+ virtual void write_ex(offs_t offset, uint8_t data) override;
+ virtual uint8_t read_l(offs_t offset) override { return read_ex(offset); }
+ virtual uint8_t read_m(offs_t offset) override { return read_ex(offset); }
+ virtual void write_l(offs_t offset, uint8_t data) override { write_ex(offset, data); }
+ virtual void write_m(offs_t offset, uint8_t data) override { write_ex(offset, data); }
virtual void pcb_reset() override;
@@ -281,8 +281,8 @@ public:
nes_txc_tw_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override { write_l(space, offset & 0xff, data, mem_mask); } // offset does not really count for this mapper }
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_m(offs_t offset, uint8_t data) override { write_l(offset & 0xff, data); } // offset does not really count for this mapper }
virtual void prg_cb(int start, int bank) override;
};
@@ -296,7 +296,7 @@ public:
nes_kof97_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
};
@@ -308,9 +308,9 @@ public:
// construction/destruction
nes_kof96_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override; // offset does not really count for this mapper
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override; // offset does not really count for this mapper
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -334,7 +334,7 @@ public:
nes_sf3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
protected:
virtual void set_chr(uint8_t chr, int chr_base, int chr_mask) override;
@@ -349,8 +349,8 @@ public:
// construction/destruction
nes_gouder_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void prg_cb(int start, int bank) override;
virtual void pcb_reset() override;
@@ -372,7 +372,7 @@ public:
// construction/destruction
nes_sa9602b_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void prg_cb(int start, int bank) override;
virtual void pcb_reset() override;
@@ -395,8 +395,8 @@ public:
// construction/destruction
nes_sachen_shero_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void chr_cb(int start, int bank, int source) override;
virtual void pcb_reset() override;
@@ -418,7 +418,7 @@ public:
// construction/destruction
nes_a9746_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset();
@@ -441,8 +441,8 @@ public:
// construction/destruction
nes_fk23c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -481,7 +481,7 @@ public:
// construction/destruction
nes_s24in1sc03_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -505,7 +505,7 @@ public:
nes_bmc_15in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
};
@@ -520,7 +520,7 @@ public:
nes_bmc_sbig7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
};
@@ -534,7 +534,7 @@ public:
// construction/destruction
nes_bmc_hik8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -557,7 +557,7 @@ public:
nes_bmc_hik4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
};
@@ -571,7 +571,7 @@ public:
// construction/destruction
nes_bmc_mario7in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -592,7 +592,7 @@ public:
// construction/destruction
nes_bmc_gold7in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -613,8 +613,8 @@ public:
// construction/destruction
nes_bmc_gc6in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -637,7 +637,7 @@ public:
// construction/destruction
nes_bmc_411120c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -660,7 +660,7 @@ public:
// construction/destruction
nes_bmc_830118c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -683,7 +683,7 @@ public:
// construction/destruction
nes_pjoy84_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -707,7 +707,7 @@ public:
nes_coolboy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
diff --git a/src/devices/bus/nes/mmc5.cpp b/src/devices/bus/nes/mmc5.cpp
index 681b9491ef2..b512f914e8b 100644
--- a/src/devices/bus/nes/mmc5.cpp
+++ b/src/devices/bus/nes/mmc5.cpp
@@ -287,7 +287,7 @@ inline bool nes_exrom_device::in_split()
return false;
}
-READ8_MEMBER(nes_exrom_device::nt_r)
+uint8_t nes_exrom_device::nt_r(offs_t offset)
{
int page = ((offset & 0xc00) >> 10);
@@ -339,7 +339,7 @@ READ8_MEMBER(nes_exrom_device::nt_r)
}
}
-WRITE8_MEMBER(nes_exrom_device::nt_w)
+void nes_exrom_device::nt_w(offs_t offset, uint8_t data)
{
int page = ((offset & 0xc00) >> 10);
@@ -397,7 +397,7 @@ inline uint8_t nes_exrom_device::bg_ex1_chr_r(uint32_t offset)
return m_vrom[helper & (m_vrom_size - 1)];
}
-READ8_MEMBER(nes_exrom_device::chr_r)
+uint8_t nes_exrom_device::chr_r(offs_t offset)
{
int bank = offset >> 10;
@@ -425,7 +425,7 @@ READ8_MEMBER(nes_exrom_device::chr_r)
}
-READ8_MEMBER(nes_exrom_device::read_l)
+uint8_t nes_exrom_device::read_l(offs_t offset)
{
int value;
LOG_MMC(("exrom read_l, offset: %04x\n", offset));
@@ -437,7 +437,7 @@ READ8_MEMBER(nes_exrom_device::read_l)
if (BIT(m_exram_control, 1)) // Modes 2,3 = read
return m_exram[offset - 0x1c00];
else
- return m_open_bus; // Modes 0,1 = open bus
+ return get_open_bus(); // Modes 0,1 = open bus
}
switch (offset)
@@ -455,12 +455,12 @@ READ8_MEMBER(nes_exrom_device::read_l)
default:
logerror("MMC5 uncaught read, offset: %04x\n", offset + 0x4100);
- return m_open_bus;
+ return get_open_bus();
}
}
-WRITE8_MEMBER(nes_exrom_device::write_l)
+void nes_exrom_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("exrom write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -618,7 +618,7 @@ WRITE8_MEMBER(nes_exrom_device::write_l)
// bit3 select the chip (2 of them can be accessed, each up to 32KB)
// bit1 & bit2 select the 8KB banks inside the chip
// same mechanism is used also when "WRAM" is mapped in higher banks
-READ8_MEMBER(nes_exrom_device::read_m)
+uint8_t nes_exrom_device::read_m(offs_t offset)
{
LOG_MMC(("exrom read_m, offset: %04x\n", offset));
if (!m_battery.empty() && !m_prgram.empty()) // 2 chips present: first is BWRAM, second is WRAM
@@ -633,10 +633,10 @@ READ8_MEMBER(nes_exrom_device::read_m)
else if (!m_battery.empty()) // 1 chip, BWRAM
return m_battery[(offset + (m_wram_base & 0x03) * 0x2000) & (m_battery.size() - 1)];
else
- return m_open_bus;
+ return get_open_bus();
}
-WRITE8_MEMBER(nes_exrom_device::write_m)
+void nes_exrom_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("exrom write_m, offset: %04x, data: %02x\n", offset, data));
if (m_wram_protect_1 != 0x02 || m_wram_protect_2 != 0x01)
@@ -649,7 +649,7 @@ WRITE8_MEMBER(nes_exrom_device::write_m)
}
// some games (e.g. Bandit Kings of Ancient China) write to PRG-RAM through 0x8000-0xdfff
-READ8_MEMBER(nes_exrom_device::read_h)
+uint8_t nes_exrom_device::read_h(offs_t offset)
{
LOG_MMC(("exrom read_h, offset: %04x\n", offset));
int bank = offset / 0x2000;
@@ -665,7 +665,7 @@ READ8_MEMBER(nes_exrom_device::read_h)
return hi_access_rom(offset);
}
-WRITE8_MEMBER(nes_exrom_device::write_h)
+void nes_exrom_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("exrom write_h, offset: %04x, data: %02x\n", offset, data));
int bank = offset / 0x2000;
diff --git a/src/devices/bus/nes/mmc5.h b/src/devices/bus/nes/mmc5.h
index c0c07cb07a9..093a64471d0 100644
--- a/src/devices/bus/nes/mmc5.h
+++ b/src/devices/bus/nes/mmc5.h
@@ -20,16 +20,16 @@ public:
nes_exrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
~nes_exrom_device();
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
-
- virtual DECLARE_READ8_MEMBER(chr_r) override;
- virtual DECLARE_READ8_MEMBER(nt_r) override;
- virtual DECLARE_WRITE8_MEMBER(nt_w) override;
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
+
+ virtual uint8_t chr_r(offs_t offset) override;
+ virtual uint8_t nt_r(offs_t offset) override;
+ virtual void nt_w(offs_t offset, uint8_t data) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/multigame.cpp b/src/devices/bus/nes/multigame.cpp
index 6971e68ac61..c117520afe5 100644
--- a/src/devices/bus/nes/multigame.cpp
+++ b/src/devices/bus/nes/multigame.cpp
@@ -1016,7 +1016,7 @@ void nes_bmc_42in1reset_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_action52_device::write_h)
+void nes_action52_device::write_h(offs_t offset, uint8_t data)
{
uint8_t pmode = offset & 0x20;
int pbank = (offset & 0x1fc0) >> 6;
@@ -1048,7 +1048,7 @@ WRITE8_MEMBER(nes_action52_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_caltron_device::write_m)
+void nes_caltron_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("caltron write_m, offset: %04x, data: %02x\n", offset, data));
@@ -1057,7 +1057,7 @@ WRITE8_MEMBER(nes_caltron_device::write_m)
prg32(offset & 0x07);
}
-WRITE8_MEMBER(nes_caltron_device::write_h)
+void nes_caltron_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("caltron write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1077,7 +1077,7 @@ WRITE8_MEMBER(nes_caltron_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_rumblestat_device::write_m)
+void nes_rumblestat_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("rumblestation write_m, offset: %04x, data: %02x\n", offset, data));
@@ -1087,7 +1087,7 @@ WRITE8_MEMBER(nes_rumblestat_device::write_m)
chr8(m_chr, CHRROM);
}
-WRITE8_MEMBER(nes_rumblestat_device::write_h)
+void nes_rumblestat_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("rumblestation write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1129,14 +1129,14 @@ void nes_svision16_device::update_prg()
}
-READ8_MEMBER(nes_svision16_device::read_m)
+uint8_t nes_svision16_device::read_m(offs_t offset)
{
int bank = (((m_latch1 & 0x0f) << 4) | 0x0f) + 4 ; // +4 due to the eeprom
LOG_MMC(("svision16 read_m, offset: %04x\n", offset));
return m_prg[((bank * 0x2000) + (offset & 0x1fff)) & m_prg_mask];
}
-WRITE8_MEMBER(nes_svision16_device::write_m)
+void nes_svision16_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("svision16 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -1145,7 +1145,7 @@ WRITE8_MEMBER(nes_svision16_device::write_m)
set_nt_mirroring(BIT(data, 5) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
}
-WRITE8_MEMBER(nes_svision16_device::write_h)
+void nes_svision16_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("svision16 write_h, offset: %04x, data: %02x\n", offset, data));
m_latch2 = data;
@@ -1175,7 +1175,7 @@ void nes_n625092_device::set_prg(uint8_t reg1, uint8_t reg2)
prg16_cdef(helper2 | ((reg1 & 0x70) >> 1));
}
-WRITE8_MEMBER(nes_n625092_device::write_h)
+void nes_n625092_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("n625092 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1213,7 +1213,7 @@ WRITE8_MEMBER(nes_n625092_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_a65as_device::write_h)
+void nes_a65as_device::write_h(offs_t offset, uint8_t data)
{
uint8_t helper = (data & 0x30) >> 1;
LOG_MMC(("a65as write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1242,7 +1242,7 @@ WRITE8_MEMBER(nes_a65as_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_t262_device::write_h)
+void nes_t262_device::write_h(offs_t offset, uint8_t data)
{
uint8_t mmc_helper;
LOG_MMC(("t262 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1281,7 +1281,7 @@ WRITE8_MEMBER(nes_t262_device::write_h)
-------------------------------------------------*/
// Are this correct or should they work the same?
-WRITE8_MEMBER(nes_novel1_device::write_h)
+void nes_novel1_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("novel1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1289,7 +1289,7 @@ WRITE8_MEMBER(nes_novel1_device::write_h)
chr8(offset & 0x07, CHRROM);
}
-WRITE8_MEMBER(nes_novel2_device::write_h)
+void nes_novel2_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("novel2 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1311,7 +1311,7 @@ WRITE8_MEMBER(nes_novel2_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_studyngame_device::write_h)
+void nes_studyngame_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("studyngame write_h, offset: %04x, data: %02x\n", offset, data));
prg32(data);
@@ -1330,7 +1330,7 @@ WRITE8_MEMBER(nes_studyngame_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_sgun20in1_device::write_h)
+void nes_sgun20in1_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("supergun20in1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1345,7 +1345,7 @@ WRITE8_MEMBER(nes_sgun20in1_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_vt5201_device::write_h)
+void nes_vt5201_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("vt5201 wirte_h, offset: %04x, data: %02x\n", offset, data));
@@ -1364,7 +1364,7 @@ WRITE8_MEMBER(nes_vt5201_device::write_h)
chr8(offset, CHRROM);
}
-READ8_MEMBER(nes_vt5201_device::read_h)
+uint8_t nes_vt5201_device::read_h(offs_t offset)
{
LOG_MMC(("bmc_vt5201 read_h, offset: %04x\n", offset));
// m_dipsetting = ioport("CARTDIPS")->read();
@@ -1383,7 +1383,7 @@ READ8_MEMBER(nes_vt5201_device::read_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_810544c_device::write_h)
+void nes_810544c_device::write_h(offs_t offset, uint8_t data)
{
uint8_t bank = (offset >> 7);
LOG_MMC(("810544 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1407,7 +1407,7 @@ WRITE8_MEMBER(nes_810544c_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_ntd03_device::write_h)
+void nes_ntd03_device::write_h(offs_t offset, uint8_t data)
{
uint8_t pbank = (offset >> 10) & 0x1e;
uint8_t cbank = ((offset & 0x300) >> 5) | (offset & 0x07);
@@ -1434,7 +1434,7 @@ WRITE8_MEMBER(nes_ntd03_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_gb63_device::chr_w)
+void nes_bmc_gb63_device::chr_w(offs_t offset, uint8_t data)
{
int bank = offset >> 10;
@@ -1459,7 +1459,7 @@ void nes_bmc_gb63_device::update_banks()
// m_vram_disable = BIT(m_reg[1], 1) ? 0 : 1;
}
-WRITE8_MEMBER(nes_bmc_gb63_device::write_h)
+void nes_bmc_gb63_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_gb63 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1468,13 +1468,13 @@ WRITE8_MEMBER(nes_bmc_gb63_device::write_h)
update_banks();
}
-READ8_MEMBER(nes_bmc_gb63_device::read_h)
+uint8_t nes_bmc_gb63_device::read_h(offs_t offset)
{
LOG_MMC(("bmc_gb63 read_h, offset: %04x\n", offset));
// m_dipsetting = ioport("CARTDIPS")->read();
if (m_latch == 1)
- return m_open_bus; // open bus
+ return get_open_bus(); // open bus
else
return hi_access_rom(offset);
}
@@ -1493,7 +1493,7 @@ READ8_MEMBER(nes_bmc_gb63_device::read_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_gka_device::write_h)
+void nes_bmc_gka_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_gka write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1529,7 +1529,7 @@ WRITE8_MEMBER(nes_bmc_gka_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_gkb_device::write_h)
+void nes_bmc_gkb_device::write_h(offs_t offset, uint8_t data)
{
uint8_t bank = (offset & 0x40) ? 0 : 1;
LOG_MMC(("bmc_gkb write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1551,7 +1551,7 @@ WRITE8_MEMBER(nes_bmc_gkb_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_ws_device::write_m)
+void nes_bmc_ws_device::write_m(offs_t offset, uint8_t data)
{
uint8_t mmc_helper;
LOG_MMC(("bmc_ws write_m, offset: %04x, data: %02x\n", offset, data));
@@ -1588,7 +1588,7 @@ WRITE8_MEMBER(nes_bmc_ws_device::write_m)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_11160_device::write_h)
+void nes_bmc_11160_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_11160 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1607,7 +1607,7 @@ WRITE8_MEMBER(nes_bmc_11160_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_g146_device::write_h)
+void nes_bmc_g146_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_g146 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1640,7 +1640,7 @@ WRITE8_MEMBER(nes_bmc_g146_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_8157_device::write_h)
+void nes_bmc_8157_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_8157 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1653,7 +1653,7 @@ WRITE8_MEMBER(nes_bmc_8157_device::write_h)
set_nt_mirroring(!BIT(offset, 1) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
}
-READ8_MEMBER(nes_bmc_8157_device::read_h)
+uint8_t nes_bmc_8157_device::read_h(offs_t offset)
{
LOG_MMC(("bmc_8157 read_h, offset: %04x\n", offset));
// m_dipsetting = ioport("CARTDIPS")->read();
@@ -1678,7 +1678,7 @@ READ8_MEMBER(nes_bmc_8157_device::read_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_hik300_device::write_h)
+void nes_bmc_hik300_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_hik300 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1707,7 +1707,7 @@ WRITE8_MEMBER(nes_bmc_hik300_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_s700_device::write_h)
+void nes_bmc_s700_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_s700 write_h, offset :%04x, data: %02x\n", offset, data));
@@ -1754,7 +1754,7 @@ void nes_bmc_ball11_device::set_banks()
}
}
-WRITE8_MEMBER(nes_bmc_ball11_device::write_m)
+void nes_bmc_ball11_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_ball11 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -1762,7 +1762,7 @@ WRITE8_MEMBER(nes_bmc_ball11_device::write_m)
set_banks();
}
-WRITE8_MEMBER(nes_bmc_ball11_device::write_h)
+void nes_bmc_ball11_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_ball11 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1793,7 +1793,7 @@ WRITE8_MEMBER(nes_bmc_ball11_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_22games_device::write_h)
+void nes_bmc_22games_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_22games write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1846,7 +1846,7 @@ void nes_bmc_64y2k_device::set_prg()
prg16_cdef(helper2);
}
-WRITE8_MEMBER(nes_bmc_64y2k_device::write_l)
+void nes_bmc_64y2k_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc64y2k write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -1866,7 +1866,7 @@ WRITE8_MEMBER(nes_bmc_64y2k_device::write_l)
set_nt_mirroring(BIT(data, 5) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
}
-WRITE8_MEMBER(nes_bmc_64y2k_device::write_h)
+void nes_bmc_64y2k_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc64y2k write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1904,7 +1904,7 @@ void nes_bmc_12in1_device::update_banks()
set_nt_mirroring(BIT(m_reg[2], 2) ? PPU_MIRROR_HORZ : PPU_MIRROR_VERT);
}
-WRITE8_MEMBER(nes_bmc_12in1_device::write_h)
+void nes_bmc_12in1_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_12in1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1930,7 +1930,7 @@ WRITE8_MEMBER(nes_bmc_12in1_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_20in1_device::write_h)
+void nes_bmc_20in1_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_20in1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1953,7 +1953,7 @@ WRITE8_MEMBER(nes_bmc_20in1_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_21in1_device::write_h)
+void nes_bmc_21in1_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_21in1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1974,7 +1974,7 @@ WRITE8_MEMBER(nes_bmc_21in1_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_31in1_device::write_h)
+void nes_bmc_31in1_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_31in1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2006,7 +2006,7 @@ WRITE8_MEMBER(nes_bmc_31in1_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_35in1_device::write_h)
+void nes_bmc_35in1_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_35in1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2028,7 +2028,7 @@ WRITE8_MEMBER(nes_bmc_35in1_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_36in1_device::write_h)
+void nes_bmc_36in1_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_36in1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2052,7 +2052,7 @@ WRITE8_MEMBER(nes_bmc_36in1_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_64in1_device::write_h)
+void nes_bmc_64in1_device::write_h(offs_t offset, uint8_t data)
{
int bank = (offset >> 1) & (offset >> 2) & 0x01;
@@ -2082,7 +2082,7 @@ WRITE8_MEMBER(nes_bmc_64in1_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_70in1_device::write_h)
+void nes_bmc_70in1_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc70in1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2105,7 +2105,7 @@ WRITE8_MEMBER(nes_bmc_70in1_device::write_h)
}
}
-READ8_MEMBER(nes_bmc_70in1_device::read_h)
+uint8_t nes_bmc_70in1_device::read_h(offs_t offset)
{
LOG_MMC(("bmc70in1 read_h, offset: %04x\n", offset));
@@ -2128,7 +2128,7 @@ READ8_MEMBER(nes_bmc_70in1_device::read_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_72in1_device::write_h)
+void nes_bmc_72in1_device::write_h(offs_t offset, uint8_t data)
{
int hi_bank = offset & 0x40;
int size_16 = offset & 0x1000;
@@ -2165,7 +2165,7 @@ WRITE8_MEMBER(nes_bmc_72in1_device::write_h)
-------------------------------------------------*/
// does this work for super42in1 as well?!?
-WRITE8_MEMBER(nes_bmc_76in1_device::write_h)
+void nes_bmc_76in1_device::write_h(offs_t offset, uint8_t data)
{
int hi_bank;
int size_16;
@@ -2210,7 +2210,7 @@ WRITE8_MEMBER(nes_bmc_76in1_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_110in1_device::write_h)
+void nes_bmc_110in1_device::write_h(offs_t offset, uint8_t data)
{
uint8_t helper1 = (offset >> 12) ? 0 : 1;
uint8_t helper2 = ((offset >> 8) & 0x40) | ((offset >> 6) & 0x3f);
@@ -2237,7 +2237,7 @@ WRITE8_MEMBER(nes_bmc_110in1_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_150in1_device::write_h)
+void nes_bmc_150in1_device::write_h(offs_t offset, uint8_t data)
{
int bank = (offset >> 1) & 0x07;
@@ -2261,7 +2261,7 @@ WRITE8_MEMBER(nes_bmc_150in1_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_190in1_device::write_h)
+void nes_bmc_190in1_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc190in1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2287,7 +2287,7 @@ WRITE8_MEMBER(nes_bmc_190in1_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_800in1_device::write_h)
+void nes_bmc_800in1_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc800in1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2312,7 +2312,7 @@ WRITE8_MEMBER(nes_bmc_800in1_device::write_h)
prg16_cdef(m_reg[1]);
}
-READ8_MEMBER(nes_bmc_800in1_device::read_h)
+uint8_t nes_bmc_800in1_device::read_h(offs_t offset)
{
LOG_MMC(("bmc800in1 read_h, offset: %04x\n", offset));
@@ -2335,7 +2335,7 @@ READ8_MEMBER(nes_bmc_800in1_device::read_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_1200in1_device::chr_w)
+void nes_bmc_1200in1_device::chr_w(offs_t offset, uint8_t data)
{
int bank = offset >> 10;
@@ -2344,7 +2344,7 @@ WRITE8_MEMBER(nes_bmc_1200in1_device::chr_w)
}
-WRITE8_MEMBER(nes_bmc_1200in1_device::write_h)
+void nes_bmc_1200in1_device::write_h(offs_t offset, uint8_t data)
{
int bank = ((offset >> 2) & 0x1f) | ((offset & 0x0100) >> 3);
@@ -2390,7 +2390,7 @@ WRITE8_MEMBER(nes_bmc_1200in1_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_gold260_device::write_h)
+void nes_bmc_gold260_device::write_h(offs_t offset, uint8_t data)
{
int bank = (offset & 0x1f) | ((offset & 0x0300) >> 3);
LOG_MMC(("bmc_gold260 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2428,7 +2428,7 @@ WRITE8_MEMBER(nes_bmc_gold260_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_gold150_device::write_h)
+void nes_bmc_gold150_device::write_h(offs_t offset, uint8_t data)
{
int bank = (offset & 0x1f) | ((offset & 0x0200) >> 4);
LOG_MMC(("bmc_gold150 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2450,12 +2450,12 @@ WRITE8_MEMBER(nes_bmc_gold150_device::write_h)
prg32(bank);
}
-READ8_MEMBER(nes_bmc_gold150_device::read_h)
+uint8_t nes_bmc_gold150_device::read_h(offs_t offset)
{
LOG_MMC(("bmc_gold150 read_h, offset: %04x\n", offset));
if (m_latch) // open bus
- return m_open_bus;
+ return get_open_bus();
else
return hi_access_rom(offset);
}
@@ -2475,7 +2475,7 @@ READ8_MEMBER(nes_bmc_gold150_device::read_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_ch001_device::write_h)
+void nes_bmc_ch001_device::write_h(offs_t offset, uint8_t data)
{
int bank = ((offset >> 1) & 0x1fc);
LOG_MMC(("bmc_ch001 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2503,12 +2503,12 @@ WRITE8_MEMBER(nes_bmc_ch001_device::write_h)
prg8_ef((offset & 0x07c ) | ((offset & 0x6) ? 0x3 : 0x1));
}
-READ8_MEMBER(nes_bmc_ch001_device::read_h)
+uint8_t nes_bmc_ch001_device::read_h(offs_t offset)
{
LOG_MMC(("bmc_ch001 read_h, offset: %04x\n", offset));
if (m_latch && offset < 0x4000) // open bus
- return m_open_bus;
+ return get_open_bus();
else
return hi_access_rom(offset);
}
@@ -2528,7 +2528,7 @@ READ8_MEMBER(nes_bmc_ch001_device::read_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_super22_device::write_h)
+void nes_bmc_super22_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("bmc_super22 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -2581,7 +2581,7 @@ WRITE8_MEMBER(nes_bmc_super22_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bmc_42in1reset_device::write_h)
+void nes_bmc_42in1reset_device::write_h(offs_t offset, uint8_t data)
{
int bank;
LOG_MMC(("bmc_42in1reset write_h, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/multigame.h b/src/devices/bus/nes/multigame.h
index e88ec21be58..51db3e9f821 100644
--- a/src/devices/bus/nes/multigame.h
+++ b/src/devices/bus/nes/multigame.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_action52_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -34,8 +34,8 @@ public:
// construction/destruction
nes_caltron_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -56,8 +56,8 @@ public:
// construction/destruction
nes_rumblestat_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -78,9 +78,9 @@ public:
// construction/destruction
nes_svision16_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -102,7 +102,7 @@ public:
// construction/destruction
nes_n625092_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -124,7 +124,7 @@ public:
// construction/destruction
nes_a65as_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -142,7 +142,7 @@ public:
// construction/destruction
nes_t262_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -163,7 +163,7 @@ public:
// construction/destruction
nes_novel1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -181,7 +181,7 @@ public:
// construction/destruction
nes_novel2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -199,7 +199,7 @@ public:
// construction/destruction
nes_studyngame_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -217,7 +217,7 @@ public:
// construction/destruction
nes_sgun20in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -235,8 +235,8 @@ public:
// construction/destruction
nes_vt5201_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -257,7 +257,7 @@ public:
// construction/destruction
nes_810544c_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -275,7 +275,7 @@ public:
// construction/destruction
nes_ntd03_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -293,9 +293,9 @@ public:
// construction/destruction
nes_bmc_gb63_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
- virtual DECLARE_WRITE8_MEMBER(chr_w) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual void chr_w(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -318,7 +318,7 @@ public:
// construction/destruction
nes_bmc_gka_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -339,7 +339,7 @@ public:
// construction/destruction
nes_bmc_gkb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -357,7 +357,7 @@ public:
// construction/destruction
nes_bmc_ws_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -378,7 +378,7 @@ public:
// construction/destruction
nes_bmc_11160_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -396,7 +396,7 @@ public:
// construction/destruction
nes_bmc_g146_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -414,8 +414,8 @@ public:
// construction/destruction
nes_bmc_8157_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -433,7 +433,7 @@ public:
// construction/destruction
nes_bmc_hik300_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -451,7 +451,7 @@ public:
// construction/destruction
nes_bmc_s700_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -469,8 +469,8 @@ public:
// construction/destruction
nes_bmc_ball11_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -492,7 +492,7 @@ public:
// construction/destruction
nes_bmc_22games_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -510,8 +510,8 @@ public:
// construction/destruction
nes_bmc_64y2k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -533,7 +533,7 @@ public:
// construction/destruction
nes_bmc_12in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -555,7 +555,7 @@ public:
// construction/destruction
nes_bmc_20in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -573,7 +573,7 @@ public:
// construction/destruction
nes_bmc_21in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -591,7 +591,7 @@ public:
// construction/destruction
nes_bmc_31in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -609,7 +609,7 @@ public:
// construction/destruction
nes_bmc_35in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -627,7 +627,7 @@ public:
// construction/destruction
nes_bmc_36in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -645,7 +645,7 @@ public:
// construction/destruction
nes_bmc_64in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -663,8 +663,8 @@ public:
// construction/destruction
nes_bmc_70in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -686,7 +686,7 @@ public:
// construction/destruction
nes_bmc_72in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -704,7 +704,7 @@ public:
// construction/destruction
nes_bmc_76in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -725,7 +725,7 @@ public:
// construction/destruction
nes_bmc_110in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -743,7 +743,7 @@ public:
// construction/destruction
nes_bmc_150in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -761,7 +761,7 @@ public:
// construction/destruction
nes_bmc_190in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -779,8 +779,8 @@ public:
// construction/destruction
nes_bmc_800in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -802,8 +802,8 @@ public:
// construction/destruction
nes_bmc_1200in1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
- virtual DECLARE_WRITE8_MEMBER(chr_w) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
+ virtual void chr_w(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -824,8 +824,8 @@ public:
// construction/destruction
nes_bmc_gold150_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -846,7 +846,7 @@ public:
// construction/destruction
nes_bmc_gold260_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -864,8 +864,8 @@ public:
// construction/destruction
nes_bmc_ch001_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -886,7 +886,7 @@ public:
// construction/destruction
nes_bmc_super22_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -922,7 +922,7 @@ public:
// construction/destruction
nes_bmc_42in1reset_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/namcot.cpp b/src/devices/bus/nes/namcot.cpp
index 84b41996272..e2898d6b9ba 100644
--- a/src/devices/bus/nes/namcot.cpp
+++ b/src/devices/bus/nes/namcot.cpp
@@ -246,7 +246,7 @@ void nes_namcot163_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_namcot3433_device::dxrom_write)
+void nes_namcot3433_device::dxrom_write(offs_t offset, uint8_t data)
{
LOG_MMC(("dxrom_write, offset: %04x, data: %02x\n", offset, data));
@@ -290,7 +290,7 @@ WRITE8_MEMBER(nes_namcot3433_device::dxrom_write)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_namcot3446_device::write_h)
+void nes_namcot3446_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("namcot3446 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -334,7 +334,7 @@ WRITE8_MEMBER(nes_namcot3446_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_namcot3425_device::write_h)
+void nes_namcot3425_device::write_h(offs_t offset, uint8_t data)
{
uint8_t mode;
LOG_MMC(("namcot3425 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -407,7 +407,7 @@ void nes_namcot340_device::device_timer(emu_timer &timer, device_timer_id id, in
}
}
-WRITE8_MEMBER(nes_namcot340_device::n340_lowrite)
+void nes_namcot340_device::n340_lowrite(offs_t offset, uint8_t data)
{
LOG_MMC(("n340_lowrite, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -426,7 +426,7 @@ WRITE8_MEMBER(nes_namcot340_device::n340_lowrite)
}
}
-READ8_MEMBER(nes_namcot340_device::n340_loread)
+uint8_t nes_namcot340_device::n340_loread(offs_t offset)
{
LOG_MMC(("n340_loread, offset: %04x\n", offset));
offset += 0x100;
@@ -444,7 +444,7 @@ READ8_MEMBER(nes_namcot340_device::n340_loread)
}
}
-WRITE8_MEMBER(nes_namcot340_device::n340_hiwrite)
+void nes_namcot340_device::n340_hiwrite(offs_t offset, uint8_t data)
{
LOG_MMC(("n340_hiwrite, offset: %04x, data: %02x\n", offset, data));
@@ -505,17 +505,17 @@ WRITE8_MEMBER(nes_namcot340_device::n340_hiwrite)
-------------------------------------------------*/
-READ8_MEMBER(nes_namcot175_device::read_m)
+uint8_t nes_namcot175_device::read_m(offs_t offset)
{
// the only game supporting this is Family Circuit '91, and it has 2KB of battery
// but it's mirrored up to 8KB (see Sprint Race -> Back Up menu breakage if not)
if (!m_battery.empty() && !m_wram_protect)
return m_battery[offset & (m_battery.size() - 1)];
- return m_open_bus; // open bus
+ return get_open_bus(); // open bus
}
-WRITE8_MEMBER(nes_namcot175_device::write_m)
+void nes_namcot175_device::write_m(offs_t offset, uint8_t data)
{
// the only game supporting this is Family Circuit '91, and it has 2KB of battery
// but it's mirrored up to 8KB (see Sprint Race -> Back Up menu breakage if not)
@@ -523,7 +523,7 @@ WRITE8_MEMBER(nes_namcot175_device::write_m)
m_battery[offset & (m_battery.size() - 1)] = data;
}
-WRITE8_MEMBER(nes_namcot175_device::write_h)
+void nes_namcot175_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("namcot175 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -536,7 +536,7 @@ WRITE8_MEMBER(nes_namcot175_device::write_h)
prg8_89(data & 0x3f);
break;
default:
- n340_hiwrite(space, offset, data, mem_mask);
+ n340_hiwrite(offset, data);
break;
}
}
@@ -560,7 +560,7 @@ WRITE8_MEMBER(nes_namcot175_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_namcot163_device::chr_w)
+void nes_namcot163_device::chr_w(offs_t offset, uint8_t data)
{
int bank = offset >> 10;
@@ -576,7 +576,7 @@ WRITE8_MEMBER(nes_namcot163_device::chr_w)
// or ROM, so no write
}
-READ8_MEMBER(nes_namcot163_device::chr_r)
+uint8_t nes_namcot163_device::chr_r(offs_t offset)
{
int bank = offset >> 10;
if (!(m_latch & 0x40) && m_chr_bank >= 0xe0)
@@ -590,15 +590,15 @@ READ8_MEMBER(nes_namcot163_device::chr_r)
}
-READ8_MEMBER(nes_namcot163_device::read_m)
+uint8_t nes_namcot163_device::read_m(offs_t offset)
{
if (!m_battery.empty() && offset < m_battery.size())
return m_battery[offset & (m_battery.size() - 1)];
- return m_open_bus; // open bus
+ return get_open_bus(); // open bus
}
-WRITE8_MEMBER(nes_namcot163_device::write_m)
+void nes_namcot163_device::write_m(offs_t offset, uint8_t data)
{
// the pcb can separately protect each 2KB chunk of the external wram from writes
int bank = (offset & 0x1800) >> 11;
@@ -606,7 +606,7 @@ WRITE8_MEMBER(nes_namcot163_device::write_m)
m_battery[offset & (m_battery.size() - 1)] = data;
}
-WRITE8_MEMBER(nes_namcot163_device::write_l)
+void nes_namcot163_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("namcot163 write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -617,12 +617,12 @@ WRITE8_MEMBER(nes_namcot163_device::write_l)
LOG_MMC(("Namcot-163 sound reg write, data: %02x\n", data));
break;
default:
- n340_lowrite(space, offset, data, mem_mask);
+ n340_lowrite(offset, data);
break;
}
}
-READ8_MEMBER(nes_namcot163_device::read_l)
+uint8_t nes_namcot163_device::read_l(offs_t offset)
{
LOG_MMC(("namcot163 read_l, offset: %04x\n", offset));
offset += 0x100;
@@ -633,7 +633,7 @@ READ8_MEMBER(nes_namcot163_device::read_l)
LOG_MMC(("Namcot-163 sound reg read\n"));
return 0;
default:
- return n340_loread(space, offset, mem_mask);
+ return n340_loread(offset);
}
}
@@ -645,7 +645,7 @@ void nes_namcot163_device::set_mirror(uint8_t page, uint8_t data)
set_nt_page(page, CIRAM, data & 0x01, 1);
}
-WRITE8_MEMBER(nes_namcot163_device::write_h)
+void nes_namcot163_device::write_h(offs_t offset, uint8_t data)
{
int page;
LOG_MMC(("namcot163 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -680,7 +680,7 @@ WRITE8_MEMBER(nes_namcot163_device::write_h)
LOG_MMC(("Namcot-163 sound address write, data: %02x\n", data));
break;
default:
- n340_hiwrite(space, offset, data, mem_mask);
+ n340_hiwrite(offset, data);
break;
}
}
diff --git a/src/devices/bus/nes/namcot.h b/src/devices/bus/nes/namcot.h
index a4ab64084e1..bcf72f5bad4 100644
--- a/src/devices/bus/nes/namcot.h
+++ b/src/devices/bus/nes/namcot.h
@@ -16,8 +16,8 @@ public:
// construction/destruction
nes_namcot3433_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(dxrom_write);
- virtual DECLARE_WRITE8_MEMBER(write_h) override { dxrom_write(space, offset, data, mem_mask); }
+ void dxrom_write(offs_t offset, uint8_t data);
+ virtual void write_h(offs_t offset, uint8_t data) override { dxrom_write(offset, data); }
virtual void pcb_reset() override;
@@ -40,7 +40,7 @@ public:
// construction/destruction
nes_namcot3446_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -61,7 +61,7 @@ public:
// construction/destruction
nes_namcot3425_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -83,12 +83,12 @@ public:
// construction/destruction
nes_namcot340_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(n340_loread);
- virtual DECLARE_WRITE8_MEMBER(n340_lowrite);
- virtual DECLARE_WRITE8_MEMBER(n340_hiwrite);
- virtual DECLARE_READ8_MEMBER(read_l) override { return n340_loread(space, offset, mem_mask); }
- virtual DECLARE_WRITE8_MEMBER(write_l) override { n340_lowrite(space, offset, data, mem_mask); }
- virtual DECLARE_WRITE8_MEMBER(write_h) override { n340_hiwrite(space, offset, data, mem_mask); }
+ uint8_t n340_loread(offs_t offset);
+ void n340_lowrite(offs_t offset, uint8_t data);
+ void n340_hiwrite(offs_t offset, uint8_t data);
+ virtual uint8_t read_l(offs_t offset) override { return n340_loread(offset); }
+ virtual void write_l(offs_t offset, uint8_t data) override { n340_lowrite(offset, data); }
+ virtual void write_h(offs_t offset, uint8_t data) override { n340_hiwrite(offset, data); }
virtual void pcb_reset() override;
@@ -122,9 +122,9 @@ public:
// device-level overrides
virtual void device_start() override;
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -141,15 +141,15 @@ public:
// construction/destruction
nes_namcot163_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
// we have to overwrite these to allow CIRAM to be used for VRAM, even if it's not clear which game(s) use this
- virtual DECLARE_READ8_MEMBER(chr_r) override;
- virtual DECLARE_WRITE8_MEMBER(chr_w) override;
+ virtual uint8_t chr_r(offs_t offset) override;
+ virtual void chr_w(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/nanjing.cpp b/src/devices/bus/nes/nanjing.cpp
index 26a7e20f97c..9719816beb2 100644
--- a/src/devices/bus/nes/nanjing.cpp
+++ b/src/devices/bus/nes/nanjing.cpp
@@ -111,7 +111,7 @@ void nes_nanjing_device::hblank_irq(int scanline, int vblank, int blanked)
}
-WRITE8_MEMBER(nes_nanjing_device::write_l)
+void nes_nanjing_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("nanjing write_l, offset: %04x, data: %02x\n", offset, data));
@@ -154,7 +154,7 @@ WRITE8_MEMBER(nes_nanjing_device::write_l)
prg32((m_reg[0] & 0x0f) | ((m_reg[1] & 0x0f) << 4));
}
-READ8_MEMBER(nes_nanjing_device::read_l)
+uint8_t nes_nanjing_device::read_l(offs_t offset)
{
uint8_t value = 0;
LOG_MMC(("nanjing read_l, offset: %04x\n", offset));
diff --git a/src/devices/bus/nes/nanjing.h b/src/devices/bus/nes/nanjing.h
index a231872a124..c5a71032573 100644
--- a/src/devices/bus/nes/nanjing.h
+++ b/src/devices/bus/nes/nanjing.h
@@ -19,8 +19,8 @@ public:
nes_nanjing_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
~nes_nanjing_device();
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/nes_slot.cpp b/src/devices/bus/nes/nes_slot.cpp
index c3d036b8493..ab8235ccc55 100644
--- a/src/devices/bus/nes/nes_slot.cpp
+++ b/src/devices/bus/nes/nes_slot.cpp
@@ -592,6 +592,12 @@ void device_nes_cart_interface::reset_cpu()
m_maincpu->set_pc(0xfffc);
}
+void device_nes_cart_interface::poke(offs_t offset, uint8_t data)
+{
+ // even worse hack
+ m_maincpu->space(AS_PROGRAM).write_byte(offset, data);
+}
+
//-------------------------------------------------
// Other helpers
//-------------------------------------------------
@@ -624,7 +630,7 @@ uint8_t device_nes_cart_interface::account_bus_conflict(uint32_t offset, uint8_t
// PPU accessors
//-------------------------------------------------
-WRITE8_MEMBER(device_nes_cart_interface::chr_w)
+void device_nes_cart_interface::chr_w(offs_t offset, uint8_t data)
{
int bank = offset >> 10;
@@ -632,14 +638,14 @@ WRITE8_MEMBER(device_nes_cart_interface::chr_w)
m_chr_access[bank][offset & 0x3ff] = data;
}
-READ8_MEMBER(device_nes_cart_interface::chr_r)
+uint8_t device_nes_cart_interface::chr_r(offs_t offset)
{
int bank = offset >> 10;
return m_chr_access[bank][offset & 0x3ff];
}
-WRITE8_MEMBER(device_nes_cart_interface::nt_w)
+void device_nes_cart_interface::nt_w(offs_t offset, uint8_t data)
{
int page = ((offset & 0xc00) >> 10);
@@ -649,7 +655,7 @@ WRITE8_MEMBER(device_nes_cart_interface::nt_w)
m_nt_access[page][offset & 0x3ff] = data;
}
-READ8_MEMBER(device_nes_cart_interface::nt_r)
+uint8_t device_nes_cart_interface::nt_r(offs_t offset)
{
int page = ((offset & 0xc00) >> 10);
return m_nt_access[page][offset & 0x3ff];
@@ -665,26 +671,26 @@ READ8_MEMBER(device_nes_cart_interface::nt_r)
// source)
//-------------------------------------------------
-READ8_MEMBER(device_nes_cart_interface::read_l)
+uint8_t device_nes_cart_interface::read_l(offs_t offset)
{
- return m_open_bus;
+ return get_open_bus();
}
-READ8_MEMBER(device_nes_cart_interface::read_m)
+uint8_t device_nes_cart_interface::read_m(offs_t offset)
{
if (!m_battery.empty())
return m_battery[offset & (m_battery.size() - 1)];
if (!m_prgram.empty())
return m_prgram[offset & (m_prgram.size() - 1)];
- return m_open_bus;
+ return get_open_bus();
}
-WRITE8_MEMBER(device_nes_cart_interface::write_l)
+void device_nes_cart_interface::write_l(offs_t offset, uint8_t data)
{
}
-WRITE8_MEMBER(device_nes_cart_interface::write_m)
+void device_nes_cart_interface::write_m(offs_t offset, uint8_t data)
{
if (!m_battery.empty())
m_battery[offset & (m_battery.size() - 1)] = data;
@@ -692,7 +698,7 @@ WRITE8_MEMBER(device_nes_cart_interface::write_m)
m_prgram[offset & (m_prgram.size() - 1)] = data;
}
-WRITE8_MEMBER(device_nes_cart_interface::write_h)
+void device_nes_cart_interface::write_h(offs_t offset, uint8_t data)
{
}
@@ -740,6 +746,9 @@ void device_nes_cart_interface::pcb_start(running_machine &machine, uint8_t *cir
device().save_item(NAME(m_vram));
if (!m_battery.empty())
device().save_item(NAME(m_battery));
+
+ // open bus
+ device().save_item(NAME(m_open_bus));
}
void device_nes_cart_interface::pcb_reg_postload(running_machine &machine)
@@ -943,11 +952,11 @@ std::string nes_cart_slot_device::get_default_card_software(get_default_card_sof
read
-------------------------------------------------*/
-READ8_MEMBER(nes_cart_slot_device::read_l)
+uint8_t nes_cart_slot_device::read_l(offs_t offset)
{
if (m_cart)
{
- uint8_t val = m_cart->read_l(space, offset);
+ uint8_t val = m_cart->read_l(offset);
// update open bus
m_cart->set_open_bus(((offset + 0x4100) & 0xff00) >> 8);
return val;
@@ -956,11 +965,11 @@ READ8_MEMBER(nes_cart_slot_device::read_l)
return 0xff;
}
-READ8_MEMBER(nes_cart_slot_device::read_m)
+uint8_t nes_cart_slot_device::read_m(offs_t offset)
{
if (m_cart)
{
- uint8_t val = m_cart->read_m(space, offset);
+ uint8_t val = m_cart->read_m(offset);
// update open bus
m_cart->set_open_bus(((offset + 0x6000) & 0xff00) >> 8);
return val;
@@ -969,11 +978,11 @@ READ8_MEMBER(nes_cart_slot_device::read_m)
return 0xff;
}
-READ8_MEMBER(nes_cart_slot_device::read_h)
+uint8_t nes_cart_slot_device::read_h(offs_t offset)
{
if (m_cart)
{
- uint8_t val = m_cart->read_h(space, offset);
+ uint8_t val = m_cart->read_h(offset);
// update open bus
m_cart->set_open_bus(((offset + 0x8000) & 0xff00) >> 8);
return val;
@@ -982,11 +991,11 @@ READ8_MEMBER(nes_cart_slot_device::read_h)
return 0xff;
}
-READ8_MEMBER(nes_cart_slot_device::read_ex)
+uint8_t nes_cart_slot_device::read_ex(offs_t offset)
{
if (m_cart)
{
- uint8_t val = m_cart->read_ex(space, offset);
+ uint8_t val = m_cart->read_ex(offset);
// update open bus
m_cart->set_open_bus(((offset + 0x4020) & 0xff00) >> 8);
return val;
@@ -1000,41 +1009,41 @@ READ8_MEMBER(nes_cart_slot_device::read_ex)
write
-------------------------------------------------*/
-WRITE8_MEMBER(nes_cart_slot_device::write_l)
+void nes_cart_slot_device::write_l(offs_t offset, uint8_t data)
{
if (m_cart)
{
- m_cart->write_l(space, offset, data);
+ m_cart->write_l(offset, data);
// update open bus
m_cart->set_open_bus(((offset + 0x4100) & 0xff00) >> 8);
}
}
-WRITE8_MEMBER(nes_cart_slot_device::write_m)
+void nes_cart_slot_device::write_m(offs_t offset, uint8_t data)
{
if (m_cart)
{
- m_cart->write_m(space, offset, data);
+ m_cart->write_m(offset, data);
// update open bus
m_cart->set_open_bus(((offset + 0x6000) & 0xff00) >> 8);
}
}
-WRITE8_MEMBER(nes_cart_slot_device::write_h)
+void nes_cart_slot_device::write_h(offs_t offset, uint8_t data)
{
if (m_cart)
{
- m_cart->write_h(space, offset, data);
+ m_cart->write_h(offset, data);
// update open bus
m_cart->set_open_bus(((offset + 0x8000) & 0xff00) >> 8);
}
}
-WRITE8_MEMBER(nes_cart_slot_device::write_ex)
+void nes_cart_slot_device::write_ex(offs_t offset, uint8_t data)
{
if (m_cart)
{
- m_cart->write_ex(space, offset, data);
+ m_cart->write_ex(offset, data);
// update open bus
m_cart->set_open_bus(((offset + 0x4020) & 0xff00) >> 8);
}
diff --git a/src/devices/bus/nes/nes_slot.h b/src/devices/bus/nes/nes_slot.h
index b86dbfb1e41..952ffd74b1f 100644
--- a/src/devices/bus/nes/nes_slot.h
+++ b/src/devices/bus/nes/nes_slot.h
@@ -166,19 +166,19 @@ public:
virtual ~device_nes_cart_interface();
// reading and writing
- virtual DECLARE_READ8_MEMBER(read_l);
- virtual DECLARE_READ8_MEMBER(read_m);
- virtual DECLARE_READ8_MEMBER(read_h) { return 0xff; }
- virtual DECLARE_READ8_MEMBER(read_ex) { return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(write_l);
- virtual DECLARE_WRITE8_MEMBER(write_m);
- virtual DECLARE_WRITE8_MEMBER(write_h);
- virtual DECLARE_WRITE8_MEMBER(write_ex) { }
-
- virtual DECLARE_READ8_MEMBER(chr_r);
- virtual DECLARE_WRITE8_MEMBER(chr_w);
- virtual DECLARE_READ8_MEMBER(nt_r);
- virtual DECLARE_WRITE8_MEMBER(nt_w);
+ virtual uint8_t read_l(offs_t offset);
+ virtual uint8_t read_m(offs_t offset);
+ virtual uint8_t read_h(offs_t offset) { return 0xff; }
+ virtual uint8_t read_ex(offs_t offset) { return 0xff; }
+ virtual void write_l(offs_t offset, uint8_t data);
+ virtual void write_m(offs_t offset, uint8_t data);
+ virtual void write_h(offs_t offset, uint8_t data);
+ virtual void write_ex(offs_t offset, uint8_t data) { }
+
+ virtual uint8_t chr_r(offs_t offset);
+ virtual void chr_w(offs_t offset, uint8_t data);
+ virtual uint8_t nt_r(offs_t offset);
+ virtual void nt_w(offs_t offset, uint8_t data);
// hack until disk system is made modern!
virtual void disk_flip_side() { }
@@ -202,6 +202,7 @@ public:
void set_vrc_lines(int PRG_A, int PRG_B, int CHR) { m_vrc_ls_prg_a = PRG_A; m_vrc_ls_prg_b = PRG_B; m_vrc_ls_chr = CHR; }
void set_x1_005_alt(bool val) { m_x1_005_alt_mirroring = val; }
void set_bus_conflict(bool val) { m_bus_conflict = val; }
+ uint8_t get_open_bus() { return m_open_bus; }
void set_open_bus(uint8_t val) { m_open_bus = val; }
uint8_t *get_prg_base() { return m_prg; }
@@ -237,6 +238,7 @@ protected:
DECLARE_WRITE_LINE_MEMBER(set_irq_line);
void hold_irq_line();
void reset_cpu();
+ void poke(offs_t offset, uint8_t data);
// internal state
uint8_t *m_prg;
@@ -270,8 +272,10 @@ protected:
bool m_pcb_ctrl_mirror, m_four_screen_vram, m_has_trainer;
bool m_x1_005_alt_mirroring; // temp hack for two kind of mirroring in Taito X1-005 boards (to be replaced with pin checking)
bool m_bus_conflict;
+private:
uint8_t m_open_bus;
+public:
// PRG
inline int prg_8k_bank_num(int bank);
inline void update_prg_banks(int prg_bank_start, int prg_bank_end);
@@ -388,14 +392,14 @@ public:
int nes_get_pcb_id(const char *slot);
// reading and writing
- virtual DECLARE_READ8_MEMBER(read_l);
- virtual DECLARE_READ8_MEMBER(read_m);
- virtual DECLARE_READ8_MEMBER(read_h);
- virtual DECLARE_READ8_MEMBER(read_ex);
- virtual DECLARE_WRITE8_MEMBER(write_l);
- virtual DECLARE_WRITE8_MEMBER(write_m);
- virtual DECLARE_WRITE8_MEMBER(write_h);
- virtual DECLARE_WRITE8_MEMBER(write_ex);
+ virtual uint8_t read_l(offs_t offset);
+ virtual uint8_t read_m(offs_t offset);
+ virtual uint8_t read_h(offs_t offset);
+ virtual uint8_t read_ex(offs_t offset);
+ virtual void write_l(offs_t offset, uint8_t data);
+ virtual void write_m(offs_t offset, uint8_t data);
+ virtual void write_h(offs_t offset, uint8_t data);
+ virtual void write_ex(offs_t offset, uint8_t data);
// hack until disk system is made modern!
virtual void disk_flip_side() { if (m_cart) m_cart->disk_flip_side(); }
@@ -429,9 +433,4 @@ DECLARE_DEVICE_TYPE(NES_CART_SLOT, nes_cart_slot_device)
#define NESSLOT_PRGROM_REGION_TAG ":cart:prg_rom"
#define NESSLOT_CHRROM_REGION_TAG ":cart:chr_rom"
-
-#define MCFG_NES_CARTRIDGE_NOT_MANDATORY \
- static_cast<nes_cart_slot_device *>(device)->set_must_be_loaded(false);
-
-
#endif // MAME_BUS_NES_NES_SLOT_H
diff --git a/src/devices/bus/nes/ntdec.cpp b/src/devices/bus/nes/ntdec.cpp
index 5ea3458e8f3..6fbcd6f31ef 100644
--- a/src/devices/bus/nes/ntdec.cpp
+++ b/src/devices/bus/nes/ntdec.cpp
@@ -102,7 +102,7 @@ void nes_ntdec_fh_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_ntdec_asder_device::write_h)
+void nes_ntdec_asder_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("ntdec_asder write_h, offset: %04x, data: %02x\n", offset, data));
@@ -165,7 +165,7 @@ WRITE8_MEMBER(nes_ntdec_asder_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_ntdec_fh_device::write_m)
+void nes_ntdec_fh_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("ntdec_fh write_m, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/ntdec.h b/src/devices/bus/nes/ntdec.h
index 1e5e8ef6cbb..062c5d7dcec 100644
--- a/src/devices/bus/nes/ntdec.h
+++ b/src/devices/bus/nes/ntdec.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_ntdec_asder_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -37,7 +37,7 @@ public:
// construction/destruction
nes_ntdec_fh_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/nxrom.cpp b/src/devices/bus/nes/nxrom.cpp
index e78fd6d1527..352b7534250 100644
--- a/src/devices/bus/nes/nxrom.cpp
+++ b/src/devices/bus/nes/nxrom.cpp
@@ -145,9 +145,6 @@ void nes_nrom_device::common_start()
save_item(NAME(m_nt_src));
save_item(NAME(m_nt_orig));
save_item(NAME(m_nt_writable));
-
- // open bus
- save_item(NAME(m_open_bus));
}
void nes_nrom_device::pcb_reset()
@@ -291,23 +288,23 @@ void nes_un1rom_device::pcb_reset()
-------------------------------------------------*/
-READ8_MEMBER(nes_nrom368_device::read_l)
+uint8_t nes_nrom368_device::read_l(offs_t offset)
{
LOG_MMC(("nrom368 read_l, offset: %04x\n", offset));
offset += 0x100;
if (offset >= 0x800)
return m_prg[offset - 0x800];
else
- return m_open_bus;
+ return get_open_bus();
}
-READ8_MEMBER(nes_nrom368_device::read_m)
+uint8_t nes_nrom368_device::read_m(offs_t offset)
{
LOG_MMC(("nrom368 read_m, offset: %04x\n", offset));
return m_prg[0x1800 + (offset & 0x1fff)];
}
-READ8_MEMBER(nes_nrom368_device::read_h)
+uint8_t nes_nrom368_device::read_h(offs_t offset)
{
LOG_MMC(("nrom368 read_h, offset: %04x\n", offset));
return m_prg[0x3800 + (offset & 0x7fff)];
@@ -334,7 +331,7 @@ READ8_MEMBER(nes_nrom368_device::read_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_axrom_device::write_h)
+void nes_axrom_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("axrom write_h, offset: %04x, data: %02x\n", offset, data));
@@ -355,7 +352,7 @@ WRITE8_MEMBER(nes_axrom_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bxrom_device::write_h)
+void nes_bxrom_device::write_h(offs_t offset, uint8_t data)
{
/* This portion of the mapper is nearly identical to Mapper 7, except no one-screen mirroring */
/* Deadly Towers is really a BxROM game - the demo screens look wrong using mapper 7. */
@@ -391,7 +388,7 @@ WRITE8_MEMBER(nes_bxrom_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_cnrom_device::write_h)
+void nes_cnrom_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("cxrom write_h, offset: %04x, data: %02x\n", offset, data));
@@ -412,7 +409,7 @@ WRITE8_MEMBER(nes_cnrom_device::write_h)
chr8(data, CHRROM);
}
-READ8_MEMBER(nes_cnrom_device::chr_r)
+uint8_t nes_cnrom_device::chr_r(offs_t offset)
{
int bank = offset >> 10;
@@ -421,7 +418,7 @@ READ8_MEMBER(nes_cnrom_device::chr_r)
// give actual VROM content or open bus values.
// For most boards, chr_open_bus remains always zero.
if (m_chr_open_bus)
- return m_open_bus;
+ return get_open_bus();
return m_chr_access[bank][offset & 0x3ff];
}
@@ -441,7 +438,7 @@ READ8_MEMBER(nes_cnrom_device::chr_r)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_cprom_device::write_h)
+void nes_cprom_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("cprom write_h, offset: %04x, data: %02x\n", offset, data));
@@ -462,7 +459,7 @@ WRITE8_MEMBER(nes_cprom_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_gxrom_device::write_h)
+void nes_gxrom_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("gxrom write_h, offset %04x, data: %02x\n", offset, data));
@@ -488,7 +485,7 @@ WRITE8_MEMBER(nes_gxrom_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_uxrom_device::write_h)
+void nes_uxrom_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("uxrom write_h, offset: %04x, data: %02x\n", offset, data));
@@ -514,7 +511,7 @@ WRITE8_MEMBER(nes_uxrom_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_uxrom_cc_device::write_h)
+void nes_uxrom_cc_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("uxrom_cc write_h, offset: %04x, data: %02x\n", offset, data));
@@ -535,7 +532,7 @@ WRITE8_MEMBER(nes_uxrom_cc_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_un1rom_device::write_h)
+void nes_un1rom_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("un1rom write_h, offset: %04x, data: %02x\n", offset, data));
@@ -558,7 +555,7 @@ WRITE8_MEMBER(nes_un1rom_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_nochr_device::chr_w)
+void nes_nochr_device::chr_w(offs_t offset, uint8_t data)
{
int mirr = get_mirroring();
if (mirr == PPU_MIRROR_HIGH)
@@ -569,7 +566,7 @@ WRITE8_MEMBER(nes_nochr_device::chr_w)
m_ciram[offset & 0x7ff] = data; // not sure here, since there is no software to test...
}
-READ8_MEMBER(nes_nochr_device::chr_r)
+uint8_t nes_nochr_device::chr_r(offs_t offset)
{
int mirr = get_mirroring();
if (mirr == PPU_MIRROR_HIGH)
diff --git a/src/devices/bus/nes/nxrom.h b/src/devices/bus/nes/nxrom.h
index 721ed5b5e98..382abf05390 100644
--- a/src/devices/bus/nes/nxrom.h
+++ b/src/devices/bus/nes/nxrom.h
@@ -36,9 +36,9 @@ public:
// construction/destruction
nes_nrom368_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_READ8_MEMBER(read_h) override;
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual uint8_t read_h(offs_t offset) override;
};
@@ -62,7 +62,7 @@ public:
// construction/destruction
nes_axrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -80,7 +80,7 @@ public:
// construction/destruction
nes_bxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -98,8 +98,8 @@ public:
// construction/destruction
nes_cnrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(chr_r) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t chr_r(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -122,7 +122,7 @@ public:
// construction/destruction
nes_cprom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -140,7 +140,7 @@ public:
// construction/destruction
nes_gxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -158,7 +158,7 @@ public:
// construction/destruction
nes_uxrom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -176,7 +176,7 @@ public:
// construction/destruction
nes_uxrom_cc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -194,7 +194,7 @@ public:
// construction/destruction
nes_un1rom_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -213,8 +213,8 @@ public:
nes_nochr_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_READ8_MEMBER(chr_r) override;
- virtual DECLARE_WRITE8_MEMBER(chr_w) override;
+ virtual uint8_t chr_r(offs_t offset) override;
+ virtual void chr_w(offs_t offset, uint8_t data) override;
};
diff --git a/src/devices/bus/nes/pirate.cpp b/src/devices/bus/nes/pirate.cpp
index 1d2035a9b91..acda901ecca 100644
--- a/src/devices/bus/nes/pirate.cpp
+++ b/src/devices/bus/nes/pirate.cpp
@@ -423,7 +423,7 @@ void nes_cityfight_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_agci_device::write_h)
+void nes_agci_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("agci write_h, offset: %04x, data: %02x\n", offset, data));
@@ -445,7 +445,7 @@ WRITE8_MEMBER(nes_agci_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_dreamtech_device::write_l)
+void nes_dreamtech_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("dreamtech write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -467,7 +467,7 @@ WRITE8_MEMBER(nes_dreamtech_device::write_l)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_fukutake_device::write_l)
+void nes_fukutake_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("fukutake write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -483,7 +483,7 @@ WRITE8_MEMBER(nes_fukutake_device::write_l)
m_ram[offset - 0x400] = data;
}
-READ8_MEMBER(nes_fukutake_device::read_l)
+uint8_t nes_fukutake_device::read_l(offs_t offset)
{
LOG_MMC(("fukutake read_l, offset: %04x\n", offset));
offset += 0x100;
@@ -503,13 +503,13 @@ READ8_MEMBER(nes_fukutake_device::read_l)
return 0;
}
-WRITE8_MEMBER(nes_fukutake_device::write_m)
+void nes_fukutake_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("fukutake write_m, offset: %04x, data: %02x\n", offset, data));
m_prgram[((m_latch * 0x2000) + offset) & (m_prgram.size() - 1)] = data;
}
-READ8_MEMBER(nes_fukutake_device::read_m)
+uint8_t nes_fukutake_device::read_m(offs_t offset)
{
LOG_MMC(("fukutake read_m, offset: %04x\n", offset));
return m_prgram[((m_latch * 0x2000) + offset) & (m_prgram.size() - 1)];
@@ -540,7 +540,7 @@ void nes_futuremedia_device::hblank_irq(int scanline, int vblank, int blanked)
}
}
-WRITE8_MEMBER(nes_futuremedia_device::write_h)
+void nes_futuremedia_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("futuremedia write_h, offset: %04x, data: %02x\n", offset, data));
@@ -603,7 +603,7 @@ WRITE8_MEMBER(nes_futuremedia_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_magseries_device::write_h)
+void nes_magseries_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("magseries write_h, offset: %04x, data: %02x\n", offset, data));
@@ -626,7 +626,7 @@ WRITE8_MEMBER(nes_magseries_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_daou306_device::write_h)
+void nes_daou306_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("daou306 write_h, offset: %04x, data: %02x\n", offset, data));
int reg = BIT(offset, 2) ? 8 : 0;
@@ -695,7 +695,7 @@ WRITE8_MEMBER(nes_daou306_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_cc21_device::write_h)
+void nes_cc21_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("cc21 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -718,7 +718,7 @@ WRITE8_MEMBER(nes_cc21_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_xiaozy_device::write_l)
+void nes_xiaozy_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("xiaozy write_l, offset: %04x, data: %02x\n", offset, data));
@@ -739,7 +739,7 @@ WRITE8_MEMBER(nes_xiaozy_device::write_l)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_edu2k_device::write_h)
+void nes_edu2k_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("edu2k write_h, offset: %04x, data: %02x\n", offset, data));
@@ -747,13 +747,13 @@ WRITE8_MEMBER(nes_edu2k_device::write_h)
m_latch = (data & 0xc0) >> 6;
}
-WRITE8_MEMBER(nes_edu2k_device::write_m)
+void nes_edu2k_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("edu2k write_m, offset: %04x, data: %02x\n", offset, data));
m_prgram[((m_latch * 0x2000) + offset) & (m_prgram.size() - 1)] = data;
}
-READ8_MEMBER(nes_edu2k_device::read_m)
+uint8_t nes_edu2k_device::read_m(offs_t offset)
{
LOG_MMC(("edu2k read_m, offset: %04x\n", offset));
return m_prgram[((m_latch * 0x2000) + offset) & (m_prgram.size() - 1)];
@@ -787,7 +787,7 @@ void nes_t230_device::hblank_irq(int scanline, int vblank, int blanked)
}
}
-WRITE8_MEMBER(nes_t230_device::write_h)
+void nes_t230_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("t230 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -869,7 +869,7 @@ void nes_mk2_device::hblank_irq( int scanline, int vblank, int blanked )
m_irq_clear = 0;
}
-WRITE8_MEMBER(nes_mk2_device::write_m)
+void nes_mk2_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("mk2 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -921,7 +921,7 @@ void nes_whero_device::hblank_irq(int scanline, int vblank, int blanked)
}
}
-WRITE8_MEMBER(nes_whero_device::write_h)
+void nes_whero_device::write_h(offs_t offset, uint8_t data)
{
int bank, shift, mask1, mask2;
LOG_MMC(("World Hero write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1005,7 +1005,7 @@ WRITE8_MEMBER(nes_whero_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_43272_device::write_h)
+void nes_43272_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("unl_43272 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1016,7 +1016,7 @@ WRITE8_MEMBER(nes_43272_device::write_h)
}
-READ8_MEMBER(nes_43272_device::read_h)
+uint8_t nes_43272_device::read_h(offs_t offset)
{
uint8_t mask = (m_latch & 0x400) ? 0xfe : 0xff;
LOG_MMC(("unl_43272 read_h, offset: %04x\n", offset));
@@ -1054,7 +1054,7 @@ void nes_tf1201_device::update_prg()
prg8_cd(m_swap ? m_prg : 0xff );
}
-WRITE8_MEMBER(nes_tf1201_device::write_h)
+void nes_tf1201_device::write_h(offs_t offset, uint8_t data)
{
int bank;
LOG_MMC(("unl_tf1201 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1139,7 +1139,7 @@ void nes_cityfight_device::update_prg()
prg8_cd(m_prg_reg);
}
-WRITE8_MEMBER(nes_cityfight_device::write_h)
+void nes_cityfight_device::write_h(offs_t offset, uint8_t data)
{
int bank;
LOG_MMC(("unl_cityfight write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1244,7 +1244,7 @@ void nes_fujiya_device::pcb_reset()
m_latch = 0;
}
-WRITE8_MEMBER(nes_fujiya_device::write_m)
+void nes_fujiya_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("fujiya write_m, offset: %04x, data: %02x\n", offset, data));
offset += 0x6000;
@@ -1253,7 +1253,7 @@ WRITE8_MEMBER(nes_fujiya_device::write_m)
m_latch = (data & 0x40) << 1;
}
-READ8_MEMBER(nes_fujiya_device::read_m)
+uint8_t nes_fujiya_device::read_m(offs_t offset)
{
LOG_MMC(("fujiya read_m, offset: %04x\n", offset));
offset += 0x6000;
@@ -1261,6 +1261,6 @@ READ8_MEMBER(nes_fujiya_device::read_m)
if (offset == 0x7001 || offset == 0x7777)
return m_latch | ((offset >> 8) & 0x7f);
- return m_open_bus; // open bus
+ return get_open_bus(); // open bus
}
#endif
diff --git a/src/devices/bus/nes/pirate.h b/src/devices/bus/nes/pirate.h
index 91424d32e25..e99bd703aec 100644
--- a/src/devices/bus/nes/pirate.h
+++ b/src/devices/bus/nes/pirate.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_agci_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -34,7 +34,7 @@ public:
// construction/destruction
nes_dreamtech_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -52,10 +52,10 @@ public:
// construction/destruction
nes_fukutake_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -77,7 +77,7 @@ public:
// construction/destruction
nes_futuremedia_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -101,7 +101,7 @@ public:
// construction/destruction
nes_magseries_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -119,7 +119,7 @@ public:
// construction/destruction
nes_daou306_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -140,7 +140,7 @@ public:
// construction/destruction
nes_cc21_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -158,7 +158,7 @@ public:
// construction/destruction
nes_xiaozy_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -176,9 +176,9 @@ public:
// construction/destruction
nes_edu2k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -199,7 +199,7 @@ public:
// construction/destruction
nes_t230_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -225,7 +225,7 @@ public:
// construction/destruction
nes_mk2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -249,7 +249,7 @@ public:
// construction/destruction
nes_whero_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -276,8 +276,8 @@ public:
// construction/destruction
nes_43272_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -298,7 +298,7 @@ public:
// construction/destruction
nes_tf1201_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -325,7 +325,7 @@ public:
// construction/destruction
nes_cityfight_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -359,8 +359,8 @@ public:
// construction/destruction
nes_fujiya_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/pt554.cpp b/src/devices/bus/nes/pt554.cpp
index 98524a04bc7..db16ca42e37 100644
--- a/src/devices/bus/nes/pt554.cpp
+++ b/src/devices/bus/nes/pt554.cpp
@@ -59,7 +59,7 @@ nes_bandai_pt554_device::nes_bandai_pt554_device(const machine_config &mconfig,
-------------------------------------------------*/
-WRITE8_MEMBER(nes_bandai_pt554_device::write_m)
+void nes_bandai_pt554_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("Bandai PT-554 Sound write, data: %02x\n", data));
diff --git a/src/devices/bus/nes/pt554.h b/src/devices/bus/nes/pt554.h
index f25281ea4f0..746750c52ed 100644
--- a/src/devices/bus/nes/pt554.h
+++ b/src/devices/bus/nes/pt554.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_bandai_pt554_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
protected:
// device-level overrides
diff --git a/src/devices/bus/nes/racermate.cpp b/src/devices/bus/nes/racermate.cpp
index 5b578da0e09..111cb997dd0 100644
--- a/src/devices/bus/nes/racermate.cpp
+++ b/src/devices/bus/nes/racermate.cpp
@@ -81,7 +81,7 @@ void nes_racermate_device::update_banks()
prg16_89ab(m_latch >> 6);
}
-WRITE8_MEMBER(nes_racermate_device::write_h)
+void nes_racermate_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("racermate write_h, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/racermate.h b/src/devices/bus/nes/racermate.h
index 5366ec1a6ea..cb74a06a6b0 100644
--- a/src/devices/bus/nes/racermate.h
+++ b/src/devices/bus/nes/racermate.h
@@ -16,7 +16,7 @@ public:
// device-level overrides
virtual void device_start() override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/rcm.cpp b/src/devices/bus/nes/rcm.cpp
index 5c861922afb..fdd07830381 100644
--- a/src/devices/bus/nes/rcm.cpp
+++ b/src/devices/bus/nes/rcm.cpp
@@ -161,7 +161,7 @@ void nes_3dblock_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_gs2015_device::write_h)
+void nes_gs2015_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("gs2015 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -169,7 +169,7 @@ WRITE8_MEMBER(nes_gs2015_device::write_h)
chr8(offset >> 1, m_chr_source);
}
-READ8_MEMBER(nes_gs2015_device::read_m)
+uint8_t nes_gs2015_device::read_m(offs_t offset)
{
LOG_MMC(("gs2015 read_m, offset: %04x\n", offset));
return 0; // Videopoker Bonza needs this (sort of protection? or related to inputs?)
@@ -186,7 +186,7 @@ READ8_MEMBER(nes_gs2015_device::read_m)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_gs2004_device::write_h)
+void nes_gs2004_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("gs2004 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -204,7 +204,7 @@ WRITE8_MEMBER(nes_gs2004_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_gs2013_device::write_h)
+void nes_gs2013_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("gs2013 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -232,7 +232,7 @@ WRITE8_MEMBER(nes_gs2013_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_tf9_device::write_h)
+void nes_tf9_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("tetrisfam write_h, offset: %04x, data: %02x\n", offset, data));
@@ -279,7 +279,7 @@ void nes_3dblock_device::hblank_irq(int scanline, int vblank, int blanked)
}
}
-WRITE8_MEMBER(nes_3dblock_device::write_l)
+void nes_3dblock_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("3dblock write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
diff --git a/src/devices/bus/nes/rcm.h b/src/devices/bus/nes/rcm.h
index f37a6074432..005869fe09c 100644
--- a/src/devices/bus/nes/rcm.h
+++ b/src/devices/bus/nes/rcm.h
@@ -16,9 +16,9 @@ public:
// construction/destruction
nes_gs2015_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override { return read_m(space, offset, mem_mask); }
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_l(offs_t offset) override { return read_m(offset); }
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -36,7 +36,7 @@ public:
// construction/destruction
nes_gs2004_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -54,7 +54,7 @@ public:
// construction/destruction
nes_gs2013_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -72,7 +72,7 @@ public:
// construction/destruction
nes_tf9_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -90,7 +90,7 @@ public:
// construction/destruction
nes_3dblock_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/rexsoft.cpp b/src/devices/bus/nes/rexsoft.cpp
index 3d868a0c970..c10b88afe01 100644
--- a/src/devices/bus/nes/rexsoft.cpp
+++ b/src/devices/bus/nes/rexsoft.cpp
@@ -112,7 +112,7 @@ void nes_rex_sl1632_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_rex_dbz5_device::write_l)
+void nes_rex_dbz5_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("rex_dbz write_l, offset: %04x, data: %02x\n", offset, data));
@@ -121,7 +121,7 @@ WRITE8_MEMBER(nes_rex_dbz5_device::write_l)
}
/* we would need to use this read handler in 0x6000-0x7fff as well */
-READ8_MEMBER(nes_rex_dbz5_device::read_l)
+uint8_t nes_rex_dbz5_device::read_l(offs_t offset)
{
LOG_MMC(("rex_dbz read_l, offset: %04x\n", offset));
return 0x01;
@@ -208,7 +208,7 @@ void nes_rex_sl1632_device::set_chr(uint8_t chr, int chr_base, int chr_mask)
chr1_x(chr_page ^ 7, chr_base2[7] | (bank[7] & chr_mask), chr);
}
-WRITE8_MEMBER(nes_rex_sl1632_device::write_h)
+void nes_rex_sl1632_device::write_h(offs_t offset, uint8_t data)
{
uint8_t helper1, helper2;
LOG_MMC(("rex_sl1632 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -232,7 +232,7 @@ WRITE8_MEMBER(nes_rex_sl1632_device::write_h)
break;
default:
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
break;
}
}
diff --git a/src/devices/bus/nes/rexsoft.h b/src/devices/bus/nes/rexsoft.h
index 61fe876633a..0c44c73139d 100644
--- a/src/devices/bus/nes/rexsoft.h
+++ b/src/devices/bus/nes/rexsoft.h
@@ -16,10 +16,10 @@ public:
// construction/destruction
nes_rex_dbz5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_READ8_MEMBER(read_m) override { return read_l(space, offset, mem_mask); }
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual void chr_cb( int start, int bank, int source ) override;
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual uint8_t read_m(offs_t offset) override { return read_l(offset); }
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void chr_cb(int start, int bank, int source) override;
virtual void pcb_reset() override;
@@ -40,7 +40,7 @@ public:
// construction/destruction
nes_rex_sl1632_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/sachen.cpp b/src/devices/bus/nes/sachen.cpp
index 369c4cde885..0622bfec8d4 100644
--- a/src/devices/bus/nes/sachen.cpp
+++ b/src/devices/bus/nes/sachen.cpp
@@ -308,7 +308,7 @@ void nes_sachen_8259d_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_sachen_sa009_device::write_l)
+void nes_sachen_sa009_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("SA009 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -327,7 +327,7 @@ WRITE8_MEMBER(nes_sachen_sa009_device::write_l)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_sachen_sa0036_device::write_h)
+void nes_sachen_sa0036_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("sa0036 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -346,7 +346,7 @@ WRITE8_MEMBER(nes_sachen_sa0036_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_sachen_sa0037_device::write_h)
+void nes_sachen_sa0037_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("sa0037 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -369,7 +369,7 @@ WRITE8_MEMBER(nes_sachen_sa0037_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_sachen_sa72007_device::write_l)
+void nes_sachen_sa72007_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("SA72007 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -390,7 +390,7 @@ WRITE8_MEMBER(nes_sachen_sa72007_device::write_l)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_sachen_sa72008_device::write_l)
+void nes_sachen_sa72008_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("SA72008 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -410,7 +410,7 @@ WRITE8_MEMBER(nes_sachen_sa72008_device::write_l)
-------------------------------------------------*/
-READ8_MEMBER(nes_sachen_tca01_device::read_l)
+uint8_t nes_sachen_tca01_device::read_l(offs_t offset)
{
LOG_MMC(("TCA-01 read_l, offset: %04x\n", offset));
@@ -433,7 +433,7 @@ READ8_MEMBER(nes_sachen_tca01_device::read_l)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_sachen_tcu01_device::write_l)
+void nes_sachen_tcu01_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("TCU-01 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -456,7 +456,7 @@ WRITE8_MEMBER(nes_sachen_tcu01_device::write_l)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_sachen_tcu02_device::write_l)
+void nes_sachen_tcu02_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("TCU-02 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -467,7 +467,7 @@ WRITE8_MEMBER(nes_sachen_tcu02_device::write_l)
}
}
-READ8_MEMBER(nes_sachen_tcu02_device::read_l)
+uint8_t nes_sachen_tcu02_device::read_l(offs_t offset)
{
LOG_MMC(("TCU-02 read_l, offset: %04x\n", offset));
@@ -512,7 +512,7 @@ void nes_sachen_74x374_device::set_mirror(uint8_t nt) // also used by mappers 13
}
-WRITE8_MEMBER(nes_sachen_74x374_device::write_l)
+void nes_sachen_74x374_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("Sachen 74*374 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -551,7 +551,7 @@ WRITE8_MEMBER(nes_sachen_74x374_device::write_l)
}
}
-READ8_MEMBER(nes_sachen_74x374_device::read_l)
+uint8_t nes_sachen_74x374_device::read_l(offs_t offset)
{
LOG_MMC(("Sachen 74*374 read_l, offset: %04x", offset));
@@ -562,7 +562,7 @@ READ8_MEMBER(nes_sachen_74x374_device::read_l)
return 0;
}
-WRITE8_MEMBER(nes_sachen_74x374_alt_device::write_l)
+void nes_sachen_74x374_alt_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("Sachen 74*374 Alt write_l, offset: %04x, data: %02x\n", offset, data));
@@ -626,7 +626,7 @@ void nes_sachen_8259a_device::chr_update()
}
}
-WRITE8_MEMBER(nes_sachen_8259a_device::write_l)
+void nes_sachen_8259a_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("Sachen 8259 write_l, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/sachen.h b/src/devices/bus/nes/sachen.h
index cfec9363bdc..b23599345b3 100644
--- a/src/devices/bus/nes/sachen.h
+++ b/src/devices/bus/nes/sachen.h
@@ -16,7 +16,7 @@ public:
// construction/destruction
nes_sachen_sa009_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -34,7 +34,7 @@ public:
// construction/destruction
nes_sachen_sa0036_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -52,7 +52,7 @@ public:
// construction/destruction
nes_sachen_sa0037_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -70,7 +70,7 @@ public:
// construction/destruction
nes_sachen_sa72007_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -88,7 +88,7 @@ public:
// construction/destruction
nes_sachen_sa72008_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -106,7 +106,7 @@ public:
// construction/destruction
nes_sachen_tca01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual uint8_t read_l(offs_t offset) override;
virtual void pcb_reset() override;
@@ -124,9 +124,9 @@ public:
// construction/destruction
nes_sachen_tcu01_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override { write_l(space, (offset + 0x100) & 0xfff, data, mem_mask); }
- virtual DECLARE_WRITE8_MEMBER(write_h) override { write_l(space, (offset + 0x100) & 0xfff, data, mem_mask); }
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_m(offs_t offset, uint8_t data) override { write_l((offset + 0x100) & 0xfff, data); }
+ virtual void write_h(offs_t offset, uint8_t data) override { write_l((offset + 0x100) & 0xfff, data); }
virtual void pcb_reset() override;
@@ -144,8 +144,8 @@ public:
// construction/destruction
nes_sachen_tcu02_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -166,8 +166,8 @@ public:
// construction/destruction
nes_sachen_74x374_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -191,8 +191,8 @@ public:
nes_sachen_74x374_alt_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_READ8_MEMBER(read_l) override { return 0xff; } // no read_l here
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual uint8_t read_l(offs_t offset) override { return 0xff; } // no read_l here
+ virtual void write_l(offs_t offset, uint8_t data) override;
};
@@ -204,8 +204,8 @@ public:
// construction/destruction
nes_sachen_8259a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override { write_l(space, (offset + 0x100) & 0xfff, data, mem_mask); }
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_m(offs_t offset, uint8_t data) override { write_l((offset + 0x100) & 0xfff, data); }
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/somari.cpp b/src/devices/bus/nes/somari.cpp
index f4a5c2e7f40..c517a4fae16 100644
--- a/src/devices/bus/nes/somari.cpp
+++ b/src/devices/bus/nes/somari.cpp
@@ -157,7 +157,7 @@ void nes_somari_device::pcb_reset()
-------------------------------------------------*/
// MMC1 Mode emulation
-WRITE8_MEMBER(nes_somari_device::mmc1_w)
+void nes_somari_device::mmc1_w(offs_t offset, uint8_t data)
{
assert(m_board_mode == 2);
@@ -191,7 +191,7 @@ WRITE8_MEMBER(nes_somari_device::mmc1_w)
}
// MMC3 Mode emulation
-WRITE8_MEMBER(nes_somari_device::mmc3_w)
+void nes_somari_device::mmc3_w(offs_t offset, uint8_t data)
{
uint8_t mmc_helper, cmd;
@@ -240,7 +240,7 @@ WRITE8_MEMBER(nes_somari_device::mmc3_w)
}
// VRC2 Mode emulation
-WRITE8_MEMBER(nes_somari_device::vrc2_w)
+void nes_somari_device::vrc2_w(offs_t offset, uint8_t data)
{
uint8_t bank, shift;
@@ -381,15 +381,15 @@ void nes_somari_device::update_mirror()
}
-WRITE8_MEMBER(nes_somari_device::write_h)
+void nes_somari_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("somari write_h, mode %d, offset: %04x, data: %02x\n", m_board_mode, offset, data));
switch (m_board_mode)
{
- case SOMARI_VRC2_MODE: vrc2_w(space, offset, data, mem_mask); break;
- case SOMARI_MMC3_MODE: mmc3_w(space, offset, data, mem_mask); break;
- case SOMARI_MMC1_MODE: mmc1_w(space, offset, data, mem_mask); break;
+ case SOMARI_VRC2_MODE: vrc2_w(offset, data); break;
+ case SOMARI_MMC3_MODE: mmc3_w(offset, data); break;
+ case SOMARI_MMC1_MODE: mmc1_w(offset, data); break;
}
}
@@ -409,7 +409,7 @@ void nes_somari_device::bank_update_switchmode()
update_chr();
}
-WRITE8_MEMBER(nes_somari_device::write_m)
+void nes_somari_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("somari write_m, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/somari.h b/src/devices/bus/nes/somari.h
index 7b5d2920923..dda299b3a99 100644
--- a/src/devices/bus/nes/somari.h
+++ b/src/devices/bus/nes/somari.h
@@ -16,12 +16,12 @@ public:
// construction/destruction
nes_somari_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override { write_m(space, offset + 0x100, data, mem_mask); }
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(mmc1_w);
- virtual DECLARE_WRITE8_MEMBER(mmc3_w);
- virtual DECLARE_WRITE8_MEMBER(vrc2_w);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_l(offs_t offset, uint8_t data) override { write_m(offset + 0x100, data); }
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ void mmc1_w(offs_t offset, uint8_t data);
+ void mmc3_w(offs_t offset, uint8_t data);
+ void vrc2_w(offs_t offset, uint8_t data);
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/subor.cpp b/src/devices/bus/nes/subor.cpp
index c15e8761112..0fa25b2b5bb 100644
--- a/src/devices/bus/nes/subor.cpp
+++ b/src/devices/bus/nes/subor.cpp
@@ -183,7 +183,7 @@ void nes_subor2_device::ppu_latch(offs_t offset)
nt
-------------------------------------------------*/
-READ8_MEMBER(nes_subor2_device::nt_r)
+uint8_t nes_subor2_device::nt_r(offs_t offset)
{
int page = ((offset & 0xc00) >> 10);
@@ -234,7 +234,7 @@ void nes_subor2_device::update_banks()
read
-------------------------------------------------*/
-READ8_MEMBER(nes_subor2_device::read_l)
+uint8_t nes_subor2_device::read_l(offs_t offset)
{
LOG_MMC("subor2 read_l, offset: %04x\n", offset);
@@ -242,14 +242,14 @@ READ8_MEMBER(nes_subor2_device::read_l)
{
return 0x8F;
}
- return m_open_bus;
+ return get_open_bus();
}
/*-------------------------------------------------
write
-------------------------------------------------*/
-WRITE8_MEMBER(nes_subor0_device::write_h)
+void nes_subor0_device::write_h(offs_t offset, uint8_t data)
{
uint8_t subor_helper1, subor_helper2;
LOG_MMC("subor0 write_h, offset: %04x, data: %02x\n", offset, data);
@@ -279,7 +279,7 @@ WRITE8_MEMBER(nes_subor0_device::write_h)
prg16_cdef(subor_helper2);
}
-WRITE8_MEMBER(nes_subor1_device::write_h)
+void nes_subor1_device::write_h(offs_t offset, uint8_t data)
{
uint8_t subor_helper1, subor_helper2;
LOG_MMC("subor1 write_h, offset: %04x, data: %02x\n", offset, data);
@@ -309,7 +309,7 @@ WRITE8_MEMBER(nes_subor1_device::write_h)
prg16_cdef(subor_helper2);
}
-WRITE8_MEMBER(nes_subor2_device::write_l)
+void nes_subor2_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC("subor2 write_l, offset: %04x, data: %02x\n", offset, data);
diff --git a/src/devices/bus/nes/subor.h b/src/devices/bus/nes/subor.h
index 93e542cf481..a4ffc13a553 100644
--- a/src/devices/bus/nes/subor.h
+++ b/src/devices/bus/nes/subor.h
@@ -20,7 +20,7 @@ public:
// construction/destruction
nes_subor0_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -41,7 +41,7 @@ public:
// construction/destruction
nes_subor1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -62,9 +62,9 @@ public:
// construction/destruction
nes_subor2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(nt_r) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual uint8_t nt_r(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual uint8_t read_l(offs_t offset) override;
virtual void ppu_latch(offs_t offset) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/sunsoft.cpp b/src/devices/bus/nes/sunsoft.cpp
index f62fa24e67d..be90e36e535 100644
--- a/src/devices/bus/nes/sunsoft.cpp
+++ b/src/devices/bus/nes/sunsoft.cpp
@@ -209,7 +209,7 @@ void nes_sunsoft_fme7_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_sunsoft_1_device::write_m)
+void nes_sunsoft_1_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("Sunsoft 1 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -235,7 +235,7 @@ WRITE8_MEMBER(nes_sunsoft_1_device::write_m)
// there are two 'variants' depending on hardwired or mapper ctrl mirroring
-WRITE8_MEMBER(nes_sunsoft_2_device::write_h)
+void nes_sunsoft_2_device::write_h(offs_t offset, uint8_t data)
{
uint8_t helper = (data & 0x07) | ((data & 0x80) ? 0x08 : 0x00);
LOG_MMC(("Sunsoft 2 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -282,7 +282,7 @@ void nes_sunsoft_3_device::device_timer(emu_timer &timer, device_timer_id id, in
}
}
-WRITE8_MEMBER(nes_sunsoft_3_device::write_h)
+void nes_sunsoft_3_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("Sunsoft 3 write_h, offset %04x, data: %02x\n", offset, data));
@@ -384,7 +384,7 @@ void nes_sunsoft_4_device::sun4_mirror( int mirror, int mirr0, int mirr1 )
}
}
-WRITE8_MEMBER(nes_sunsoft_4_device::sun4_write)
+void nes_sunsoft_4_device::sun4_write(offs_t offset, uint8_t data)
{
LOG_MMC(("Sunsoft 4 write_h, offset %04x, data: %02x\n", offset, data));
@@ -424,7 +424,7 @@ WRITE8_MEMBER(nes_sunsoft_4_device::sun4_write)
}
}
-WRITE8_MEMBER(nes_sunsoft_4_device::write_m)
+void nes_sunsoft_4_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("Sunsoft 4 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -434,7 +434,7 @@ WRITE8_MEMBER(nes_sunsoft_4_device::write_m)
m_prgram[offset & (m_prgram.size() - 1)] = data;
}
-READ8_MEMBER(nes_sunsoft_4_device::read_m)
+uint8_t nes_sunsoft_4_device::read_m(offs_t offset)
{
LOG_MMC(("Sunsoft 4 read_m, offset: %04x\n", offset));
@@ -443,7 +443,7 @@ READ8_MEMBER(nes_sunsoft_4_device::read_m)
if (!m_prgram.empty() && m_wram_enable)
return m_prgram[offset & (m_prgram.size() - 1)];
- return m_open_bus; // open bus
+ return get_open_bus(); // open bus
}
/*-------------------------------------------------
@@ -475,7 +475,7 @@ void nes_sunsoft_fme7_device::device_timer(emu_timer &timer, device_timer_id id,
}
}
-WRITE8_MEMBER(nes_sunsoft_fme7_device::fme7_write)
+void nes_sunsoft_fme7_device::fme7_write(offs_t offset, uint8_t data)
{
LOG_MMC(("fme7_write, offset %04x, data: %02x\n", offset, data));
@@ -533,7 +533,7 @@ WRITE8_MEMBER(nes_sunsoft_fme7_device::fme7_write)
}
}
-WRITE8_MEMBER(nes_sunsoft_fme7_device::write_m)
+void nes_sunsoft_fme7_device::write_m(offs_t offset, uint8_t data)
{
uint8_t bank = m_wram_bank & 0x3f;
LOG_MMC(("Sunsoft FME7 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -549,7 +549,7 @@ WRITE8_MEMBER(nes_sunsoft_fme7_device::write_m)
}
}
-READ8_MEMBER(nes_sunsoft_fme7_device::read_m)
+uint8_t nes_sunsoft_fme7_device::read_m(offs_t offset)
{
uint8_t bank = m_wram_bank & 0x3f;
LOG_MMC(("Sunsoft FME7 read_m, offset: %04x\n", offset));
@@ -564,7 +564,7 @@ READ8_MEMBER(nes_sunsoft_fme7_device::read_m)
return m_prgram[((bank * 0x2000) + offset) & (m_prgram.size() - 1)];
}
- return m_open_bus; // open bus
+ return get_open_bus(); // open bus
}
@@ -578,20 +578,20 @@ READ8_MEMBER(nes_sunsoft_fme7_device::read_m)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_sunsoft_5_device::write_h)
+void nes_sunsoft_5_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("sunsoft 5 write_h, offset %04x, data: %02x\n", offset, data));
switch (offset & 0x6000)
{
case 0x4000:
- m_ym2149->address_w(space, 0, data & 0x0f);
+ m_ym2149->address_w(data & 0x0f);
break;
case 0x6000:
- m_ym2149->data_w(space, 0, data);
+ m_ym2149->data_w(data);
break;
default:
- fme7_write(space, offset, data, mem_mask);
+ fme7_write(offset, data);
break;
}
}
diff --git a/src/devices/bus/nes/sunsoft.h b/src/devices/bus/nes/sunsoft.h
index b4b035d515d..c02b94647cf 100644
--- a/src/devices/bus/nes/sunsoft.h
+++ b/src/devices/bus/nes/sunsoft.h
@@ -17,7 +17,7 @@ public:
// construction/destruction
nes_sunsoft_1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -35,7 +35,7 @@ public:
// construction/destruction
nes_sunsoft_2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -53,7 +53,7 @@ public:
// construction/destruction
nes_sunsoft_3_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -78,10 +78,10 @@ public:
// construction/destruction
nes_sunsoft_4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(sun4_write);
- virtual DECLARE_WRITE8_MEMBER(write_h) override { sun4_write(space, offset, data, mem_mask); }
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ void sun4_write(offs_t offset, uint8_t data);
+ virtual void write_h(offs_t offset, uint8_t data) override { sun4_write(offset, data); }
virtual void pcb_reset() override;
@@ -104,10 +104,10 @@ public:
// construction/destruction
nes_sunsoft_fme7_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(fme7_write);
- virtual DECLARE_WRITE8_MEMBER(write_h) override { fme7_write(space, offset, data, mem_mask); }
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ void fme7_write(offs_t offset, uint8_t data);
+ virtual void write_h(offs_t offset, uint8_t data) override { fme7_write(offset, data); }
virtual void pcb_reset() override;
@@ -138,7 +138,7 @@ public:
// construction/destruction
nes_sunsoft_5_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
protected:
virtual void device_add_mconfig(machine_config &config) override;
diff --git a/src/devices/bus/nes/sunsoft_dcs.cpp b/src/devices/bus/nes/sunsoft_dcs.cpp
index 5df2c6557d2..23c81894666 100644
--- a/src/devices/bus/nes/sunsoft_dcs.cpp
+++ b/src/devices/bus/nes/sunsoft_dcs.cpp
@@ -68,10 +68,10 @@ void nes_ntb_slot_device::device_start()
m_cart = dynamic_cast<ntb_cart_interface *>(get_card_device());
}
-READ8_MEMBER(nes_ntb_slot_device::read)
+uint8_t nes_ntb_slot_device::read(offs_t offset)
{
if (m_cart)
- return m_cart->read(space, offset, mem_mask);
+ return m_cart->read(offset);
return 0xff;
}
@@ -212,7 +212,7 @@ void nes_sunsoft_dcs_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_sunsoft_dcs_device::write_h)
+void nes_sunsoft_dcs_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("Sunsoft DCS write_h, offset %04x, data: %02x\n", offset, data));
@@ -224,27 +224,27 @@ WRITE8_MEMBER(nes_sunsoft_dcs_device::write_h)
m_wram_enable = BIT(data, 4);
break;
default:
- sun4_write(space, offset, data, mem_mask);
+ sun4_write(offset, data);
break;
}
}
-READ8_MEMBER(nes_sunsoft_dcs_device::read_h)
+uint8_t nes_sunsoft_dcs_device::read_h(offs_t offset)
{
LOG_MMC(("Sunsoft DCS read_h, offset: %04x\n", offset));
if (m_exrom_enable && m_subslot->m_cart && offset < 0x4000)
{
if (m_timer_on)
- return m_subslot->m_cart->read(space, offset, mem_mask);
+ return m_subslot->m_cart->read(offset);
else
- return m_open_bus; // after the timer is off, this returns open bus...
+ return get_open_bus(); // after the timer is off, this returns open bus...
}
else
return hi_access_rom(offset);
}
-WRITE8_MEMBER(nes_sunsoft_dcs_device::write_m)
+void nes_sunsoft_dcs_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("Sunsoft DCS write_m, offset: %04x, data: %02x\n", offset, data));
@@ -260,7 +260,7 @@ WRITE8_MEMBER(nes_sunsoft_dcs_device::write_m)
}
}
-READ8_MEMBER(nes_sunsoft_dcs_device::read_m)
+uint8_t nes_sunsoft_dcs_device::read_m(offs_t offset)
{
LOG_MMC(("Sunsoft DCS read_m, offset: %04x\n", offset));
@@ -269,7 +269,7 @@ READ8_MEMBER(nes_sunsoft_dcs_device::read_m)
if (!m_prgram.empty() && m_wram_enable)
return m_prgram[offset & (m_prgram.size() - 1)];
- return m_open_bus; // open bus
+ return get_open_bus(); // open bus
}
@@ -285,9 +285,10 @@ static void ntb_cart(device_slot_interface &device)
// device_add_mconfig - add device configuration
//-------------------------------------------------
-MACHINE_CONFIG_START(nes_sunsoft_dcs_device::device_add_mconfig)
- MCFG_NTB_MINICART_ADD("ntb_slot", ntb_cart)
-MACHINE_CONFIG_END
+void nes_sunsoft_dcs_device::device_add_mconfig(machine_config &config)
+{
+ NES_NTB_SLOT(config, m_subslot, ntb_cart);
+}
//-------------------------------------------------
diff --git a/src/devices/bus/nes/sunsoft_dcs.h b/src/devices/bus/nes/sunsoft_dcs.h
index f14d9f9c8c1..51a11b22ae4 100644
--- a/src/devices/bus/nes/sunsoft_dcs.h
+++ b/src/devices/bus/nes/sunsoft_dcs.h
@@ -24,7 +24,7 @@ public:
virtual ~ntb_cart_interface();
// reading and writing
- virtual DECLARE_READ8_MEMBER(read) { return m_rom[offset]; }
+ virtual uint8_t read(offs_t offset) { return m_rom[offset]; }
uint8_t *get_cart_base() { return m_rom; }
@@ -46,6 +46,16 @@ class nes_ntb_slot_device : public device_t,
friend class nes_sunsoft_dcs_device;
public:
// construction/destruction
+ template <typename T>
+ nes_ntb_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, T &&opts)
+ : nes_ntb_slot_device(mconfig, tag, owner, (uint32_t)0)
+ {
+ option_reset();
+ opts(*this);
+ set_default_option(nullptr);
+ set_fixed(false);
+ }
+
nes_ntb_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
virtual ~nes_ntb_slot_device();
@@ -68,7 +78,7 @@ public:
// slot interface overrides
virtual std::string get_default_card_software(get_default_card_software_hook &hook) const override;
- virtual DECLARE_READ8_MEMBER(read);
+ virtual uint8_t read(offs_t offset);
protected:
ntb_cart_interface* m_cart;
@@ -78,11 +88,6 @@ protected:
DECLARE_DEVICE_TYPE(NES_NTB_SLOT, nes_ntb_slot_device)
-#define MCFG_NTB_MINICART_ADD(_tag, _slot_intf) \
- MCFG_DEVICE_ADD(_tag, NES_NTB_SLOT, 0) \
- MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, nullptr, false)
-
-
//-----------------------------------------------
//
// Nantettate!! Baseball Minicart implementation
@@ -128,10 +133,10 @@ public:
// construction/destruction
nes_sunsoft_dcs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_READ8_MEMBER(read_h) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual uint8_t read_h(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/taito.cpp b/src/devices/bus/nes/taito.cpp
index 2868bfea1dc..28c37b6109c 100644
--- a/src/devices/bus/nes/taito.cpp
+++ b/src/devices/bus/nes/taito.cpp
@@ -172,7 +172,7 @@ void nes_x1_017_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_tc0190fmc_device::tc0190fmc_write)
+void nes_tc0190fmc_device::tc0190fmc_write(offs_t offset, uint8_t data)
{
LOG_MMC(("tc0190fmc_write, offset: %04x, data: %02x\n", offset, data));
@@ -240,7 +240,7 @@ void nes_tc0190fmc_pal16r4_device::hblank_irq( int scanline, int vblank, int bla
}
}
-WRITE8_MEMBER(nes_tc0190fmc_pal16r4_device::write_h)
+void nes_tc0190fmc_pal16r4_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("tc0190fmc pal16r4 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -256,7 +256,7 @@ WRITE8_MEMBER(nes_tc0190fmc_pal16r4_device::write_h)
case 0x2001:
case 0x2002:
case 0x2003:
- tc0190fmc_write(space, offset, data, mem_mask);
+ tc0190fmc_write(offset, data);
break;
case 0x4000:
m_irq_count_latch = (0x100 - data) & 0xff;
@@ -291,7 +291,7 @@ WRITE8_MEMBER(nes_tc0190fmc_pal16r4_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_x1_005_device::write_m)
+void nes_x1_005_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("x1_005 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -355,14 +355,14 @@ WRITE8_MEMBER(nes_x1_005_device::write_m)
m_x1_005_ram[offset & 0x7f] = data;
}
-READ8_MEMBER(nes_x1_005_device::read_m)
+uint8_t nes_x1_005_device::read_m(offs_t offset)
{
LOG_MMC(("x1_005 read_m, offset: %04x\n", offset));
if (offset >= 0x1f00 && m_latch == 0xa3)
return m_x1_005_ram[offset & 0x7f];
- return m_open_bus; // open bus
+ return get_open_bus(); // open bus
}
/*-------------------------------------------------
@@ -399,7 +399,7 @@ void nes_x1_017_device::set_chr()
chr1_x(7 ^ m_latch, m_mmc_vrom_bank[5], CHRROM);
}
-WRITE8_MEMBER(nes_x1_017_device::write_m)
+void nes_x1_017_device::write_m(offs_t offset, uint8_t data)
{
LOG_MMC(("x1017 write_m, offset: %04x, data: %02x\n", offset, data));
@@ -453,7 +453,7 @@ WRITE8_MEMBER(nes_x1_017_device::write_m)
m_x1_017_ram[0x1000 + (offset & 0x3ff)] = data;
}
-READ8_MEMBER(nes_x1_017_device::read_m)
+uint8_t nes_x1_017_device::read_m(offs_t offset)
{
LOG_MMC(("x1017 read_m, offset: %04x\n", offset));
@@ -465,5 +465,5 @@ READ8_MEMBER(nes_x1_017_device::read_m)
if (offset < 0x1400 && m_reg[2] == 0x84)
return m_x1_017_ram[0x1000 + (offset & 0x3ff)];
- return m_open_bus; // open bus
+ return get_open_bus(); // open bus
}
diff --git a/src/devices/bus/nes/taito.h b/src/devices/bus/nes/taito.h
index 8f3ccb2a8ee..b4efa553c86 100644
--- a/src/devices/bus/nes/taito.h
+++ b/src/devices/bus/nes/taito.h
@@ -16,8 +16,8 @@ public:
// construction/destruction
nes_tc0190fmc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(tc0190fmc_write);
- virtual DECLARE_WRITE8_MEMBER(write_h) override { tc0190fmc_write(space, offset, data, mem_mask); }
+ void tc0190fmc_write(offs_t offset, uint8_t data);
+ virtual void write_h(offs_t offset, uint8_t data) override { tc0190fmc_write(offset, data); }
virtual void pcb_reset() override;
@@ -37,7 +37,7 @@ public:
// construction/destruction
nes_tc0190fmc_pal16r4_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -60,8 +60,8 @@ public:
// construction/destruction
nes_x1_005_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -84,8 +84,8 @@ public:
// construction/destruction
nes_x1_017_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_m) override;
- virtual DECLARE_WRITE8_MEMBER(write_m) override;
+ virtual uint8_t read_m(offs_t offset) override;
+ virtual void write_m(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/tengen.cpp b/src/devices/bus/nes/tengen.cpp
index 9cef09434a0..f6228685796 100644
--- a/src/devices/bus/nes/tengen.cpp
+++ b/src/devices/bus/nes/tengen.cpp
@@ -126,7 +126,7 @@ void nes_tengen032_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_tengen008_device::write_h)
+void nes_tengen008_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("tengen008 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -240,7 +240,7 @@ void nes_tengen032_device::set_chr()
chr_cb(7 ^ chr_page, m_mmc_vrom_bank[5], CHRROM);
}
-WRITE8_MEMBER(nes_tengen032_device::tengen032_write)
+void nes_tengen032_device::tengen032_write(offs_t offset, uint8_t data)
{
uint8_t helper, cmd;
LOG_MMC(("tengen032_write, offset: %04x, data: %02x\n", offset, data));
@@ -359,7 +359,7 @@ void nes_tengen037_device::chr_cb( int start, int bank, int source )
}
-WRITE8_MEMBER(nes_tengen037_device::write_h)
+void nes_tengen037_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("tengen037 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -369,7 +369,7 @@ WRITE8_MEMBER(nes_tengen037_device::write_h)
break;
default:
- tengen032_write(space, offset, data, mem_mask);
+ tengen032_write(offset, data);
break;
}
}
diff --git a/src/devices/bus/nes/tengen.h b/src/devices/bus/nes/tengen.h
index dce41f4fbb4..6d651339f86 100644
--- a/src/devices/bus/nes/tengen.h
+++ b/src/devices/bus/nes/tengen.h
@@ -14,7 +14,7 @@ public:
// construction/destruction
nes_tengen008_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -32,8 +32,8 @@ public:
// construction/destruction
nes_tengen032_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(tengen032_write);
- virtual DECLARE_WRITE8_MEMBER(write_h) override { tengen032_write(space, offset, data, mem_mask); }
+ void tengen032_write(offs_t offset, uint8_t data);
+ virtual void write_h(offs_t offset, uint8_t data) override { tengen032_write(offset, data); }
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -74,7 +74,7 @@ public:
nes_tengen037_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void chr_cb(int start, int bank, int source) override;
protected:
diff --git a/src/devices/bus/nes/txc.cpp b/src/devices/bus/nes/txc.cpp
index f3ab8efc5f9..4149c6262a3 100644
--- a/src/devices/bus/nes/txc.cpp
+++ b/src/devices/bus/nes/txc.cpp
@@ -139,7 +139,7 @@ void nes_txc_commandos_device::pcb_reset()
-------------------------------------------------*/
-WRITE8_MEMBER(nes_txc_22211_device::write_l)
+void nes_txc_22211_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("TXC 22111 write_l, offset: %04x, data: %02x\n", offset, data));
@@ -147,7 +147,7 @@ WRITE8_MEMBER(nes_txc_22211_device::write_l)
m_reg[offset & 0x03] = data;
}
-READ8_MEMBER(nes_txc_22211_device::read_l)
+uint8_t nes_txc_22211_device::read_l(offs_t offset)
{
LOG_MMC(("TXC 22111 read_l, offset: %04x\n", offset));
@@ -157,7 +157,7 @@ READ8_MEMBER(nes_txc_22211_device::read_l)
return 0x00;
}
-WRITE8_MEMBER(nes_txc_22211_device::write_h)
+void nes_txc_22211_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("TXC 22111 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -180,7 +180,7 @@ WRITE8_MEMBER(nes_txc_22211_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_txc_dumarc_device::write_h)
+void nes_txc_dumarc_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("TXC Du Ma Racing write_h, offset: %04x, data: %02x\n", offset, data));
@@ -203,7 +203,7 @@ WRITE8_MEMBER(nes_txc_dumarc_device::write_h)
-------------------------------------------------*/
-READ8_MEMBER(nes_txc_mjblock_device::read_l)
+uint8_t nes_txc_mjblock_device::read_l(offs_t offset)
{
LOG_MMC(("TXC mjblock read_l, offset: %04x\n", offset));
@@ -226,7 +226,7 @@ READ8_MEMBER(nes_txc_mjblock_device::read_l)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_txc_strikew_device::write_h)
+void nes_txc_strikew_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("TXC Strike Wolf write_h, offset: %04x, data: %02x\n", offset, data));
@@ -256,12 +256,12 @@ WRITE8_MEMBER(nes_txc_strikew_device::write_h)
-------------------------------------------------*/
-READ8_MEMBER(nes_txc_commandos_device::read_l)
+uint8_t nes_txc_commandos_device::read_l(offs_t offset)
{
return 0x50;
}
-WRITE8_MEMBER(nes_txc_commandos_device::write_h)
+void nes_txc_commandos_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("TXC Commandos write_h, offset: %04x, data: %02x\n", offset, data));
diff --git a/src/devices/bus/nes/txc.h b/src/devices/bus/nes/txc.h
index f4b875b51ba..9ad5e2807dc 100644
--- a/src/devices/bus/nes/txc.h
+++ b/src/devices/bus/nes/txc.h
@@ -16,9 +16,9 @@ public:
// construction/destruction
nes_txc_22211_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -41,7 +41,7 @@ public:
nes_txc_dumarc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
};
@@ -54,7 +54,7 @@ public:
nes_txc_mjblock_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_READ8_MEMBER(read_l) override;
+ virtual uint8_t read_l(offs_t offset) override;
};
@@ -66,7 +66,7 @@ public:
// construction/destruction
nes_txc_strikew_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -84,8 +84,8 @@ public:
// construction/destruction
nes_txc_commandos_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/waixing.cpp b/src/devices/bus/nes/waixing.cpp
index 791779f0a76..3706d64b26e 100644
--- a/src/devices/bus/nes/waixing.cpp
+++ b/src/devices/bus/nes/waixing.cpp
@@ -433,7 +433,7 @@ void nes_waixing_a1_device::chr_cb(int start, int bank, int source)
chr1_x(start, bank, chr_src);
}
-WRITE8_MEMBER(nes_waixing_a_device::waixing_write)
+void nes_waixing_a_device::waixing_write(offs_t offset, uint8_t data)
{
LOG_MMC(("waixing_write, offset: %04x, data: %02x\n", offset, data));
@@ -447,12 +447,12 @@ WRITE8_MEMBER(nes_waixing_a_device::waixing_write)
break;
default:
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
break;
}
}
-READ8_MEMBER(nes_waixing_a_device::read_l)
+uint8_t nes_waixing_a_device::read_l(offs_t offset)
{
LOG_MMC(("waixing read_l, offset: %04x\n", offset));
offset += 0x100;
@@ -462,7 +462,7 @@ READ8_MEMBER(nes_waixing_a_device::read_l)
return 0xff;
}
-WRITE8_MEMBER(nes_waixing_a_device::write_l)
+void nes_waixing_a_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("waixing write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -597,7 +597,7 @@ void nes_waixing_f_device::set_prg( int prg_base, int prg_mask )
prg_cb(3, m_mmc_prg_bank[3]);
}
-WRITE8_MEMBER(nes_waixing_f_device::write_h)
+void nes_waixing_f_device::write_h(offs_t offset, uint8_t data)
{
uint8_t cmd;
LOG_MMC(("waixing_f write_h, offset: %04x, data: %02x\n", offset, data));
@@ -628,7 +628,7 @@ WRITE8_MEMBER(nes_waixing_f_device::write_h)
break;
default:
- waixing_write(space, offset, data, mem_mask);
+ waixing_write(offset, data);
break;
}
}
@@ -668,7 +668,7 @@ void nes_waixing_g_device::set_chr(uint8_t chr, int chr_base, int chr_mask)
chr_cb(chr_page ^ 7, chr_base | (m_mmc_vrom_bank[5] & chr_mask), chr);
}
-WRITE8_MEMBER(nes_waixing_g_device::write_h)
+void nes_waixing_g_device::write_h(offs_t offset, uint8_t data)
{
uint8_t cmd;
LOG_MMC(("waixing_g write_h, offset: %04x, data: %02x\n", offset, data));
@@ -699,7 +699,7 @@ WRITE8_MEMBER(nes_waixing_g_device::write_h)
break;
default:
- waixing_write(space, offset, data, mem_mask);
+ waixing_write(offset, data);
break;
}
}
@@ -731,7 +731,7 @@ void nes_waixing_h_device::chr_cb(int start, int bank, int source)
chr1_x(start, bank, source);
}
-WRITE8_MEMBER(nes_waixing_h_device::write_h)
+void nes_waixing_h_device::write_h(offs_t offset, uint8_t data)
{
uint8_t cmd;
LOG_MMC(("waixing_h write_h, offset: %04x, data: %02x\n", offset, data));
@@ -767,12 +767,12 @@ WRITE8_MEMBER(nes_waixing_h_device::write_h)
break;
default:
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
break;
}
}
-WRITE8_MEMBER(nes_waixing_h1_device::write_h)
+void nes_waixing_h1_device::write_h(offs_t offset, uint8_t data)
{
uint8_t cmd;
LOG_MMC(("waixing_h1 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -805,7 +805,7 @@ WRITE8_MEMBER(nes_waixing_h1_device::write_h)
break;
default:
- txrom_write(space, offset, data, mem_mask);
+ txrom_write(offset, data);
break;
}
}
@@ -832,7 +832,7 @@ void nes_waixing_j_device::set_prg( int prg_base, int prg_mask )
prg_cb(3, m_reg[3]);
}
-WRITE8_MEMBER(nes_waixing_j_device::write_h)
+void nes_waixing_j_device::write_h(offs_t offset, uint8_t data)
{
uint8_t cmd;
LOG_MMC(("waixing_f write_h, offset: %04x, data: %02x\n", offset, data));
@@ -862,7 +862,7 @@ WRITE8_MEMBER(nes_waixing_j_device::write_h)
// break;
default:
- waixing_write(space, offset, data, mem_mask);
+ waixing_write(offset, data);
break;
}
}
@@ -887,7 +887,7 @@ void nes_waixing_sh2_device::chr_cb(int start, int bank, int source)
chr4_4(m_reg[1], m_reg[1] ? CHRRAM : CHRROM);
}
-READ8_MEMBER(nes_waixing_sh2_device::chr_r)
+uint8_t nes_waixing_sh2_device::chr_r(offs_t offset)
{
int bank = offset >> 10;
uint8_t val = m_chr_access[bank][offset & 0x3ff]; // this would be usual return value
@@ -940,7 +940,7 @@ void nes_waixing_sec_device::chr_cb(int start, int bank, int source)
chr1_x(start, bank, source);
}
-WRITE8_MEMBER(nes_waixing_sec_device::write_l)
+void nes_waixing_sec_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("waixing_sec write_l, offset: %04x, data: %02x\n", offset, data));
offset += 0x100;
@@ -979,7 +979,7 @@ void nes_waixing_sgz_device::hblank_irq(int scanline, int vblank, int blanked)
}
}
-WRITE8_MEMBER(nes_waixing_sgz_device::write_h)
+void nes_waixing_sgz_device::write_h(offs_t offset, uint8_t data)
{
uint8_t helper, bank;
LOG_MMC(("waixing_sgz write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1047,7 +1047,7 @@ WRITE8_MEMBER(nes_waixing_sgz_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_waixing_sgzlz_device::write_l)
+void nes_waixing_sgzlz_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("waixing_sgzlz write_l, offset: %04x, data: %02x\n", offset, data));
if (offset >= 0x700 && offset <= 0xEFF)
@@ -1112,7 +1112,7 @@ WRITE8_MEMBER(nes_waixing_sgzlz_device::write_l)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_waixing_ffv_device::write_l)
+void nes_waixing_ffv_device::write_l(offs_t offset, uint8_t data)
{
uint8_t helper;
LOG_MMC(("waixing_ffv write_l, offset: %04x, data: %02x\n", offset, data));
@@ -1161,7 +1161,7 @@ WRITE8_MEMBER(nes_waixing_ffv_device::write_l)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_waixing_wxzs_device::write_h)
+void nes_waixing_wxzs_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("waixing_zs write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1191,7 +1191,7 @@ WRITE8_MEMBER(nes_waixing_wxzs_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_waixing_dq8_device::write_h)
+void nes_waixing_dq8_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC(("waixing_dq8 write_h, offset: %04x, data: %02x\n", offset, data));
@@ -1212,7 +1212,7 @@ WRITE8_MEMBER(nes_waixing_dq8_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_waixing_wxzs2_device::write_h)
+void nes_waixing_wxzs2_device::write_h(offs_t offset, uint8_t data)
{
uint8_t flip = (data & 0x80) >> 7;
uint8_t helper = (data & 0x7f) << 1;
@@ -1265,7 +1265,7 @@ WRITE8_MEMBER(nes_waixing_wxzs2_device::write_h)
-------------------------------------------------*/
-WRITE8_MEMBER(nes_waixing_fs304_device::write_l)
+void nes_waixing_fs304_device::write_l(offs_t offset, uint8_t data)
{
LOG_MMC(("fs304 write_l, offset: %04x, data: %02x\n", offset, data));
int bank;
diff --git a/src/devices/bus/nes/waixing.h b/src/devices/bus/nes/waixing.h
index 5488973a14c..bb6fcaf831a 100644
--- a/src/devices/bus/nes/waixing.h
+++ b/src/devices/bus/nes/waixing.h
@@ -16,10 +16,10 @@ public:
// construction/destruction
nes_waixing_a_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_READ8_MEMBER(read_l) override;
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
- virtual DECLARE_WRITE8_MEMBER(waixing_write);
- virtual DECLARE_WRITE8_MEMBER(write_h) override { waixing_write(space, offset, data, mem_mask); }
+ virtual uint8_t read_l(offs_t offset) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
+ virtual void waixing_write(offs_t offset, uint8_t data);
+ virtual void write_h(offs_t offset, uint8_t data) override { waixing_write(offset, data); }
virtual void chr_cb(int start, int bank, int source) override;
virtual void pcb_reset() override;
@@ -109,7 +109,7 @@ public:
nes_waixing_f_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -129,7 +129,7 @@ public:
nes_waixing_g_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void chr_cb(int start, int bank, int source) override;
virtual void pcb_reset() override;
@@ -155,7 +155,7 @@ protected:
nes_waixing_h_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
};
@@ -168,7 +168,7 @@ public:
nes_waixing_h1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// device-level overrides
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
// This variant does not ignore the wram protect!
};
@@ -194,7 +194,7 @@ public:
// construction/destruction
nes_waixing_j_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -217,7 +217,7 @@ public:
// device-level overrides
virtual void device_start() override;
- virtual DECLARE_READ8_MEMBER(chr_r) override;
+ virtual uint8_t chr_r(offs_t offset) override;
virtual void chr_cb(int start, int bank, int source) override;
virtual void pcb_reset() override;
@@ -235,7 +235,7 @@ public:
// construction/destruction
nes_waixing_sec_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void prg_cb(int start, int bank) override;
virtual void chr_cb(int start, int bank, int source) override;
@@ -257,7 +257,7 @@ public:
// construction/destruction
nes_waixing_sgz_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void hblank_irq(int scanline, int vblank, int blanked) override;
virtual void pcb_reset() override;
@@ -281,7 +281,7 @@ public:
// construction/destruction
nes_waixing_sgzlz_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -301,7 +301,7 @@ public:
// construction/destruction
nes_waixing_ffv_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -321,7 +321,7 @@ public:
// construction/destruction
nes_waixing_wxzs_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -339,7 +339,7 @@ public:
// construction/destruction
nes_waixing_dq8_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -357,7 +357,7 @@ public:
// construction/destruction
nes_waixing_wxzs2_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
@@ -375,7 +375,7 @@ public:
// construction/destruction
nes_waixing_fs304_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- virtual DECLARE_WRITE8_MEMBER(write_l) override;
+ virtual void write_l(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
diff --git a/src/devices/bus/nes/zemina.cpp b/src/devices/bus/nes/zemina.cpp
index bb4b3b61bc0..22741967572 100644
--- a/src/devices/bus/nes/zemina.cpp
+++ b/src/devices/bus/nes/zemina.cpp
@@ -80,7 +80,7 @@ void nes_zemina_device::pcb_reset()
write
-------------------------------------------------*/
-WRITE8_MEMBER(nes_zemina_device::write_h)
+void nes_zemina_device::write_h(offs_t offset, uint8_t data)
{
LOG_MMC("zemina write_h, offset: %04x, data: %02x\n", offset, data);
diff --git a/src/devices/bus/nes/zemina.h b/src/devices/bus/nes/zemina.h
index 87d170d053d..752c7f1382d 100644
--- a/src/devices/bus/nes/zemina.h
+++ b/src/devices/bus/nes/zemina.h
@@ -20,7 +20,7 @@ public:
// device-level overrides
virtual void device_start() override;
- virtual DECLARE_WRITE8_MEMBER(write_h) override;
+ virtual void write_h(offs_t offset, uint8_t data) override;
virtual void pcb_reset() override;
};