From 26c643caf0edd1fc461f0b6716dc0f97dfb181e7 Mon Sep 17 00:00:00 2001 From: Angelo Salese Date: Mon, 28 Dec 2009 23:00:00 +0000 Subject: Another small step, apparently data types 0x4* should be taken into account as well --- src/mame/machine/tait8741.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/mame/machine/tait8741.c b/src/mame/machine/tait8741.c index 89b6fe48e1b..e7dc9eaf592 100644 --- a/src/mame/machine/tait8741.c +++ b/src/mame/machine/tait8741.c @@ -609,7 +609,16 @@ static INT8 cyclemb_8741_r(const address_space *space,int num,int offset) switch(cpu_get_pc(space->cpu)) { case 0x760: cyclemb_mcu.rxd = ((input_port_read(space->machine,"DSW1") & 0x1f) << 2); break; - case 0x35c: cyclemb_mcu.rxd = ((input_port_read(space->machine,"DSW3")) & 0x9f) | (mame_rand(space->machine) & 0x60); break; + case 0x35c: + { + static UINT8 mux_r; + mux_r^=0x20; + if(mux_r & 0x20) + cyclemb_mcu.rxd = ((input_port_read(space->machine,"DSW3")) & 0x9f) | (mux_r) | (mame_rand(space->machine) & 0x40); + else + cyclemb_mcu.rxd = ((input_port_read(space->machine,"IN0")) & 0x9f) | (mux_r) | (mame_rand(space->machine) & 0x40); + } + break; } } -- cgit v1.2.3