RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    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

    RP4 on 15kHz arcade cabinet : how to properly set TATE games resolution?

    Scheduled Pinned Locked Moved Help and Support
    retropie 4.6resolutiontate modemame 2003 plus
    17 Posts 3 Posters 3.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      Nevohteeb
      last edited by

      Hello everyone,

      I am using retropie 4.6 on a RP4 inside my arcade cabinet through the JAMMA connector.
      The RGB signal comes from the GPIO of course through a home-made GERT VGA 666 (just a video DAC after all...) adapter.

      My monitor is an Hantarex MTC9110 (15kHz monitor) and I am using a classic 240p mode for emulstation as follows:

      dtoverlay=vga666
      disable_audio_dither=1
      enable_dpi_lcd=1
      display_default_lcd=1
      hdmi_ignore_edid=1
      dpi_group=2
      dpi_mode=87
      hdmi_timings=320 1 20 20 44 240 1 6 7 10 0 0 0 60 0 6400000 1
      gpu_mem_256=128
      gpu_mem_512=256
      gpu_mem_1024=256
      
      

      I try to set the best (ie original) resolutions per game by using the opt/retropie/configs/all/retroarch/config/MAME\ 2003-Plus/<game_name>.cfg files.
      So far, I managed to set the 384x240 mode for CPS2 using the following lines:

      aspect_ratio_index = "23"
      custom_viewport_width = "384"
      custom_viewport_height = "224"
      video_threaded = "false"
      

      The result is absolutely great, even if I have to resize the image using the H-amp, H-shift, V-amp and V-shift potentiometer that are on the monitor. This is ok, it reminds me when I had real arcade PCBs :).

      Nevertheless, problems come when it turns to play TATE games which are not in 320x240 resolution. As examples, Ketsui, Dodonpachi daioujou, ESP Galuda... are in 448x224.
      I tried the following file:

      video_allow_rotate = "true"
      video_rotation = 2
      video_scale_integer = "false"
      aspect_ratio_index = "23"
      custom_viewport_width = "448"
      custom_viewport_height = "224"
      video_threaded = "false"
      

      In this case, I can see that the definition is the good one. The image is clear, and the scrolling is smooth. But the image is too big for my screen. Ok, then I try adjust it thanks to the potentiometer and here is the surprise :

      1. if I use the H-amp potentiometer, I find that the image is cropped!
      2. if I sue the H-shift potentiometer, I can make the missing part of the image appear, but of course, I then hide another part of the image on the other side of the screen.

      I put two pictures as an illustration of my problem.

      IMG_5794.JPG
      IMG_9589.JPG

      So, did someone manage to play that kind of game in the original (224x448) resolution using an RP4/GertVGA666/arcade monitor? (like me...) and how?

      RionR 1 Reply Last reply Reply Quote 0
      • RionR
        Rion @Nevohteeb
        last edited by

        @Nevohteeb I haven't tested with a rpi4.
        I'm using scripts from RetroPie CRT Edition for the Pi3b+ for my MX7000 and MX4000. The MX4000 is exclusively used for Tate Mode .

        FBNeo rom filtering
        Mame2003 Arcade Bezels
        Fba Arcade Bezels
        Fba NeoGeo Bezels

        1 Reply Last reply Reply Quote 0
        • N
          Nevohteeb
          last edited by

          Hi Rion,

          I'll give that a try, thx.

          N 1 Reply Last reply Reply Quote 0
          • N
            Nevohteeb @Nevohteeb
            last edited by

            Hello everyone,

            there must be something I do not do well or I do not understand.

            Actually, I manage to change the resolution by using the vcgencmd. It actually works under emulstation (I can see the difference between old/new resolution).
            Nevertheless, as soon as I launch any game, the screen remains black. I don't even see the launch message (the white strip with the name of the emulator, I guess you know the one.).

            I also tried to use the run command-onstart/onend.sh scripts. Same problem.

            1 Reply Last reply Reply Quote 0
            • mituM
              mitu Global Moderator
              last edited by

              Can you post your onstart script ?

              N 1 Reply Last reply Reply Quote 0
              • N
                Nevohteeb @mitu
                last edited by

                @mitu said in RP4 on 15kHz arcade cabinet : how to properly set TATE games resolution?:

                Can you post your onstart script ?

                Here it is :

                vcgencmd hdmi_timings 384 1 75 32 115 224 1 14 10 18 0 0 0 60 0 9600000 1                                                                                                                                      
                tvservice -e "DMT 87"                                                                                                                                                                                          
                fbset -depth 8 && fbset -depth 16 -xres 384 -yres 224    
                

                The hdmi_timings here are just an example.

                1 Reply Last reply Reply Quote 0
                • mituM
                  mitu Global Moderator
                  last edited by

                  tvservice doesn't function correctly on a Pi4 - since it use a new set of drivers and tvservice doesn't know about the DRM/KMS layer.

                  N 2 Replies Last reply Reply Quote 0
                  • N
                    Nevohteeb @mitu
                    last edited by

                    Well, I indeed read that somewhere, but what I do not understand is that if I just write the aforementioned script under another name, let's say "set_video.sh", I actually see the image changing, which makes me think the resolution changed.

                    Then, is there another way to modify the resolution on the fly ?

                    mituM 1 Reply Last reply Reply Quote 0
                    • mituM
                      mitu Global Moderator @Nevohteeb
                      last edited by mitu

                      @Nevohteeb said in RP4 on 15kHz arcade cabinet : how to properly set TATE games resolution?:

                      Then, is there another way to modify the resolution on the fly ?

                      AFAIK, only if you're running under X and using xrandr to create new resolutions and change them on the fly. Not sure you'll get 100% the same functionality as tvservice offered on previous Pi models.

                      1 Reply Last reply Reply Quote 0
                      • N
                        Nevohteeb @mitu
                        last edited by

                        @mitu said in RP4 on 15kHz arcade cabinet : how to properly set TATE games resolution?:

                        tvservice doesn't function correctly on a Pi4 - since it use a new set of drivers and tvservice doesn't know about the DRM/KMS layer.

                        Just one question about that: if tvsercice does not work on RPI 4, why is it mentioned in the documentation here : https://www.raspberrypi.org/documentation/configuration/hdmi-config.md

                        Even for RPI 4.

                        mituM 1 Reply Last reply Reply Quote 0
                        • mituM
                          mitu Global Moderator @Nevohteeb
                          last edited by

                          @Nevohteeb tvservice still works when you're not using the v3d KMS/DRM driver, but then you'll loose all the 3D/GL functionality - not a very usable system for RetroPie and the emulators included.
                          Maybe the documentation needs updated to specify the Pi4 limitations for tvservice.

                          N 1 Reply Last reply Reply Quote 0
                          • N
                            Nevohteeb @mitu
                            last edited by

                            Ok, well, thx. :)
                            I guess I should downgrade to RPI 3 then.

                            1 Reply Last reply Reply Quote 0
                            • N
                              Nevohteeb
                              last edited by

                              @mitu said in RP4 on 15kHz arcade cabinet : how to properly set TATE games resolution?:

                              tvservice doesn't function correctly on a Pi4 - since it use a new set of drivers and tvservice doesn't know about the DRM/KMS layer.

                              I installed retropie on a RPI3 and I still have the same message.

                              [E] Failed to power on HDMI with explicit settings (DMT mode 87)
                              
                              mituM 1 Reply Last reply Reply Quote 0
                              • mituM
                                mitu Global Moderator @Nevohteeb
                                last edited by

                                @Nevohteeb You'll have to provide the complete command that gives this error - maybe the video mode you're trying to set is not correct ?

                                N 1 Reply Last reply Reply Quote 0
                                • N
                                  Nevohteeb @mitu
                                  last edited by

                                  @mitu

                                  Hi mitu,

                                  it happens when i do:

                                  vcgencmd hdmi_timings 320 1 16 30 34 240 1 2 3 22 0 0 0 60 0 6400000 1                                                                                                                                    
                                  tvservice -e "DMT 87"      
                                  

                                  Actually, the hdmi_timings are good. The problematic part is the tvservice one.

                                  1 Reply Last reply Reply Quote 0
                                  • mituM
                                    mitu Global Moderator
                                    last edited by

                                    From the looks of it, tvservice may be trying to power on the actual HDMI port. Do you have configured the PI to output to GPIO by default ?

                                    enable_dpi_lcd=1
                                    display_default_lcd=1
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • N
                                      Nevohteeb
                                      last edited by

                                      This is the results of vcgencmd get_config int.
                                      enable_dpi_lcd and display_default_lcd are set to 1.

                                      arm_freq=1500
                                      audio_pwm_mode=514
                                      config_hdmi_boost=5
                                      core_freq=500
                                      core_freq_min=200
                                      disable_audio_dither=1
                                      disable_commandline_tags=2
                                      disable_l2cache=1
                                      display_default_lcd=1
                                      display_hdmi_rotate=-1
                                      display_lcd_rotate=-1
                                      dpi_group=2
                                      dpi_mode=87
                                      enable_dpi_lcd=1
                                      enable_gic=1
                                      force_eeprom_read=1
                                      force_pwm_open=1
                                      framebuffer_ignore_alpha=1
                                      framebuffer_swap=1
                                      gpu_freq=500
                                      gpu_freq_min=250
                                      init_uart_clock=0x2dc6c00
                                      mask_gpu_interrupt0=1024
                                      mask_gpu_interrupt1=0x10000
                                      max_framebuffers=2
                                      over_voltage_avs=-23750
                                      overscan_scale=1
                                      pause_burst_frames=1
                                      program_serial_random=1
                                      total_mem=4096
                                      hdmi_force_cec_address:0=65535
                                      hdmi_force_cec_address:1=65535
                                      hdmi_ignore_edid_audio:0=1
                                      hdmi_pixel_freq_limit:0=0x11e1a300
                                      hdmi_pixel_freq_limit:1=0x11e1a300
                                      
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post

                                      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.