(MESS) lft1510 : connected to a terminal

This commit is contained in:
Robbbert 2014-05-14 16:19:28 +00:00
parent 769924f42f
commit 64c49f8510

View File

@ -22,6 +22,7 @@ public:
{} {}
DECLARE_WRITE8_MEMBER(kbd_put); DECLARE_WRITE8_MEMBER(kbd_put);
DECLARE_WRITE16_MEMBER(term_w);
DECLARE_READ16_MEMBER(keyin_r); DECLARE_READ16_MEMBER(keyin_r);
DECLARE_READ16_MEMBER(status_r); DECLARE_READ16_MEMBER(status_r);
@ -40,8 +41,13 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START(lft_io, AS_IO, 16, lft_state) static ADDRESS_MAP_START(lft_io, AS_IO, 16, lft_state)
ADDRESS_MAP_UNMAP_HIGH ADDRESS_MAP_UNMAP_HIGH
AM_RANGE(0x00100, 0x00103) AM_READ(status_r) ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00104, 0x00105) AM_READ(keyin_r) AM_DEVWRITE8("terminal", generic_terminal_device, write, 0x00ff) // screen 1
AM_RANGE(0x00, 0x01) AM_READNOP
AM_RANGE(0x04, 0x05) AM_READWRITE(keyin_r,term_w)
// screen 2
AM_RANGE(0x02, 0x03) AM_READNOP
AM_RANGE(0x06, 0x07) AM_WRITENOP
ADDRESS_MAP_END ADDRESS_MAP_END
@ -66,6 +72,11 @@ WRITE8_MEMBER( lft_state::kbd_put )
m_term_data = data; m_term_data = data;
} }
WRITE16_MEMBER( lft_state::term_w )
{
m_terminal->write(space, 0, data & 0x7f); // fix backspace
}
void lft_state::machine_reset() void lft_state::machine_reset()
{ {
m_term_data = 0; m_term_data = 0;
@ -82,6 +93,7 @@ static MACHINE_CONFIG_START( lft, lft_state )
MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(lft_state, kbd_put)) MCFG_GENERIC_TERMINAL_KEYBOARD_CB(WRITE8(lft_state, kbd_put))
MACHINE_CONFIG_END MACHINE_CONFIG_END
/* ROM definition */ /* ROM definition */
ROM_START( lft1230 ) ROM_START( lft1230 )
ROM_REGION(0x4000, "roms", 0) ROM_REGION(0x4000, "roms", 0)
@ -100,6 +112,6 @@ ROM_END
/* Driver */ /* Driver */
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
COMP( ????, lft1510, 0, 0, lft, lft, driver_device, 0, "LFT", "LFT 1510", GAME_IS_SKELETON) COMP( ????, lft1510, 0, 0, lft, lft, driver_device, 0, "LFT", "LFT 1510", GAME_IS_SKELETON)
COMP( ????, lft1230, lft1510, 0, lft, lft, driver_device, 0, "LFT", "LFT 1230", GAME_IS_SKELETON) COMP( ????, lft1230, lft1510, 0, lft, lft, driver_device, 0, "LFT", "LFT 1230", GAME_IS_SKELETON)