diff --git a/src/mame/drivers/dec0.c b/src/mame/drivers/dec0.c index 7e063a48c4f..b9933b20ab7 100644 --- a/src/mame/drivers/dec0.c +++ b/src/mame/drivers/dec0.c @@ -318,7 +318,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( hippodrm_sub_map, AS_PROGRAM, 8, dec0_state ) AM_RANGE(0x000000, 0x00ffff) AM_ROM - AM_RANGE(0x180000, 0x1800ff) AM_READWRITE(hippodrm_shared_r, hippodrm_shared_w) + AM_RANGE(0x180000, 0x18001f) AM_RAM AM_SHARE("hippodrm_shared") AM_RANGE(0x1a0000, 0x1a0007) AM_DEVWRITE("tilegen3", deco_bac06_device, pf_control0_8bit_packed_w) AM_RANGE(0x1a0010, 0x1a001f) AM_DEVWRITE("tilegen3", deco_bac06_device, pf_control1_8bit_swap_w) AM_RANGE(0x1a1000, 0x1a17ff) AM_DEVREADWRITE("tilegen3", deco_bac06_device, pf_data_8bit_swap_r, pf_data_8bit_swap_w) diff --git a/src/mame/includes/dec0.h b/src/mame/includes/dec0.h index 4f23746b955..ba3623db17c 100644 --- a/src/mame/includes/dec0.h +++ b/src/mame/includes/dec0.h @@ -10,6 +10,7 @@ public: m_ram(*this, "ram"), m_spriteram(*this, "spriteram"), m_robocop_shared_ram(*this, "robocop_shared"), + m_hippodrm_shared_ram(*this, "hippodrm_shared"), m_tilegen1(*this, "tilegen1"), m_tilegen2(*this, "tilegen2"), m_tilegen3(*this, "tilegen3"), @@ -23,18 +24,17 @@ public: required_shared_ptr m_ram; required_shared_ptr m_spriteram; optional_shared_ptr m_robocop_shared_ram; + optional_shared_ptr m_hippodrm_shared_ram; optional_device m_tilegen1; optional_device m_tilegen2; optional_device m_tilegen3; optional_device m_spritegen; - int m_GAME; int m_i8751_return; int m_i8751_command; int m_slyspy_state; - int m_share[0xff]; int m_hippodrm_msb; int m_hippodrm_lsb; UINT8 m_i8751_ports[4]; @@ -54,8 +54,6 @@ public: DECLARE_READ16_MEMBER(midres_controls_r); DECLARE_READ8_MEMBER(hippodrm_prot_r); DECLARE_WRITE8_MEMBER(hippodrm_prot_w); - DECLARE_READ8_MEMBER(hippodrm_shared_r); - DECLARE_WRITE8_MEMBER(hippodrm_shared_w); DECLARE_READ8_MEMBER(dec0_mcu_port_r); DECLARE_WRITE8_MEMBER(dec0_mcu_port_w); DECLARE_READ16_MEMBER(hippodrm_68000_share_r); diff --git a/src/mame/machine/dec0.c b/src/mame/machine/dec0.c index d67f85efa09..3a64d88be0d 100644 --- a/src/mame/machine/dec0.c +++ b/src/mame/machine/dec0.c @@ -106,27 +106,15 @@ WRITE8_MEMBER(dec0_state::hippodrm_prot_w) //logerror("6280 PC %06x - Wrote %06x to %04x\n",cpu_getpc(),data,offset+0x1d0000); } -READ8_MEMBER(dec0_state::hippodrm_shared_r) -{ - return m_share[offset]; -} - -WRITE8_MEMBER(dec0_state::hippodrm_shared_w) -{ - m_share[offset]=data; -} - READ16_MEMBER(dec0_state::hippodrm_68000_share_r) { if (offset==0) space.device().execute().yield(); /* A wee helper */ - assert(offset >= 0 && offset < 0xff); - return m_share[offset]&0xff; + return m_hippodrm_shared_ram[offset]&0xff; } WRITE16_MEMBER(dec0_state::hippodrm_68000_share_w) { - assert(offset >= 0 && offset < 0xff); - m_share[offset]=data&0xff; + m_hippodrm_shared_ram[offset]=data&0xff; } /******************************************************************************/ @@ -359,7 +347,7 @@ void dec0_state::h6280_decrypt(const char *cputag) DRIVER_INIT_MEMBER(dec0_state,hippodrm) { UINT8 *RAM = memregion("sub")->base(); - m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x180000, 0x180fff, read16_delegate(FUNC(dec0_state::hippodrm_68000_share_r),this), write16_delegate(FUNC(dec0_state::hippodrm_68000_share_w),this)); + m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x180000, 0x18003f, read16_delegate(FUNC(dec0_state::hippodrm_68000_share_r),this), write16_delegate(FUNC(dec0_state::hippodrm_68000_share_w),this)); m_maincpu->space(AS_PROGRAM).install_write_handler(0xffc800, 0xffcfff, write16_delegate(FUNC(dec0_state::sprite_mirror_w),this)); h6280_decrypt("sub"); @@ -374,7 +362,6 @@ DRIVER_INIT_MEMBER(dec0_state,hippodrm) DRIVER_INIT_MEMBER(dec0_state,slyspy) { UINT8 *RAM = memregion("audiocpu")->base(); - h6280_decrypt("audiocpu"); /* Slyspy sound cpu has some protection */