From a5a5c7af4a6be543b9b3bbe504410b38b82a004b Mon Sep 17 00:00:00 2001 From: AJR Date: Thu, 2 May 2019 18:14:38 -0400 Subject: [PATCH] ms9540: Some diagnostic value, no real improvement (nw) --- src/mame/drivers/ms9540.cpp | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/mame/drivers/ms9540.cpp b/src/mame/drivers/ms9540.cpp index 8515038fbcb..4476248e999 100644 --- a/src/mame/drivers/ms9540.cpp +++ b/src/mame/drivers/ms9540.cpp @@ -41,9 +41,15 @@ public: void ms9540(machine_config &config); private: + uint8_t latch_1e001_r(); + void latch_1e001_w(u8 data); + uint8_t latch_1f001_r(); + void latch_1f001_w(u8 data); void kbd_put(u8 data); void mem_map(address_map &map); uint8_t m_term_data; + uint8_t m_latch_1e001; + uint8_t m_latch_1f001; virtual void machine_reset() override; required_shared_ptr m_p_base; required_device m_maincpu; @@ -51,13 +57,36 @@ private: }; +uint8_t ms9540_state::latch_1e001_r() +{ + return m_latch_1e001; +} + +void ms9540_state::latch_1e001_w(uint8_t data) +{ + logerror("%s: $1e001 <- #$%02x\n", machine().describe_context(), data); + m_latch_1e001 = data; +} + +uint8_t ms9540_state::latch_1f001_r() +{ + return m_latch_1f001; +} + +void ms9540_state::latch_1f001_w(uint8_t data) +{ + logerror("%s: $1f001 <- #$%02x\n", machine().describe_context(), data); + m_latch_1f001 = data; +} + void ms9540_state::mem_map(address_map &map) { map.unmap_value_high(); - map.global_mask(0xffffff); map(0x000000, 0x00ffff).ram().share("rambase"); map(0x010000, 0x013fff).rom().region("9540", 0); map(0x018000, 0x018fff).ram(); + map(0x01e001, 0x01e001).rw(FUNC(ms9540_state::latch_1e001_r), FUNC(ms9540_state::latch_1e001_w)); + map(0x01f001, 0x01f001).rw(FUNC(ms9540_state::latch_1f001_r), FUNC(ms9540_state::latch_1f001_w)); }