mirror of
https://github.com/holub/mame
synced 2025-06-05 12:26:35 +03:00
sk101bl: More handlers (nw)
This commit is contained in:
parent
16e2b8f759
commit
b5020f3644
@ -29,18 +29,46 @@ public:
|
||||
|
||||
void sk101bl(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void machine_start() override;
|
||||
|
||||
private:
|
||||
DECLARE_READ_LINE_MEMBER(p17_r);
|
||||
void p1_w(u8 data);
|
||||
void p24_latch_w(u8 data);
|
||||
void p26_latch_w(u8 data);
|
||||
|
||||
void prog_map(address_map &map);
|
||||
void ext_map(address_map &map);
|
||||
|
||||
required_device<i80c31_device> m_maincpu;
|
||||
|
||||
u8 m_p1_state;
|
||||
};
|
||||
|
||||
void sk101bl_state::machine_start()
|
||||
{
|
||||
save_item(NAME(m_p1_state));
|
||||
}
|
||||
|
||||
READ_LINE_MEMBER(sk101bl_state::p17_r)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void sk101bl_state::p1_w(u8 data)
|
||||
{
|
||||
logerror("%s: Writing %02X to P1\n", machine().describe_context(), data);
|
||||
m_p1_state = data;
|
||||
}
|
||||
|
||||
void sk101bl_state::p24_latch_w(u8 data)
|
||||
{
|
||||
logerror("%s: Writing %02X to P2.4 latch\n", machine().describe_context(), data);
|
||||
}
|
||||
|
||||
void sk101bl_state::p26_latch_w(u8 data)
|
||||
{
|
||||
logerror("%s: Writing %02X to P2.6 latch (P1.7-4 = %01X)\n", machine().describe_context(), data, m_p1_state >> 4);
|
||||
}
|
||||
|
||||
void sk101bl_state::prog_map(address_map &map)
|
||||
@ -50,7 +78,8 @@ void sk101bl_state::prog_map(address_map &map)
|
||||
|
||||
void sk101bl_state::ext_map(address_map &map)
|
||||
{
|
||||
map(0x4f00, 0x4f00).unmapw();
|
||||
map(0x1000, 0x1000).mirror(0x0fff).w(FUNC(sk101bl_state::p24_latch_w));
|
||||
map(0x4000, 0x4000).mirror(0x0fff).w(FUNC(sk101bl_state::p26_latch_w));
|
||||
map(0xe000, 0xffff).ram(); // TC5565APL-15L
|
||||
}
|
||||
|
||||
@ -62,6 +91,7 @@ void sk101bl_state::sk101bl(machine_config &config)
|
||||
I80C31(config, m_maincpu, 11.0592_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &sk101bl_state::prog_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &sk101bl_state::ext_map);
|
||||
m_maincpu->port_in_cb<1>().set(FUNC(sk101bl_state::p17_r)).bit(7);
|
||||
m_maincpu->port_out_cb<1>().set(FUNC(sk101bl_state::p1_w));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user