From f307084ba59e50fdb0cb28efe49a9f4aaed306a0 Mon Sep 17 00:00:00 2001 From: Darren Alton Date: Tue, 3 Jul 2012 02:36:27 -0400 Subject: [PATCH] (Pandora) Config files and build scripts for OpenPandora --- Makefile.pandora | 46 ++++ pandora/PXML.xml | 32 +++ pandora/icon.png | Bin 0 -> 1184 bytes pandora/previews/retroarch.png | Bin 0 -> 21646 bytes pandora/retroarch/retroarch.cfg | 386 ++++++++++++++++++++++++++++++++ pandora/scripts/retroarch.sh | 48 ++++ 6 files changed, 512 insertions(+) create mode 100644 Makefile.pandora create mode 100644 pandora/PXML.xml create mode 100644 pandora/icon.png create mode 100644 pandora/previews/retroarch.png create mode 100644 pandora/retroarch/retroarch.cfg create mode 100755 pandora/scripts/retroarch.sh diff --git a/Makefile.pandora b/Makefile.pandora new file mode 100644 index 0000000000..d45220a7d3 --- /dev/null +++ b/Makefile.pandora @@ -0,0 +1,46 @@ +# Before using this Makefile, be sure to do: +# $ source /usr/local/angstrom/arm/environment-setup +# $ setprj retroarch + +PNDDIR=./pandora +BINDIR=$(PNDDIR)/bin + +all: retroarch + +pnd: retroarch.pnd + +install: $(BINDIR)/retroarch $(BINDIR)/retroarch-joyconfig $(PNDDIR)/readme.html + +retroarch: + ./configure --prefix=$PND_BASEDIR/$PRJ --disable-ffmpeg --disable-cg --disable-xml --disable-python --disable-libpng --disable-pulse --disable-opengl + make -f Makefile + +$(BINDIR)/retroarch: retroarch + cp retroarch $(BINDIR)/retroarch + +$(BINDIR)/retroarch-joyconfig: tools/retroarch-joyconfig + cp tools/retroarch-joyconfig $(BINDIR)/retroarch-joyconfig + +$(PNDDIR)/readme.html: README.md + markdown README.md > $(PNDDIR)/readme.html + +retroarch.pnd: install + pnd_make -p retroarch.pnd -d $(PNDDIR)/ -x $(PNDDIR)/PXML.xml -i $(PNDDIR)/icon.png + +clean: + rm -f *.o + rm -f audio/*.o + rm -f conf/*.o + rm -f gfx/*.o + rm -f gfx/fonts/*.o + rm -f gfx/context/*.o + rm -f gfx/py_state/*.o + rm -f compat/*.o + rm -f record/*.o + rm -f input/*.o + rm -f tools/*.o + rm -f $(BINDIR)/retroarch + rm -f $(BINDIR)/retroarch-joyconfig + rm -f $(PNDDIR)/readme.html + rm -f retroarch + diff --git a/pandora/PXML.xml b/pandora/PXML.xml new file mode 100644 index 0000000000..a75c462979 --- /dev/null +++ b/pandora/PXML.xml @@ -0,0 +1,32 @@ + + + + + + + RetroArch + + + + + + Frontend to libretro + + + + + + + + + + + + + + + + + + + diff --git a/pandora/icon.png b/pandora/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2c2335062727686ac2648f73e795f1bb5a42e85d GIT binary patch literal 1184 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 Zx|JTdi*fF8EtrKOJMaYDMF;=H{{oo%s7U|- literal 0 HcmV?d00001 diff --git a/pandora/retroarch/retroarch.cfg b/pandora/retroarch/retroarch.cfg new file mode 100644 index 0000000000..057dbfdc1e --- /dev/null +++ b/pandora/retroarch/retroarch.cfg @@ -0,0 +1,386 @@ +## 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 = + +# 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. +# savestate_auto_save = false + +# Load libretro from a dynamic location for dynamically built RetroArch. +# This option is mandatory. +libretro_path = "/mnt/utmp/retroarch/lib/libretro-fceumm.so" + +# Environment variables internally in RetroArch. +# Implementations can tap into this user-specificed information to enable functionality +# that is deemed too obscure to expose directly. +# Some variables might be "standardized" at a later time if needed. +# The string is formatted as key value pairs delimited by a semicolon ';'. +# Any white space between the delimiter ';' and the '=' is significant. +# I.e.: "key1=value1;key2=value2;..." +# environment_variables = + +# Sets the "system" directory. +# Implementations can query for this directory to load BIOSes, system-specific configs, etc. +# system_directory = + +#### Video + +# Video driver to use. "gl", "xvideo", "sdl" or "ext" (external API driver) +video_driver = "sdl" + +# Path to external video driver using the RetroArch driver API. +# video_external_driver = + +# Windowed xscale and yscale +# (Real x res: base_size * xscale * aspect_ratio, real y res: base_size * yscale) +video_xscale = 1.0 +video_yscale = 1.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 = true + +# Force 16-bit colors. Apparently some video cards in use today have troubles with 32-bit ... +#video_force_16bit = true + +# Forcibly disable composition. Only works in Windows Vista/7 for now. +# video_disable_composition = false + +# Video vsync. +#video_vsync = false + +# Smoothens picture with bilinear filtering. Should be disabled if using pixel shaders. +video_smooth = false + +# Forces rendering area to stay equal to SNES aspect ratio 4:3 or as defined in video_aspect_ratio. +# video_force_aspect = true + +# 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 = false + +# Forces cropping of overscanned frames. Crops away top 7 scanlines and 8 bottom scanlines. (15/15 for interlaced frames). +# video_crop_overscan = false + +# Path to Cg shader. +# video_cg_shader = "/path/to/cg/shader.cg" + +# Path to bSNES XML shader (GLSL only). If both Cg shader path and XML shader path are defined, +# Cg shader will take priority unless overridden in video_shader_type. +# video_bsnes_shader = "/path/to/bsnes/xml/shader.shader" + +# Which shader type to use. Valid values are "cg", "bsnes", "none" and "auto" +# video_shader_type = auto + +# Defines a directory where XML shaders are kept. +# video_shader_dir = + +# Render to texture first. Useful when doing multi-pass shaders or control the output of shaders better. +# video_render_to_texture = false + +# Defines the video scale of render-to-texture. +# The output FBO size is scaled by these amounts against the input size (typically 256 * 224 for SNES). +# video_fbo_scale_x = 2.0 +# video_fbo_scale_y = 2.0 + +# Define shader to use for second pass (needs render-to-texture). +# video_second_pass_shader = "/path/to/second/shader.{cg,shader}" + +# Defines if bilinear filtering is used during second pass (needs render-to-texture). +# video_second_pass_smooth = true + +# CPU-based filter. Path to a bSNES CPU filter (*.filter) +# video_filter = + +# Path to a TTF 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 TTF font rendered. +# video_font_size = 48 + +# Attempt to scale the font to fit better for multiple window sizes. +# video_font_scale = true + +# 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.95 + +# Allows libsnes cores to set rotation modes. +# Setting this to false will honor, but ignore this request. +# This is useful for vertically oriented games where one manually rotates the monitor. +# video_allow_rotate = true + +#### Audio + +# Enable audio. +# audio_enable = true + +# Audio output samplerate. +# audio_out_rate = 48000 + +# When altering audio_in_rate on-the-fly, define by how much each time. +# audio_rate_step = 0.25 + +# Audio driver backend. Depending on configuration possible candidates are: alsa, pulse, oss, jack, rsound, roar, openal, sdl, xaudio and ext (external driver). +audio_driver = alsa + +# Path to external audio driver using the RetroArch audio driver API. +# audio_external_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 = + +# External DSP plugin that processes audio before it's sent to the driver. +# audio_dsp_plugin = + +# 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 experimental audio rate control. +# audio_rate_control = false + +# 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 + +#### Input + +# Input driver. Depending on video driver, it might force a different input driver. +# input_driver = sdl + +# Defines axis threshold. Possible values are [0.0, 1.0] +# input_axis_threshold = 0.5 + +# Keyboard input. Will recognize normal keypresses and special keys like "left", "right", and so on. +# 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 = end +input_player1_b = pagedown +input_player1_y = home +input_player1_x = pageup +input_player1_start = alt +input_player1_select = ctrl +input_player1_l = rshift +input_player1_r = rctrl +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 player 1 through 5. 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 +# Player 6-8 is not directly expected by libsnes API, but we'll futureproof it. +# input_player6_joypad_index = 5 +# input_player7_joypad_index = 6 +# input_player8_joypad_index = 7 + +# Joypad buttons. +# Figure these out by using RetroArch-Phoenix or ssnes-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 = + +# Axis for SNES DPAD. +# 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 = + +# This goes all the way to player 8 (*_player2_*, *_player3_*, etc), but omitted for clarity. + +# 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 emulator cleanly. +# Killing it in any hard way (SIGTERM, SIGKILL, etc, will terminate emulator without saving RAM, etc.) +# input_exit_emulator = escape + +# Decrease/increase input sample rate on the fly. Amount to decrease/increase is defined by audio_rate_step. +# input_rate_step_up = kp_plus +# input_rate_step_down = kp_minus + +# Applies next and previous XML 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 game is paused +# input_frame_advance = k + +# Reset the emulated SNES. +# input_reset = h + +# Configures DSP plugin +# input_dsp_config = c + +# 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 = print_screen + +# Netplay flip players. +# input_netplay_flip_players = i + +# Hold for slowmotion. +# input_slowmotion = e + +#### Misc + +# Enable rewinding. This will take a performance hit when playing, so it is disabled by default. +# Do note that rewinding will only work properly when using bSNES libsnes core atm. +# 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 = 20 + +# Rewind granularity. When rewinding defined number of frames, you can rewind several frames at a time, increasing the rewinding speed. +# rewind_granularity = 1 + +# 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 = + +# When being client over netplay, use keybinds for player 1. +# netplay_client_swap_input = false + +# Path to XML cheat database (as used by bSNES). +# cheat_database_path = + +# Path to XML cheat config, a file which keeps track of which +# cheat settings are used for individual games. +# If the file does not exist, it will be created. +# cheat_settings_path = + +# Directory to dump screenshots to. +# screenshot_directory = + +# Records video assuming video is hi-res. +# video_hires_record = false + +# Enables lossless RGB H.264 recording if possible (if not, FFV1 is used). +# video_h264_record = true + +# Records video after CPU video filter. +# video_post_filter_record = false + +# 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 a ROM, 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, game will slow down by factor. +# slowmotion_ratio = 3.0 + +# Enable network command interface. +# network_cmd_enable = false +# network_cmd_port = 55355 + diff --git a/pandora/scripts/retroarch.sh b/pandora/scripts/retroarch.sh new file mode 100755 index 0000000000..a78607c762 --- /dev/null +++ b/pandora/scripts/retroarch.sh @@ -0,0 +1,48 @@ +#!/bin/sh +export PATH="/mnt/utmp/retroarch/bin:${PATH:-"/usr/bin:/bin:/usr/local/bin"}" +export LD_LIBRARY_PATH="/mnt/utmp/retroarch/lib:${LD_LIBRARY_PATH:-"/usr/lib:/lib"}" +export HOME="/mnt/utmp/retroarch" XDG_CONFIG_HOME="/mnt/utmp/retroarch" + +if [ -d /mnt/utmp/retroarch/share ];then + export XDG_DATA_DIRS=/mnt/utmp/retroarch/share:$XDG_DATA_DIRS:/usr/share +fi +export SDL_OMAP_LAYER_SIZE="640x480" +export SDL_VIDEODRIVER="omapdss" +export SDL_AUDIODRIVER="alsa" + +cd /mnt/utmp/retroarch/lib +BACKEND=$(ls -1 libretro*.so | zenity --list --column=Backend) +cd $HOME + +if [ -z "$BACKEND" ] ; then + exit 0 +fi + +FILTER='All files (*)|*' +case "$BACKEND" in + libretro-fceu*.so) + FILTER='NES (*.nes)|*.nes' + ;; + libretro-pocketsnes.so | libretro-snes9x*.so) + FILTER='SNES (*.sfc)|*.sfc' + ;; + libretro-meteor.so | libretro-vba.so ) + FILTER='GBA (*.gba)|*.gba' + export SDL_OMAP_LAYER_SIZE="720x480" + ;; + libretro-gambatte.so) + FILTER='GBC (*.gb; *.gbc)|*.gb *.gbc' + export SDL_OMAP_LAYER_SIZE="534x480" + ;; + libretro-genplus.so) + FILTER='Genesis/MegaDrive (*.md; *.gen)|*.md *.gen' + ;; + libretro-prboom.so) + FILTER='Doom (*.wad)|*.wad' + ;; +esac + +ROM=$(zenity --file-selection --file-filter="${FILTER}") + +exec retroarch "${ROM}" -L "/mnt/utmp/retroarch/lib/${BACKEND}" "${@}" +