From 64c49f8510ac00aa3bc7d223eec44dfceda95ef4 Mon Sep 17 00:00:00 2001 From: Robbbert Date: Wed, 14 May 2014 16:19:28 +0000 Subject: (MESS) lft1510 : connected to a terminal --- src/mess/drivers/lft.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/mess/drivers/lft.c b/src/mess/drivers/lft.c index e7ffab7ee8c..f9638126007 100644 --- a/src/mess/drivers/lft.c +++ b/src/mess/drivers/lft.c @@ -22,6 +22,7 @@ public: {} DECLARE_WRITE8_MEMBER(kbd_put); + DECLARE_WRITE16_MEMBER(term_w); DECLARE_READ16_MEMBER(keyin_r); DECLARE_READ16_MEMBER(status_r); @@ -40,8 +41,13 @@ ADDRESS_MAP_END static ADDRESS_MAP_START(lft_io, AS_IO, 16, lft_state) ADDRESS_MAP_UNMAP_HIGH - AM_RANGE(0x00100, 0x00103) AM_READ(status_r) - AM_RANGE(0x00104, 0x00105) AM_READ(keyin_r) AM_DEVWRITE8("terminal", generic_terminal_device, write, 0x00ff) + ADDRESS_MAP_GLOBAL_MASK(0xff) + // 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 @@ -66,6 +72,11 @@ WRITE8_MEMBER( lft_state::kbd_put ) m_term_data = data; } +WRITE16_MEMBER( lft_state::term_w ) +{ + m_terminal->write(space, 0, data & 0x7f); // fix backspace +} + void lft_state::machine_reset() { 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)) MACHINE_CONFIG_END + /* ROM definition */ ROM_START( lft1230 ) ROM_REGION(0x4000, "roms", 0) @@ -100,6 +112,6 @@ ROM_END /* Driver */ -/* 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( ????, lft1230, lft1510, 0, lft, lft, driver_device, 0, "LFT", "LFT 1230", GAME_IS_SKELETON) +/* 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( ????, lft1230, lft1510, 0, lft, lft, driver_device, 0, "LFT", "LFT 1230", GAME_IS_SKELETON) -- cgit v1.2.3