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

    Cannot rotate MAME vertical games

    Scheduled Pinned Locked Moved Help and Support
    mame-libretrorotation
    8 Posts 3 Posters 7.6k 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.
    • S
      sTo0z
      last edited by sTo0z

      I am using:

      • A Pi2
      • A fresh RetroPie 4.2 install
      • RCA out from the 3.5mm jack for both video and audio
      • An old 27" 4:3 CRT television for my display

      I put galaga.zip inside mame-libretro.

      When I run MAME, Galaga will ALWAYS display horizontally, as in the ships are along the right side of the screen instead of along the bottom.

      I've tried every single thing that I could find to try all day today. I've tried in-game MAME menu, in-game RetroArch menu, setting Aspect ratios, setting per rom cfg overrides, tried TATE, tried video rotations... NOTHING will get the game to display correctly.

      Oddly, if I use mame-mame4all, the game displays correctly in a vertical fashion, but none of the controls work...

      I'd love to get mame-libretro working as I have the correct romset for this, but this display issue for vertical games is driving me crazy and I can't figure it out. Other arcade games display just fine, Ghouls'n Ghosts for example displays correctly.

      Any help would be extremely appreciated.

      Here is a pic of what I mean:
      alt text

      1 Reply Last reply Reply Quote 0
      • P
        phulshof
        last edited by

        That's MAME's rotate option in the mame.ini; also accessible as rotate in the video menu after pressing TAB in MAME. I'm not exactly sure how libretro handles the MAME configurations though.

        S 1 Reply Last reply Reply Quote 0
        • dankcushionsD
          dankcushions Global Moderator
          last edited by

          @sTo0z said in Cannot rotate MAME vertical games:

          mame-libretro

          which mame-libretro? there's several. please let us know if you have have changed anything in the retroarch settings either (video_driver, etc).

          1 Reply Last reply Reply Quote 0
          • S
            sTo0z @phulshof
            last edited by sTo0z

            @phulshof said in Cannot rotate MAME vertical games:

            That's MAME's rotate option in the mame.ini; also accessible as rotate in the video menu after pressing TAB in MAME. I'm not exactly sure how libretro handles the MAME configurations though.

            Is this the same menu that defaults to Right Trigger? If so, I have scoured this menu endlessly, and found no options to rotate anything.

            @dankcushions said in Cannot rotate MAME vertical games:

            @sTo0z said in Cannot rotate MAME vertical games:

            mame-libretro

            which mame-libretro? there's several. please let us know if you have have changed anything in the retroarch settings either (video_driver, etc).

            I guess I'm not sure. Everything is default from a fresh install. My understanding is that the "mame-libretro" folder uses lr-mame2003 by default.

            I have not changed anything at all, just turned it on, setup my controller, added galaga.zip and launched. Before I made this thread, I did a second fresh install of 4.2 after messing with a ton of files so I could be back to the beginning making sure I didn't mess anything up further.

            EDIT:

            Activated Tab menu in-game with a keyboard, it is indeed the same menu as Right Trigger on the controller.

            Also, I noticed that MAME is supposed to have a "Video Options" choice in this menu, but my menu is missing that choice completely: (tried to post another picture but dumb anti-spam won't let me)

            dankcushionsD 1 Reply Last reply Reply Quote 0
            • dankcushionsD
              dankcushions Global Moderator @sTo0z
              last edited by

              @sTo0z yes the tab menu doesn't do much in lr-mame2003 beyond inputs. it won't do anything for rotation.

              rotation should work correctly by default. can you paste your cfgs :
              /opt/retropie/configs/all/retroarch.cfg
              /opt/retropie/configure/all/retroarch-core-options.cfg
              /opt/retropie/configs/mame-libretro/retroarch.cfg

              S 1 Reply Last reply Reply Quote 0
              • S
                sTo0z @dankcushions
                last edited by sTo0z

                @dankcushions

                Ah, you've just reminded me. I did change a few things. In retroarch.cfg I made sure the following were set:

                video_driver = "dispmanx"
                video_vsync = true
                video_threaded = false
                video_max_swapchain_images = 2
                video_frame_delay = 0

                These settings were an attempt to remedy input lag as much as possible.

                /opt/retropie/configs/all/retroarch.cfg:

                Skeleton config file for RetroArch

                Save all save files (*.srm) to this directory. This includes related files like .bsv, .rtc, .psrm, etc ...

                This will be overridden by explicit command line options.

                savefile_directory =

                Save all save states (*.state) to this directory.

                This will be overridden by explicit command line options.

                savestate_directory =

                If set to a directory, content which is temporarily extracted

                will be extracted to this directory.

                cache_directory = "/tmp/retroarch"

                Save all downloaded files to this directory.

                core_assets_directory =

                Save all remapped controls to this directory.

                input_remapping_directory =

                Save all playlists/collections to this directory.

                playlist_directory =

                If set to a directory, the content history playlist will be saved

                to this directory.

                content_history_dir =

                Saved queries are stored to this directory.

                cursor_directory =

                Automatically saves a savestate at the end of RetroArch's lifetime.

                The path is $SRAM_PATH.auto.

                RetroArch will automatically load any savestate with this path on startup if savestate_auto_load is set.

                savestate_auto_save = false

                savestate_auto_load = true

                Load libretro from a dynamic location for dynamically built RetroArch.

                This option is mandatory.

                Path to a libretro implementation.

                libretro_path = "/path/to/libretro.so"

                A directory for where to search for libretro core implementations.

                libretro_directory =

                A directory for where to search for libretro core information.

                libretro_info_path =

                Sets log level for libretro cores (GET_LOG_INTERFACE).

                If a log level issued by a libretro core is below libretro_log_level, it is ignored.

                DEBUG logs are always ignored unless verbose mode is activated (--verbose).

                DEBUG = 0, INFO = 1, WARN = 2, ERROR = 3.

                libretro_log_level = 0

                Enable or disable verbosity level of frontend.

                log_verbosity = false

                If this option is enabled, every content file loaded in RetroArch will be

                automatically added to a history list.

                history_list_enable = true

                Enable performance counters

                perfcnt_enable = false

                Path to core options config file.

                This config file is used to expose core-specific options.

                It will be written to by RetroArch.

                A default path will be assigned if not set.

                core_options_path = "/opt/retropie/configs/all/retroarch-core-options.cfg"

                Path to content history file.

                RetroArch keeps track of all content loaded in the menu and from CLI directly for convenient quick loading.

                A default path will be assigned if not set.

                content_history_path =

                Path to music content history file (optional).

                RetroArch keeps track of all music content loaded in the menu and from CLI directly for convenient quick loading.

                A default path will be assigned if not set.

                content_music_history_path =

                Path to image content history file (optional).

                RetroArch keeps track of all image content loaded in the menu and from CLI directly for convenient quick loading.

                A default path will be assigned if not set.

                content_image_history_path =

                Path to video content history file (optional).

                RetroArch keeps track of all video content loaded in the menu and from CLI directly for convenient quick loading.

                A default path will be assigned if not set.

                content_video_history_path =

                Number of entries that will be kept in content history file.

                content_history_size = 100

                Sets the "system" directory.

                Implementations can query for this directory to load BIOSes, system-specific configs, etc.

                system_directory = "/home/pi/RetroPie/BIOS"

                Sets start directory for menu file browser.

                rgui_browser_directory =

                Content directory. Interacts with RETRO_ENVIRONMENT_GET_CONTENT_DIRECTORY.

                Usually set by developers who bundle libretro/RetroArch apps to point to assets.

                content_directory =

                Assets directory. This location is queried by default when menu interfaces try to look for

                loadable assets, etc.

                assets_directory =

                Dynamic wallpapers directory. The place to store the wallpapers dynamically

                loaded by the menu depending on context.

                dynamic_wallpapers_directory =

                Thumbnails directory. To store thumbnail files.

                thumbnails_directory =

                Sets start directory for menu config browser.

                rgui_config_directory =

                Show startup screen in menu.

                Is automatically set to false when seen for the first time.

                This is only updated in config if config_save_on_exit is set to true, however.

                rgui_show_start_screen = true

                Flushes config to disk on exit. Useful for menu as settings can be modified.

                Overwrites the config. #include's and comments are not preserved.

                config_save_on_exit = "false"

                Shows hidden files and folders in directory listings.

                show_hidden_files = true

                Video

                Video driver to use. "gl", "xvideo", "sdl", "d3d"

                video_driver = "dispmanx"

                Which context implementation to use.

                Possible ones for desktop are: glx, x-egl, kms-egl, sdl-gl, wgl.

                By default, tries to use first suitable driver.

                video_context_driver =

                Windowed x resolution scale and y resolution scale

                (Real x res: base_size * xscale * aspect_ratio, real y res: base_size * yscale)

                video_scale = 3.0

                Fullscreen resolution. Resolution of 0 uses the resolution of the desktop.

                video_fullscreen_x = 0

                video_fullscreen_y = 0

                Start in fullscreen. Can be changed at runtime.

                video_fullscreen = false

                If fullscreen, prefer using a windowed fullscreen mode.

                video_windowed_fullscreen = true

                Which monitor to prefer. 0 (default) means no particular monitor is preferred, 1 and up (1 being first monitor),

                suggests RetroArch to use that particular monitor.

                video_monitor_index = 0

                Forcibly disable composition. Only works in Windows Vista/7 for now.

                video_disable_composition = false

                Video vsync.

                video_vsync = true

                Interval at which a Vsync swap is performed.

                1 is normal, 2 is doubled frames, 3 is tripled frames, etc.

                video_swap_interval = 1

                Max amount of swapchain images.

                Single buffering = 1, Double buffering = 2, 3 = Triple buffering

                video_max_swapchain_images = 3

                Forcibly disable sRGB FBO support. Some Intel OpenGL drivers on Windows

                have video problems with sRGB FBO support enabled.

                video_force_srgb_disable = false

                Attempts to hard-synchronize CPU and GPU. Can reduce latency at cost of performance.

                video_hard_sync = false

                Sets how many frames CPU can run ahead of GPU when using video_hard_sync.

                Maximum is 3.

                video_hard_sync_frames = 0

                Sets how many milliseconds to delay after VSync before running the core.

                Can reduce latency at cost of higher risk of stuttering.

                Maximum is 15.

                video_frame_delay = 0

                Inserts a black frame inbetween frames.

                Useful for 120 Hz monitors who want to play 60 Hz material with eliminated ghosting.

                video_refresh_rate should still be configured as if it is a 60 Hz monitor (divide refresh rate by 2).

                video_black_frame_insertion = false

                Use threaded video driver. Using this might improve performance at possible cost of latency and more video stuttering.

                video_threaded = "false"

                Use a shared context for HW rendered libretro cores.

                Avoids having to assume HW state changes inbetween frames.

                video_shared_context = false

                Smoothens picture with bilinear filtering. Should be disabled if using pixel shaders.

                video_smooth = "false"

                Forces rendering area to stay equal to content aspect ratio or as defined in video_aspect_ratio.

                video_force_aspect = true

                Only scales video in integer steps.

                The base size depends on system-reported geometry and aspect ratio.

                If video_force_aspect is not set, X/Y will be integer scaled independently.

                video_scale_integer = false

                Index of the aspect ratio selection in the menu.

                19 = Config, 20 = 1:1 PAR, 21 = Core Provided, 22 = Custom Aspect Ratio

                aspect_ratio_index = 19

                A floating point value for video aspect ratio (width / height).

                If this is not set, aspect ratio is assumed to be automatic.

                Behavior then is defined by video_aspect_ratio_auto.

                video_aspect_ratio =

                If this is true and video_aspect_ratio is not set,

                aspect ratio is decided by libretro implementation.

                If this is false, 1:1 PAR will always be assumed if video_aspect_ratio is not set.

                video_aspect_ratio_auto = "true"

                Forces cropping of overscanned frames.

                Exact behavior of this option is implementation specific.

                video_crop_overscan = true

                Path to shader. Shader can be either Cg, CGP (Cg preset) or GLSL, GLSLP (GLSL preset)

                video_shader = "/path/to/shader.{cg,cgp,glsl,glslp}"

                Load video_shader on startup.

                Other shaders can still be loaded later in runtime.

                video_shader_enable = false

                Defines a directory where shaders (Cg, CGP, GLSL) are kept for easy access.

                video_shader_dir =

                CPU-based video filter. Path to a dynamic library.

                video_filter =

                Defines a directory where CPU-based video filters are kept.

                video_filter_dir =

                Path to a font used for rendering messages. This path must be defined to enable fonts.

                Do note that the full path of the font is necessary!

                video_font_path =

                Size of the font rendered in points.

                video_font_size = "12"

                Enable usage of OSD messages.

                video_font_enable = true

                Offset for where messages will be placed on screen. Values are in range 0.0 to 1.0 for both x and y values.

                [0.0, 0.0] maps to the lower left corner of the screen.

                video_message_pos_x = 0.05

                video_message_pos_y = 0.05

                Color for message. The value is treated as a hexadecimal value.

                It is a regular RGB hex number, i.e. red is "ff0000".

                video_message_color = ffffff

                Video refresh rate of your monitor.

                Used to calculate a suitable audio input rate.

                video_refresh_rate = 59.94

                Allows libretro cores to set rotation modes.

                Setting this to false will honor, but ignore this request.

                This is useful for vertically oriented content where one manually rotates the monitor.

                video_allow_rotate = true

                Forces a certain rotation of the screen.

                The rotation is added to rotations which the libretro core sets (see video_allow_rotate).

                The angle is <value> * 90 degrees counter-clockwise.

                video_rotation = 0

                Audio

                Enable audio.

                audio_enable = true

                Mutes audio.

                audio_mute_enable = false

                Audio output samplerate.

                audio_out_rate = 48000

                Audio resampler backend. Which audio resampler to use.

                Default will use "sinc".

                audio_resampler =

                Audio driver backend. Depending on configuration possible candidates are: alsa, pulse, oss, jack, rsound, roar, openal, sdl, xaudio.

                audio_driver =

                Override the default audio device the audio_driver uses. This is driver dependant. E.g. ALSA wants a PCM device, OSS wants a path (e.g. /dev/dsp), Jack wants portnames (e.g. system:playback1,system:playback_2), and so on ...

                audio_device =

                Audio DSP plugin that processes audio before it's sent to the driver. Path to a dynamic library.

                audio_dsp_plugin =

                Directory where DSP plugins are kept.

                audio_filter_dir =

                Will sync (block) on audio. Recommended.

                audio_sync = true

                Desired audio latency in milliseconds. Might not be honored if driver can't provide given latency.

                audio_latency = 64

                Enable audio rate control.

                audio_rate_control = true

                Controls audio rate control delta. Defines how much input rate can be adjusted dynamically.

                Input rate = in_rate * (1.0 +/- audio_rate_control_delta)

                audio_rate_control_delta = 0.005

                Controls maximum audio timing skew. Defines the maximum change in input rate.

                Input rate = in_rate * (1.0 +/- max_timing_skew)

                audio_max_timing_skew = 0.05

                Audio volume. Volume is expressed in dB.

                0 dB is normal volume. No gain will be applied.

                Gain can be controlled in runtime with input_volume_up/input_volume_down.

                audio_volume = 0.0

                Overlay

                Defines a directory where overlays are kept for easy access.

                overlay_directory =

                Enable the overlay.

                input_overlay_enable = true

                Hide the current overlay from appearing inside the menu.

                input_overlay_hide_in_menu = true

                Path to input overlay.

                input_overlay =

                Opacity of all the UI elements of the overlay.

                input_overlay_opacity = 1.0

                Scale of all UI elements of the overlay.

                input_overlay_scale = 1.0

                Input

                Input driver. Depending on video driver, it might force a different input driver.

                input_driver = sdl

                Joypad driver. (Valid: linuxraw, sdl, dinput)

                input_joypad_driver = "udev"

                Path to input remapping file.

                input_remapping_path =

                Input bind timer timeout.

                Amount of seconds to wait until proceeding to the next bind. Default: 5, minimum: 1

                input_bind_timeout = 1

                If enabled, overrides the input binds with the remapped binds set for the current core.

                input_remap_binds_enable = true

                Maximum amount of users supported by RetroArch.

                input_max_users = 16

                Keyboard layout for input driver if applicable (udev/evdev for now).

                Syntax is either just layout (e.g. "no"), or a layout and variant separated with colon ("no:nodeadkeys").

                input_keyboard_layout =

                Defines axis threshold. Possible values are [0.0, 1.0]

                input_axis_threshold = 0.5

                Enable input auto-detection. Will attempt to autoconfigure

                joypads, Plug-and-Play style.

                input_autodetect_enable = "true"

                Show the input descriptors set by the core instead of the

                default ones.

                input_descriptor_label_show = true

                Hide input descriptors that were not set by the core.

                input_descriptor_hide_unbound = false

                Influence how input polling is done inside RetroArch.

                0 : Early - Input polling is performed before call to retro_run.

                1 : Normal - Input polling is performed when retro_input_poll is

                requested.

                2 : Late - Input polling is performed on first call to retro_input_state

                per frame

                Setting it to 0 or 2 can result in less latency depending on

                your configuration.

                When netplay is enabled, the default polling behavior (1) will

                be used regardless of the value set here.

                input_poll_type_behavior = 1

                Directory for joypad autoconfigs.

                If a joypad is plugged in, that joypad will be autoconfigured if a config file

                corresponding to that joypad is present in joypad_autoconfig_dir.

                Input binds which are made explicit (input_playerN_*_btn/axis) will take priority over autoconfigs.

                Autoconfigs can be created with retroarch-joyconfig, manually, or with a frontend.

                Requires input_autodetect_enable to be enabled.

                joypad_autoconfig_dir =

                Sets which libretro device is used for a user.

                Devices are indentified with a number.

                This is normally saved by the menu.

                Device IDs are found in libretro.h.

                These settings are overridden by explicit command-line arguments which refer to input devices.

                None: 0

                Joypad (RetroPad): 1

                Mouse: 2

                Keyboard: 3

                Generic Lightgun: 4

                Joypad w/ Analog (RetroPad + Analog sticks): 5

                Multitap (SNES specific): 257

                Super Scope (SNES specific): 260

                Justifier (SNES specific): 516

                Justifiers (SNES specific): 772

                input_libretro_device_p1 =

                input_libretro_device_p2 =

                input_libretro_device_p3 =

                input_libretro_device_p4 =

                input_libretro_device_p5 =

                input_libretro_device_p6 =

                input_libretro_device_p7 =

                input_libretro_device_p8 =

                Keyboard input. Will recognize letters ("a" to "z") and the following special keys (where "kp_"

                is for keypad keys):

                left, right, up, down, enter, kp_enter, tab, insert, del, end, home,

                rshift, shift, ctrl, alt, space, escape, add, subtract, kp_plus, kp_minus,

                f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12,

                num0, num1, num2, num3, num4, num5, num6, num7, num8, num9, pageup, pagedown,

                keypad0, keypad1, keypad2, keypad3, keypad4, keypad5, keypad6, keypad7, keypad8, keypad9,

                period, capslock, numlock, backspace, multiply, divide, print_screen, scroll_lock,

                tilde, backquote, pause, quote, comma, minus, slash, semicolon, equals, leftbracket,

                backslash, rightbracket, kp_period, kp_equals, rctrl, ralt

                Keyboard input, Joypad and Joyaxis will all obey the "nul" bind, which disables the bind completely,

                rather than relying on a default.

                input_player1_a = "x"
                input_player1_b = "z"
                input_player1_y = "a"
                input_player1_x = "s"
                input_player1_start = "enter"
                input_player1_select = "rshift"
                input_player1_l = "q"
                input_player1_r = "w"
                input_player1_left = "left"
                input_player1_right = "right"
                input_player1_up = "up"
                input_player1_down = "down"

                input_player1_l2 =

                input_player1_r2 =

                input_player1_l3 =

                input_player1_r3 =

                Two analog sticks (DualShock-esque).

                Bound as usual, however, if a real analog axis is bound,

                it can be read as a true analog.

                Positive X axis is right, Positive Y axis is down.

                input_player1_l_x_plus =

                input_player1_l_x_minus =

                input_player1_l_y_plus =

                input_player1_l_y_minus =

                input_player1_r_x_plus =

                input_player1_r_x_minus =

                input_player1_r_y_plus =

                input_player1_r_y_minus =

                If desired, it is possible to override which joypads are being used for user 1 through 8.

                First joypad available is 0.

                input_player1_joypad_index = 0

                input_player2_joypad_index = 1

                input_player3_joypad_index = 2

                input_player4_joypad_index = 3

                input_player5_joypad_index = 4

                input_player6_joypad_index = 5

                input_player7_joypad_index = 6

                input_player8_joypad_index = 7

                Input device buttons.

                Figure these out by using RetroArch-Phoenix or retroarch-joyconfig.

                You can use joypad hats with hnxx, where n is the hat, and xx is a string representing direction.

                E.g. "h0up"

                input_player1_a_btn =

                input_player1_b_btn =

                input_player1_y_btn =

                input_player1_x_btn =

                input_player1_start_btn =

                input_player1_select_btn =

                input_player1_l_btn =

                input_player1_r_btn =

                input_player1_left_btn =

                input_player1_right_btn =

                input_player1_up_btn =

                input_player1_down_btn =

                input_player1_l2_btn =

                input_player1_r2_btn =

                input_player1_l3_btn =

                input_player1_r3_btn =

                Menu buttons.

                menu_search_btn =

                menu_info_btn =

                menu_default_btn =

                menu_scroll_down_btn =

                menu_scroll_up_btn =

                Swap buttons for OK/Cancel

                menu_swap_ok_cancel_buttons = false

                Axis for RetroArch D-Pad.

                Needs to be either '+' or '-' in the first character signaling either positive or negative direction of the axis, then the axis number.

                Do note that every other input option has the corresponding _btn and _axis binds as well; they are omitted here for clarity.

                input_player1_left_axis =

                input_player1_right_axis =

                input_player1_up_axis =

                input_player1_down_axis =

                Holding the turbo while pressing another button will let the button enter a turbo mode

                where the button state is modulated with a periodic signal.

                The modulation stops when the button itself (not turbo button) is released.

                input_player1_turbo =

                Describes the period and how long of that period a turbo-enabled button should behave.

                Numbers are described in frames.

                input_turbo_period = 6

                input_turbo_duty_cycle = 3

                This goes all the way to user 8 (player2, player3, etc), but omitted for clarity.

                All input binds have corresponding binds for keyboard (none), joykeys (_btn) and joyaxes (_axis) as well.

                Toggles fullscreen.

                input_toggle_fullscreen = f

                Saves state.

                input_save_state = f2

                Loads state.

                input_load_state = f4

                State slots. With slot set to 0, save state name is *.state (or whatever defined on commandline).

                When slot is != 0, path will be $path%d, where %d is slot number.

                input_state_slot_increase = f7

                input_state_slot_decrease = f6

                Toggles between fast-forwarding and normal speed.

                input_toggle_fast_forward = space

                Hold for fast-forward. Releasing button disables fast-forward.

                input_hold_fast_forward = l

                Key to exit RetroArch cleanly.

                Killing it in any hard way (SIGKILL, etc) will terminate RetroArch without saving RAM, etc.

                On Unix-likes, SIGINT/SIGTERM allows a clean deinitialization.

                input_exit_emulator = "escape"

                Applies next and previous shader in directory.

                input_shader_next = "m"
                input_shader_prev = "n"

                Hold button down to rewind. Rewinding must be enabled.

                input_rewind = "r"

                Toggle between recording and not.

                input_movie_record_toggle = o

                Toggle between paused and non-paused state

                input_pause_toggle = p

                Frame advance when content is paused

                input_frame_advance = k

                Reset the content.

                input_reset = h

                Cheats.

                input_cheat_index_plus = y

                input_cheat_index_minus = t

                input_cheat_toggle = u

                Mute/unmute audio

                input_audio_mute = f9

                Take screenshot

                input_screenshot = f8

                Netplay flip users.

                input_netplay_flip_players = i

                Hold for slowmotion.

                input_slowmotion = e

                Enable other hotkeys.

                If this hotkey is bound to either keyboard, joybutton or joyaxis,

                all other hotkeys will be disabled unless this hotkey is also held at the same time.

                This is useful for RETRO_KEYBOARD centric implementations

                which query a large area of the keyboard, where it is not desirable

                that hotkeys get in the way.

                Alternatively, all hotkeys for keyboard could be disabled by the user.

                input_enable_hotkey_btn =

                Increases audio volume.

                input_volume_up = kp_plus

                Decreases audio volume.

                input_volume_down = kp_minus

                Toggles to next overlay. Wraps around.

                input_overlay_next =

                Toggles eject for disks. Used for multiple-disk content.

                input_disk_eject_toggle =

                Cycles through disk images. Use after ejecting.

                Complete by toggling eject again.

                input_disk_next =

                Toggles menu.

                input_menu_toggle = f1

                RetroPad button combination to toggle menu

                0 = none, 1 = L + R + Y + D-Pad Down, 2 = L3 + R3, 3 = Start + Select

                input_menu_toggle_gamepad_combo = 0

                allow any RetroPad to control the menu

                all_users_control_menu = "true"

                Toggles mouse grab. When mouse is grabbed, RetroArch hides the mouse,

                and keeps the mouse pointer inside the window to allow relative mouse input

                to work better.

                input_grab_mouse_toggle = f11

                Menu

                Menu driver to use. "rgui", "lakka", etc.

                menu_driver = "rgui"

                If disabled, the libretro core will keep running in the background when we

                are in the menu.

                menu_pause_libretro = false

                If disabled, we use separate controls for menu operation.

                menu_unified_controls = "true"

                Enable mouse controls inside the menu.

                menu_mouse_enable = false

                Enable touch controls inside the menu.

                menu_pointer_enable = false

                Shows current date and/or time inside menu.

                menu_timedate_enable = true

                Shows current battery level inside menu.

                menu_battery_level_enable = true

                Shows current core inside menu.

                menu_core_enable = true

                Path to an image to set as menu wallpaper.

                menu_wallpaper =

                Dynamically load a new wallpaper depending on context.

                menu_dynamic_wallpaper_enable = false

                Type of thumbnail to display. 0 = none, 1 = snaps, 2 = titles, 3 = boxarts

                menu_thumbnails = 0

                Wrap-around to beginning and/or end if boundary of list is reached horizontally or vertically.

                menu_navigation_wraparound_enable = false

                Filter files being shown in filebrowser by supported extensions.

                menu_navigation_browser_filter_supported_extensions_enable = true

                Collapse subgroup settings into main group to create one big listing of settings

                per category.

                menu_collapse_subgroups_enable = false

                Core

                Prevent libretro cores from closing RetroArch on exit by loading a dummy core.

                load_dummy_on_core_shutdown = "true"

                Check for firmware requirement(s) before loading a content.

                check_firmware_before_loading = "false"

                UI

                Suspends the screensaver if set to true. Is a hint that does not necessarily have to be honored

                by video driver.

                suspend_screensaver_enable = true

                Start UI companion driver's interface on boot (if available).

                ui_companion_start_on_boot = true

                Camera

                Override the default camera device the camera driver uses. This is driver dependant.

                camera_device =

                Override the default privacy permission for cores that want to access camera services. Is "false" by default.

                camera_allow = false

                Location

                Override the default privacy permission for cores that want to access location services. Is "false" by default.

                location_allow = false

                Core Updater

                URL to core update directory on buildbot.

                core_updater_buildbot_url = "http://buildbot.libretro.com"

                URL to assets update directory on buildbot.

                core_updater_buildbot_assets_url = "http://buildbot.libretro.com/assets/"

                After downloading, automatically extract archives that the downloads are contained inside.

                core_updater_auto_extract_archive = true

                Network

                When being client over netplay, use keybinds for user 1.

                netplay_client_swap_input = false

                The username of the person running RetroArch. This will be used for playing online, for instance.

                netplay_nickname =

                The amount of delay frames to use for netplay. Increasing this value will increase

                performance, but introduce more latency.

                netplay_delay_frames = 0

                Netplay mode for the current user.

                false is Server, true is Client.

                netplay_mode = false

                Enable or disable spectator mode for the user during netplay.

                netplay_spectator_mode_enable = false

                The IP Address of the host to connect to.

                netplay_ip_address =

                The port of the host IP Address. Can be either a TCP or UDP port.

                netplay_ip_port = 55435

                Force game hosting to go through a man-in-the-middle server to get around firewalls and NAT/UPnP problems.

                netplay_use_mitm_server = false

                Misc

                Enable rewinding. This will take a performance hit when playing, so it is disabled by default.

                rewind_enable = "false"

                Rewinding buffer size in megabytes. Bigger rewinding buffer means you can rewind longer.

                The buffer should be approx. 20MB per minute of buffer time.

                rewind_buffer_size = "10"

                Rewind granularity. When rewinding defined number of frames, you can rewind several frames at a time, increasing the rewinding speed.

                rewind_granularity = "2"

                Pause gameplay when window focus is lost.

                pause_nonactive = true

                Autosaves the non-volatile SRAM at a regular interval. This is disabled by default unless set otherwise.

                The interval is measured in seconds. A value of 0 disables autosave.

                autosave_interval =

                Path to content database directory.

                content_database_path =

                Path to cheat database directory.

                cheat_database_path =

                Directory to dump screenshots to.

                screenshot_directory =

                Records video after CPU video filter.

                video_post_filter_record = false

                Records output of GPU shaded material if available.

                video_gpu_record = false

                Screenshots output of GPU shaded material if available.

                video_gpu_screenshot = "true"

                Block SRAM from being overwritten when loading save states.

                Might potentially lead to buggy games.

                block_sram_overwrite = false

                When saving a savestate, save state index is automatically increased before

                it is saved.

                Also, when loading content, the index will be set to the highest existing index.

                There is no upper bound on the index.

                savestate_auto_index = false

                Slowmotion ratio. When slowmotion, content will slow down by factor.

                slowmotion_ratio = 3.0

                The maximum rate at which content will be run when using fast forward. (E.g. 5.0 for 60 fps content => 300 fps cap).

                RetroArch will go to sleep to ensure that the maximum rate will not be exceeded.

                Do not rely on this cap to be perfectly accurate.

                If this is set at 0, then fastforward ratio is unlimited (no FPS cap)

                fastforward_ratio = 0.0

                Enable stdin/network command interface.

                network_cmd_enable = false

                network_cmd_port = 55355

                stdin_cmd_enable = false

                input_enable_hotkey = "nul"
                auto_remaps_enable = "true"

                /opt/retropie/configure/all/retroarch-core-options.cfg:
                cap32_autorun = "enabled"
                cap32_Model = "6128"
                cap32_Ram = "128"
                fba-diagnostic-input = "Hold Start"
                fuse_machine = "Spectrum 128K"
                gambatte_gb_colorization = "custom"
                mame2003-skip_disclaimer = "enabled"
                mame2003-dcs-speedhack = "enabled"
                mame2003-samples = "enabled"
                mame2003-frameskip = "0"
                mame2003-skip_warnings = "disabled"
                mame2003-sample_rate = "48000"
                mame2003-cheats = "disabled"
                mame2003-dialsharexy = "disabled"
                mame2003-mouse_device = "mouse"
                mame2003-rstick_to_btns = "enabled"
                mame2003-tate_mode = "disabled"
                fba-aspect = "DAR"
                fba-cpu-speed-adjust = "100"
                fba-controls-p1 = "gamepad"
                fba-controls-p2 = "gamepad"
                fba-sh2-mode = "accurate"
                fba-hiscores = "enabled"
                fba-lr-controls-p1 = "normal"
                fba-lr-controls-p2 = "normal"
                fceumm_palette = "asqrealc"
                fceumm_nospritelimit = "disabled"
                fceumm_overclocking = "disabled"
                fceumm_overscan = "enabled"
                fceumm_turbo_enable = "None"
                fceumm_turbo_delay = "3"
                fceumm_aspect = "8:7 PAR"
                fba-dipswitch-galaga-Service_Mode = "(Default) Off"
                fba-dipswitch-galaga-Difficulty = "(Default) Easy"
                fba-dipswitch-galaga-Demo_Sounds = "(Default) On"
                fba-dipswitch-galaga-Freeze = "(Default) Off"
                fba-dipswitch-galaga-Rack_Test = "(Default) Off"
                fba-dipswitch-galaga-Cabinet = "(Default) Upright"
                fba-dipswitch-galaga-Coinage = "(Default) 1 Coin 1 Play"
                fba-dipswitch-galaga-Bonus_Life = "(Default) 20k 70k 70k"
                fba-dipswitch-galaga-Lives = "(Default) 3"
                fba-macro-sfiii3-P1_3x_Punch = "None"
                fba-macro-sfiii3-P1_3x_Kick = "None"
                fba-macro-sfiii3-P2_3x_Punch = "None"
                fba-macro-sfiii3-P2_3x_Kick = "None"
                fba-dipswitch-sfiii3-Region = "(Default) Euro"

                /opt/retropie/configs/mame-libretro/retroarch.cfg:

                Settings made here will only override settings in the global retroarch.cfg if placed above the #include line

                input_remapping_directory = "/opt/retropie/configs/mame-libretro/"

                #include "/opt/retropie/configs/all/retroarch.cfg"

                EDIT:

                Yikes, sorry, didn't know pasting would cause such horrible formatting. Is there a different way I should have pasted those? :(

                dankcushionsD 1 Reply Last reply Reply Quote 0
                • dankcushionsD
                  dankcushions Global Moderator @sTo0z
                  last edited by

                  @sTo0z
                  luckily the issue was in the first few lines :)

                  video_driver = "dispmanx"

                  this is the problem - dispmanx doesn't support rotation. please change to "gl"

                  see: https://github.com/libretro/RetroArch/issues/4898

                  S 1 Reply Last reply Reply Quote 1
                  • S
                    sTo0z @dankcushions
                    last edited by

                    @dankcushions said in Cannot rotate MAME vertical games:

                    @sTo0z
                    luckily the issue was in the first few lines :)

                    video_driver = "dispmanx"

                    this is the problem - dispmanx doesn't support rotation. please change to "gl"

                    see: https://github.com/libretro/RetroArch/issues/4898

                    Yup, that did it.. I'm a fool! Totally forgot I changed that.

                    THANK YOU.

                    1 Reply Last reply Reply Quote 1
                    • 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.