diff options
Diffstat (limited to 'src/mame/drivers/vtech1.cpp')
-rw-r--r-- | src/mame/drivers/vtech1.cpp | 65 |
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)); +} /*************************************************************************** |