mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2024-11-14 21:37:42 -07:00
make sure to axe the GBA slot in DSi mode. (EXMEMCNT bit7 still applies to it, tho)
This commit is contained in:
parent
f8bb1aa98d
commit
55a129e1a2
78
src/DSi.cpp
78
src/DSi.cpp
@ -790,6 +790,11 @@ u8 ARM9Read8(u32 addr)
|
|||||||
|
|
||||||
case 0x04000000:
|
case 0x04000000:
|
||||||
return ARM9IORead8(addr);
|
return ARM9IORead8(addr);
|
||||||
|
|
||||||
|
case 0x08000000:
|
||||||
|
case 0x09000000:
|
||||||
|
case 0x0A000000:
|
||||||
|
return (NDS::ExMemCnt[0] & (1<<7)) ? 0 : 0xFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NDS::ARM9Read8(addr);
|
return NDS::ARM9Read8(addr);
|
||||||
@ -827,6 +832,11 @@ u16 ARM9Read16(u32 addr)
|
|||||||
|
|
||||||
case 0x04000000:
|
case 0x04000000:
|
||||||
return ARM9IORead16(addr);
|
return ARM9IORead16(addr);
|
||||||
|
|
||||||
|
case 0x08000000:
|
||||||
|
case 0x09000000:
|
||||||
|
case 0x0A000000:
|
||||||
|
return (NDS::ExMemCnt[0] & (1<<7)) ? 0 : 0xFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NDS::ARM9Read16(addr);
|
return NDS::ARM9Read16(addr);
|
||||||
@ -870,6 +880,11 @@ u32 ARM9Read32(u32 addr)
|
|||||||
|
|
||||||
case 0x04000000:
|
case 0x04000000:
|
||||||
return ARM9IORead32(addr);
|
return ARM9IORead32(addr);
|
||||||
|
|
||||||
|
case 0x08000000:
|
||||||
|
case 0x09000000:
|
||||||
|
case 0x0A000000:
|
||||||
|
return (NDS::ExMemCnt[0] & (1<<7)) ? 0 : 0xFFFFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NDS::ARM9Read32(addr);
|
return NDS::ARM9Read32(addr);
|
||||||
@ -935,6 +950,11 @@ void ARM9Write8(u32 addr, u8 val)
|
|||||||
case 0x00600000: GPU::WriteVRAM_BOBJ<u8>(addr, val); return;
|
case 0x00600000: GPU::WriteVRAM_BOBJ<u8>(addr, val); return;
|
||||||
default: GPU::WriteVRAM_LCDC<u8>(addr, val); return;
|
default: GPU::WriteVRAM_LCDC<u8>(addr, val); return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case 0x08000000:
|
||||||
|
case 0x09000000:
|
||||||
|
case 0x0A000000:
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NDS::ARM9Write8(addr, val);
|
return NDS::ARM9Write8(addr, val);
|
||||||
@ -986,6 +1006,11 @@ void ARM9Write16(u32 addr, u16 val)
|
|||||||
case 0x04000000:
|
case 0x04000000:
|
||||||
ARM9IOWrite16(addr, val);
|
ARM9IOWrite16(addr, val);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
case 0x08000000:
|
||||||
|
case 0x09000000:
|
||||||
|
case 0x0A000000:
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NDS::ARM9Write16(addr, val);
|
return NDS::ARM9Write16(addr, val);
|
||||||
@ -1037,6 +1062,11 @@ void ARM9Write32(u32 addr, u32 val)
|
|||||||
case 0x04000000:
|
case 0x04000000:
|
||||||
ARM9IOWrite32(addr, val);
|
ARM9IOWrite32(addr, val);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
case 0x08000000:
|
||||||
|
case 0x09000000:
|
||||||
|
case 0x0A000000:
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NDS::ARM9Write32(addr, val);
|
return NDS::ARM9Write32(addr, val);
|
||||||
@ -1115,6 +1145,14 @@ u8 ARM7Read8(u32 addr)
|
|||||||
|
|
||||||
case 0x04000000:
|
case 0x04000000:
|
||||||
return ARM7IORead8(addr);
|
return ARM7IORead8(addr);
|
||||||
|
|
||||||
|
case 0x08000000:
|
||||||
|
case 0x08800000:
|
||||||
|
case 0x09000000:
|
||||||
|
case 0x09800000:
|
||||||
|
case 0x0A000000:
|
||||||
|
case 0x0A800000:
|
||||||
|
return (NDS::ExMemCnt[0] & (1<<7)) ? 0xFF : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NDS::ARM7Read8(addr);
|
return NDS::ARM7Read8(addr);
|
||||||
@ -1156,6 +1194,14 @@ u16 ARM7Read16(u32 addr)
|
|||||||
|
|
||||||
case 0x04000000:
|
case 0x04000000:
|
||||||
return ARM7IORead16(addr);
|
return ARM7IORead16(addr);
|
||||||
|
|
||||||
|
case 0x08000000:
|
||||||
|
case 0x08800000:
|
||||||
|
case 0x09000000:
|
||||||
|
case 0x09800000:
|
||||||
|
case 0x0A000000:
|
||||||
|
case 0x0A800000:
|
||||||
|
return (NDS::ExMemCnt[0] & (1<<7)) ? 0xFFFF : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NDS::ARM7Read16(addr);
|
return NDS::ARM7Read16(addr);
|
||||||
@ -1197,6 +1243,14 @@ u32 ARM7Read32(u32 addr)
|
|||||||
|
|
||||||
case 0x04000000:
|
case 0x04000000:
|
||||||
return ARM7IORead32(addr);
|
return ARM7IORead32(addr);
|
||||||
|
|
||||||
|
case 0x08000000:
|
||||||
|
case 0x08800000:
|
||||||
|
case 0x09000000:
|
||||||
|
case 0x09800000:
|
||||||
|
case 0x0A000000:
|
||||||
|
case 0x0A800000:
|
||||||
|
return (NDS::ExMemCnt[0] & (1<<7)) ? 0xFFFFFFFF : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NDS::ARM7Read32(addr);
|
return NDS::ARM7Read32(addr);
|
||||||
@ -1248,6 +1302,14 @@ void ARM7Write8(u32 addr, u8 val)
|
|||||||
case 0x04000000:
|
case 0x04000000:
|
||||||
ARM7IOWrite8(addr, val);
|
ARM7IOWrite8(addr, val);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
case 0x08000000:
|
||||||
|
case 0x08800000:
|
||||||
|
case 0x09000000:
|
||||||
|
case 0x09800000:
|
||||||
|
case 0x0A000000:
|
||||||
|
case 0x0A800000:
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NDS::ARM7Write8(addr, val);
|
return NDS::ARM7Write8(addr, val);
|
||||||
@ -1299,6 +1361,14 @@ void ARM7Write16(u32 addr, u16 val)
|
|||||||
case 0x04000000:
|
case 0x04000000:
|
||||||
ARM7IOWrite16(addr, val);
|
ARM7IOWrite16(addr, val);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
case 0x08000000:
|
||||||
|
case 0x08800000:
|
||||||
|
case 0x09000000:
|
||||||
|
case 0x09800000:
|
||||||
|
case 0x0A000000:
|
||||||
|
case 0x0A800000:
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NDS::ARM7Write16(addr, val);
|
return NDS::ARM7Write16(addr, val);
|
||||||
@ -1350,6 +1420,14 @@ void ARM7Write32(u32 addr, u32 val)
|
|||||||
case 0x04000000:
|
case 0x04000000:
|
||||||
ARM7IOWrite32(addr, val);
|
ARM7IOWrite32(addr, val);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
case 0x08000000:
|
||||||
|
case 0x08800000:
|
||||||
|
case 0x09000000:
|
||||||
|
case 0x09800000:
|
||||||
|
case 0x0A000000:
|
||||||
|
case 0x0A800000:
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
return NDS::ARM7Write32(addr, val);
|
return NDS::ARM7Write32(addr, val);
|
||||||
|
Loading…
Reference in New Issue
Block a user