diff options
Diffstat (limited to 'src/mame/drivers/ut88.cpp')
-rw-r--r-- | src/mame/drivers/ut88.cpp | 54 |
1 files changed, 29 insertions, 25 deletions
diff --git a/src/mame/drivers/ut88.cpp b/src/mame/drivers/ut88.cpp index 3eabca2aa25..5d54df9693a 100644 --- a/src/mame/drivers/ut88.cpp +++ b/src/mame/drivers/ut88.cpp @@ -38,31 +38,35 @@ static GFXDECODE_START( ut88 ) GFXDECODE_END /* Address maps */ -ADDRESS_MAP_START(ut88_state::ut88mini_mem) - ADDRESS_MAP_UNMAP_HIGH - AM_RANGE( 0x0000, 0x03ff ) AM_ROM // System ROM - AM_RANGE( 0xc000, 0xc3ff ) AM_RAM // RAM - AM_RANGE( 0x9000, 0x9fff ) AM_WRITE(ut88mini_write_led) // 7seg LED -ADDRESS_MAP_END - -ADDRESS_MAP_START(ut88_state::ut88_mem) - AM_RANGE( 0x0000, 0x07ff ) AM_RAMBANK("bank1") // First bank - AM_RANGE( 0x0800, 0xdfff ) AM_RAM // RAM - AM_RANGE( 0xe000, 0xe7ff ) AM_RAM // Video RAM (not used) - AM_RANGE( 0xe800, 0xefff ) AM_RAM AM_SHARE("videoram") // Video RAM - AM_RANGE( 0xf400, 0xf7ff ) AM_RAM // System RAM - AM_RANGE( 0xf800, 0xffff ) AM_ROM // System ROM -ADDRESS_MAP_END - -ADDRESS_MAP_START(ut88_state::ut88mini_io) - AM_RANGE( 0xA0, 0xA0) AM_READ(ut88mini_keyboard_r) - AM_RANGE( 0xA1, 0xA1) AM_READ(ut88_tape_r) -ADDRESS_MAP_END - -ADDRESS_MAP_START(ut88_state::ut88_io) - AM_RANGE( 0x04, 0x07) AM_READWRITE(ut88_keyboard_r, ut88_keyboard_w) - AM_RANGE( 0xA1, 0xA1) AM_READWRITE(ut88_tape_r, ut88_sound_w) -ADDRESS_MAP_END +void ut88_state::ut88mini_mem(address_map &map) +{ + map.unmap_value_high(); + map(0x0000, 0x03ff).rom(); // System ROM + map(0xc000, 0xc3ff).ram(); // RAM + map(0x9000, 0x9fff).w(this, FUNC(ut88_state::ut88mini_write_led)); // 7seg LED +} + +void ut88_state::ut88_mem(address_map &map) +{ + map(0x0000, 0x07ff).bankrw("bank1"); // First bank + map(0x0800, 0xdfff).ram(); // RAM + map(0xe000, 0xe7ff).ram(); // Video RAM (not used) + map(0xe800, 0xefff).ram().share("videoram"); // Video RAM + map(0xf400, 0xf7ff).ram(); // System RAM + map(0xf800, 0xffff).rom(); // System ROM +} + +void ut88_state::ut88mini_io(address_map &map) +{ + map(0xA0, 0xA0).r(this, FUNC(ut88_state::ut88mini_keyboard_r)); + map(0xA1, 0xA1).r(this, FUNC(ut88_state::ut88_tape_r)); +} + +void ut88_state::ut88_io(address_map &map) +{ + map(0x04, 0x07).rw(this, FUNC(ut88_state::ut88_keyboard_r), FUNC(ut88_state::ut88_keyboard_w)); + map(0xA1, 0xA1).rw(this, FUNC(ut88_state::ut88_tape_r), FUNC(ut88_state::ut88_sound_w)); +} /* Input ports */ static INPUT_PORTS_START( ut88 ) |