diff options
Diffstat (limited to 'src/mame/drivers/scobra.cpp')
-rw-r--r-- | src/mame/drivers/scobra.cpp | 42 |
1 files changed, 28 insertions, 14 deletions
diff --git a/src/mame/drivers/scobra.cpp b/src/mame/drivers/scobra.cpp index ac306545bd5..159c2ffd4c5 100644 --- a/src/mame/drivers/scobra.cpp +++ b/src/mame/drivers/scobra.cpp @@ -78,6 +78,20 @@ public: void tazmani3(machine_config &config); void hustlerb(machine_config &config); void rescuefe(machine_config &config); + void hustler_map(address_map &map); + void hustler_sound_io_map(address_map &map); + void hustler_sound_map(address_map &map); + void hustlerb_map(address_map &map); + void hustlerb_sound_io_map(address_map &map); + void hustlerb_sound_map(address_map &map); + void mimonkey_map(address_map &map); + void minefldfe_map(address_map &map); + void rescuefe_map(address_map &map); + void scobra_sound_io_map(address_map &map); + void scobra_sound_map(address_map &map); + void tazmani3_map(address_map &map); + void type1_map(address_map &map); + void type2_map(address_map &map); private: optional_shared_ptr<uint8_t> m_soundram; }; @@ -124,7 +138,7 @@ READ8_MEMBER(scobra_state::hustler_ppi8255_1_r){ return m_ppi8255_1->read(space, WRITE8_MEMBER(scobra_state::hustler_ppi8255_0_w){ m_ppi8255_0->write(space, offset >> 3, data); } WRITE8_MEMBER(scobra_state::hustler_ppi8255_1_w){ m_ppi8255_1->write(space, offset >> 3, data); } -static ADDRESS_MAP_START( type1_map, AS_PROGRAM, 8, scobra_state ) +ADDRESS_MAP_START(scobra_state::type1_map) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x87ff) AM_RAM AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram") AM_MIRROR(0x0400) @@ -142,7 +156,7 @@ static ADDRESS_MAP_START( type1_map, AS_PROGRAM, 8, scobra_state ) AM_RANGE(0xb000, 0xb000) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) ADDRESS_MAP_END -static ADDRESS_MAP_START( type2_map, AS_PROGRAM, 8, scobra_state ) +ADDRESS_MAP_START(scobra_state::type2_map) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x87ff) AM_RAM AM_RANGE(0x8800, 0x883f) AM_RAM_WRITE(galaxold_attributesram_w) AM_SHARE("attributesram") @@ -161,7 +175,7 @@ static ADDRESS_MAP_START( type2_map, AS_PROGRAM, 8, scobra_state ) AM_RANGE(0xb00e, 0xb00e) AM_WRITE(galaxold_flip_screen_x_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( tazmani3_map, AS_PROGRAM, 8, scobra_state ) +ADDRESS_MAP_START(scobra_state::tazmani3_map) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x87ff) AM_RAM AM_RANGE(0x8800, 0x883f) AM_RAM_WRITE(galaxold_attributesram_w) AM_SHARE("attributesram") @@ -180,7 +194,7 @@ static ADDRESS_MAP_START( tazmani3_map, AS_PROGRAM, 8, scobra_state ) AM_RANGE(0xb00e, 0xb00e) AM_WRITE(galaxold_flip_screen_x_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( hustler_map, AS_PROGRAM, 8, scobra_state ) +ADDRESS_MAP_START(scobra_state::hustler_map) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x87ff) AM_RAM AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram") @@ -197,7 +211,7 @@ static ADDRESS_MAP_START( hustler_map, AS_PROGRAM, 8, scobra_state ) AM_RANGE(0xe000, 0xe01f) AM_READWRITE(hustler_ppi8255_1_r, hustler_ppi8255_1_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( hustlerb_map, AS_PROGRAM, 8, scobra_state ) +ADDRESS_MAP_START(scobra_state::hustlerb_map) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x87ff) AM_RAM AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram") @@ -215,7 +229,7 @@ static ADDRESS_MAP_START( hustlerb_map, AS_PROGRAM, 8, scobra_state ) ADDRESS_MAP_END -static ADDRESS_MAP_START( mimonkey_map, AS_PROGRAM, 8, scobra_state ) +ADDRESS_MAP_START(scobra_state::mimonkey_map) AM_RANGE(0x0000, 0x3fff) AM_ROM AM_RANGE(0x8000, 0x87ff) AM_RAM AM_RANGE(0x8800, 0x8bff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram") AM_MIRROR(0x0400) @@ -234,7 +248,7 @@ static ADDRESS_MAP_START( mimonkey_map, AS_PROGRAM, 8, scobra_state ) ADDRESS_MAP_END // weird address map like anteateruk in galaxian.c (also a free enterprise set) -static ADDRESS_MAP_START( rescuefe_map, AS_PROGRAM, 8, scobra_state ) +ADDRESS_MAP_START(scobra_state::rescuefe_map) AM_RANGE(0x0000, 0x05ff) AM_ROM AM_RANGE(0x0600, 0x0fff) AM_RAM // sets stack here AM_RANGE(0x1000, 0x13ff) AM_RAM_WRITE(galaxold_videoram_w) AM_SHARE("videoram") @@ -269,7 +283,7 @@ static ADDRESS_MAP_START( rescuefe_map, AS_PROGRAM, 8, scobra_state ) // AM_RANGE(0xf000, 0xf000) AM_DEVREAD("watchdog", watchdog_timer_device, reset_r) ADDRESS_MAP_END -static ADDRESS_MAP_START( minefldfe_map, AS_PROGRAM, 8, scobra_state ) +ADDRESS_MAP_START(scobra_state::minefldfe_map) AM_RANGE(0x0000, 0x0bff) AM_ROM // ok AM_RANGE(0x0c00, 0x0c3f) AM_RAM_WRITE(galaxold_attributesram_w) AM_SHARE("attributesram") // ok AM_RANGE(0x0c40, 0x0c5f) AM_RAM AM_SHARE("spriteram") // ok @@ -312,7 +326,7 @@ WRITE8_MEMBER(scobra_state::scobra_soundram_w) m_soundram[offset & 0x03ff] = data; } -static ADDRESS_MAP_START( scobra_sound_map, AS_PROGRAM, 8, scobra_state ) +ADDRESS_MAP_START(scobra_state::scobra_sound_map) AM_RANGE(0x0000, 0x2fff) AM_ROM AM_RANGE(0x8000, 0x83ff) AM_WRITENOP AM_SHARE("soundram") /* only here to initialize pointer */ AM_RANGE(0x8000, 0x8fff) AM_READWRITE(scobra_soundram_r, scobra_soundram_w) @@ -320,7 +334,7 @@ static ADDRESS_MAP_START( scobra_sound_map, AS_PROGRAM, 8, scobra_state ) ADDRESS_MAP_END -static ADDRESS_MAP_START( scobra_sound_io_map, AS_IO, 8, scobra_state ) +ADDRESS_MAP_START(scobra_state::scobra_sound_io_map) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE(0x10, 0x10) AM_DEVWRITE("ay1", ay8910_device, address_w) AM_RANGE(0x20, 0x20) AM_DEVREADWRITE("ay1", ay8910_device, data_r, data_w) @@ -328,26 +342,26 @@ static ADDRESS_MAP_START( scobra_sound_io_map, AS_IO, 8, scobra_state ) AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("ay2", ay8910_device, data_r, data_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( hustler_sound_map, AS_PROGRAM, 8, scobra_state ) +ADDRESS_MAP_START(scobra_state::hustler_sound_map) AM_RANGE(0x0000, 0x1fff) AM_ROM AM_RANGE(0x4000, 0x43ff) AM_RAM AM_RANGE(0x6000, 0x6fff) AM_WRITE(frogger_filter_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( hustler_sound_io_map, AS_IO, 8, scobra_state ) +ADDRESS_MAP_START(scobra_state::hustler_sound_io_map) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE(0x40, 0x40) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_w) AM_RANGE(0x80, 0x80) AM_DEVWRITE("aysnd", ay8910_device, address_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( hustlerb_sound_map, AS_PROGRAM, 8, scobra_state ) +ADDRESS_MAP_START(scobra_state::hustlerb_sound_map) AM_RANGE(0x0000, 0x2fff) AM_ROM AM_RANGE(0x6000, 0x6fff) AM_WRITE(frogger_filter_w) AM_RANGE(0x8000, 0x8fff) AM_RAM_READ(scobra_soundram_r) AM_SHARE("soundram") /* only here to initialize pointer */ ADDRESS_MAP_END -static ADDRESS_MAP_START( hustlerb_sound_io_map, AS_IO, 8, scobra_state ) +ADDRESS_MAP_START(scobra_state::hustlerb_sound_io_map) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE(0x40, 0x40) AM_DEVWRITE("aysnd", ay8910_device, address_w) AM_RANGE(0x80, 0x80) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_w) |