This PR introduces a change that takes inspiration from the bsnes-hd and Mesen-S cores.
In its current form, the snes9x libretro implementation allows users to define in the core options whether they want to crop the top and bottom lines of the picture by about 8 pixels, but there are quite a few cases where having a 12-pixel and a 16-pixel crop options might be desirable. Namely:
As explained by @Derkoun, a 12-pixel crop removes a 5% overscan (exactly 1/5 of 1080p). Moreover, the area of the picture which is eliminated as a result of this crop was still considered as part of the "unsafe" border, so typically for most games no relevant information is shown within that area.
A 16-pixel crop, as featured in Mesen-S, allows to crop the unused border that was implemented in some games, allowing to have a zoomed fullscreen image without any black bars. One prime example of this is the gameplay sections of Yoshi's Island.
With this PR the core options now allow to select also a 12-pixel or a 16-pixel crop, based on one's preference. The existing configurations / overrides set by users prior to this implementation should not be altered.
A few pictures for comparison's sake:
Yoshi's Island - No cropping
Yoshi's Island - Standard crop (about 8 pixels)
_Yoshi's Island - 12-pixel crop
_Yoshi's Island - 16-pixel crop
The modifications applied with this PR are also upstream-friendly, in the sense that the only parts of the code that were altered are libretro-related.
This PR introduces a change that takes inspiration from the bsnes-hd and Mesen-S cores.
In its current form, the snes9x libretro implementation allows users to define in the core options whether they want to crop the top and bottom lines of the picture by about 8 pixels, but there are quite a few cases where having a 12-pixel and a 16-pixel crop options might be desirable. Namely:
As explained by @Derkoun, a 12-pixel crop removes a 5% overscan (exactly 1/5 of 1080p). Moreover, the area of the picture which is eliminated as a result of this crop was still considered as part of the "unsafe" border, so typically for most games no relevant information is shown within that area.
A 16-pixel crop, as featured in Mesen-S, allows to crop the unused border that was implemented in some games, allowing to have a zoomed fullscreen image without any black bars. One prime example of this is the gameplay sections of Yoshi's Island.
With this PR the core options now allow to select also a 12-pixel or a 16-pixel crop, based on one's preference. The existing configurations / overrides set by users prior to this implementation should not be altered.
A few pictures for comparison's sake:
Yoshi's Island - No cropping![Super Mario - Yossy Island (Japan)-210516-195956](https://user-images.githubusercontent.com/17614150/118407901-26089600-b683-11eb-9012-ed89d9547d18.png)
Yoshi's Island - Standard crop (about 8 pixels)![Super Mario - Yossy Island (Japan)-210516-195959](https://user-images.githubusercontent.com/17614150/118407931-505a5380-b683-11eb-88e2-da23e6152105.png)
_Yoshi's Island - 12-pixel crop![Super Mario - Yossy Island (Japan)-210516-200001](https://user-images.githubusercontent.com/17614150/118407943-6831d780-b683-11eb-8e1f-5c5e10bcc061.png)
_Yoshi's Island - 16-pixel crop![Super Mario - Yossy Island (Japan)-210516-200003](https://user-images.githubusercontent.com/17614150/118407948-7122a900-b683-11eb-9fc1-dc91d88669fb.png)
The modifications applied with this PR are also upstream-friendly, in the sense that the only parts of the code that were altered are libretro-related.
See also this thread by @Awakened0 on the upstream bsnes repo for additional reference: https://github.com/bsnes-emu/bsnes/issues/169