Git Product home page Git Product logo

retrorun's Introduction

RetroRun for Anbernic Devices (RG351 M/P/V/MP, RG552, and RG503)

RetroRun is a libretro frontend designed specifically for Anbernic devices, including RG351 M/P/V/MP, RG552, and RG503. Enhance your gaming experience with RetroRun.

To use RetroRun you need ro tun first rg351p-js2box. In a way similar to this:

rm /dev/input/by-path/platform-odroidgo2-joypad-event-joystick || true
echo 'creating fake joypad'
/usr/bin/rg351p-js2xbox --silent -t oga_joypad &
sleep 0.2
ln -s /dev/input/event3 /dev/input/by-path/platform-odroidgo2-joypad-event-joystick
chmod 777 /dev/input/by-path/platform-odroidgo2-joypad-event-joystick
sleep 0.2
retrorun --triggers  -s /storage/roms/"<rom_name>" -d /roms/bios <libretro_core> <system_name>
sleep 0.5
rm /dev/input/by-path/platform-odroidgo2-joypad-event-joystick
kill $(pidof rg351p-js2xbox)

Supported Cores (Tested)

  • Flycast, Flycast 2021
  • ParaLLEl N64
  • SwanStation
  • DuckStation
  • PCSX-ReARMed
  • mGBA
  • VBA-M
  • Virtual Jaguar
  • DOSBox-pure
  • DOSBox-core
  • Beetle VB
  • Yaba Sanshiro
  • Snes9x, Snes9x 2002, Snes9x 2005 Plus, Snes9x 2010
  • Genesis Plus GX
  • PicoDrive
  • PPSSPP
  • Stella, Stella2014

Key Features

