diff options
Diffstat (limited to 'src/mame/drivers/giclassic.cpp')
-rw-r--r-- | src/mame/drivers/giclassic.cpp | 58 |
1 files changed, 30 insertions, 28 deletions
diff --git a/src/mame/drivers/giclassic.cpp b/src/mame/drivers/giclassic.cpp index 3e6d7315137..8919f06cbe2 100644 --- a/src/mame/drivers/giclassic.cpp +++ b/src/mame/drivers/giclassic.cpp @@ -143,18 +143,19 @@ READ16_MEMBER(giclassic_state::vrom_r) return m_k056832->piratesh_rom_r(space, offset); } -ADDRESS_MAP_START(giclassic_state::satellite_main) - AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_REGION("maincpu", 0) - AM_RANGE(0x100000, 0x103fff) AM_RAM - AM_RANGE(0x200000, 0x200fff) AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") - AM_RANGE(0x800000, 0x801fff) AM_RAM AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) - AM_RANGE(0x900000, 0x90003f) AM_DEVREADWRITE("k056832", k056832_device, word_r, word_w) - AM_RANGE(0xb00000, 0xb01fff) AM_READ(vrom_r) - AM_RANGE(0xc00000, 0xc00001) AM_WRITE(control_w) - AM_RANGE(0xd00000, 0xd0003f) AM_RAM // these must read/write or 26S (LCD controller) fails - AM_RANGE(0xe00000, 0xe0001f) AM_DEVWRITE8("k056832", k056832_device, b_w, 0xff00) - AM_RANGE(0xf00000, 0xf00001) AM_NOP AM_WRITENOP // watchdog reset -ADDRESS_MAP_END +void giclassic_state::satellite_main(address_map &map) +{ + map(0x000000, 0x07ffff).rom().region("maincpu", 0); + map(0x100000, 0x103fff).ram(); + map(0x200000, 0x200fff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); + map(0x800000, 0x801fff).ram().rw(m_k056832, FUNC(k056832_device::ram_word_r), FUNC(k056832_device::ram_word_w)); + map(0x900000, 0x90003f).rw(m_k056832, FUNC(k056832_device::word_r), FUNC(k056832_device::word_w)); + map(0xb00000, 0xb01fff).r(this, FUNC(giclassic_state::vrom_r)); + map(0xc00000, 0xc00001).w(this, FUNC(giclassic_state::control_w)); + map(0xd00000, 0xd0003f).ram(); // these must read/write or 26S (LCD controller) fails + map(0xe00000, 0xe0001f).w(m_k056832, FUNC(k056832_device::b_w)).umask16(0xff00); + map(0xf00000, 0xf00001).noprw().nopw(); // watchdog reset +} static INPUT_PORTS_START( giclassic ) INPUT_PORTS_END @@ -264,22 +265,23 @@ uint32_t giclassicsvr_state::screen_update_giclassicsvr(screen_device &screen, b return 0; } -ADDRESS_MAP_START(giclassicsvr_state::server_main) - AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_REGION("maincpu", 0) - AM_RANGE(0x080000, 0x08ffff) AM_RAM - AM_RANGE(0x090000, 0x093fff) AM_RAM - AM_RANGE(0x100000, 0x107fff) AM_RAM AM_RAM_DEVWRITE("palette", palette_device, write16) AM_SHARE("palette") - AM_RANGE(0x180000, 0x183fff) AM_RAM - AM_RANGE(0x280000, 0x281fff) AM_RAM AM_DEVREADWRITE("k056832", k056832_device, ram_word_r, ram_word_w) - AM_RANGE(0x300000, 0x300007) AM_DEVWRITE("k055673", k055673_device, k053246_word_w) // SPRITES - AM_RANGE(0x300060, 0x30006f) AM_DEVREAD("k055673", k055673_device, k055673_ps_rom_word_r) // SPRITES - AM_RANGE(0x308000, 0x30803f) AM_DEVREADWRITE("k056832", k056832_device, word_r, word_w) - AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8("k053252a", k053252_device, read, write, 0x00ff) // CRTC 1 - AM_RANGE(0x320000, 0x32001f) AM_DEVREADWRITE8("k053252b", k053252_device, read, write, 0xff00) // CRTC 2 - AM_RANGE(0x380000, 0x380001) AM_WRITENOP // watchdog reset - AM_RANGE(0x398000, 0x398001) AM_READWRITE(control_r, control_w) - AM_RANGE(0x400000, 0x41ffff) AM_RAM -ADDRESS_MAP_END +void giclassicsvr_state::server_main(address_map &map) +{ + map(0x000000, 0x07ffff).rom().region("maincpu", 0); + map(0x080000, 0x08ffff).ram(); + map(0x090000, 0x093fff).ram(); + map(0x100000, 0x107fff).ram().ram().w(m_palette, FUNC(palette_device::write16)).share("palette"); + map(0x180000, 0x183fff).ram(); + map(0x280000, 0x281fff).ram().rw(m_k056832, FUNC(k056832_device::ram_word_r), FUNC(k056832_device::ram_word_w)); + map(0x300000, 0x300007).w(m_k055673, FUNC(k055673_device::k053246_word_w)); // SPRITES + map(0x300060, 0x30006f).r(m_k055673, FUNC(k055673_device::k055673_ps_rom_word_r)); // SPRITES + map(0x308000, 0x30803f).rw(m_k056832, FUNC(k056832_device::word_r), FUNC(k056832_device::word_w)); + map(0x320000, 0x32001f).rw("k053252a", FUNC(k053252_device::read), FUNC(k053252_device::write)).umask16(0x00ff); // CRTC 1 + map(0x320000, 0x32001f).rw("k053252b", FUNC(k053252_device::read), FUNC(k053252_device::write)).umask16(0xff00); // CRTC 2 + map(0x380000, 0x380001).nopw(); // watchdog reset + map(0x398000, 0x398001).rw(this, FUNC(giclassicsvr_state::control_r), FUNC(giclassicsvr_state::control_w)); + map(0x400000, 0x41ffff).ram(); +} static INPUT_PORTS_START( giclassvr ) INPUT_PORTS_END |