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