make it able to switch between DS and DSi modes

This commit is contained in:
Arisotura
2020-06-01 20:36:30 +02:00
parent d7b846619b
commit 43e045357f
16 changed files with 393 additions and 108 deletions

View File

@ -720,8 +720,7 @@ u32 ARMv5::CodeRead32(u32 addr, bool branch)
if (CodeMem.Mem) return *(u32*)&CodeMem.Mem[addr & CodeMem.Mask];
//return NDS::ARM9Read32(addr);
return DSi::ARM9Read32(addr);
return BusRead32(addr);
}
@ -740,8 +739,7 @@ void ARMv5::DataRead8(u32 addr, u32* val)
return;
}
*val = DSi::ARM9Read8(addr);
//*val = NDS::ARM9Read8(addr);
*val = BusRead8(addr);
DataCycles = MemTimings[addr >> 12][1];
}
@ -762,8 +760,7 @@ void ARMv5::DataRead16(u32 addr, u32* val)
return;
}
*val = DSi::ARM9Read16(addr);
//*val = NDS::ARM9Read16(addr);
*val = BusRead16(addr);
DataCycles = MemTimings[addr >> 12][1];
}
@ -784,8 +781,7 @@ void ARMv5::DataRead32(u32 addr, u32* val)
return;
}
*val = DSi::ARM9Read32(addr);
//*val = NDS::ARM9Read32(addr);
*val = BusRead32(addr);
DataCycles = MemTimings[addr >> 12][2];
}
@ -806,8 +802,7 @@ void ARMv5::DataRead32S(u32 addr, u32* val)
return;
}
*val = DSi::ARM9Read32(addr);
//*val = NDS::ARM9Read32(addr);
*val = BusRead32(addr);
DataCycles += MemTimings[addr >> 12][3];
}
@ -826,8 +821,7 @@ void ARMv5::DataWrite8(u32 addr, u8 val)
return;
}
DSi::ARM9Write8(addr, val);
//NDS::ARM9Write8(addr, val);
BusWrite8(addr, val);
DataCycles = MemTimings[addr >> 12][1];
}
@ -848,8 +842,7 @@ void ARMv5::DataWrite16(u32 addr, u16 val)
return;
}
DSi::ARM9Write16(addr, val);
//NDS::ARM9Write16(addr, val);
BusWrite16(addr, val);
DataCycles = MemTimings[addr >> 12][1];
}
@ -870,8 +863,7 @@ void ARMv5::DataWrite32(u32 addr, u32 val)
return;
}
DSi::ARM9Write32(addr, val);
//NDS::ARM9Write32(addr, val);
BusWrite32(addr, val);
DataCycles = MemTimings[addr >> 12][2];
}
@ -892,8 +884,7 @@ void ARMv5::DataWrite32S(u32 addr, u32 val)
return;
}
DSi::ARM9Write32(addr, val);
//NDS::ARM9Write32(addr, val);
BusWrite32(addr, val);
DataCycles += MemTimings[addr >> 12][3];
}
@ -906,7 +897,6 @@ void ARMv5::GetCodeMemRegion(u32 addr, NDS::MemRegion* region)
return;
}*/
DSi::ARM9GetMemRegion(addr, false, &CodeMem);
//NDS::ARM9GetMemRegion(addr, false, &CodeMem);
GetMemRegion(addr, false, &CodeMem);
}