Skip to content

Conversation

@aabalke
Copy link
Contributor

@aabalke aabalke commented Apr 18, 2025

Bug fixes while testing on Pokemon Gold.

  1. Rtc was not initializing on MBC3, added make() to struct initialization.
  2. window vs background is on a per pixel basis, not per scanline, by using the windowX Register. This is viewable with the Pokedex in Pokemon Gold, where the left side of the screen uses background and the right side uses window. Fixed by splitting background and window addresses per scanline, then checking if window is used and if the current pixel >= windowX. If you need a save to see behavior, please let me know.

aabalke added 3 commits April 12, 2025 13:22
PPU requires negative values for WX Register when games set WX less than
7. Notable example is Link's Awakening DMG which sets it to 6. Values
less than 7 should shift the window off screen to the left not overflow.
1. Rtc was not initializing on MBC3, added make() to struct
initialization.
2. window vs background is on a per pixel basis, not per scanline by
using the windowX Register. This is viewable with the Pokedex in Pokemon
Gold, where the left side of the screen uses background and the right
side uses window. Fixed by splitting background and window addresses per
scanline, then checking if window is used and if the current pixel >=
windowX. If you need a save to see behavior please let me know.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant