Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Game Boy] "Use GBC colors in GB games" displays SGB colors when checked #2161

Closed
tuzepoito opened this issue May 6, 2021 · 4 comments
Closed

Comments

@tuzepoito
Copy link

@tuzepoito tuzepoito commented May 6, 2021

Environment

  • Platform: Windows 8.1 64-bit
  • mGBA version: 0.10-6981-380987617
  • mGBA interface: mGBA Qt 64-bit

Description of bug

Pre-steps:

  • Open mGBA Qt.
  • Go to "Tools > Settings > Game Boy".
  • Use the following settings:
    mgba-settings
  • Load a GB game that has a builtin color palette in the Game Boy Color system (examples: Donkey Kong (World) (Rev 1), Donkey Kong Land (USA, Europe), Pac-In-Time (Europe) )

Expected behavior:
The screen displays colors as seen on a Game Boy Color.
dkl-title-expected

Observed behavior:
The screen displays a different color palette, apparently the one seen on the Super Game Boy.
dkl-title-mgba

Additional information:

In the settings I set all systems to "Game Boy Color (CGB)" on purpose, just to make sure it is Game Boy Color that is emulated; to no avail, the Super Game Boy color palette is still displayed.

It seems the "Use GBC colors in GB games" checkbox forces use of SGB palettes instead of GBC palettes, contrary to what is displayed on the checkbox description. For many SGB games, this is not a problem because it seems the builtin GBC palettes were modeled after the Super Game Boy palettes. However, there are a few select games where the GBC palette is different from the SGB palette; and apparently, if the box is checked the system behaves as a Super Game Boy.

I have other examples:

Donkey Kong Land (USA, Europe):
Expected:
dkl-expected

Observed:
dkl-mgba

Donkey Kong (World) (Rev 1):
Expected:
dk-expected

Observed:
dk-mgba

Pac-In-Time (Europe):
Expected:
pacintime-begin-expected
pacintime-title-expected
pacintime-expected

Observed:
pacintime-begin-mgba
pacintime-title-mgba
pacintime-mgba

@endrift
Copy link
Member

@endrift endrift commented May 6, 2021

Well, you've completely mischaracterized what's going on here (they're loading as SGB games, not GB games with SGB colors, and it almost certainly has nothing to do with that checkbox), but given you've set all the models to CGB that shouldn't be happening (and might have other undesired side effects).

@tuzepoito
Copy link
Author

@tuzepoito tuzepoito commented May 6, 2021

given you've set all the models to CGB that shouldn't be happening (and might have other undesired side effects).

That's the point: I expected that setting all systems to CGB, and checking "Use GBC colors in GB games" would force loading the CGB palettes. But it doesn't happen. So I began wondering what that checkbox is supposed to do.

@endrift
Copy link
Member

@endrift endrift commented May 6, 2021

It turns out the specific bug here is that the GBC colors setting breaks the GB model overrides settings above, and they end up detecting as SGB games. That is a bug, not an intended behavior. I have a fix ready.

endrift added a commit that referenced this issue May 6, 2021
@endrift endrift closed this in 6b99d31 May 6, 2021
@tuzepoito
Copy link
Author

@tuzepoito tuzepoito commented May 6, 2021

Thanks, the colors are displayed accurately for those games.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants