mirror of
https://github.com/holub/mame
synced 2025-07-03 00:56:03 +03:00
vt240: keyboard_error-- (nw)
This commit is contained in:
parent
9f112354df
commit
ea0e8c60ba
@ -59,7 +59,8 @@ public:
|
||||
m_nvram(*this, "x2212"),
|
||||
m_palette(*this, "palette"),
|
||||
m_rom(*this, "maincpu"),
|
||||
m_video_ram(*this, "vram"){ }
|
||||
m_video_ram(*this, "vram"),
|
||||
m_lk201(*this, "lk201"){ }
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<cpu_device> m_i8085;
|
||||
@ -71,11 +72,13 @@ public:
|
||||
required_device<palette_device> m_palette;
|
||||
required_region_ptr<UINT16> m_rom;
|
||||
required_shared_ptr<UINT16> m_video_ram;
|
||||
optional_device<lk201_device> m_lk201;
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(write_keyboard_clock);
|
||||
DECLARE_WRITE_LINE_MEMBER(i8085_rdy_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(lben_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(tx_w);
|
||||
DECLARE_READ_LINE_MEMBER(i8085_sid_r);
|
||||
DECLARE_READ8_MEMBER( test_r );
|
||||
DECLARE_READ8_MEMBER(i8085_comm_r);
|
||||
DECLARE_WRITE8_MEMBER(i8085_comm_w);
|
||||
DECLARE_READ8_MEMBER(t11_comm_r);
|
||||
@ -111,6 +114,7 @@ public:
|
||||
UINT8 m_char_idx, m_mask, m_reg0, m_reg1, m_lu;
|
||||
UINT8 m_vom[16];
|
||||
UINT8 m_vpat, m_patmult, m_patcnt, m_patidx;
|
||||
bool m_lb;
|
||||
};
|
||||
|
||||
WRITE_LINE_MEMBER(vt240_state::write_keyboard_clock)
|
||||
@ -119,6 +123,19 @@ WRITE_LINE_MEMBER(vt240_state::write_keyboard_clock)
|
||||
m_i8251->write_rxc(state);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(vt240_state::lben_w)
|
||||
{
|
||||
m_lb = state ? false : true;
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(vt240_state::tx_w)
|
||||
{
|
||||
if(m_lb)
|
||||
m_i8251->write_rxd(state);
|
||||
else
|
||||
m_lk201->rx_w(state);
|
||||
}
|
||||
|
||||
WRITE_LINE_MEMBER(vt240_state::i8085_rdy_w)
|
||||
{
|
||||
m_maincpu->set_input_line(3, state ? CLEAR_LINE : ASSERT_LINE);
|
||||
@ -285,7 +302,6 @@ WRITE16_MEMBER(vt240_state::vram_w)
|
||||
UINT8 *video_ram = (UINT8 *)(&m_video_ram[0]);
|
||||
offset <<= 1;
|
||||
offset = ((offset & 0x30000) >> 1) | (offset & 0x7fff);
|
||||
UINT8 chr = data;
|
||||
if(!BIT(m_reg0, 3))
|
||||
offset |= BIT(offset, 16);
|
||||
else
|
||||
@ -298,6 +314,7 @@ WRITE16_MEMBER(vt240_state::vram_w)
|
||||
else
|
||||
data &= 0xff;
|
||||
}
|
||||
UINT8 chr = data;
|
||||
|
||||
if(BIT(m_reg1, 2))
|
||||
chr = video_ram[offset & 0xffff];
|
||||
@ -500,10 +517,10 @@ static MACHINE_CONFIG_START( vt240, vt240_state )
|
||||
// MCFG_I8251_RTS_HANDLER(DEVWRITELINE("rs232", rs232_port_device, write_rts))
|
||||
|
||||
MCFG_DEVICE_ADD("i8251", I8251, 0)
|
||||
MCFG_I8251_TXD_HANDLER(DEVWRITELINE("lk201", lk201_device, rx_w))
|
||||
//MCFG_I8251_DTR_HANDLER(WRITELINE(rainbow_state, irq_hi_w))
|
||||
//MCFG_I8251_RXRDY_HANDLER(INPUTLINE("maincpu", ))
|
||||
//MCFG_I8251_TXRDY_HANDLER(WRITELINE(rainbow_state, kbd_txready_w))
|
||||
MCFG_I8251_TXD_HANDLER(WRITELINE(vt240_state, tx_w))
|
||||
MCFG_I8251_DTR_HANDLER(WRITELINE(vt240_state, lben_w))
|
||||
MCFG_I8251_RXRDY_HANDLER(INPUTLINE("maincpu", 9))
|
||||
MCFG_I8251_TXRDY_HANDLER(INPUTLINE("maincpu", 7))
|
||||
|
||||
MCFG_DEVICE_ADD("lk201", LK201, 0)
|
||||
MCFG_LK201_TX_HANDLER(DEVWRITELINE("i8251", i8251_device, write_rxd))
|
||||
|
Loading…
Reference in New Issue
Block a user