mirror of https://github.com/mgba-emu/mgba.git
GB Memory: Initialize RAM pattern for GBC
This commit is contained in:
parent
05edd2fe52
commit
3ceadd4ccd
1
CHANGES
1
CHANGES
|
@ -14,6 +14,7 @@ Bugfixes:
|
||||||
Misc:
|
Misc:
|
||||||
- All: Only update version info if needed
|
- All: Only update version info if needed
|
||||||
- FFmpeg: Encoding cleanup
|
- FFmpeg: Encoding cleanup
|
||||||
|
- GB Memory: Initialize RAM pattern for GBC
|
||||||
|
|
||||||
0.5.0: (2016-09-19)
|
0.5.0: (2016-09-19)
|
||||||
Features:
|
Features:
|
||||||
|
|
|
@ -89,6 +89,20 @@ void GBMemoryReset(struct GB* gb) {
|
||||||
mappedMemoryFree(gb->memory.wram, GB_SIZE_WORKING_RAM);
|
mappedMemoryFree(gb->memory.wram, GB_SIZE_WORKING_RAM);
|
||||||
}
|
}
|
||||||
gb->memory.wram = anonymousMemoryMap(GB_SIZE_WORKING_RAM);
|
gb->memory.wram = anonymousMemoryMap(GB_SIZE_WORKING_RAM);
|
||||||
|
if (gb->model >= GB_MODEL_CGB) {
|
||||||
|
uint32_t* base = (uint32_t*) gb->memory.wram;
|
||||||
|
size_t i;
|
||||||
|
uint32_t pattern = 0;
|
||||||
|
for (i = 0; i < GB_SIZE_WORKING_RAM / 4; i += 4) {
|
||||||
|
if ((i & 0x1FF) == 0) {
|
||||||
|
pattern = ~pattern;
|
||||||
|
}
|
||||||
|
base[i + 0] = pattern;
|
||||||
|
base[i + 1] = pattern;
|
||||||
|
base[i + 2] = ~pattern;
|
||||||
|
base[i + 3] = ~pattern;
|
||||||
|
}
|
||||||
|
}
|
||||||
GBMemorySwitchWramBank(&gb->memory, 1);
|
GBMemorySwitchWramBank(&gb->memory, 1);
|
||||||
gb->memory.romBank = &gb->memory.rom[GB_SIZE_CART_BANK0];
|
gb->memory.romBank = &gb->memory.rom[GB_SIZE_CART_BANK0];
|
||||||
gb->memory.currentBank = 1;
|
gb->memory.currentBank = 1;
|
||||||
|
|
Loading…
Reference in New Issue