fix bug with ALU operations and shift operands, where the shift operation could obliterate the carry flag

also, misc shit
This commit is contained in:
StapleButter
2017-01-20 15:13:44 +01:00
parent 3e5e8f60c4
commit 7dba0121cb
7 changed files with 97 additions and 51 deletions

View File

@ -106,7 +106,7 @@ void DMA::Start()
if ((Cnt & 0x00060000) == 0x00060000)
CurDstAddr = DstAddr;
//printf("ARM%d DMA%d %08X %08X->%08X %d bytes %dbit\n", CPU?7:9, Num, Cnt, CurSrcAddr, CurDstAddr, RemCount*((Cnt & 0x04000000)?2:4), (Cnt & 0x04000000)?16:32);
//printf("ARM%d DMA%d %08X %08X->%08X %d bytes %dbit\n", CPU?7:9, Num, Cnt, CurSrcAddr, CurDstAddr, RemCount*((Cnt&0x04000000)?4:2), (Cnt&0x04000000)?32:16);
// TODO: NOT MAKE THE DMA INSTANT!!
if (!(Cnt & 0x04000000))