Skip to content

Why the PPU OAM access takes 21 cycles (84 dots) instead of 20 (80 dots) ? #191

@itytophile

Description

@itytophile

Hi. First of all, thanks for this emulator and your test suite. I am writing an emulator on my own and this is really helping me out.

I am trying to pass the ppu/intr_2_mode0_timing. However, my emulator changes mode too fast and the B register misses an increment.
When studying mooneye-gb, I was surprised by this line:

const ACCESS_OAM_CYCLES: isize = 21;

Pandocs and Sameboy say 80 dots. Maybe the LCD Status register is not perfectly synchronised with the actual mode? I'll try to study SameBoy code to know what's happening.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions