diff --git a/src/DMA.cpp b/src/DMA.cpp index 6a3b4137..4cf60419 100644 --- a/src/DMA.cpp +++ b/src/DMA.cpp @@ -297,6 +297,7 @@ u32 DMA::UnitTimings9_16(bool burststart) } else { + // TODO: not quite right for GBA slot return (((CurSrcAddr & 0x1F) == 0x1E) ? 7 : 8) + (burststart ? dst_n : dst_s); } @@ -384,7 +385,8 @@ u32 DMA::UnitTimings9_32(bool burststart) } else { - return (((CurSrcAddr & 0x1F) == 0x1C) ? 8 : 9) + + // TODO: not quite right for GBA slot + return (((CurSrcAddr & 0x1F) == 0x1C) ? (dst_n==2 ? 7:8) : 9) + (burststart ? dst_n : dst_s); } } diff --git a/src/DSi.cpp b/src/DSi.cpp index 0070c41f..53846539 100644 --- a/src/DSi.cpp +++ b/src/DSi.cpp @@ -739,7 +739,7 @@ void Set_SCFG_Clock9(u16 val) NDS::ARM9Timestamp <<= NDS::ARM9ClockShift; NDS::ARM9Target <<= NDS::ARM9ClockShift; - NDS::ARM9->UpdateRegionTimings(0x00000000, 0xFFFFFFFF); + NDS::ARM9->UpdateRegionTimings(0x00000, 0x100000); } void Set_SCFG_MC(u32 val) diff --git a/src/NDS.cpp b/src/NDS.cpp index f3943ea9..c43caeab 100644 --- a/src/NDS.cpp +++ b/src/NDS.cpp @@ -2011,7 +2011,7 @@ u16 ARM9Read16(u32 addr) (GBACart::SRAMRead(addr+1) << 8); } - if (addr) printf("unknown arm9 read16 %08X %08X\n", addr, ARM9->R[15]); + //if (addr) printf("unknown arm9 read16 %08X %08X\n", addr, ARM9->R[15]); return 0; } @@ -2072,7 +2072,7 @@ u32 ARM9Read32(u32 addr) (GBACart::SRAMRead(addr+3) << 24); } - printf("unknown arm9 read32 %08X | %08X %08X\n", addr, ARM9->R[15], ARM9->R[12]); + //printf("unknown arm9 read32 %08X | %08X %08X\n", addr, ARM9->R[15], ARM9->R[12]); return 0; }