浏览代码

Make VBlank flags hew more closely to console behavior

master
Nathaniel Walizer 10 个月前
父节点
当前提交
42ed8daebc
共有 1 个文件被更改,包括 3 次插入2 次删除
  1. +3
    -2
      src/ppu.c

+ 3
- 2
src/ppu.c 查看文件

@@ -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++;


正在加载...
取消
保存