ms9540: Some diagnostic value, no real improvement (nw)

This commit is contained in:
AJR 2019-05-02 18:14:38 -04:00
parent 66118f1695
commit a5a5c7af4a

View File

@ -41,9 +41,15 @@ public:
void ms9540(machine_config &config); void ms9540(machine_config &config);
private: 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 kbd_put(u8 data);
void mem_map(address_map &map); void mem_map(address_map &map);
uint8_t m_term_data; uint8_t m_term_data;
uint8_t m_latch_1e001;
uint8_t m_latch_1f001;
virtual void machine_reset() override; virtual void machine_reset() override;
required_shared_ptr<uint16_t> m_p_base; required_shared_ptr<uint16_t> m_p_base;
required_device<cpu_device> m_maincpu; required_device<cpu_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) void ms9540_state::mem_map(address_map &map)
{ {
map.unmap_value_high(); map.unmap_value_high();
map.global_mask(0xffffff);
map(0x000000, 0x00ffff).ram().share("rambase"); map(0x000000, 0x00ffff).ram().share("rambase");
map(0x010000, 0x013fff).rom().region("9540", 0); map(0x010000, 0x013fff).rom().region("9540", 0);
map(0x018000, 0x018fff).ram(); 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));
} }