diff options
Diffstat (limited to 'src/mame/drivers/joctronic.cpp')
-rw-r--r-- | src/mame/drivers/joctronic.cpp | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/src/mame/drivers/joctronic.cpp b/src/mame/drivers/joctronic.cpp index 91274f0cc39..8f35c410a4c 100644 --- a/src/mame/drivers/joctronic.cpp +++ b/src/mame/drivers/joctronic.cpp @@ -62,6 +62,14 @@ public: void slalom03(machine_config &config); void joctronic(machine_config &config); void bldyrolr(machine_config &config); + void bldyrolr_maincpu_map(address_map &map); + void joctronic_sound_io_map(address_map &map); + void joctronic_sound_map(address_map &map); + void maincpu_io_map(address_map &map); + void maincpu_map(address_map &map); + void slalom03_maincpu_map(address_map &map); + void slalom03_sound_io_map(address_map &map); + void slalom03_sound_map(address_map &map); private: required_device<cpu_device> m_maincpu; required_device<cpu_device> m_soundcpu; @@ -119,7 +127,7 @@ WRITE8_MEMBER(joctronic_state::drivers_b_w) logerror("drivers_b[%d] = $%02X\n", offset, data); } -static ADDRESS_MAP_START( maincpu_map, AS_PROGRAM, 8, joctronic_state ) +ADDRESS_MAP_START(joctronic_state::maincpu_map) ADDRESS_MAP_UNMAP_HIGH AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x4000) AM_ROM AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x0800) AM_RAM AM_SHARE("nvram") @@ -169,7 +177,7 @@ WRITE8_MEMBER(joctronic_state::display_ck_w) logerror("display_ck[%d] = $%02X\n", offset, data); } -static ADDRESS_MAP_START( slalom03_maincpu_map, AS_PROGRAM, 8, joctronic_state ) +ADDRESS_MAP_START(joctronic_state::slalom03_maincpu_map) ADDRESS_MAP_UNMAP_HIGH AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x0800) AM_RAM AM_SHARE("nvram") @@ -196,12 +204,12 @@ WRITE8_MEMBER(joctronic_state::bldyrolr_unknown_w) logerror("bldyrolr_unknown = $%02X\n", data); } -static ADDRESS_MAP_START( bldyrolr_maincpu_map, AS_PROGRAM, 8, joctronic_state ) +ADDRESS_MAP_START(joctronic_state::bldyrolr_maincpu_map) AM_IMPORT_FROM(slalom03_maincpu_map) AM_RANGE(0xc000, 0xc000) AM_READWRITE(bldyrolr_unknown_r, bldyrolr_unknown_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( maincpu_io_map, AS_IO, 8, joctronic_state ) +ADDRESS_MAP_START(joctronic_state::maincpu_io_map) ADDRESS_MAP_GLOBAL_MASK(0x03) AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ctc", z80ctc_device, read, write) ADDRESS_MAP_END @@ -253,14 +261,14 @@ WRITE_LINE_MEMBER(joctronic_state::vck_w) } } -static ADDRESS_MAP_START( joctronic_sound_map, AS_PROGRAM, 8, joctronic_state ) +ADDRESS_MAP_START(joctronic_state::joctronic_sound_map) AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x4000) AM_ROM AM_RANGE(0x8000, 0x87ff) AM_MIRROR(0x1800) AM_RAM // only lower half of 2016 used? AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x1fff) AM_READ(soundlatch_nmi_r) // SCSP AM_RANGE(0xe000, 0xe000) AM_MIRROR(0x1fff) AM_WRITE(resint_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( joctronic_sound_io_map, AS_IO, 8, joctronic_state ) +ADDRESS_MAP_START(joctronic_state::joctronic_sound_io_map) ADDRESS_MAP_GLOBAL_MASK(0x03) AM_RANGE(0x00, 0x00) AM_DEVWRITE("aysnd1", ay8910_device, address_w) AM_RANGE(0x01, 0x01) AM_DEVWRITE("aysnd1", ay8910_device, data_w) @@ -268,13 +276,13 @@ static ADDRESS_MAP_START( joctronic_sound_io_map, AS_IO, 8, joctronic_state ) AM_RANGE(0x03, 0x03) AM_DEVWRITE("aysnd2", ay8910_device, data_w) ADDRESS_MAP_END -static ADDRESS_MAP_START( slalom03_sound_map, AS_PROGRAM, 8, joctronic_state ) +ADDRESS_MAP_START(joctronic_state::slalom03_sound_map) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("soundbank") AM_RANGE(0xc000, 0xc7ff) AM_MIRROR(0x3800) AM_RAM // only lower half of 2016 used? ADDRESS_MAP_END -static ADDRESS_MAP_START( slalom03_sound_io_map, AS_IO, 8, joctronic_state ) +ADDRESS_MAP_START(joctronic_state::slalom03_sound_io_map) ADDRESS_MAP_GLOBAL_MASK(0x07) AM_RANGE(0x00, 0x00) AM_DEVWRITE("aysnd1", ay8910_device, address_w) AM_RANGE(0x01, 0x01) AM_DEVWRITE("aysnd1", ay8910_device, data_w) |