summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Angelo Salese <angelosa@users.noreply.github.com>2009-12-28 23:00:00 +0000
committer Angelo Salese <angelosa@users.noreply.github.com>2009-12-28 23:00:00 +0000
commit26c643caf0edd1fc461f0b6716dc0f97dfb181e7 (patch)
treeb71d16ec779f479d8f87ae9c0a1cfdc659fa8ae0
parente62c8270ce5eb5af424bbf1174187c582e684e3e (diff)
Another small step, apparently data types 0x4* should be taken into account as well
-rw-r--r--src/mame/machine/tait8741.c11
1 files changed, 10 insertions, 1 deletions
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;
}
}