C4: Do the sign extend manually.
This commit is contained in:
parent
bd96a8ddc7
commit
35eb5e550b
@ -1021,7 +1021,8 @@ void S9xSetC4 (uint8 byte, uint16 Address)
|
|||||||
if (Memory.C4RAM[0x1f4d] != 0x0e)
|
if (Memory.C4RAM[0x1f4d] != 0x0e)
|
||||||
printf("$7f4d=%02x, expected 0e for command 54 %02x\n", Memory.C4RAM[0x1f4d], Memory.C4RAM[0x1f4d]);
|
printf("$7f4d=%02x, expected 0e for command 54 %02x\n", Memory.C4RAM[0x1f4d], Memory.C4RAM[0x1f4d]);
|
||||||
#endif
|
#endif
|
||||||
int64 a = SAR((int64) READ_3WORD(Memory.C4RAM + 0x1f80) << 40, 40);
|
int64 a = (int64)READ_3WORD(Memory.C4RAM + 0x1f80);
|
||||||
|
a |= 0xffffffffff000000 * ((a >> 23) & 1);
|
||||||
//printf("%08X%08X\n", (uint32) (a>>32), (uint32) (a&0xFFFFFFFF));
|
//printf("%08X%08X\n", (uint32) (a>>32), (uint32) (a&0xFFFFFFFF));
|
||||||
a *= a;
|
a *= a;
|
||||||
//printf("%08X%08X\n", (uint32) (a>>32), (uint32) (a&0xFFFFFFFF));
|
//printf("%08X%08X\n", (uint32) (a>>32), (uint32) (a&0xFFFFFFFF));
|
||||||
|
Loading…
Reference in New Issue
Block a user