summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/myb3k.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/myb3k.cpp')
-rw-r--r--src/mame/drivers/myb3k.cpp46
1 files changed, 24 insertions, 22 deletions
diff --git a/src/mame/drivers/myb3k.cpp b/src/mame/drivers/myb3k.cpp
index d36f5bb6d06..d7d2081f875 100644
--- a/src/mame/drivers/myb3k.cpp
+++ b/src/mame/drivers/myb3k.cpp
@@ -563,43 +563,45 @@ WRITE8_MEMBER( myb3k_state::myb3k_video_mode_w )
* OFF ON - ?
* ON ON - ?
**********************************************************/
-ADDRESS_MAP_START(myb3k_state::myb3k_map)
- ADDRESS_MAP_UNMAP_HIGH
+void myb3k_state::myb3k_map(address_map &map)
+{
+ map.unmap_value_high();
//AM_RANGE(0x00000,0x3ffff) AM_RAM // It's either 128Kb or 256Kb RAM installed by machine_start()
- AM_RANGE(0x40000,0x7ffff) AM_NOP
- AM_RANGE(0x80000,0xcffff) AM_NOP // Expansion Unit connected through an ISA8 cable
- AM_RANGE(0xd0000,0xeffff) AM_RAM AM_SHARE("vram") // Area 6, physical at 30000-3FFFF (128Kb RAM) or 10000-1FFFF (256KB RAM)
- AM_RANGE(0xf0000,0xfffff) AM_ROM AM_REGION("ipl", 0) // Area 7, 8 x 8Kb
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(myb3k_state::myb3k_io)
- ADDRESS_MAP_UNMAP_LOW
+ map(0x40000, 0x7ffff).noprw();
+ map(0x80000, 0xcffff).noprw(); // Expansion Unit connected through an ISA8 cable
+ map(0xd0000, 0xeffff).ram().share("vram"); // Area 6, physical at 30000-3FFFF (128Kb RAM) or 10000-1FFFF (256KB RAM)
+ map(0xf0000, 0xfffff).rom().region("ipl", 0); // Area 7, 8 x 8Kb
+}
+
+void myb3k_state::myb3k_io(address_map &map)
+{
+ map.unmap_value_low();
/* Main Unit 0-0x7ff */
// 0-3 8255A PPI parallel port
- AM_RANGE(0x00, 0x03) AM_DEVREADWRITE("ppi", i8255_device, read, write)
+ map(0x00, 0x03).rw(m_ppi8255, FUNC(i8255_device::read), FUNC(i8255_device::write));
// Discrete latches
- AM_RANGE(0x04, 0x04) AM_READ(myb3k_kbd_r)
- AM_RANGE(0x04, 0x04) AM_WRITE(myb3k_video_mode_w) // b0=40CH, b1=80CH, b2=16 raster
- AM_RANGE(0x05, 0x05) AM_READ(myb3k_io_status_r) // printer connector bits: b3=fault b2=paper out b1 or b0=busy
- AM_RANGE(0x05, 0x05) AM_WRITE(dma_segment_w) // b0-b3=addr, b6=A b7=B
- AM_RANGE(0x06, 0x06) AM_READ_PORT("DSW2")
+ map(0x04, 0x04).r(this, FUNC(myb3k_state::myb3k_kbd_r));
+ map(0x04, 0x04).w(this, FUNC(myb3k_state::myb3k_video_mode_w)); // b0=40CH, b1=80CH, b2=16 raster
+ map(0x05, 0x05).r(this, FUNC(myb3k_state::myb3k_io_status_r)); // printer connector bits: b3=fault b2=paper out b1 or b0=busy
+ map(0x05, 0x05).w(this, FUNC(myb3k_state::dma_segment_w)); // b0-b3=addr, b6=A b7=B
+ map(0x06, 0x06).portr("DSW2");
// 8-9 8259A interrupt controller
- AM_RANGE(0x08, 0x09) AM_DEVREADWRITE("pic", pic8259_device, read, write)
+ map(0x08, 0x09).rw(m_pic8259, FUNC(pic8259_device::read), FUNC(pic8259_device::write));
// c-f 8253 PIT timer
- AM_RANGE(0x0c, 0x0f) AM_DEVREADWRITE("pit", pit8253_device, read, write)
+ map(0x0c, 0x0f).rw(m_pit8253, FUNC(pit8253_device::read), FUNC(pit8253_device::write));
// 10-18 8257 DMA
- AM_RANGE(0x10, 0x18) AM_DEVREADWRITE("dma", i8257_device, read, write)
+ map(0x10, 0x18).rw(m_dma8257, FUNC(i8257_device::read), FUNC(i8257_device::write));
// 1c-1d HD46505S CRTC
- AM_RANGE(0x1c, 0x1c) AM_DEVREADWRITE("crtc", h46505_device, status_r, address_w)
- AM_RANGE(0x1d, 0x1d) AM_DEVREADWRITE("crtc", h46505_device, register_r, register_w)
+ map(0x1c, 0x1c).rw(m_crtc, FUNC(h46505_device::status_r), FUNC(h46505_device::address_w));
+ map(0x1d, 0x1d).rw(m_crtc, FUNC(h46505_device::register_r), FUNC(h46505_device::register_w));
/* Expansion Unit 0x800 - 0xfff */
-ADDRESS_MAP_END
+}
/* Input ports - from Step/One service manual */
static INPUT_PORTS_START( myb3k )