Hi, was checking github source and noticed that the “old” bsnes NTSC gamma ramp option is still in the source code but deactivated.
https://raw.githubusercontent.com/libretro/bsnes-mercury/master/sfc/system/video.cpp
line 26
if(mode == Emulator::Interface::PaletteMode::Emulation) {
r = gamma_ramp[r];
g = gamma_ramp[g];
b = gamma_ramp[b];
} else {
r = image::normalize(r, 5, 8);
g = image::normalize(g, 5, 8);
b = image::normalize(b, 5, 8);
}
It can be activated here: https://raw.githubusercontent.com/libretro/bsnes-mercury/4a94095e4f9f5e54739dd9d00b48a81c5b4ddd87/target-libretro/libretro.cpp
line 448
struct Interface : public SuperFamicom::Interface {
SuperFamicomCartridge::Mode mode;
Interface();
void init() {
SuperFamicom::video.generate_palette(Emulator::Interface::PaletteMode::Standard);
// ==> Emulator::Interface::PaletteMode::Emulation
}
};
I think this would be good because I tried using the image shaders (saturation, luminance, contrast, gamma) but no combination seems to get a “nice” balance with 240p test suite: pluge, all color bar tests, grey ramp. They either wash out, overbend, over-heat colors or crush too many blacks, whites together.
Compared images to bsnes-plus 0.73, which has the gamma ramp option. It’s more painless and looks decently nice.
Can’t compile this to test myself. I’d love to tear apart the libretro binary to try and find the switch to playtest but can’t figure out where it lives either.
Thanks for any help