From 18b2869dad5fa9a33371367e46864c40f9adb340 Mon Sep 17 00:00:00 2001 From: AJR Date: Sat, 22 Feb 2020 11:11:30 -0500 Subject: [PATCH] ampex210.cpp: Add various stub handlers (nw) --- src/mame/drivers/ampex210.cpp | 62 +++++++++++++++++++++++++++++++++-- 1 file 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)); }