diff options
Diffstat (limited to 'src/mame/drivers/silkroad.cpp')
-rw-r--r-- | src/mame/drivers/silkroad.cpp | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/src/mame/drivers/silkroad.cpp b/src/mame/drivers/silkroad.cpp index 79519768e43..b7a459822e9 100644 --- a/src/mame/drivers/silkroad.cpp +++ b/src/mame/drivers/silkroad.cpp @@ -157,23 +157,24 @@ WRITE32_MEMBER(silkroad_state::silk_coin_counter_w) } } -ADDRESS_MAP_START(silkroad_state::cpu_map) - AM_RANGE(0x000000, 0x1fffff) AM_ROM - AM_RANGE(0x40c000, 0x40cfff) AM_RAM AM_SHARE("sprram") // sprites - AM_RANGE(0x600000, 0x603fff) AM_RAM_WRITE(paletteram32_xRRRRRGGGGGBBBBB_dword_w) AM_SHARE("paletteram") // palette - AM_RANGE(0x800000, 0x803fff) AM_RAM_WRITE(silkroad_fgram_w) AM_SHARE("vidram") // lower Layer - AM_RANGE(0x804000, 0x807fff) AM_RAM_WRITE(silkroad_fgram2_w) AM_SHARE("vidram2") // mid layer - AM_RANGE(0x808000, 0x80bfff) AM_RAM_WRITE(silkroad_fgram3_w) AM_SHARE("vidram3") // higher layer - AM_RANGE(0xc00000, 0xc00003) AM_READ_PORT("INPUTS") - AM_RANGE(0xc00004, 0xc00007) AM_READ_PORT("DSW") - AM_RANGE(0xc00024, 0xc00027) AM_DEVREADWRITE8("oki1", okim6295_device, read, write, 0x00ff0000) - AM_RANGE(0xc00028, 0xc0002f) AM_DEVREADWRITE8("ymsnd", ym2151_device, read, write, 0x00ff0000) - AM_RANGE(0xc00030, 0xc00033) AM_DEVREADWRITE8("oki2", okim6295_device, read, write, 0x00ff0000) - AM_RANGE(0xc00034, 0xc00037) AM_WRITE(silk_6295_bank_w) - AM_RANGE(0xc00038, 0xc0003b) AM_WRITE(silk_coin_counter_w) - AM_RANGE(0xc0010c, 0xc00123) AM_WRITEONLY AM_SHARE("regs") - AM_RANGE(0xfe0000, 0xffffff) AM_RAM -ADDRESS_MAP_END +void silkroad_state::cpu_map(address_map &map) +{ + map(0x000000, 0x1fffff).rom(); + map(0x40c000, 0x40cfff).ram().share("sprram"); // sprites + map(0x600000, 0x603fff).ram().w(this, FUNC(silkroad_state::paletteram32_xRRRRRGGGGGBBBBB_dword_w)).share("paletteram"); // palette + map(0x800000, 0x803fff).ram().w(this, FUNC(silkroad_state::silkroad_fgram_w)).share("vidram"); // lower Layer + map(0x804000, 0x807fff).ram().w(this, FUNC(silkroad_state::silkroad_fgram2_w)).share("vidram2"); // mid layer + map(0x808000, 0x80bfff).ram().w(this, FUNC(silkroad_state::silkroad_fgram3_w)).share("vidram3"); // higher layer + map(0xc00000, 0xc00003).portr("INPUTS"); + map(0xc00004, 0xc00007).portr("DSW"); + map(0xc00025, 0xc00025).rw(m_oki1, FUNC(okim6295_device::read), FUNC(okim6295_device::write)); + map(0xc00028, 0xc0002f).rw("ymsnd", FUNC(ym2151_device::read), FUNC(ym2151_device::write)).umask32(0x00ff0000); + map(0xc00031, 0xc00031).rw("oki2", FUNC(okim6295_device::read), FUNC(okim6295_device::write)); + map(0xc00034, 0xc00037).w(this, FUNC(silkroad_state::silk_6295_bank_w)); + map(0xc00038, 0xc0003b).w(this, FUNC(silkroad_state::silk_coin_counter_w)); + map(0xc0010c, 0xc00123).writeonly().share("regs"); + map(0xfe0000, 0xffffff).ram(); +} static INPUT_PORTS_START( silkroad ) |