diff options
Diffstat (limited to 'src/devices/cpu/sm510/sm511core.cpp')
-rw-r--r-- | src/devices/cpu/sm510/sm511core.cpp | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/src/devices/cpu/sm510/sm511core.cpp b/src/devices/cpu/sm510/sm511core.cpp index 95e184b80c4..6ad8eada0e4 100644 --- a/src/devices/cpu/sm510/sm511core.cpp +++ b/src/devices/cpu/sm510/sm511core.cpp @@ -25,22 +25,25 @@ DEFINE_DEVICE_TYPE(SM512, sm512_device, "sm512", "Sharp SM512") // 4Kx8 ROM, 128 // internal memory maps -ADDRESS_MAP_START(sm511_device::program_4k) - AM_RANGE(0x0000, 0x0fff) AM_ROM -ADDRESS_MAP_END - -ADDRESS_MAP_START(sm511_device::data_96_32x4) - AM_RANGE(0x00, 0x5f) AM_RAM - AM_RANGE(0x60, 0x6f) AM_RAM AM_SHARE("lcd_ram_a") - AM_RANGE(0x70, 0x7f) AM_RAM AM_SHARE("lcd_ram_b") -ADDRESS_MAP_END - -ADDRESS_MAP_START(sm512_device::data_80_48x4) - AM_RANGE(0x00, 0x4f) AM_RAM - AM_RANGE(0x50, 0x5f) AM_RAM AM_SHARE("lcd_ram_c") - AM_RANGE(0x60, 0x6f) AM_RAM AM_SHARE("lcd_ram_a") - AM_RANGE(0x70, 0x7f) AM_RAM AM_SHARE("lcd_ram_b") -ADDRESS_MAP_END +void sm511_device::program_4k(address_map &map) +{ + map(0x0000, 0x0fff).rom(); +} + +void sm511_device::data_96_32x4(address_map &map) +{ + map(0x00, 0x5f).ram(); + map(0x60, 0x6f).ram().share("lcd_ram_a"); + map(0x70, 0x7f).ram().share("lcd_ram_b"); +} + +void sm512_device::data_80_48x4(address_map &map) +{ + map(0x00, 0x4f).ram(); + map(0x50, 0x5f).ram().share("lcd_ram_c"); + map(0x60, 0x6f).ram().share("lcd_ram_a"); + map(0x70, 0x7f).ram().share("lcd_ram_b"); +} // disasm |