diff options
Diffstat (limited to 'src/mame/drivers/egghunt.cpp')
-rw-r--r-- | src/mame/drivers/egghunt.cpp | 57 |
1 files changed, 30 insertions, 27 deletions
diff --git a/src/mame/drivers/egghunt.cpp b/src/mame/drivers/egghunt.cpp index ff0bac2e31a..8ac8ca9ccfa 100644 --- a/src/mame/drivers/egghunt.cpp +++ b/src/mame/drivers/egghunt.cpp @@ -238,33 +238,36 @@ WRITE8_MEMBER(egghunt_state::egghunt_okibanking_w) m_oki->set_rom_bank((data >> 4) & 1); } -ADDRESS_MAP_START(egghunt_state::egghunt_map) - AM_RANGE(0x0000, 0x7fff) AM_ROM - AM_RANGE(0xc000, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write8) AM_SHARE("palette") - AM_RANGE(0xc800, 0xcfff) AM_RAM_WRITE(egghunt_atram_w) AM_SHARE("atram") - AM_RANGE(0xd000, 0xdfff) AM_READWRITE(egghunt_bgram_r, egghunt_bgram_w) - AM_RANGE(0xe000, 0xffff) AM_RAM -ADDRESS_MAP_END - - -ADDRESS_MAP_START(egghunt_state::io_map) - ADDRESS_MAP_GLOBAL_MASK(0xff) - AM_RANGE(0x00, 0x00) AM_READ_PORT("DSW1") AM_WRITE(egghunt_vidram_bank_w) - AM_RANGE(0x01, 0x01) AM_READ_PORT("SYSTEM") AM_WRITE(egghunt_gfx_banking_w) - AM_RANGE(0x02, 0x02) AM_READ_PORT("P1") - AM_RANGE(0x03, 0x03) AM_READ_PORT("P2") AM_WRITE(egghunt_soundlatch_w) - AM_RANGE(0x04, 0x04) AM_READ_PORT("DSW2") - AM_RANGE(0x06, 0x06) AM_READ_PORT("UNK") AM_WRITENOP - AM_RANGE(0x07, 0x07) AM_WRITENOP -ADDRESS_MAP_END - -ADDRESS_MAP_START(egghunt_state::sound_map) - AM_RANGE(0x0000, 0x7fff) AM_ROM - AM_RANGE(0xe000, 0xe000) AM_DEVREAD("soundlatch", generic_latch_8_device, read) - AM_RANGE(0xe001, 0xe001) AM_READWRITE(egghunt_okibanking_r, egghunt_okibanking_w) - AM_RANGE(0xe004, 0xe004) AM_DEVREADWRITE("oki", okim6295_device, read, write) - AM_RANGE(0xf000, 0xffff) AM_RAM -ADDRESS_MAP_END +void egghunt_state::egghunt_map(address_map &map) +{ + map(0x0000, 0x7fff).rom(); + map(0xc000, 0xc7ff).ram().w(m_palette, FUNC(palette_device::write8)).share("palette"); + map(0xc800, 0xcfff).ram().w(this, FUNC(egghunt_state::egghunt_atram_w)).share("atram"); + map(0xd000, 0xdfff).rw(this, FUNC(egghunt_state::egghunt_bgram_r), FUNC(egghunt_state::egghunt_bgram_w)); + map(0xe000, 0xffff).ram(); +} + + +void egghunt_state::io_map(address_map &map) +{ + map.global_mask(0xff); + map(0x00, 0x00).portr("DSW1").w(this, FUNC(egghunt_state::egghunt_vidram_bank_w)); + map(0x01, 0x01).portr("SYSTEM").w(this, FUNC(egghunt_state::egghunt_gfx_banking_w)); + map(0x02, 0x02).portr("P1"); + map(0x03, 0x03).portr("P2").w(this, FUNC(egghunt_state::egghunt_soundlatch_w)); + map(0x04, 0x04).portr("DSW2"); + map(0x06, 0x06).portr("UNK").nopw(); + map(0x07, 0x07).nopw(); +} + +void egghunt_state::sound_map(address_map &map) +{ + map(0x0000, 0x7fff).rom(); + map(0xe000, 0xe000).r(m_soundlatch, FUNC(generic_latch_8_device::read)); + map(0xe001, 0xe001).rw(this, FUNC(egghunt_state::egghunt_okibanking_r), FUNC(egghunt_state::egghunt_okibanking_w)); + map(0xe004, 0xe004).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write)); + map(0xf000, 0xffff).ram(); +} static INPUT_PORTS_START( egghunt ) |