mirror of https://github.com/mgba-emu/mgba.git
GB Memory: Fix OAM DMA from top 8 kB
This commit is contained in:
parent
673f4aa149
commit
91dd493f95
1
CHANGES
1
CHANGES
|
@ -6,6 +6,7 @@ Emulation fixes:
|
|||
- ARM: Fix ALU reading PC after shifting
|
||||
- ARM: Fix STR storing PC after address calculation
|
||||
- GB: Partially fix timing for skipped BIOS
|
||||
- GB Memory: Fix OAM DMA from top 8 kB
|
||||
- GB MBC: Fix MBC1 mode changing behavior
|
||||
- GB MBC: Fix MBC1 RAM enable bit selection
|
||||
- GB MBC: Fix MBC2 bit selection
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 528 B |
|
@ -1,2 +0,0 @@
|
|||
[testinfo]
|
||||
fail=1
|
|
@ -193,7 +193,7 @@ void GBIOReset(struct GB* gb) {
|
|||
GBIOWrite(gb, REG_SCY, 0x00);
|
||||
GBIOWrite(gb, REG_SCX, 0x00);
|
||||
GBIOWrite(gb, REG_LYC, 0x00);
|
||||
GBIOWrite(gb, REG_DMA, 0xFF);
|
||||
gb->memory.io[REG_DMA] = 0xFF;
|
||||
GBIOWrite(gb, REG_BGP, 0xFC);
|
||||
if (gb->model < GB_MODEL_CGB) {
|
||||
GBIOWrite(gb, REG_OBP0, 0xFF);
|
||||
|
|
|
@ -519,8 +519,8 @@ uint8_t GBView8(struct SM83Core* cpu, uint16_t address, int segment) {
|
|||
}
|
||||
|
||||
void GBMemoryDMA(struct GB* gb, uint16_t base) {
|
||||
if (base > 0xF100) {
|
||||
return;
|
||||
if (base >= 0xE000) {
|
||||
base &= 0xDFFF;
|
||||
}
|
||||
mTimingDeschedule(&gb->timing, &gb->memory.dmaEvent);
|
||||
mTimingSchedule(&gb->timing, &gb->memory.dmaEvent, 8);
|
||||
|
|
Loading…
Reference in New Issue