GBA BIOS: Prevent CpuSet and CpuFastSet from using BIOS addresses as a source (fixes #184)

This commit is contained in:
Jeffrey Pfau 2015-01-27 21:43:28 -08:00
parent 6d08ed3dd8
commit 7e973c207a
2 changed files with 5 additions and 0 deletions

View File

@ -32,6 +32,7 @@ Bugfixes:
- Perf: Fix crash when the GBA thread fails to start
- SDL: Properly clean up if a game doesn't launch
- Debugger: Disassembly now lists PSR bitmasks (fixes #191)
- GBA BIOS: Prevent CpuSet and CpuFastSet from using BIOS addresses as a source (fixes #184)
Misc:
- GBA Audio: Change internal audio sample buffer from 32-bit to 16-bit samples
- GBA Memory: Simplify memory API and use fixed bus width

View File

@ -212,6 +212,10 @@ void GBASwi16(struct ARMCore* cpu, int immediate) {
break;
case 0xB:
case 0xC:
if (cpu->gprs[0] >> BASE_OFFSET == REGION_BIOS) {
GBALog(gba, GBA_LOG_GAME_ERROR, "Cannot CpuSet from BIOS");
return;
}
ARMRaiseSWI(cpu);
break;
case 0xD: