diff options
Diffstat (limited to 'src/mame/drivers/midyunit.cpp')
-rw-r--r-- | src/mame/drivers/midyunit.cpp | 48 |
1 files changed, 25 insertions, 23 deletions
diff --git a/src/mame/drivers/midyunit.cpp b/src/mame/drivers/midyunit.cpp index d56d706d519..5191bd3baee 100644 --- a/src/mame/drivers/midyunit.cpp +++ b/src/mame/drivers/midyunit.cpp @@ -178,29 +178,31 @@ CUSTOM_INPUT_MEMBER(midyunit_state::adpcm_irq_state_r) * *************************************/ -ADDRESS_MAP_START(midyunit_state::main_map) - AM_RANGE(0x00000000, 0x001fffff) AM_READWRITE(midyunit_vram_r, midyunit_vram_w) - AM_RANGE(0x01000000, 0x010fffff) AM_RAM AM_SHARE("mainram") - AM_RANGE(0x01400000, 0x0140ffff) AM_READWRITE(midyunit_cmos_r, midyunit_cmos_w) - AM_RANGE(0x01800000, 0x0181ffff) AM_RAM_WRITE(midyunit_paletteram_w) AM_SHARE("paletteram") - AM_RANGE(0x01a00000, 0x01a0009f) AM_MIRROR(0x00080000) AM_READWRITE(midyunit_dma_r, midyunit_dma_w) - AM_RANGE(0x01c00000, 0x01c0005f) AM_READ(midyunit_input_r) - AM_RANGE(0x01c00060, 0x01c0007f) AM_READWRITE(midyunit_protection_r, midyunit_cmos_enable_w) - AM_RANGE(0x01e00000, 0x01e0001f) AM_WRITE(midyunit_sound_w) - AM_RANGE(0x01f00000, 0x01f0001f) AM_WRITE(midyunit_control_w) - AM_RANGE(0x02000000, 0x05ffffff) AM_READ(midyunit_gfxrom_r) AM_SHARE("gfx_rom") - AM_RANGE(0xc0000000, 0xc00001ff) AM_DEVREADWRITE("maincpu", tms34010_device, io_register_r, io_register_w) - AM_RANGE(0xff800000, 0xffffffff) AM_ROM AM_REGION("user1", 0) -ADDRESS_MAP_END - - -ADDRESS_MAP_START(midyunit_state::yawdim_sound_map) - AM_RANGE(0x0000, 0x7fff) AM_ROM - AM_RANGE(0x8000, 0x87ff) AM_RAM - AM_RANGE(0x9000, 0x97ff) AM_WRITE(yawdim_oki_bank_w) - AM_RANGE(0x9800, 0x9fff) AM_DEVREADWRITE("oki", okim6295_device, read, write) - AM_RANGE(0xa000, 0xa7ff) AM_DEVREAD("soundlatch", generic_latch_8_device, read) -ADDRESS_MAP_END +void midyunit_state::main_map(address_map &map) +{ + map(0x00000000, 0x001fffff).rw(this, FUNC(midyunit_state::midyunit_vram_r), FUNC(midyunit_state::midyunit_vram_w)); + map(0x01000000, 0x010fffff).ram().share("mainram"); + map(0x01400000, 0x0140ffff).rw(this, FUNC(midyunit_state::midyunit_cmos_r), FUNC(midyunit_state::midyunit_cmos_w)); + map(0x01800000, 0x0181ffff).ram().w(this, FUNC(midyunit_state::midyunit_paletteram_w)).share("paletteram"); + map(0x01a00000, 0x01a0009f).mirror(0x00080000).rw(this, FUNC(midyunit_state::midyunit_dma_r), FUNC(midyunit_state::midyunit_dma_w)); + map(0x01c00000, 0x01c0005f).r(this, FUNC(midyunit_state::midyunit_input_r)); + map(0x01c00060, 0x01c0007f).rw(this, FUNC(midyunit_state::midyunit_protection_r), FUNC(midyunit_state::midyunit_cmos_enable_w)); + map(0x01e00000, 0x01e0001f).w(this, FUNC(midyunit_state::midyunit_sound_w)); + map(0x01f00000, 0x01f0001f).w(this, FUNC(midyunit_state::midyunit_control_w)); + map(0x02000000, 0x05ffffff).r(this, FUNC(midyunit_state::midyunit_gfxrom_r)).share("gfx_rom"); + map(0xc0000000, 0xc00001ff).rw("maincpu", FUNC(tms34010_device::io_register_r), FUNC(tms34010_device::io_register_w)); + map(0xff800000, 0xffffffff).rom().region("user1", 0); +} + + +void midyunit_state::yawdim_sound_map(address_map &map) +{ + map(0x0000, 0x7fff).rom(); + map(0x8000, 0x87ff).ram(); + map(0x9000, 0x97ff).w(this, FUNC(midyunit_state::yawdim_oki_bank_w)); + map(0x9800, 0x9fff).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write)); + map(0xa000, 0xa7ff).r(m_soundlatch, FUNC(generic_latch_8_device::read)); +} |