NES aspect_ratio_index
obrie opened this issue · 5 comments
Hi there -
I'm curious about the intent of the aspect_ratio_index
override for NES:
Line 1116 in bd15225
I'm using the bezels on a 1080p TV and, while all other games are scaled appropriately within the bezels, I found that NES games had several pixels from the game on the left and right cut off. After some amount of time searching on forums, I saw a comment to enable video_scale_integer
, but the results did not seem correct. Below are examples of different configurations and their impact:
Examples
19:14 aspect
aspect_ratio_index = 16
video_force_aspect = "true"
video_aspect_ratio = "-1.000000"
Core provided
aspect_ratio_index = 21
video_force_aspect = "true"
video_aspect_ratio = "-1.000000"
4:3 aspect
aspect_ratio_index = 0
video_force_aspect = "true"
video_aspect_ratio = "-1.000000"
No overrides
# aspect_ratio_index = 16
# video_force_aspect = "true"
# video_aspect_ratio = "-1.000000"
video_scale_integer
aspect_ratio_index = 16
video_scale_integer = true
Thoughts
From the screenshots, it seems like aspsect_ratio_index = 21
is perhaps the most accurate in terms of reflecting the original intent of the game, but aspect_ratio_index = 0
seems most aesthetically pleasing in terms of being full-screen.
Configuration
I have no overrides in /opt/retropie/configs/all/retroarch.cfg
.
/opt/retropie/configs/nes/retroarch.cfg
:
input_overlay = "/opt/retropie/configs/all/retroarch/overlay/Nintendo-Entertainment-System.cfg"
input_overlay_opacity = "1.000000"
aspect_ratio_index = "16"
video_force_aspect = "true"
video_aspect_ratio = "-1.000000"
input_remapping_directory = "/opt/retropie/configs/nes/"
run_ahead_enabled = "true"
run_ahead_frames = "1"
run_ahead_secondary_instance = "true"
#include "/opt/retropie/configs/all/retroarch.cfg"
FCEUmm core options:
fceumm_apu_1 = "enabled"
fceumm_apu_2 = "enabled"
fceumm_apu_3 = "enabled"
fceumm_apu_4 = "enabled"
fceumm_apu_5 = "enabled"
fceumm_aspect = "8:7 PAR"
fceumm_nospritelimit = "enabled"
fceumm_ntsc_filter = "disabled"
fceumm_overclocking = "disabled"
fceumm_overscan_h = "disabled"
fceumm_overscan_v = "enabled"
fceumm_palette = "default"
fceumm_ramstate = "fill $ff"
fceumm_region = "Auto"
fceumm_show_adv_sound_options = "disabled"
fceumm_show_adv_system_options = "enabled"
fceumm_show_crosshair = "enabled"
fceumm_sndquality = "High"
fceumm_sndvolume = "7"
fceumm_swapduty = "disabled"
fceumm_turbo_delay = "3"
fceumm_turbo_enable = "None"
fceumm_up_down_allowed = "disabled"
fceumm_zapper_mode = "lightgun"
fceumm_zapper_tolerance = "6"
System information
- Raspberry Pi 4 Model B
- Raspbian Buster
- RetroPie 4.7.1
- Retroarch 1.8.8 (svn eb87c5e)
- lr-fceumm (latest)
- Sony KDL-40Z5100 (40" 1080p via HDMI)
The NES bezels were created to support 4:3 aspect ratio. Some games have more pixels than others (up to the programmer, at the time) toward the edges, so many will appear cut off. You can also sometimes see a difference between PAL games and NTSC versions.
Thanks for the follow-up. Just so I can understand -- since the bezels were created to support 4:3 aspect ratio, why does the index get set to 16
for a 19:14 aspect ratio?
16 was correct for an older version of Retroarch, and when the bezels were created. The Libreto devs change the index numbers over time as needed. Feel free to update that number assuming you are on a newer version of Retroarch.
Ah hah, I think you're right there. It looks like 16 is 19:12 on Retroarch 1.8.8 whereas 16 was 19:14 when the bezels were created. I'll test that out tonight. Thanks!
After updating the index to 17, this now works as expected. Thanks!