This branch of RetroRun includes several features:

  1. Integration of the external library libgo2 (https://github.com/OtherCrashOverride/libgo2) into RetroRun.
  2. Tate mode support (useful for Naomi and Atomiswave games).
  3. Right analog support for ParaLLEl N64, including C buttons management.
  4. Option to display FPS in the logs using the -f flag.
  5. Display FPS on the screen using the SELECT + Y button combination.
  6. Core configuration via file, with default location at "/storage/.config/distribution/configs/retrorun.cfg", but customizable via the -c parameter.
  7. Management of different aspect ratios.
  8. Support for GPIO/USB joypad.
  9. On-Screen Display (OSD) with explanatory images.
  10. Info Menu displaying device and game information.

RetroRun Configuration Parameters

These parameters can be set in the retrorun.cfg file:


Retrorun configuration parameters (to be set in the retrorun.cfg file)

retrorun_screenshot_folder = Defines the folder in which screenshots are saved. Default: /storage/roms/screenshots

retrorun_fps_counter = true | false

  • true: Display the FPS counter.
  • false: Do not display the FPS counter. Default: false

retrorun_aspect_ratio = 2:1 | 4:3 | 5:4 | 16:9 | 16:10 | 1:1 | 3:2 | auto

  • 2:1: Aspect ratio 2:1.
  • 4:3: Aspect ratio 4:3.
  • 5:4: Aspect ratio 5:4.
  • 16:9: Aspect ratio 16:9.
  • 16:10: Aspect ratio 16:10.
  • 1:1: Aspect ratio 1:1.
  • 3:2: Aspect ratio 3:2.
  • auto: Automatically determine the aspect ratio. Default: provided by the core

retrorun_force_left_analog_stick = true | false

  • true: Force the left analog stick to act like the D-pad.
  • false: Do not force the left analog stick to act like the D-pad. Default: false

retrorun_auto_save = true | false

  • true: Enable auto-save.
  • false: Disable auto-save. Default: false

retrorun_auto_load = true | false

  • true: Enable auto-load.
  • false: Disable auto-load. Default: same as auto-save

retrorun_loop_60_fps = true | false

  • true: Restrict the game loop to not exceed 60 FPS.
  • false: Do not restrict the game loop to 60 FPS. Default: true

retrorun_audio_buffer = -1, 1, 256, 512, 1024, 2048, ...

  • -1: Audio buffer size linked to original FPS of the game.
  • 1, 256, 512, 1024, 2048, ...: Specific audio buffer size. Default: -1

retrorun_swap_l1r1_with_l2r2 = true | false

  • true: Swap the triggers L1 and L2 with R1 and R2.
  • false: Do not swap the triggers L1 and L2 with R1 and R2. Default: false

retrorun_swap_sticks = true | false

  • true: Swap the left analog stick with the right analog stick.
  • false: Do not swap the left analog stick with the right analog stick. Default: false

retrorun_tate_mode = auto | enabled | disabled | reverted

  • auto: Automatically enable tate mode for vertical games.
  • enabled: Enable tate mode.
  • disabled: Disable tate mode.
  • reverted: Rotate the screen by 180 degrees. Default: disabled

retrorun_log_level = INFO | DEBUG | WARNING | ERROR

  • INFO: Display informational logs.
  • DEBUG: Display debug logs.
  • WARNING: Display warning logs.
  • ERROR: Display error logs. Default: INFO

retrorun_device_name =

  • Sets the device name. If not found in the config, the device name will be detected differently.

retrorun_mouse_speed_factor =

  • Sets the speed factor for the mouse. Default: 5

Build

Clone the repository and build RetroRun:

git clone https://github.com/navy1978/retrorun
make
strip retrorun

Configuration file

======

The configuration file looks like the following:

# ---- RETRORUN INTERNAL SETTINGS ----
retrorun_screenshot_folder = /storage/roms/screenshots
# ---- FLYCAST ----
flycast_threaded_rendering = enabled
flycast_internal_resolution = 640x480
flycast_anisotropic_filtering = off
flycast_enable_dsp = disabled
flycast_synchronous_rendering = disabled
flycast_enable_rtt = disabled
flycast_enable_rttb = disabled
flycast_delay_frame_swapping = disabled
# Alpha sorting should be set to per strip
flycast_alpha_sorting = per-strip (fast, least accurate)
flycast_div_matching = auto
# Texupscale should be off
flycast_texupscale = off
# Vibration support should be on
flycast_enable_purupuru = enabled
flycast_auto_skip_frame = disabled
flycast_gdrom_fast_loading = enabled
flycast_volume_modifier_enable = disabled
flycast_framerate = fullspeed
flycast_anisotropic_filtering = disabled
# ---- FLYCAST2021 ----
flycast2021_threaded_rendering = enabled
flycast2021_internal_resolution = 640x480
flycast2021_anisotropic_filtering = off
flycast2021_enable_dsp = disabled
flycast2021_synchronous_rendering = disabled
flycast2021_enable_rtt = disabled
flycast2021_enable_rttb = disabled
flycast2021_delay_frame_swapping = disabled
# Alpha sorting should be set to per strip
flycast2021_alpha_sorting = per-strip (fast, least accurate)
flycast2021_div_matching = auto
# Texupscale should be off
flycast2021_texupscale = off
# Vibration support should be on
flycast2021_enable_purupuru = enabled
flycast2021_gdrom_fast_loading = enabled
flycast2021_volume_modifier_enable = disabled
flycast2021_framerate = fullspeed
flycast2021_anisotropic_filtering = disabled
# ---- PARALLEL N64 ----
parallel-n64-framerate = fullspeed
parallel-n64-filtering = nearest
parallel-n64-audio-buffer-size = 1024
parallel-n64-gfxplugin-accuracy = medium
parallel-n64-screensize = 640x480
parallel-n64-gfxplugin = rice
# ---- JAGUAR ----
virtualjaguar_doom_res_hack = enabled
virtualjaguar_pal = disabled
virtualjaguar_usefastblitter = enabled
virtualjaguar_bios = enabled
# ---- PPSSPP ----
ppsspp_cpu_core = JIT
#ppsspp_detect_vsync_swap_interval = disabled
ppsspp_fast_memory = enabled
ppsspp_frameskip = 0
ppsspp_frameskiptype = Number of frames
ppsspp_ignore_bad_memory_access = enabled
ppsspp_internal_resolution = 480x272
ppsspp_rendering_mode=buffered
# ---- DUCKSTATION ----
duckstation_CPU.Overclock = 100
duckstation_Controller1.Type=AnalogController
# ---- SWANSTATION ----
swanstation_CPU_Overclock = 100
swanstation_GPU_Renderer = Software

# ---- RETRORUN RUNTIME SETTINGS ----

retrorun's People

Contributors

christianhaitian avatar christianhaitian0 avatar dhwz avatar navy1978 avatar othercrashoverride avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

retrorun's Issues

Integrate Text-Based Messages Using Fonts

Currently, retrorun relies solely on image-based messages for user interactions. Integrating text-based messages using fonts alongside image-based messages will enhance flexibility and customization options for user interfaces.

Implement functionality to switch CDs for multi-disc games.

Currently, retrorun does not support the functionality to switch CDs for games that require multiple discs.
This functionality is essential to allow users to play multi-disc games without interruptions.

Investigate how this functionality is implemented in retroarch and provide something similar

Add hotkeys for slot selection for save/restore state

Implement a set of hotkeys that allow users to quickly select slots for saving and loading states.
This should follow the existing combo in AmberElec, and in the future should be customizable as all the other hotkeys

Align the existing feature titled 'Force left Analog to D-pad' to RetroArch.

In RetroArch, the equivalent functionality is labeled as 'Analog to Digital Type,' offering four options: Left Analog, Right Analog, Left Analog (Forced), and Right Analog (Forced). The 'forced' designation implies that the mapping will persist even if the core itself utilizes analog input, whereas the other options will not apply if the core utilizes analog input.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.