Skip to content
This repository has been archived by the owner on Oct 4, 2020. It is now read-only.

GB: Evel Knievel (GBC) has tile map errors on Level Select screen characters #170

Open
redacted173 opened this issue Sep 6, 2020 · 0 comments

Comments

@redacted173
Copy link

In Evel Knievel (GBC) some BG tile map writes get dropped on the first scanline because the SGB mode never sets _isFirstFrame = false. Start New Game -> Select default Stage.

https://github.com/SourMesen/Mesen-S/blob/master/Core/GbPpu.cpp#L627

This game uses the OAM STAT IRQ and several other IRQs to perform work. The IRQ for the OAM STAT ends up pushing VRAM writes for the tile map updates to the moving BG text after the rendering mode of the PPU. But for scanline 0 the OAM STAT IRQ is missing since _isFirstFrame always evaluates to true. In this case they get dropped and the expanding/scrolling text gets corrupted.

Adding the assignment of _isFirstFrame = false to the block guarded by SGB is not a small change for the rendering pipe. I tried Pinball Fantasies to make sure it still works, but unsure if this exposes other issues.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant