nagra: fix TAS/TXS/TYS
authorsizemore <unknown>
Mon, 5 May 2008 11:01:20 +0000 (13:01 +0200)
committersizemore <unknown>
Mon, 5 May 2008 11:01:20 +0000 (13:01 +0200)
systems/nagra/cpu.c

index c3783c7529826924218a69b921729002891d13db..7c7554e83cb5496270cf964eabf3274452a07840 100644 (file)
@@ -921,13 +921,13 @@ int c6805::Run(int max_count)
       case 0x9C: // RSP
         sp=spHi; break;
       case 0x96: // TSX
-        *ex=sp; break;
+        *ex=sp&0xFF; break;
       case 0x94: // TXS (ST7)
-        sp=*ex; break;
+        sp=(sp&0xFF00)|*ex; break;
       case 0x9E: // TSA
-        a=sp; break;
+        a=sp&0xFF; break;
       case 0x95: // TAS (ST7)
-        sp=a; break;
+        sp=(sp&0xFF00)|a; break;
       case 0x84: // POPA (ST7)
         a=pop(); break;
       case 0x85: // POPX (ST7)