summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/i7000.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/i7000.cpp')
-rw-r--r--src/mame/drivers/i7000.cpp26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/mame/drivers/i7000.cpp b/src/mame/drivers/i7000.cpp
index aec1ec0e216..428905e6505 100644
--- a/src/mame/drivers/i7000.cpp
+++ b/src/mame/drivers/i7000.cpp
@@ -245,31 +245,33 @@ PALETTE_INIT_MEMBER(i7000_state, i7000)
/*FIXME: we still need to figure out the proper memory map
for the maincpu and where the cartridge slot maps to. */
-ADDRESS_MAP_START(i7000_state::i7000_mem)
- AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION("boot", 0)
- AM_RANGE(0x2000, 0x2fff) AM_RAM AM_SHARE("videoram")
- AM_RANGE(0x4000, 0xffff) AM_RAM
+void i7000_state::i7000_mem(address_map &map)
+{
+ map(0x0000, 0x0fff).rom().region("boot", 0);
+ map(0x2000, 0x2fff).ram().share("videoram");
+ map(0x4000, 0xffff).ram();
// AM_RANGE(0x4000, 0xbfff) AM_ROM AM_REGION("cardslot", 0)
-ADDRESS_MAP_END
+}
-ADDRESS_MAP_START(i7000_state::i7000_io)
- ADDRESS_MAP_UNMAP_HIGH
- ADDRESS_MAP_GLOBAL_MASK (0xff)
+void i7000_state::i7000_io(address_map &map)
+{
+ map.unmap_value_high();
+ map.global_mask(0xff);
// AM_RANGE(0x06, 0x06) AM_WRITE(i7000_io_?_w)
// AM_RANGE(0x08, 0x09) AM_WRITE(i7000_io_?_w) //printer perhaps?
// AM_RANGE(0x0c, 0x0c) AM_WRITE(i7000_io_?_w) //0x0C and 0x10 may be related to mem page swapping. (self-test "4. PAG")
// AM_RANGE(0x10, 0x10) AM_WRITE(i7000_io_?_w)
// AM_RANGE(0x14, 0x15) AM_WRITE(i7000_io_?_w)
- AM_RANGE(0x18, 0x1b) AM_DEVREADWRITE("pit8253", pit8253_device, read, write)
+ map(0x18, 0x1b).rw("pit8253", FUNC(pit8253_device::read), FUNC(pit8253_device::write));
// AM_RANGE(0x1c, 0x1c) AM_WRITE(i7000_io_printer_data_w) //ASCII data
- AM_RANGE(0x1d, 0x1d) AM_READ_PORT("DSW")
+ map(0x1d, 0x1d).portr("DSW");
// AM_RANGE(0x1e, 0x1e) AM_READWRITE(i7000_io_printer_status_r, i7000_io_?_w)
// AM_RANGE(0x1f, 0x1f) AM_WRITE(i7000_io_printer_strobe_w) //self-test routine writes 0x08 and 0x09 (it seems that bit 0 is the strobe and bit 3 is an enable signal)
// AM_RANGE(0x20, 0x21) AM_READWRITE(i7000_io_keyboard_r, i7000_io_keyboard_w)
- AM_RANGE(0x20, 0x21) AM_DEVREADWRITE("i8279", i8279_device, read, write)
+ map(0x20, 0x21).rw("i8279", FUNC(i8279_device::read), FUNC(i8279_device::write));
// AM_RANGE(0x24, 0x24) AM_READ(i7000_io_?_r)
// AM_RANGE(0x25, 0x25) AM_WRITE(i7000_io_?_w)
@@ -279,7 +281,7 @@ ADDRESS_MAP_START(i7000_state::i7000_io)
// AM_RANGE(0x3b, 0x3b) AM_WRITE(i7000_io_?_w)
// AM_RANGE(0x66, 0x67) AM_WRITE(i7000_io_?_w)
// AM_RANGE(0xbb, 0xbb) AM_WRITE(i7000_io_?_w) //may be related to page-swapping...
-ADDRESS_MAP_END
+}
DEVICE_IMAGE_LOAD_MEMBER( i7000_state, i7000_card )
{