From 7a8a8cc5dbe6e1595b370f090d3477a9900c62a7 Mon Sep 17 00:00:00 2001 From: AJR Date: Mon, 25 Feb 2019 19:16:06 -0500 Subject: bus/nes, vrc6: Simplify read/write handlers; misc. minor changes (nw) - Hide m_open_bus behind accessor - De-virtualize a few methods without actual overrides --- src/devices/bus/nes/2a03pur.cpp | 4 +- src/devices/bus/nes/2a03pur.h | 4 +- src/devices/bus/nes/act53.cpp | 4 +- src/devices/bus/nes/act53.h | 4 +- src/devices/bus/nes/aladdin.cpp | 14 +-- src/devices/bus/nes/aladdin.h | 8 +- src/devices/bus/nes/ave.cpp | 6 +- src/devices/bus/nes/ave.h | 6 +- src/devices/bus/nes/bandai.cpp | 26 ++--- src/devices/bus/nes/bandai.h | 22 ++-- src/devices/bus/nes/benshieng.cpp | 2 +- src/devices/bus/nes/benshieng.h | 2 +- src/devices/bus/nes/bootleg.cpp | 98 ++++++++--------- src/devices/bus/nes/bootleg.h | 98 ++++++++--------- src/devices/bus/nes/camerica.cpp | 6 +- src/devices/bus/nes/camerica.h | 8 +- src/devices/bus/nes/cne.cpp | 8 +- src/devices/bus/nes/cne.h | 8 +- src/devices/bus/nes/cony.cpp | 12 +-- src/devices/bus/nes/cony.h | 12 +-- src/devices/bus/nes/datach.cpp | 18 ++-- src/devices/bus/nes/datach.h | 10 +- src/devices/bus/nes/discrete.cpp | 8 +- src/devices/bus/nes/discrete.h | 8 +- src/devices/bus/nes/disksys.cpp | 12 +-- src/devices/bus/nes/disksys.h | 12 +-- src/devices/bus/nes/ggenie.cpp | 38 +++---- src/devices/bus/nes/ggenie.h | 22 ++-- src/devices/bus/nes/henggedianzi.cpp | 8 +- src/devices/bus/nes/henggedianzi.h | 8 +- src/devices/bus/nes/hes.cpp | 2 +- src/devices/bus/nes/hes.h | 2 +- src/devices/bus/nes/hosenkan.cpp | 2 +- src/devices/bus/nes/hosenkan.h | 2 +- src/devices/bus/nes/irem.cpp | 10 +- src/devices/bus/nes/irem.h | 10 +- src/devices/bus/nes/jaleco.cpp | 22 ++-- src/devices/bus/nes/jaleco.h | 28 ++--- src/devices/bus/nes/jy.cpp | 20 ++-- src/devices/bus/nes/jy.h | 14 +-- src/devices/bus/nes/kaiser.cpp | 48 ++++----- src/devices/bus/nes/kaiser.h | 46 ++++---- src/devices/bus/nes/karastudio.cpp | 16 +-- src/devices/bus/nes/karastudio.h | 10 +- src/devices/bus/nes/konami.cpp | 24 ++--- src/devices/bus/nes/konami.h | 16 +-- src/devices/bus/nes/legacy.cpp | 12 +-- src/devices/bus/nes/legacy.h | 14 +-- src/devices/bus/nes/mmc1.cpp | 24 ++--- src/devices/bus/nes/mmc1.h | 18 ++-- src/devices/bus/nes/mmc2.cpp | 6 +- src/devices/bus/nes/mmc2.h | 6 +- src/devices/bus/nes/mmc3.cpp | 28 ++--- src/devices/bus/nes/mmc3.h | 20 ++-- src/devices/bus/nes/mmc3_clones.cpp | 202 +++++++++++++++++------------------ src/devices/bus/nes/mmc3_clones.h | 112 +++++++++---------- src/devices/bus/nes/mmc5.cpp | 24 ++--- src/devices/bus/nes/mmc5.h | 20 ++-- src/devices/bus/nes/multigame.cpp | 128 +++++++++++----------- src/devices/bus/nes/multigame.h | 122 ++++++++++----------- src/devices/bus/nes/namcot.cpp | 44 ++++---- src/devices/bus/nes/namcot.h | 40 +++---- src/devices/bus/nes/nanjing.cpp | 4 +- src/devices/bus/nes/nanjing.h | 4 +- src/devices/bus/nes/nes_slot.cpp | 63 ++++++----- src/devices/bus/nes/nes_slot.h | 46 ++++---- src/devices/bus/nes/ntdec.cpp | 4 +- src/devices/bus/nes/ntdec.h | 4 +- src/devices/bus/nes/nxrom.cpp | 35 +++--- src/devices/bus/nes/nxrom.h | 28 ++--- src/devices/bus/nes/pirate.cpp | 48 ++++----- src/devices/bus/nes/pirate.h | 46 ++++---- src/devices/bus/nes/pt554.cpp | 2 +- src/devices/bus/nes/pt554.h | 2 +- src/devices/bus/nes/racermate.cpp | 2 +- src/devices/bus/nes/racermate.h | 2 +- src/devices/bus/nes/rcm.cpp | 12 +-- src/devices/bus/nes/rcm.h | 14 +-- src/devices/bus/nes/rexsoft.cpp | 8 +- src/devices/bus/nes/rexsoft.h | 10 +- src/devices/bus/nes/sachen.cpp | 26 ++--- src/devices/bus/nes/sachen.h | 34 +++--- src/devices/bus/nes/somari.cpp | 16 +-- src/devices/bus/nes/somari.h | 12 +-- src/devices/bus/nes/subor.cpp | 12 +-- src/devices/bus/nes/subor.h | 10 +- src/devices/bus/nes/sunsoft.cpp | 26 ++--- src/devices/bus/nes/sunsoft.h | 24 ++--- src/devices/bus/nes/sunsoft_dcs.cpp | 20 ++-- src/devices/bus/nes/sunsoft_dcs.h | 12 +-- src/devices/bus/nes/taito.cpp | 18 ++-- src/devices/bus/nes/taito.h | 14 +-- src/devices/bus/nes/tengen.cpp | 8 +- src/devices/bus/nes/tengen.h | 8 +- src/devices/bus/nes/txc.cpp | 16 +-- src/devices/bus/nes/txc.h | 16 +-- src/devices/bus/nes/waixing.cpp | 46 ++++---- src/devices/bus/nes/waixing.h | 36 +++---- src/devices/bus/nes/zemina.cpp | 2 +- src/devices/bus/nes/zemina.h | 2 +- src/devices/sound/vrc6.cpp | 2 +- src/devices/sound/vrc6.h | 2 +- src/mame/drivers/nes.cpp | 20 ++-- src/mame/machine/nes.cpp | 22 ++-- 104 files changed, 1168 insertions(+), 1158 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 4c8a6690be6..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(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); diff --git a/src/devices/bus/nes/aladdin.h b/src/devices/bus/nes/aladdin.h index 1f00d49ba47..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; } @@ -82,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: @@ -160,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 89f8009c0b5..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) @@ -430,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)); @@ -460,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 b95f03cfb84..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(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; } @@ -284,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; @@ -301,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)); @@ -353,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; } } diff --git a/src/devices/bus/nes/datach.h b/src/devices/bus/nes/datach.h index e1b14b01aa8..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; } @@ -83,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: @@ -152,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 32a364aa9e4..71101492822 100644 --- a/src/devices/bus/nes/disksys.cpp +++ b/src/devices/bus/nes/disksys.cpp @@ -173,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)); @@ -181,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)); @@ -191,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]; @@ -209,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)); @@ -281,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 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 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 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 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 0e076b8091c..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(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) diff --git a/src/devices/bus/nes/karastudio.h b/src/devices/bus/nes/karastudio.h index 4932c8b9426..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; } @@ -78,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: @@ -135,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 2963336f92e..e979132223d 100644 --- a/src/devices/bus/nes/konami.cpp +++ b/src/devices/bus/nes/konami.cpp @@ -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: @@ -659,7 +659,7 @@ void nes_konami_vrc6_device::device_add_mconfig(machine_config &config) -------------------------------------------------*/ -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)); diff --git a/src/devices/bus/nes/konami.h b/src/devices/bus/nes/konami.h index db269170f53..ed8d0caea3c 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; 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 260d59d4ead..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(); } 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 3ce39de4295..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,7 +578,7 @@ 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)); @@ -591,7 +591,7 @@ WRITE8_MEMBER(nes_sunsoft_5_device::write_h) 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 b4faf0afcc9..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(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 } diff --git a/src/devices/bus/nes/sunsoft_dcs.h b/src/devices/bus/nes/sunsoft_dcs.h index 9971b8c48bd..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; } @@ -78,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; @@ -133,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; }; diff --git a/src/devices/sound/vrc6.cpp b/src/devices/sound/vrc6.cpp index e632cce1cdb..29729fc9fcc 100644 --- a/src/devices/sound/vrc6.cpp +++ b/src/devices/sound/vrc6.cpp @@ -218,7 +218,7 @@ void vrc6snd_device::sound_stream_update(sound_stream &stream, stream_sample_t * // write - write to the chip's registers //--------------------------------------- -WRITE8_MEMBER( vrc6snd_device::write ) +void vrc6snd_device::write(offs_t offset, uint8_t data) { switch (offset >> 8) { diff --git a/src/devices/sound/vrc6.h b/src/devices/sound/vrc6.h index dbcd5152c3b..a24d34a90c4 100644 --- a/src/devices/sound/vrc6.h +++ b/src/devices/sound/vrc6.h @@ -24,7 +24,7 @@ public: // construction/destruction vrc6snd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - DECLARE_WRITE8_MEMBER(write); + void write(offs_t offset, uint8_t data); protected: // device-level overrides diff --git a/src/mame/drivers/nes.cpp b/src/mame/drivers/nes.cpp index 34acda1dcef..090834d40db 100644 --- a/src/mame/drivers/nes.cpp +++ b/src/mame/drivers/nes.cpp @@ -165,21 +165,21 @@ void nes_state::setup_disk(nes_disksys_device *slot) address_space &space = m_maincpu->space(AS_PROGRAM); // Set up memory handlers - space.install_read_handler(0x4020, 0x40ff, read8_delegate(FUNC(nes_disksys_device::read_ex), (nes_disksys_device *)slot)); - space.install_write_handler(0x4020, 0x40ff, write8_delegate(FUNC(nes_disksys_device::write_ex), (nes_disksys_device *)slot)); - space.install_read_handler(0x4100, 0x5fff, read8_delegate(FUNC(device_nes_cart_interface::read_l), (device_nes_cart_interface *)slot)); - space.install_write_handler(0x4100, 0x5fff, write8_delegate(FUNC(device_nes_cart_interface::write_l), (device_nes_cart_interface *)slot)); - space.install_read_handler(0x6000, 0x7fff, read8_delegate(FUNC(nes_disksys_device::read_m), (nes_disksys_device *)slot)); - space.install_write_handler(0x6000, 0x7fff, write8_delegate(FUNC(nes_disksys_device::write_m), (nes_disksys_device *)slot)); - space.install_read_handler(0x8000, 0xffff, read8_delegate(FUNC(nes_disksys_device::read_h), (nes_disksys_device *)slot)); - space.install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(nes_disksys_device::write_h), (nes_disksys_device *)slot)); + space.install_read_handler(0x4020, 0x40ff, read8sm_delegate(FUNC(nes_disksys_device::read_ex), (nes_disksys_device *)slot)); + space.install_write_handler(0x4020, 0x40ff, write8sm_delegate(FUNC(nes_disksys_device::write_ex), (nes_disksys_device *)slot)); + space.install_read_handler(0x4100, 0x5fff, read8sm_delegate(FUNC(device_nes_cart_interface::read_l), (device_nes_cart_interface *)slot)); + space.install_write_handler(0x4100, 0x5fff, write8sm_delegate(FUNC(device_nes_cart_interface::write_l), (device_nes_cart_interface *)slot)); + space.install_read_handler(0x6000, 0x7fff, read8sm_delegate(FUNC(nes_disksys_device::read_m), (nes_disksys_device *)slot)); + space.install_write_handler(0x6000, 0x7fff, write8sm_delegate(FUNC(nes_disksys_device::write_m), (nes_disksys_device *)slot)); + space.install_read_handler(0x8000, 0xffff, read8sm_delegate(FUNC(nes_disksys_device::read_h), (nes_disksys_device *)slot)); + space.install_write_handler(0x8000, 0xffff, write8sm_delegate(FUNC(nes_disksys_device::write_h), (nes_disksys_device *)slot)); slot->vram_alloc(0x2000); slot->prgram_alloc(0x8000); slot->pcb_start(machine(), m_ciram.get(), false); - m_ppu->space(AS_PROGRAM).install_readwrite_handler(0, 0x1fff, read8_delegate(FUNC(device_nes_cart_interface::chr_r),(device_nes_cart_interface *)slot), write8_delegate(FUNC(device_nes_cart_interface::chr_w),(device_nes_cart_interface *)slot)); - m_ppu->space(AS_PROGRAM).install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(device_nes_cart_interface::nt_r),(device_nes_cart_interface *)slot), write8_delegate(FUNC(device_nes_cart_interface::nt_w),(device_nes_cart_interface *)slot)); + m_ppu->space(AS_PROGRAM).install_readwrite_handler(0, 0x1fff, read8sm_delegate(FUNC(device_nes_cart_interface::chr_r),(device_nes_cart_interface *)slot), write8sm_delegate(FUNC(device_nes_cart_interface::chr_w),(device_nes_cart_interface *)slot)); + m_ppu->space(AS_PROGRAM).install_readwrite_handler(0x2000, 0x3eff, read8sm_delegate(FUNC(device_nes_cart_interface::nt_r),(device_nes_cart_interface *)slot), write8sm_delegate(FUNC(device_nes_cart_interface::nt_w),(device_nes_cart_interface *)slot)); m_ppu->set_scanline_callback(ppu2c0x_device::scanline_delegate(FUNC(device_nes_cart_interface::scanline_irq),(device_nes_cart_interface *)slot)); m_ppu->set_hblank_callback(ppu2c0x_device::hblank_delegate(FUNC(nes_disksys_device::hblank_irq),(nes_disksys_device *)slot)); m_ppu->set_latch(ppu2c0x_device::latch_delegate(FUNC(device_nes_cart_interface::ppu_latch),(device_nes_cart_interface *)slot)); diff --git a/src/mame/machine/nes.cpp b/src/mame/machine/nes.cpp index 9adc870ed8e..7b15384293e 100644 --- a/src/mame/machine/nes.cpp +++ b/src/mame/machine/nes.cpp @@ -55,18 +55,18 @@ void nes_state::machine_start() if (m_cartslot && m_cartslot->m_cart) { // Set up memory handlers - space.install_read_handler(0x4100, 0x5fff, read8_delegate(FUNC(nes_cart_slot_device::read_l), (nes_cart_slot_device *)m_cartslot)); - space.install_write_handler(0x4100, 0x5fff, write8_delegate(FUNC(nes_cart_slot_device::write_l), (nes_cart_slot_device *)m_cartslot)); - space.install_read_handler(0x6000, 0x7fff, read8_delegate(FUNC(nes_cart_slot_device::read_m), (nes_cart_slot_device *)m_cartslot)); - space.install_write_handler(0x6000, 0x7fff, write8_delegate(FUNC(nes_cart_slot_device::write_m), (nes_cart_slot_device *)m_cartslot)); + space.install_read_handler(0x4100, 0x5fff, read8sm_delegate(FUNC(nes_cart_slot_device::read_l), (nes_cart_slot_device *)m_cartslot)); + space.install_write_handler(0x4100, 0x5fff, write8sm_delegate(FUNC(nes_cart_slot_device::write_l), (nes_cart_slot_device *)m_cartslot)); + space.install_read_handler(0x6000, 0x7fff, read8sm_delegate(FUNC(nes_cart_slot_device::read_m), (nes_cart_slot_device *)m_cartslot)); + space.install_write_handler(0x6000, 0x7fff, write8sm_delegate(FUNC(nes_cart_slot_device::write_m), (nes_cart_slot_device *)m_cartslot)); space.install_read_bank(0x8000, 0x9fff, "prg0"); space.install_read_bank(0xa000, 0xbfff, "prg1"); space.install_read_bank(0xc000, 0xdfff, "prg2"); space.install_read_bank(0xe000, 0xffff, "prg3"); - space.install_write_handler(0x8000, 0xffff, write8_delegate(FUNC(nes_cart_slot_device::write_h), (nes_cart_slot_device *)m_cartslot)); + space.install_write_handler(0x8000, 0xffff, write8sm_delegate(FUNC(nes_cart_slot_device::write_h), (nes_cart_slot_device *)m_cartslot)); - m_ppu->space(AS_PROGRAM).install_readwrite_handler(0, 0x1fff, read8_delegate(FUNC(device_nes_cart_interface::chr_r),m_cartslot->m_cart), write8_delegate(FUNC(device_nes_cart_interface::chr_w),m_cartslot->m_cart)); - m_ppu->space(AS_PROGRAM).install_readwrite_handler(0x2000, 0x3eff, read8_delegate(FUNC(device_nes_cart_interface::nt_r),m_cartslot->m_cart), write8_delegate(FUNC(device_nes_cart_interface::nt_w),m_cartslot->m_cart)); + m_ppu->space(AS_PROGRAM).install_readwrite_handler(0, 0x1fff, read8sm_delegate(FUNC(device_nes_cart_interface::chr_r),m_cartslot->m_cart), write8sm_delegate(FUNC(device_nes_cart_interface::chr_w),m_cartslot->m_cart)); + m_ppu->space(AS_PROGRAM).install_readwrite_handler(0x2000, 0x3eff, read8sm_delegate(FUNC(device_nes_cart_interface::nt_r),m_cartslot->m_cart), write8sm_delegate(FUNC(device_nes_cart_interface::nt_w),m_cartslot->m_cart)); m_ppu->set_scanline_callback(ppu2c0x_device::scanline_delegate(FUNC(device_nes_cart_interface::scanline_irq),m_cartslot->m_cart)); m_ppu->set_hblank_callback(ppu2c0x_device::hblank_delegate(FUNC(device_nes_cart_interface::hblank_irq),m_cartslot->m_cart)); m_ppu->set_latch(ppu2c0x_device::latch_delegate(FUNC(device_nes_cart_interface::ppu_latch),m_cartslot->m_cart)); @@ -82,20 +82,20 @@ void nes_state::machine_start() || m_cartslot->get_pcb_id() == BMC_70IN1 || m_cartslot->get_pcb_id() == BMC_800IN1) { logerror("read_h installed!\n"); - space.install_read_handler(0x8000, 0xffff, read8_delegate(FUNC(nes_cart_slot_device::read_h), (nes_cart_slot_device *)m_cartslot)); + space.install_read_handler(0x8000, 0xffff, read8sm_delegate(FUNC(nes_cart_slot_device::read_h), (nes_cart_slot_device *)m_cartslot)); } if (m_cartslot->get_pcb_id() == BTL_SMB2JB || m_cartslot->get_pcb_id() == UNL_AC08 || m_cartslot->get_pcb_id() == UNL_SMB2J || m_cartslot->get_pcb_id() == BTL_09034A) { logerror("write_ex installed!\n"); - space.install_write_handler(0x4020, 0x40ff, write8_delegate(FUNC(nes_cart_slot_device::write_ex), (nes_cart_slot_device *)m_cartslot)); + space.install_write_handler(0x4020, 0x40ff, write8sm_delegate(FUNC(nes_cart_slot_device::write_ex), (nes_cart_slot_device *)m_cartslot)); } if (m_cartslot->get_pcb_id() == KAISER_KS7017 || m_cartslot->get_pcb_id() == UNL_603_5052 || m_cartslot->get_pcb_id() == STD_DISKSYS) { logerror("write_ex & read_ex installed!\n"); - space.install_read_handler(0x4020, 0x40ff, read8_delegate(FUNC(nes_cart_slot_device::read_ex), (nes_cart_slot_device *)m_cartslot)); - space.install_write_handler(0x4020, 0x40ff, write8_delegate(FUNC(nes_cart_slot_device::write_ex), (nes_cart_slot_device *)m_cartslot)); + space.install_read_handler(0x4020, 0x40ff, read8sm_delegate(FUNC(nes_cart_slot_device::read_ex), (nes_cart_slot_device *)m_cartslot)); + space.install_write_handler(0x4020, 0x40ff, write8sm_delegate(FUNC(nes_cart_slot_device::write_ex), (nes_cart_slot_device *)m_cartslot)); } m_cartslot->pcb_start(m_ciram.get()); -- cgit v1.2.3