mirror of
https://github.com/holub/mame
synced 2025-06-07 21:33:45 +03:00
i8279: Fix lockout #if (nw)
maygayv1.cpp: Minor cleanups (nw)
This commit is contained in:
parent
383297b101
commit
ec6eb8194c
@ -348,16 +348,16 @@ void i8279_device::timer_mainloop()
|
|||||||
m_key_down = addr << 3 | i;
|
m_key_down = addr << 3 | i;
|
||||||
m_debounce = 1;
|
m_debounce = 1;
|
||||||
}
|
}
|
||||||
#if EMULATE_KEY_LOCKOUT
|
|
||||||
else if (m_key_down != (addr << 3 | i))
|
else if (m_key_down != (addr << 3 | i))
|
||||||
{
|
{
|
||||||
|
#if EMULATE_KEY_LOCKOUT
|
||||||
if (m_se_mode && !BIT(m_status, 6))
|
if (m_se_mode && !BIT(m_status, 6))
|
||||||
{
|
{
|
||||||
m_status |= 0x40;
|
m_status |= 0x40;
|
||||||
set_irq(1);
|
set_irq(1);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
#endif // EMULATE_KEY_LOCKOUT
|
#endif // EMULATE_KEY_LOCKOUT
|
||||||
|
}
|
||||||
else if (m_debounce++ > 1)
|
else if (m_debounce++ > 1)
|
||||||
{
|
{
|
||||||
new_fifo((ctrl_key << 7) | (shift_key << 6) | m_key_down);
|
new_fifo((ctrl_key << 7) | (shift_key << 6) | m_key_down);
|
||||||
|
@ -220,6 +220,7 @@ public:
|
|||||||
m_upd7759(*this, "upd"),
|
m_upd7759(*this, "upd"),
|
||||||
m_duart68681(*this, "duart68681"),
|
m_duart68681(*this, "duart68681"),
|
||||||
m_palette(*this, "palette"),
|
m_palette(*this, "palette"),
|
||||||
|
m_kbd_ports(*this, "STROBE%u", 1U),
|
||||||
m_lamp(*this, "lamp%u", 0U)
|
m_lamp(*this, "lamp%u", 0U)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
@ -261,6 +262,7 @@ private:
|
|||||||
required_device<upd7759_device> m_upd7759;
|
required_device<upd7759_device> m_upd7759;
|
||||||
required_device<mc68681_device> m_duart68681;
|
required_device<mc68681_device> m_duart68681;
|
||||||
required_device<palette_device> m_palette;
|
required_device<palette_device> m_palette;
|
||||||
|
required_ioport_array<8> m_kbd_ports;
|
||||||
|
|
||||||
int m_lamp_strobe;
|
int m_lamp_strobe;
|
||||||
int m_old_lamp_strobe;
|
int m_old_lamp_strobe;
|
||||||
@ -553,9 +555,7 @@ void maygayv1_state::lamp_data_w(uint8_t data)
|
|||||||
|
|
||||||
uint8_t maygayv1_state::kbd_r()
|
uint8_t maygayv1_state::kbd_r()
|
||||||
{
|
{
|
||||||
static const char *const portnames[] = { "STROBE1","STROBE2","STROBE3","STROBE4","STROBE5","STROBE6","STROBE7","STROBE8" };
|
return m_kbd_ports[m_lamp_strobe & 0x07]->read();
|
||||||
|
|
||||||
return ioport(portnames[m_lamp_strobe&0x07])->read();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE16_MEMBER(maygayv1_state::vsync_int_ctrl)
|
WRITE16_MEMBER(maygayv1_state::vsync_int_ctrl)
|
||||||
@ -572,9 +572,8 @@ void maygayv1_state::main_map(address_map &map)
|
|||||||
map(0x000000, 0x07ffff).rom();
|
map(0x000000, 0x07ffff).rom();
|
||||||
map(0x080000, 0x083fff).ram().share("nvram");
|
map(0x080000, 0x083fff).ram().share("nvram");
|
||||||
map(0x100000, 0x17ffff).rom().region("maincpu", 0x80000);
|
map(0x100000, 0x17ffff).rom().region("maincpu", 0x80000);
|
||||||
map(0x820001, 0x820001).rw("i8279", FUNC(i8279_device::data_r), FUNC(i8279_device::data_w));
|
|
||||||
map(0x820003, 0x820003).rw("i8279", FUNC(i8279_device::status_r), FUNC(i8279_device::cmd_w));
|
|
||||||
map(0x800000, 0x800003).w("ymsnd", FUNC(ym2413_device::write)).umask16(0xff00);
|
map(0x800000, 0x800003).w("ymsnd", FUNC(ym2413_device::write)).umask16(0xff00);
|
||||||
|
map(0x820000, 0x820003).rw("i8279", FUNC(i8279_device::read), FUNC(i8279_device::write)).umask16(0x00ff);
|
||||||
map(0x860000, 0x86000d).rw(FUNC(maygayv1_state::read_odd), FUNC(maygayv1_state::write_odd));
|
map(0x860000, 0x86000d).rw(FUNC(maygayv1_state::read_odd), FUNC(maygayv1_state::write_odd));
|
||||||
map(0x86000e, 0x86000f).w(FUNC(maygayv1_state::vsync_int_ctrl));
|
map(0x86000e, 0x86000f).w(FUNC(maygayv1_state::vsync_int_ctrl));
|
||||||
map(0x880000, 0x89ffff).rw(FUNC(maygayv1_state::i82716_r), FUNC(maygayv1_state::i82716_w));
|
map(0x880000, 0x89ffff).rw(FUNC(maygayv1_state::i82716_r), FUNC(maygayv1_state::i82716_w));
|
||||||
|
Loading…
Reference in New Issue
Block a user