Some PC screens incorrectly support the HDMI output levels from the NES mini or SNES mini.
Indeed, currently the HDMI output only uses "Limited" output, which compresses the color range from 0-255 to 16-235. This works correctly on most TVs, but on many PC screens a lot of contrast is lost: blacks become dark gray, and whites become light gray.
Could you try and add an option to choose between "Limited (16-235)" (default setting) and "Full (0-255)"?
I don't have the necessary environment to build this project on my PC, but I found some information that could help to develop this.
The sunxi Linux kernel has a setting for HDMI output levels. I think what's needed is to set the following parameter in the FEX file (if the SNES classic uses http://linux-sunxi.org/ ), or the device tree/dtb files (if it's actually mainline Linux)
screen0_out_color_range=1
I'm a developer but I barely know the Linux kernel so I don't know if this is really possible for the SNES classic mini, and whether it requires to recompile the kernel or it can be configured with a config file.
My sources:
Some PC screens incorrectly support the HDMI output levels from the NES mini or SNES mini. Indeed, currently the HDMI output only uses "Limited" output, which compresses the color range from 0-255 to 16-235. This works correctly on most TVs, but on many PC screens a lot of contrast is lost: blacks become dark gray, and whites become light gray.
Could you try and add an option to choose between "Limited (16-235)" (default setting) and "Full (0-255)"?
Generic info about this issue
https://referencehometheater.com/2014/commentary/rgb-full-vs-limited/
Technical details
I don't have the necessary environment to build this project on my PC, but I found some information that could help to develop this. The sunxi Linux kernel has a setting for HDMI output levels. I think what's needed is to set the following parameter in the FEX file (if the SNES classic uses http://linux-sunxi.org/ ), or the device tree/dtb files (if it's actually mainline Linux) screen0_out_color_range=1
I'm a developer but I barely know the Linux kernel so I don't know if this is really possible for the SNES classic mini, and whether it requires to recompile the kernel or it can be configured with a config file. My sources: