From 92498df199420f5791ea331a51335f2c8933d917 Mon Sep 17 00:00:00 2001 From: Olivier Galibert Date: Wed, 8 Mar 2017 17:39:09 +0100 Subject: a2600: Remove direct update handler [O. Galibert] --- src/devices/bus/vcs/dpc.cpp | 14 +------------- src/devices/bus/vcs/dpc.h | 1 - src/devices/bus/vcs/rom.cpp | 10 ---------- src/devices/bus/vcs/rom.h | 1 - src/devices/bus/vcs/vcs_slot.cpp | 13 ------------- src/devices/bus/vcs/vcs_slot.h | 4 ---- src/mame/drivers/a2600.cpp | 1 - 7 files changed, 1 insertion(+), 43 deletions(-) diff --git a/src/devices/bus/vcs/dpc.cpp b/src/devices/bus/vcs/dpc.cpp index 78faf9d9874..524013c3d9b 100644 --- a/src/devices/bus/vcs/dpc.cpp +++ b/src/devices/bus/vcs/dpc.cpp @@ -127,6 +127,7 @@ READ8_MEMBER(dpc_device::read) { case 0x00: // Random number generator case 0x02: + m_shift_reg = (m_shift_reg << 1) | (~(((m_shift_reg >> 7) ^ (m_shift_reg >> 5)) ^ ((m_shift_reg >> 4) ^ (m_shift_reg >> 3))) & 1); return m_shift_reg; case 0x04: // Sound value, MOVAMT value AND'd with Draw Line Carry; with Draw Line Add m_latch_62 = m_latch_64; @@ -291,16 +292,3 @@ WRITE8_MEMBER(a26_rom_dpc_device::write_bank) else a26_rom_f8_device::write_bank(space, offset, data); } - -DIRECT_UPDATE_MEMBER(a26_rom_dpc_device::cart_opbase) -{ - if (!machine().side_effect_disabled()) - { - uint8_t new_bit; - new_bit = (m_dpc->m_shift_reg & 0x80) ^ ((m_dpc->m_shift_reg & 0x20) << 2); - new_bit = new_bit ^ (((m_dpc->m_shift_reg & 0x10) << 3) ^ ((m_dpc->m_shift_reg & 0x08) << 4)); - new_bit = new_bit ^ 0x80; - m_dpc->m_shift_reg = new_bit | (m_dpc->m_shift_reg >> 1); - } - return address; -} diff --git a/src/devices/bus/vcs/dpc.h b/src/devices/bus/vcs/dpc.h index 6debc39164b..358cba6f942 100644 --- a/src/devices/bus/vcs/dpc.h +++ b/src/devices/bus/vcs/dpc.h @@ -80,7 +80,6 @@ public: // reading and writing virtual DECLARE_READ8_MEMBER(read_rom) override; virtual DECLARE_WRITE8_MEMBER(write_bank) override; - virtual DECLARE_DIRECT_UPDATE_MEMBER(cart_opbase) override; virtual void setup_addon_ptr(uint8_t *ptr) override; }; diff --git a/src/devices/bus/vcs/rom.cpp b/src/devices/bus/vcs/rom.cpp index 6b26fd621a5..37c47ff950e 100755 --- a/src/devices/bus/vcs/rom.cpp +++ b/src/devices/bus/vcs/rom.cpp @@ -465,16 +465,6 @@ WRITE8_MEMBER(a26_rom_f6_device::write_bank) } } -DIRECT_UPDATE_MEMBER(a26_rom_f6_device::cart_opbase) -{ - if ((address & 0x1fff) >= 0x1ff6 && (address & 0x1fff) <= 0x1ff9) - { - if (!machine().side_effect_disabled()) - write_bank(direct.space(), (address & 0x1fff) - 0x1ff6, 0); - } - return address; -} - /*------------------------------------------------- "F8 Bankswitch" Carts: read/write access to 0x1ff8-0x1ff9 determines the diff --git a/src/devices/bus/vcs/rom.h b/src/devices/bus/vcs/rom.h index cfccbd3e80a..faebae0cf74 100755 --- a/src/devices/bus/vcs/rom.h +++ b/src/devices/bus/vcs/rom.h @@ -56,7 +56,6 @@ public: // reading and writing virtual DECLARE_READ8_MEMBER(read_rom) override; virtual DECLARE_WRITE8_MEMBER(write_bank) override; - virtual DECLARE_DIRECT_UPDATE_MEMBER(cart_opbase) override; protected: int m_base_bank; diff --git a/src/devices/bus/vcs/vcs_slot.cpp b/src/devices/bus/vcs/vcs_slot.cpp index 96490323fbf..86680e9da08 100644 --- a/src/devices/bus/vcs/vcs_slot.cpp +++ b/src/devices/bus/vcs/vcs_slot.cpp @@ -817,16 +817,3 @@ WRITE8_MEMBER(vcs_cart_slot_device::write_ram) if (m_cart) m_cart->write_ram(space, offset, data, mem_mask); } - - -/*------------------------------------------------- - direct update - -------------------------------------------------*/ - -DIRECT_UPDATE_MEMBER(vcs_cart_slot_device::cart_opbase) -{ - if (m_cart) - return m_cart->cart_opbase(direct, address); - else - return address; -} diff --git a/src/devices/bus/vcs/vcs_slot.h b/src/devices/bus/vcs/vcs_slot.h index 2b5b56b6c81..aebdeaca163 100755 --- a/src/devices/bus/vcs/vcs_slot.h +++ b/src/devices/bus/vcs/vcs_slot.h @@ -60,9 +60,6 @@ public: virtual DECLARE_READ8_MEMBER(read_bank) { return 0xff; } virtual DECLARE_WRITE8_MEMBER(write_bank) {} - // direct update handler - virtual DECLARE_DIRECT_UPDATE_MEMBER(cart_opbase) { return address; } - virtual void setup_addon_ptr(uint8_t *ptr) {} void rom_alloc(uint32_t size, const char *tag); @@ -119,7 +116,6 @@ public: virtual DECLARE_READ8_MEMBER(read_bank); virtual DECLARE_WRITE8_MEMBER(write_bank); virtual DECLARE_WRITE8_MEMBER(write_ram); - virtual DECLARE_DIRECT_UPDATE_MEMBER(cart_opbase); private: device_vcs_cart_interface* m_cart; diff --git a/src/mame/drivers/a2600.cpp b/src/mame/drivers/a2600.cpp index d05b9d86fa4..1c949132035 100644 --- a/src/mame/drivers/a2600.cpp +++ b/src/mame/drivers/a2600.cpp @@ -385,7 +385,6 @@ MACHINE_START_MEMBER(a2600_state,a2600) case A26_F6: case A26_DPC: m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1000, 0x1fff, read8_delegate(FUNC(vcs_cart_slot_device::read_rom),(vcs_cart_slot_device*)m_cart), write8_delegate(FUNC(vcs_cart_slot_device::write_bank),(vcs_cart_slot_device*)m_cart)); - m_maincpu->space(AS_PROGRAM).set_direct_update_handler(direct_update_delegate(&vcs_cart_slot_device::cart_opbase,(vcs_cart_slot_device*)m_cart)); break; case A26_FE: m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x1000, 0x1fff, read8_delegate(FUNC(vcs_cart_slot_device::read_rom),(vcs_cart_slot_device*)m_cart), write8_delegate(FUNC(vcs_cart_slot_device::write_ram),(vcs_cart_slot_device*)m_cart)); -- cgit v1.2.3