mirror of
https://github.com/holub/mame
synced 2025-04-25 17:56:43 +03:00
a2600: Remove direct update handler [O. Galibert]
This commit is contained in:
parent
29e72476bd
commit
92498df199
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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));
|
||||
|
Loading…
Reference in New Issue
Block a user