Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

*SOLVED* 240p per emulator (run command setting) possible?



  • I recently bought a new-old-stock 29" CRT TV and it looks AMAZING with 240p gaming, even via composite.

    I used sdtv_mode=16 on the config.txt and everything plays fine except for the menu.

    240 lines is too low-res for any use besides the games that were designed for such a non-interlaced resolution.

    No matter the theme or the edits I make for it, box art and text looks plain bad but games look as good as composite can allow - great!

    However, with 480i (or even better PAL 576i) the menus look great but then again not the games.

    I see that run command allows for several different resolutions per emulator but the options are only interlaced.

    Is there anything I could modify on videomodes.cfg in order to force 240p per emulator/core and keep an interlaced sdtv_mode value (in my case 2 aka PAL looks best for menus)?

    Edit: please note that I have read similar threads that resort to shaders or onstart commands but the results are off compared to sdtv_mode=16 ...that's why I am asking about a simplistic run command solution



  • Bumping this up to help others :)

    So it appears that it was quite simple but with a twist.

    In the aforementioned videomodes.cfg located in /opt/retropie/configs/all/ the default modified values for each emulator (or RA core) are as follows:

    lr-genesis-plus-gx = "NTSC-4:3"
    lr-snes9x = "NTSC-4:3"
    lr-snes9x2010 = "NTSC-4:3"
    lr-snes9x2005 = "NTSC-4:3"
    lr-nestopia = "NTSC-4:3"
    lr-fbalpha = "NTSC-4:3"
    lr-mame2010 = "NTSC-4:3"
    lr-mame2003 = "NTSC-4:3"
    lr-mame2000 = "NTSC-4:3"
    lr-stella = "NTSC-4:3"
    lr-o2em = "NTSC-4:3"
    lr-bluemsx = "NTSC-4:3"
    lr-prosystem = "NTSC-4:3"
    lr-beetle-pce-fast = "NTSC-4:3"
    lr-gambatte = "NTSC-4:3"
    lr-handy = "NTSC-4:3"
    lr-beetle-supergrafx = "NTSC-4:3"
    lr-picodrive = "NTSC-4:3"
    lr-beetle-vb = "NTSC-4:3"
    lr-mgba = "NTSC-4:3"
    lr-beetle-ngp = "NTSC-4:3"
    lr-beetle-wswan = "NTSC-4:3"
    

    I tried modifying the value to "NTSC-4:3 P" but it didn't help, the " P" part was ignored and the resolution for each system remained 480i

    Apparently the value had to change to "NTSC 4:3 P" without the dash following NTSC! Therefore with the new values like this

    lr-genesis-plus-gx = "NTSC 4:3 P"
    lr-snes9x = "NTSC 4:3 P"
    lr-snes9x2010 = "NTSC 4:3 P"
    lr-snes9x2005 = "NTSC 4:3 P"
    lr-nestopia = "NTSC 4:3 P"
    lr-fbalpha = "NTSC 4:3 P"
    lr-mame2010 = "NTSC 4:3 P"
    lr-mame2003 = "NTSC 4:3 P"
    lr-mame2000 = "NTSC 4:3 P"
    lr-stella = "NTSC 4:3 P"
    lr-o2em = "NTSC 4:3 P"
    lr-bluemsx = "NTSC 4:3 P"
    lr-prosystem = "NTSC 4:3 P"
    lr-beetle-pce-fast = "NTSC 4:3 P"
    lr-gambatte = "NTSC 4:3 P"
    lr-handy = "NTSC 4:3 P"
    lr-beetle-supergrafx = "NTSC 4:3 P"
    lr-picodrive = "NTSC 4:3 P"
    lr-beetle-vb = "NTSC 4:3 P"
    lr-mgba = "NTSC 4:3 P"
    lr-beetle-ngp = "NTSC 4:3 P"
    lr-beetle-wswan = "NTSC 4:3 P"
    

    The games run in 240p (240 non-interlaced lines) and the same applies for PAL resolutions.

    I noticed that if the menu is also in NTSC but in sdtv_mode 0 (480i), after exiting the game, the system retains the 240p resolution. This is solved by using mode 2 (576i) because PAL defaults back to the original, interlaced resolution. Strange bug!

    Cheers!


  • Global Moderator

    @matchaman Thanks for providing the solution !
    Is this on a stock RetroPie installation or is there anything else to install to get the video modes working ? I see no videomodes.cfg in my /opt/retropie/configs folder.



  • No need to install anything. You can either create the file or use the run command for loading a specific resolution for the emulator.

    Then the file will be created with emulatorname = "NTSC-4:3" that will have to be changed manually to emulatorname = "NTSC 4:3 P"

    Just make sure that your RetroPie is up to date because 240p was not supported in previous firmware versions.


  • administrators

    This probably works "by accident", but glad you have a solution. I will look into adding official support for switching to progressive modes though.


  • Global Moderator

    @matchaman said in *SOLVED* 240p per emulator (run command setting) possible?:

    No need to install anything. You can either create the file or use the run command for loading a specific resolution for the emulator.

    Yes, I see that the file is created when you change the resolution through the Runcommand launch. I didn't have that since I haven't done this for any emulator. Enjoy on your CRT !



  • @buzz said:

    This probably works "by accident", but glad you have a solution. I will look into adding official support for switching to progressive modes though.

    Yup, lots of trial and error :D that would be great, thanks!

    @mitu said:

    Yes, I see that the file is created when you change the resolution through the Runcommand launch. I didn't have that since I haven't done this for any emulator. Enjoy on your CRT !

    Thanks! Just make sure that you don't use any shaders and you have enabled bilinear filtering in Video settings. Not all lines correspond to the original pixels on every system but bilinear smoothing does an OK job in fixing this.



  • So this is still while using sdtv_mode=16 in config.txt? Any other changes in that file?

    And the end result, after this videomodes work, is games in 240p, and menus / everything else in a more readable resolution?



  • No, I am using sdtv_mode=2 (PAL 576i, the best possible picture for menus). 240p will apply only when running emulators and will normally revert back to interlaced when exiting.

    For those who can't use PAL, it's unfortunate that if the sdtv_mode is 0 (480i), when exiting the signal will remain 240p for the rest of the session, making text hard to read. It goes back to interlaced only if the config.txt is PAL (and vice versa as I just confirmed).

    To sum it up, you can have 576i@50hz for the menus via sdtv_mode=2 in /boot/config.txt and 240p@60hz for emulators via emulatorname = "NTSC 4:3 P" in /opt/retropie/configs/all/videomodes.cfg



  • OK thanks. Hopefully what you've learned will help open up doors to an NTSC solution. Good job with the trial and error!



  • You're welcome. Really glad to see I'm also helping others with 240p awesomeness! :D



  • @ohmycommodore in the previous 240p thread i explained how i made the menus and emulationstation 480 and the games 240p.



  • @edmaul69

    Where is that located? I spent time looking and there was no simple solution. Some suggested running scripts that ruined the theme when exiting games or using shaders (to force things out?) which I avoid for performance reasons.





  • @matchaman also here are the commands for tv service. i use putty to ssh into the pi to use commandline.

    240p

    sudo tvservice -c "NTSC 4:3 P" ; fbset -depth 8 ; fbset -depth 32; tvservice -s
    

    480

    sudo tvservice -c "NTSC 4:3" ; fbset -depth 8 ; fbset -depth 32; tvservice -s
    


  • I see, however it's possible to be done via runcommand which is simpler, doesn't give a momentary message and also safer for video themes.

    In the past I tried several workarounds (very likely including your method) and when exiting a game, video themes had erroneous structure :/

    Though runcommand isn't perfect either; as I mentioned before, if the config.txt mode is NTSC or PAL, then the game running in the same region's progressive mode will not go back to interlaced (unless it's at the opposite region).



  • @matchaman i never get an error message, so not sure what you get from other methods.

    Edit:i think you are saying themes that have videos gets the erroneous structure? I wouldnt know as i dont use video themes.



  • @matchaman also with this method i use, it goes back to interlaced after i exit a game. All this is ntsc as i dont use pal at all.



  • I hate to resurrect an old thread, but I'll likely be going through the exact same process soon in an old PAL CRT.

    Just to confirm, @matchaman , your TV is PAL and yet it works well with the NTSC 4:3 P video mode, is that it?

    If you just used the sdtv mode to 240p you wouldn't have needed to change the individual emulators settings for them to display as intended but ES would have looked fairly bad, correct?

    Just making sure I follow it.

    Thanks!



  • @pjft Are you going to connect through RGB or composite?
    Personally I use runcommand which is more versatile but it also depends on the method you're using. There is also a CRT theme (named "CRT" :) which works well without the need for 480i.



Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.