a2600: Remove direct update handler [O. Galibert]

This commit is contained in:
Olivier Galibert 2017-03-08 17:39:09 +01:00
parent 29e72476bd
commit 92498df199
7 changed files with 1 additions and 43 deletions

View File

@ -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;
}

View File

@ -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;
};

View File

@ -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

View File

@ -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;

View File

@ -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;
}

View File

@ -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;

View File

@ -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));