summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/osi.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/osi.cpp')
-rw-r--r--src/mame/drivers/osi.cpp108
1 files changed, 56 insertions, 52 deletions
diff --git a/src/mame/drivers/osi.cpp b/src/mame/drivers/osi.cpp
index 39b4795ce3b..725c98e2980 100644
--- a/src/mame/drivers/osi.cpp
+++ b/src/mame/drivers/osi.cpp
@@ -448,58 +448,62 @@ WRITE_LINE_MEMBER( c1pmf_state::osi470_pia_cb2_w )
/* Memory Maps */
-ADDRESS_MAP_START(sb2m600_state::osi600_mem)
- AM_RANGE(0x0000, 0x1fff) AM_RAMBANK("bank1")
- AM_RANGE(0xa000, 0xbfff) AM_ROM
- AM_RANGE(0xd000, 0xd3ff) AM_RAM AM_SHARE("video_ram")
- AM_RANGE(0xdf00, 0xdf00) AM_READWRITE(keyboard_r, keyboard_w)
- AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE("acia_0", acia6850_device, read, write)
- AM_RANGE(0xf800, 0xffff) AM_ROM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(uk101_state::uk101_mem)
- AM_RANGE(0x0000, 0x1fff) AM_RAMBANK("bank1")
- AM_RANGE(0xa000, 0xbfff) AM_ROM
- AM_RANGE(0xd000, 0xd3ff) AM_RAM AM_SHARE("video_ram")
- AM_RANGE(0xd400, 0xd7ff) AM_NOP // bios sets this to spaces at boot
- AM_RANGE(0xdc00, 0xdfff) AM_READ(keyboard_r) AM_WRITE(keyboard_w)
- AM_RANGE(0xf000, 0xf001) AM_MIRROR(0x00fe) AM_DEVREADWRITE("acia_0", acia6850_device, read, write)
- AM_RANGE(0xf800, 0xffff) AM_ROM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(c1p_state::c1p_mem)
- AM_RANGE(0x0000, 0x4fff) AM_RAMBANK("bank1")
- AM_RANGE(0xa000, 0xbfff) AM_ROM
- AM_RANGE(0xc704, 0xc707) AM_DEVREADWRITE("pia_1", pia6821_device, read, write)
- AM_RANGE(0xc708, 0xc70b) AM_DEVREADWRITE("pia_2", pia6821_device, read, write)
- AM_RANGE(0xc70c, 0xc70f) AM_DEVREADWRITE("pia_3", pia6821_device, read, write)
- AM_RANGE(0xd000, 0xd3ff) AM_RAM AM_SHARE("video_ram")
- AM_RANGE(0xd400, 0xd7ff) AM_RAM AM_SHARE("color_ram")
- AM_RANGE(0xd800, 0xd800) AM_WRITE(ctrl_w)
- AM_RANGE(0xdf00, 0xdf00) AM_READWRITE(keyboard_r, keyboard_w)
- AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE("acia_0", acia6850_device, read, write)
- AM_RANGE(0xf7c0, 0xf7c0) AM_WRITE(osi630_sound_w)
- AM_RANGE(0xf7e0, 0xf7e0) AM_WRITE(osi630_ctrl_w)
- AM_RANGE(0xf800, 0xffff) AM_ROM
-ADDRESS_MAP_END
-
-ADDRESS_MAP_START(c1pmf_state::c1pmf_mem)
- AM_RANGE(0x0000, 0x4fff) AM_RAMBANK("bank1")
- AM_RANGE(0xa000, 0xbfff) AM_ROM
- AM_RANGE(0xc000, 0xc003) AM_DEVREADWRITE("pia_0", pia6821_device, read, write) // FDC
- AM_RANGE(0xc010, 0xc011) AM_DEVREADWRITE("acia_1", acia6850_device, read, write)
- AM_RANGE(0xc704, 0xc707) AM_DEVREADWRITE("pia_1", pia6821_device, read, write)
- AM_RANGE(0xc708, 0xc70b) AM_DEVREADWRITE("pia_2", pia6821_device, read, write)
- AM_RANGE(0xc70c, 0xc70f) AM_DEVREADWRITE("pia_3", pia6821_device, read, write)
- AM_RANGE(0xd000, 0xd3ff) AM_RAM AM_SHARE("video_ram")
- AM_RANGE(0xd400, 0xd7ff) AM_RAM AM_SHARE("color_ram")
- AM_RANGE(0xd800, 0xd800) AM_WRITE(ctrl_w)
- AM_RANGE(0xdf00, 0xdf00) AM_READWRITE(keyboard_r, keyboard_w)
- AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE("acia_0", acia6850_device, read, write)
- AM_RANGE(0xf7c0, 0xf7c0) AM_WRITE(osi630_sound_w)
- AM_RANGE(0xf7e0, 0xf7e0) AM_WRITE(osi630_ctrl_w)
- AM_RANGE(0xf800, 0xffff) AM_ROM
-ADDRESS_MAP_END
+void sb2m600_state::osi600_mem(address_map &map)
+{
+ map(0x0000, 0x1fff).bankrw("bank1");
+ map(0xa000, 0xbfff).rom();
+ map(0xd000, 0xd3ff).ram().share("video_ram");
+ map(0xdf00, 0xdf00).rw(this, FUNC(sb2m600_state::keyboard_r), FUNC(sb2m600_state::keyboard_w));
+ map(0xf000, 0xf001).rw(m_acia_0, FUNC(acia6850_device::read), FUNC(acia6850_device::write));
+ map(0xf800, 0xffff).rom();
+}
+
+void uk101_state::uk101_mem(address_map &map)
+{
+ map(0x0000, 0x1fff).bankrw("bank1");
+ map(0xa000, 0xbfff).rom();
+ map(0xd000, 0xd3ff).ram().share("video_ram");
+ map(0xd400, 0xd7ff).noprw(); // bios sets this to spaces at boot
+ map(0xdc00, 0xdfff).r(this, FUNC(uk101_state::keyboard_r)).w(this, FUNC(uk101_state::keyboard_w));
+ map(0xf000, 0xf001).mirror(0x00fe).rw(m_acia_0, FUNC(acia6850_device::read), FUNC(acia6850_device::write));
+ map(0xf800, 0xffff).rom();
+}
+
+void c1p_state::c1p_mem(address_map &map)
+{
+ map(0x0000, 0x4fff).bankrw("bank1");
+ map(0xa000, 0xbfff).rom();
+ map(0xc704, 0xc707).rw("pia_1", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0xc708, 0xc70b).rw("pia_2", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0xc70c, 0xc70f).rw("pia_3", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0xd000, 0xd3ff).ram().share("video_ram");
+ map(0xd400, 0xd7ff).ram().share("color_ram");
+ map(0xd800, 0xd800).w(this, FUNC(c1p_state::ctrl_w));
+ map(0xdf00, 0xdf00).rw(this, FUNC(c1p_state::keyboard_r), FUNC(c1p_state::keyboard_w));
+ map(0xf000, 0xf001).rw(m_acia_0, FUNC(acia6850_device::read), FUNC(acia6850_device::write));
+ map(0xf7c0, 0xf7c0).w(this, FUNC(c1p_state::osi630_sound_w));
+ map(0xf7e0, 0xf7e0).w(this, FUNC(c1p_state::osi630_ctrl_w));
+ map(0xf800, 0xffff).rom();
+}
+
+void c1pmf_state::c1pmf_mem(address_map &map)
+{
+ map(0x0000, 0x4fff).bankrw("bank1");
+ map(0xa000, 0xbfff).rom();
+ map(0xc000, 0xc003).rw("pia_0", FUNC(pia6821_device::read), FUNC(pia6821_device::write)); // FDC
+ map(0xc010, 0xc011).rw("acia_1", FUNC(acia6850_device::read), FUNC(acia6850_device::write));
+ map(0xc704, 0xc707).rw("pia_1", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0xc708, 0xc70b).rw("pia_2", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0xc70c, 0xc70f).rw("pia_3", FUNC(pia6821_device::read), FUNC(pia6821_device::write));
+ map(0xd000, 0xd3ff).ram().share("video_ram");
+ map(0xd400, 0xd7ff).ram().share("color_ram");
+ map(0xd800, 0xd800).w(this, FUNC(c1pmf_state::ctrl_w));
+ map(0xdf00, 0xdf00).rw(this, FUNC(c1pmf_state::keyboard_r), FUNC(c1pmf_state::keyboard_w));
+ map(0xf000, 0xf001).rw(m_acia_0, FUNC(acia6850_device::read), FUNC(acia6850_device::write));
+ map(0xf7c0, 0xf7c0).w(this, FUNC(c1pmf_state::osi630_sound_w));
+ map(0xf7e0, 0xf7e0).w(this, FUNC(c1pmf_state::osi630_ctrl_w));
+ map(0xf800, 0xffff).rom();
+}
/* Input Ports */