diff options
Diffstat (limited to 'src/emu/bus/intv/ecs.h')
-rw-r--r-- | src/emu/bus/intv/ecs.h | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/src/emu/bus/intv/ecs.h b/src/emu/bus/intv/ecs.h index 6db3609c7ce..52ca99b76e5 100644 --- a/src/emu/bus/intv/ecs.h +++ b/src/emu/bus/intv/ecs.h @@ -14,14 +14,14 @@ class intv_ecs_device : public intv_rom_device public: // construction/destruction intv_ecs_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); - + // device-level overrides virtual void device_start(); virtual void device_reset(); virtual machine_config_constructor device_mconfig_additions() const; virtual ioport_constructor device_input_ports() const; virtual const rom_entry *device_rom_region() const; - + // reading and writing // actual ECS accesses @@ -32,14 +32,14 @@ public: virtual DECLARE_READ16_MEMBER(read_romf0); // RAM virtual DECLARE_READ16_MEMBER(read_ram) { return (int)m_ram[offset & (m_ram.count() - 1)]; } - virtual DECLARE_WRITE16_MEMBER(write_ram) { m_ram[offset & (m_ram.count() - 1)] = data & 0xff; } + virtual DECLARE_WRITE16_MEMBER(write_ram) { m_ram[offset & (m_ram.count() - 1)] = data & 0xff; } // AY8914 virtual DECLARE_READ16_MEMBER(read_ay); virtual DECLARE_WRITE16_MEMBER(write_ay); DECLARE_READ8_MEMBER(ay_porta_r); DECLARE_READ8_MEMBER(ay_portb_r); DECLARE_WRITE8_MEMBER(ay_porta_w); - + // passthru accesses virtual DECLARE_READ16_MEMBER(read_rom04) { return m_subslot->read_rom04(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(read_rom40) { return m_subslot->read_rom40(space, offset, mem_mask); } @@ -47,27 +47,27 @@ public: virtual DECLARE_READ16_MEMBER(read_rom50) { return m_subslot->read_rom50(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(read_rom60) { return m_subslot->read_rom60(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(read_rom80) - { + { if (m_ram88_enabled && offset >= 0x800) - return m_subslot->read_ram(space, offset & 0x7ff, mem_mask); + return m_subslot->read_ram(space, offset & 0x7ff, mem_mask); else - return m_subslot->read_rom80(space, offset, mem_mask); + return m_subslot->read_rom80(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(read_rom90) { return m_subslot->read_rom90(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(read_roma0) { return m_subslot->read_roma0(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(read_romb0) { return m_subslot->read_romb0(space, offset, mem_mask); } virtual DECLARE_READ16_MEMBER(read_romc0) { return m_subslot->read_romc0(space, offset, mem_mask); } - virtual DECLARE_READ16_MEMBER(read_romd0) - { + virtual DECLARE_READ16_MEMBER(read_romd0) + { if (m_ramd0_enabled && offset < 0x800) - return m_subslot->read_ram(space, offset, mem_mask); + return m_subslot->read_ram(space, offset, mem_mask); else - return m_subslot->read_romd0(space, offset, mem_mask); + return m_subslot->read_romd0(space, offset, mem_mask); } // paged ROM banking - virtual DECLARE_WRITE16_MEMBER(write_rom20) - { + virtual DECLARE_WRITE16_MEMBER(write_rom20) + { if (offset == 0xfff) { if (data == 0x2a50) @@ -76,8 +76,8 @@ public: m_bank_base[2] = 1; } } - virtual DECLARE_WRITE16_MEMBER(write_rom70) - { + virtual DECLARE_WRITE16_MEMBER(write_rom70) + { if (offset == 0xfff) { if (data == 0x7a50) @@ -86,8 +86,8 @@ public: m_bank_base[7] = 1; } } - virtual DECLARE_WRITE16_MEMBER(write_rome0) - { + virtual DECLARE_WRITE16_MEMBER(write_rome0) + { if (offset == 0xfff) { if (data == 0xea50) @@ -96,8 +96,8 @@ public: m_bank_base[14] = 1; } } - virtual DECLARE_WRITE16_MEMBER(write_romf0) - { + virtual DECLARE_WRITE16_MEMBER(write_romf0) + { if (offset == 0xfff) { if (data == 0xfa50) @@ -112,11 +112,11 @@ public: // IntelliVoice passthru virtual DECLARE_READ16_MEMBER(read_speech) { if (m_voice_enabled) return m_subslot->read_speech(space, offset, mem_mask); else return 0xffff; } virtual DECLARE_WRITE16_MEMBER(write_speech) { if (m_voice_enabled) m_subslot->write_speech(space, offset, data, mem_mask); } - + virtual void late_subslot_setup(); UINT8 intv_control_r(int hand); - + private: required_device<ay8914_device> m_snd; |