summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Robbbert <robbbert@users.noreply.github.com>2014-05-14 16:19:28 +0000
committer Robbbert <robbbert@users.noreply.github.com>2014-05-14 16:19:28 +0000
commit64c49f8510ac00aa3bc7d223eec44dfceda95ef4 (patch)
tree2baa12da7d223f931bbe8de5f9058783951eca60 /src
parent769924f42f29eb37dcbb41fbb1f93b66d09bb78f (diff)
(MESS) lft1510 : connected to a terminal
Diffstat (limited to 'src')
-rw-r--r--src/mess/drivers/lft.c22
1 files changed, 17 insertions, 5 deletions
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)