summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2020-02-22 11:11:30 -0500
committer AJR <ajrhacker@users.noreply.github.com>2020-02-22 11:11:30 -0500
commit18b2869dad5fa9a33371367e46864c40f9adb340 (patch)
treef7f626e6944f5714244633ec41fa4e42b1dc44e4
parent96186959c47673be662797a8d802453d4d10a766 (diff)
ampex210.cpp: Add various stub handlers (nw)
-rw-r--r--src/mame/drivers/ampex210.cpp62
1 files changed, 60 insertions, 2 deletions
diff --git a/src/mame/drivers/ampex210.cpp b/src/mame/drivers/ampex210.cpp
index 9174a1fffc0..94232dd28da 100644
--- a/src/mame/drivers/ampex210.cpp
+++ b/src/mame/drivers/ampex210.cpp
@@ -34,6 +34,15 @@ private:
SCN2672_DRAW_CHARACTER_MEMBER(draw_character);
+ u8 keyboard_r();
+ u8 keyboard_reset_r();
+ u8 keyboard_extra_r();
+ void flags1_w(u8 data);
+ void flags2_w(u8 data);
+ void flags3_w(u8 data);
+ u8 modem_r();
+ void modem_w(u8 data);
+
void ampex210_mem(address_map &map);
void ampex230_mem(address_map &map);
void ampex210_io(address_map &map);
@@ -50,11 +59,49 @@ SCN2672_DRAW_CHARACTER_MEMBER(ampex210_state::draw_character)
{
}
+u8 ampex210_state::keyboard_r()
+{
+ return 0xff;
+}
+
+u8 ampex210_state::keyboard_reset_r()
+{
+ // data ignored
+ return 0xff;
+}
+
+u8 ampex210_state::keyboard_extra_r()
+{
+ return 0;
+}
+
+void ampex210_state::flags1_w(u8 data)
+{
+}
+
+void ampex210_state::flags2_w(u8 data)
+{
+}
+
+void ampex210_state::flags3_w(u8 data)
+{
+}
+
+u8 ampex210_state::modem_r()
+{
+ return 0;
+}
+
+void ampex210_state::modem_w(u8 data)
+{
+}
+
void ampex210_state::ampex210_mem(address_map &map)
{
map(0x0000, 0x7fff).rom().region("maincpu", 0);
map(0x8000, 0x87ff).ram().share("nvram");
map(0x8800, 0x9fff).ram();
+ map(0xc000, 0xc000).r(FUNC(ampex210_state::modem_r));
}
void ampex210_state::ampex230_mem(address_map &map)
@@ -70,10 +117,15 @@ void ampex210_state::ampex210_io(address_map &map)
map.global_mask(0xff);
map(0x00, 0x07).rw("pvtc", FUNC(scn2672_device::read), FUNC(scn2672_device::write));
map(0x44, 0x47).rw("acia", FUNC(mos6551_device::read), FUNC(mos6551_device::write));
- map(0x80, 0x80).nopw();
+ map(0x80, 0x80).w(FUNC(ampex210_state::modem_w));
map(0xc0, 0xc0).w("pvtc", FUNC(scn2672_device::buffer_w));
map(0xc1, 0xc1).r("pvtc", FUNC(scn2672_device::buffer_r));
- map(0xc7, 0xc7).nopw();
+ map(0xc2, 0xc2).r(FUNC(ampex210_state::keyboard_r));
+ map(0xc3, 0xc3).r(FUNC(ampex210_state::keyboard_reset_r));
+ map(0xc4, 0xc4).w(FUNC(ampex210_state::flags1_w));
+ map(0xc5, 0xc5).w(FUNC(ampex210_state::flags2_w));
+ map(0xc6, 0xc6).r(FUNC(ampex210_state::keyboard_extra_r));
+ map(0xc7, 0xc7).w(FUNC(ampex210_state::flags3_w));
}
void ampex210_state::ampex230_io(address_map &map)
@@ -83,6 +135,12 @@ void ampex210_state::ampex230_io(address_map &map)
map(0x11, 0x11).r("pvtc", FUNC(scn2672_device::buffer_r));
map(0x12, 0x12).w("pvtc", FUNC(scn2672_device::attr_buffer_w));
map(0x13, 0x13).r("pvtc", FUNC(scn2672_device::attr_buffer_r));
+ map(0x15, 0x15).r(FUNC(ampex210_state::keyboard_extra_r));
+ map(0x16, 0x16).r(FUNC(ampex210_state::keyboard_r));
+ map(0x17, 0x17).r(FUNC(ampex210_state::keyboard_reset_r));
+ map(0x20, 0x20).w(FUNC(ampex210_state::flags1_w));
+ map(0x21, 0x21).w(FUNC(ampex210_state::flags3_w));
+ map(0x22, 0x22).w(FUNC(ampex210_state::flags2_w));
map(0x30, 0x33).rw("ctc", FUNC(z80ctc_device::read), FUNC(z80ctc_device::write));
map(0x40, 0x43).rw("dart", FUNC(z80dart_device::ba_cd_r), FUNC(z80dart_device::ba_cd_w));
}