Quellcode durchsuchen

Make VBlank flags hew more closely to console behavior

master
Nathaniel Walizer vor 10 Monaten
Ursprung
Commit
42ed8daebc
1 geänderte Dateien mit 3 neuen und 2 gelöschten Zeilen
  1. +3
    -2
      src/ppu.c

+ 3
- 2
src/ppu.c Datei anzeigen

@@ -25,6 +25,7 @@ uint8_t nes_ppu_read(nes_ppu* ppu, uint16_t addr) {
if (ppu_reg_status == addr) {
val = ppu->status;
ppu->latch = 0;
ppu->status &= ~ppu_Status_VBlank;

} else if (oam_reg_data == addr) {
OAM_LOG("PPU: OAM READ %02x > %02x\n", ppu->oam_addr, val);
@@ -274,13 +275,13 @@ nes_ppu_Result nes_ppu_run(nes_ppu* ppu, int cycles) {
ppu->frame++;
result = ppu_Result_VBlank_Off;

} else if (ppu->scanline >= nes_ppu_active) {
} else if (ppu->scanline == nes_ppu_active) {
ppu->status |= ppu_Status_VBlank;
if (ppu->control & ppu_Control_VBlank) {
result = ppu_Result_VBlank_On;
}

} else {
} else if (ppu->scanline < nes_ppu_active) {
if ( ppu->scanline > nes_ppu_prerender &&
ppu->scanline < nes_ppu_render) {
ppu->scroll_y++;


Laden…
Abbrechen
Speichern