summaryrefslogtreecommitdiffstats
path: root/src/mame/drivers/vtech1.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/vtech1.cpp')
-rw-r--r--src/mame/drivers/vtech1.cpp65
1 files changed, 35 insertions, 30 deletions
diff --git a/src/mame/drivers/vtech1.cpp b/src/mame/drivers/vtech1.cpp
index 907866fea3b..8f08c7dae40 100644
--- a/src/mame/drivers/vtech1.cpp
+++ b/src/mame/drivers/vtech1.cpp
@@ -303,36 +303,41 @@ DRIVER_INIT_MEMBER( vtech1_state, vtech1h )
ADDRESS MAPS
***************************************************************************/
-ADDRESS_MAP_START(vtech1_state::laser110_mem)
- AM_RANGE(0x0000, 0x3fff) AM_ROM // basic rom
- AM_RANGE(0x6800, 0x6fff) AM_READWRITE(vtech1_keyboard_r, vtech1_latch_w)
- AM_RANGE(0x7000, 0x77ff) AM_RAM AM_SHARE("videoram") // 6847
- AM_RANGE(0x7800, 0x7fff) AM_RAM // 2k user ram
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(vtech1_state::laser210_mem)
- AM_RANGE(0x0000, 0x3fff) AM_ROM // basic rom
- AM_RANGE(0x6800, 0x6fff) AM_READWRITE(vtech1_keyboard_r, vtech1_latch_w)
- AM_RANGE(0x7000, 0x77ff) AM_RAM AM_SHARE("videoram") // 6847
- AM_RANGE(0x7800, 0x8fff) AM_RAM // 6k user ram
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(vtech1_state::laser310_mem)
- AM_RANGE(0x0000, 0x3fff) AM_ROM // basic rom
- AM_RANGE(0x6800, 0x6fff) AM_READWRITE(vtech1_keyboard_r, vtech1_latch_w)
- AM_RANGE(0x7000, 0x77ff) AM_RAM AM_SHARE("videoram") // 6847
- AM_RANGE(0x7800, 0xb7ff) AM_RAM // 16k user ram
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(vtech1_state::vtech1_io)
- ADDRESS_MAP_GLOBAL_MASK(0xff)
- AM_RANGE(0x40, 0x4f) AM_READ(vtech1_lightpen_r)
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(vtech1_state::vtech1_shrg_io)
- AM_IMPORT_FROM(vtech1_io)
- AM_RANGE(0xd0, 0xdf) AM_WRITE(vtech1_video_bank_w)
-ADDRESS_MAP_END
+void vtech1_state::laser110_mem(address_map &map)
+{
+ map(0x0000, 0x3fff).rom(); // basic rom
+ map(0x6800, 0x6fff).rw(this, FUNC(vtech1_state::vtech1_keyboard_r), FUNC(vtech1_state::vtech1_latch_w));
+ map(0x7000, 0x77ff).ram().share("videoram"); // 6847
+ map(0x7800, 0x7fff).ram(); // 2k user ram
+}
+
+void vtech1_state::laser210_mem(address_map &map)
+{
+ map(0x0000, 0x3fff).rom(); // basic rom
+ map(0x6800, 0x6fff).rw(this, FUNC(vtech1_state::vtech1_keyboard_r), FUNC(vtech1_state::vtech1_latch_w));
+ map(0x7000, 0x77ff).ram().share("videoram"); // 6847
+ map(0x7800, 0x8fff).ram(); // 6k user ram
+}
+
+void vtech1_state::laser310_mem(address_map &map)
+{
+ map(0x0000, 0x3fff).rom(); // basic rom
+ map(0x6800, 0x6fff).rw(this, FUNC(vtech1_state::vtech1_keyboard_r), FUNC(vtech1_state::vtech1_latch_w));
+ map(0x7000, 0x77ff).ram().share("videoram"); // 6847
+ map(0x7800, 0xb7ff).ram(); // 16k user ram
+}
+
+void vtech1_state::vtech1_io(address_map &map)
+{
+ map.global_mask(0xff);
+ map(0x40, 0x4f).r(this, FUNC(vtech1_state::vtech1_lightpen_r));
+}
+
+void vtech1_state::vtech1_shrg_io(address_map &map)
+{
+ vtech1_io(map);
+ map(0xd0, 0xdf).w(this, FUNC(vtech1_state::vtech1_video_bank_w));
+}
/***************************************************************************