libretro / gambatte-libretro

Hard fork of Gambatte to the libretro API.
http://sourceforge.net/projects/gambatte/
GNU General Public License v2.0
104 stars 78 forks source link

Implement basic SGB features such as palettes and borders #137

Open Cee123 opened 5 years ago

Cee123 commented 5 years ago

I think the Super Gameboy coloration feature is cool. But there's one minor inconvenience and it's that the colours are completely wrong. And I've tried all the different settings, even the GBC colorization settings and I still can't get the games in the proper colours..

Pokemon Blue on Gambatte. ice_screenshot_20190703-012250

Pokemon Blue on mGBA (how it's supposed to look) ice_screenshot_20190703-012543

Donkey Kong on Gambatte ice_screenshot_20190703-012650

Donkey Kong on mGBA (how it's supposed to look) ice_screenshot_20190703-012809

Again Donkey Kong on Gambatte ice_screenshot_20190703-012909

Donkey Kong on mGBA with accurate colouring ice_screenshot_20190703-012957

Adventures of Lolo on Gambatte ice_screenshot_20190703-013046

Adventures of Lolo on mGBA ice_screenshot_20190703-013126

As I said, the colorations are wrong. Even when setting the coloration to GBC, you still get the incorrect coloring. I've tried nearly all the combinations of colour settings and still can't get the SGB enhanced games to have their proper colours.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/76534488-implement-basic-sgb-features-such-as-palettes-and-borders?utm_campaign=plugin&utm_content=tracker%2F1258974&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1258974&utm_medium=issues&utm_source=github).
Cee123 commented 5 years ago

Added an extra $30. If they could maybe add an option for Super Gameboy borders as well.

FateForWindows commented 5 years ago

Judging by these screenshots it's not even colorizing games with the SGB palette. Those screenshots look like the default palettes on the GBC. I'd definitely like to see this get fixed, though.

Cee123 commented 5 years ago

Well, the Pokemon Blue on mGBA is also how it looks on the Gameboy Color (not just the SGB). So not really sure why it's only one color on Gambatte, even with the SGB coloration.

Cee123 commented 4 years ago

I've decided to retract the bounty on this. It's been well over a year now and nothing's happened. My bounty of $30 has been refunded. During that time, unfortunately I saw no contributions or anyone volunteering to take on the bounty. Hopefully we do see this feature in the future because it would be cool, imo.

ghost commented 4 years ago

When I load it with the settings for SGB coloring it loads the default coloring instead of it's unique palletes, This worked when I tested Alleyway and Metroid II, which shows it's exclusive colors there, but everything else has this default red color no matter what, is there anything specific I need or does it just not work yet? ROM Checksum and name don't seem to matter when I try it,

Cee123 commented 4 years ago

When I load it with the settings for SGB coloring it loads the default coloring instead of it's unique palletes, This worked when I tested Alleyway and Metroid II, which shows it's exclusive colors there, but everything else has this default red color no matter what, is there anything specific I need or does it just not work yet? ROM Checksum and name don't seem to matter when I try it,

Yeah it's not very good imo. Its basically just changing the screen colour. They should include the roms unique colouring in the Super Gameboy. That would be cool. Just a suggestion of course. I've been using mGba that is the only core that has that feature.

ghost commented 4 years ago

When I load it with the settings for SGB coloring it loads the default coloring instead of it's unique palletes, This worked when I tested Alleyway and Metroid II, which shows it's exclusive colors there, but everything else has this default red color no matter what, is there anything specific I need or does it just not work yet? ROM Checksum and name don't seem to matter when I try it,

Yeah it's not very good imo. Its basically just changing the screen colour. They should include the roms unique colouring in the Super Gameboy. That would be cool. Just a suggestion of course. I've been using mGba that is the only core that has that feature.

Gotcha. Least there's game specific options I can set there, hopefully one day someone will step in and look into it for Gambette, I know Sameboy and BSNES have it but I like Gambettes options more compare to Sameboy and BSNES is too resource intense for what I have,

Sanaki commented 3 years ago

This should probably renamed to "Implement basic SGB features such as palettes and borders". Right now no SGB features are emulated whatsoever in this core. The colorization option is just offering the static palettes that were user-selectable within the SGB unit on games that didn't provide SGB-specific palettes. I've attached an image of that functionality (using Mesen-S, which fully emulates SGB) for anyone unfamiliar with it. SGBpalettes

Cee123 commented 3 years ago

I vaguely remember playing Pokemon blue/red on the gameboy colour as well as on no$gb years ago and it being colorized like what you see on mGBA. I could be wrong about gameboy colour, but i remember it on no$gb.

Cee123 commented 3 years ago

This should probably renamed to "Implement basic SGB features such as palettes and borders". Right now no SGB features are emulated whatsoever in this core. The colorization option is just offering the static palettes that were user-selectable within the SGB unit on games that didn't provide SGB-specific palettes. I've attached an image of that functionality (using Mesen-S, which fully emulates SGB) for anyone unfamiliar with it.

Nice! I never owned a Super Gameboy even though i thought they were pretty cool at the time. You are right it had the colonization options you could select. I'll rename this to what you suggested too.

vaguerant commented 3 years ago

no$gmb has Super Game Boy support, that's why colorization works there. The Game Boy Color (the real, hardware device, I mean) and successor devices like the backward-compatible GBA models have no Super Game Boy support, colorization on GBC works completely differently to how it was done on Super Game Boy, but there are some similarities in how both systems handle unsupported games (non-SGB games on SGB, non-GBC games on GBC).

Both devices include a list of known titles, compiling basically every first-party Nintendo-made game, and apply a specific palette using that list. A good example of this is Tennis for the original Game Boy, which has no SGB or GBC support whatsoever as it predates both devices. On both SGB and GBC, the preset list assigns a palette which makes the background court graphic green, like a typical tennis court. But the GBC isn't displaying "SGB support" in any way, they're just both doing similar things in parallel.

Pokémon Red/Blue are Super Game Boy-enhanced games, but not Game Boy Color-enhanced games. This means that on Super Game Boy, you get full colorization, while on GBC you get the "first-party preset palette" behavior applied to games with no GBC support. For Pokémon Red/Blue, this gives the player a pair of palettes made up of reds and blues, with more focus on red on Red Version, and more blue on Blue Version. Pokémon Yellow muddies the water a bit, as it has native support for both Super Game Boy and Game Boy Color colorization. This means it looks about the same on both devices, but only because the game is designed with basically identical enhancements for both systems; the SGB and GBC support are still completely separate features.

This is just a long way of saying that Game Boy Color emulation doesn't get you any Super Game Boy features or vice versa, which is why it's missing here on Gambatte, which is (currently) only a Game Boy and Game Boy Color emulator. I think Gambatte's lead developer (upstream from libretro) has stopped working on it, and support for a whole new device is a fairly large undertaking, so unfortunately it will probably be quite a while before anybody steps in to add Super Game Boy support to Gambatte.

eadmaster commented 2 years ago

possible duplicate of: https://github.com/libretro/gambatte-libretro/issues/79