Added GBC improvements #37
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Simple improvement for some GBC dual platform games that show glitches. Platforms before GBC don't have extended VRAM (bank 1) that holds attributes and extended tiles. Therefore, this fix detects writes to the VRAM bank select register, and if bank 1 is selected, writes to VRAM are blocked. This could make certain games that are meant for GBC run passably, enough to be streamed.
The scope of what this can fix is pretty narrow:
I think 1 is likely the most common way of doing it, so maybe many games won't be helped by this patch. 2 varies between games. 3 can vary as well, but has a good chance chance of being applicable if it's a dual platform title that has to have a support for DMG mode. 4 Might not always be true, if the game has separate code paths for monochrome and GBC.
The risks that I can see with this solution are:
ifis a problem in the worst case scenario?VBK (0xff4f)while in DMG mode. This seems pretty unlikely though.So far I've only tried it with Pokemon Gold/Silver which the original issue #36 was about.