summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/scobra.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/scobra.cpp')
-rw-r--r--src/mame/drivers/scobra.cpp42
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)