From 544d7d3c3c4bf9ac8c589f115637c3d508049e40 Mon Sep 17 00:00:00 2001 From: Robbbert Date: Mon, 13 Jun 2016 11:24:52 +1000 Subject: [PATCH] TRS-80: some games were unplayable due to loss of keyboard control. These games have support for an unofficial joystick. --- src/mame/drivers/trs80.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/mame/drivers/trs80.cpp b/src/mame/drivers/trs80.cpp index a57fcf472a2..46bf876a5d9 100644 --- a/src/mame/drivers/trs80.cpp +++ b/src/mame/drivers/trs80.cpp @@ -149,6 +149,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( trs80_io, AS_IO, 8, trs80_state ) ADDRESS_MAP_GLOBAL_MASK(0xff) + ADDRESS_MAP_UNMAP_HIGH AM_RANGE(0xff, 0xff) AM_READWRITE(trs80_ff_r, trs80_ff_w) ADDRESS_MAP_END @@ -171,11 +172,13 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( model1_io, AS_IO, 8, trs80_state ) ADDRESS_MAP_GLOBAL_MASK(0xff) + ADDRESS_MAP_UNMAP_HIGH AM_RANGE(0xff, 0xff) AM_READWRITE(trs80_ff_r, trs80_ff_w) ADDRESS_MAP_END static ADDRESS_MAP_START( sys80_io, AS_IO, 8, trs80_state ) ADDRESS_MAP_GLOBAL_MASK(0xff) + ADDRESS_MAP_UNMAP_HIGH AM_RANGE(0xf8, 0xf8) AM_READWRITE(trs80m4_eb_r, sys80_f8_w) AM_RANGE(0xf9, 0xf9) AM_READWRITE(sys80_f9_r, trs80m4_eb_w) AM_RANGE(0xfd, 0xfd) AM_READWRITE(trs80_printer_r, trs80_printer_w) @@ -189,6 +192,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( lnw80_io, AS_IO, 8, trs80_state ) ADDRESS_MAP_GLOBAL_MASK(0xff) + ADDRESS_MAP_UNMAP_HIGH AM_RANGE(0xe8, 0xe8) AM_READWRITE(trs80m4_e8_r, trs80m4_e8_w) AM_RANGE(0xe9, 0xe9) AM_READ_PORT("E9") AM_RANGE(0xea, 0xea) AM_READWRITE(trs80m4_ea_r, trs80m4_ea_w) @@ -202,6 +206,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( model3_io, AS_IO, 8, trs80_state ) ADDRESS_MAP_GLOBAL_MASK(0xff) + ADDRESS_MAP_UNMAP_HIGH AM_RANGE(0xe0, 0xe3) AM_READWRITE(trs80m4_e0_r, trs80m4_e0_w) AM_RANGE(0xe4, 0xe4) AM_READWRITE(trs80m4_e4_r, trs80m4_e4_w) AM_RANGE(0xe8, 0xe8) AM_READWRITE(trs80m4_e8_r, trs80m4_e8_w) @@ -221,6 +226,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( model4_io, AS_IO, 8, trs80_state ) ADDRESS_MAP_GLOBAL_MASK(0xff) + ADDRESS_MAP_UNMAP_HIGH AM_RANGE(0x84, 0x87) AM_WRITE(trs80m4_84_w) AM_RANGE(0x88, 0x89) AM_WRITE(trs80m4_88_w) AM_RANGE(0x90, 0x93) AM_WRITE(trs80m4_90_w) @@ -243,6 +249,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( model4p_io, AS_IO, 8, trs80_state ) ADDRESS_MAP_GLOBAL_MASK(0xff) + ADDRESS_MAP_UNMAP_HIGH AM_RANGE(0x84, 0x87) AM_WRITE(trs80m4_84_w) AM_RANGE(0x88, 0x89) AM_WRITE(trs80m4_88_w) AM_RANGE(0x90, 0x93) AM_WRITE(trs80m4_90_w) @@ -273,6 +280,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( meritum_io, AS_IO, 8, trs80_state ) ADDRESS_MAP_GLOBAL_MASK(0xff) + ADDRESS_MAP_UNMAP_HIGH // There are specific writes to ports 03, F3, F7, F8, FA, FB, FD // so perhaps this system uses devices at these locations. // The disk input expects values that are different to the usual,