Initial configuration, keyboard - OS X release

Great improvement! Now the colors are true.

I don’t know it is related, but I can’t get it to stop applying the Themaister-Waterpaint.shader shader, even when the shaders are disabled.

Current log:


RetroArch CMD: /Users/plumberofdeath/Documents/RetroArch/RetroArch Binary/retroarch /Users/plumberofdeath/Documents/RetroArch/ROMs/FBA/1944.zip -c /Users/plumberofdeath/Documents/RetroArch/retroarch_test0.cfg -v

=== Build =======================================
Compiler: GCC (4.2.1) 64-bit
Built: May 30 2013
=================================================
RetroArch: [CPUID]: Vendor: GenuineIntel
RetroArch: [CPUID]: SSE:  1
RetroArch: [CPUID]: SSE2: 1
RetroArch: [CPUID]: AVX:  0
RetroArch: Loading config from: /Users/plumberofdeath/Documents/RetroArch/retroarch_test0.cfg.
=== Config ===
system_directory = "/Users/plumberofdeath/Documents/RetroArch"
video_smooth = "true"
video_driver = "gl"
audio_driver = "coreaudio"
stdin_cmd_enable = "true"
libretro_path = "/Users/plumberofdeath/Documents/RetroArch/libretro-05-30-2013/fb_alpha_libretro.dylib"
phoenix_last_rom = "/Users/plumberofdeath/Documents/RetroArch/ROMs/FBA/1944.zip"
input_player1_select = "n"
input_autodetect_enable = "false"
input_debug_enable = "true"
rewind_enable = "false"
rewind_granularity = "1"
video_shader_enable = "false"
video_scale_integer = "false"
video_vsync = "true"
video_hard_sync = "false"
video_hard_sync_frames = "0"
aspect_ratio_index = "4"
audio_rate_control = "true"
audio_rate_control_delta = "0.005000"
savefile_directory = "default"
savestate_directory = "default"
rgui_browser_directory = "/Users/plumberofdeath/Documents/RetroArch/ROMs/FBA"
video_shader_dir = "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL"
overlay_directory = "default"
overlay_opacity = "1.000000"
overlay_scale = "1.000000"
gamma_correction = "false"
throttle_enable = "false"
triple_buffering_enable = "false"
info_msg_enable = "false"
soft_filter_enable = "false"
flicker_filter_enable = "false"
flicker_filter_index = "0"
soft_filter_index = "0"
current_resolution_id = "0"
custom_viewport_width = "1152"
custom_viewport_height = "672"
custom_viewport_x = "0"
custom_viewport_y = "0"
video_font_size = "48.000000"
config_save_on_exit = "true"
sound_mode = "0"
state_slot = "0"
audio_mute = "0"
screen_orientation = "0"
custom_bgm_enable = "false"
input_dpad_emulation_p1 = "0"
input_device_p1 = "0"
input_dpad_emulation_p2 = "0"
input_device_p2 = "0"
input_dpad_emulation_p3 = "0"
input_device_p3 = "0"
input_dpad_emulation_p4 = "0"
input_device_p4 = "0"
input_dpad_emulation_p5 = "0"
input_device_p5 = "0"
input_dpad_emulation_p6 = "0"
input_device_p6 = "0"
input_dpad_emulation_p7 = "0"
input_device_p7 = "0"
input_dpad_emulation_p8 = "0"
input_device_p8 = "0"
input_player1_select_axis = "nul"
input_player1_select_btn = "nul"
input_overlay = "n"
video_aspect_ratio = "-1.000000"
=== Config end ===
RetroArch: Loading dynamic libretro from: "/Users/plumberofdeath/Documents/RetroArch/libretro-05-30-2013/fb_alpha_libretro.dylib"
RetroArch: Environ SET_VARIABLES.
RetroArch: Core option:
RetroArch:      Description: Diagnostics
RetroArch:      Key: diagnostics
RetroArch:      Current value: disabled
RetroArch:      Possible values:
RetroArch:              disabled
RetroArch:              enabled
RetroArch: Core option:
RetroArch:      Description: CPU Speed Overclock
RetroArch:      Key: cpu-speed-adjust
RetroArch:      Current value: 100
RetroArch:      Possible values:
RetroArch:              100
RetroArch:              110
RetroArch:              120
RetroArch:              130
RetroArch:              140
RetroArch:              150
RetroArch:              160
RetroArch:              170
RetroArch:              180
RetroArch:              190
RetroArch:              200
RetroArch: Version of libretro API: 1
RetroArch: Compiled against API: 1
RetroArch: ROM loading skipped. Implementation will load it on its own.
[FBA] Archive: 1944
Game: 1944
RetroArch: Environ SET_ROTATION: 0
RetroArch: Environ SET_PIXEL_FORMAT: RGB565.
Frontend supports RGB565 - will use that instead of XRGB1555.
has_analog: 0
drvname: 1944
genre: 2
hardware: 117506048
P1 Coin - assigned to key: RetroPad Button Select, port: 0.
P1 Coin - has nSwitch.nCode: 6.
P1 Start - assigned to key: RetroPad Button Start, port: 0.
P1 Start - has nSwitch.nCode: 2.
P1 Up - assigned to key: RetroPad D-Pad Up, port: 0.
P1 Up - has nSwitch.nCode: c8.
P1 Down - assigned to key: RetroPad D-Pad Down, port: 0.
P1 Down - has nSwitch.nCode: d0.
P1 Left - assigned to key: RetroPad D-Pad Left, port: 0.
P1 Left - has nSwitch.nCode: cb.
P1 Right - assigned to key: RetroPad D-Pad Right, port: 0.
P1 Right - has nSwitch.nCode: cd.
P1 Shot - assigned to key: RetroPad Button B, port: 0.
P1 Shot - has nSwitch.nCode: 2c.
P1 Bomb - assigned to key: RetroPad Button A, port: 0.
P1 Bomb - has nSwitch.nCode: 2d.
P2 Coin - assigned to key: RetroPad Button Select, port: 1.
P2 Coin - has nSwitch.nCode: 7.
P2 Start - assigned to key: RetroPad Button Start, port: 1.
P2 Start - has nSwitch.nCode: 3.
P2 Up - assigned to key: RetroPad D-Pad Up, port: 1.
P2 Up - has nSwitch.nCode: 4002.
P2 Down - assigned to key: RetroPad D-Pad Down, port: 1.
P2 Down - has nSwitch.nCode: 4003.
P2 Left - assigned to key: RetroPad D-Pad Left, port: 1.
P2 Left - has nSwitch.nCode: 4000.
P2 Right - assigned to key: RetroPad D-Pad Right, port: 1.
P2 Right - has nSwitch.nCode: 4001.
P2 Shot - assigned to key: RetroPad Button B, port: 1.
P2 Shot - has nSwitch.nCode: 4080.
P2 Bomb - assigned to key: RetroPad Button A, port: 1.
P2 Bomb - has nSwitch.nCode: 4081.
WARNING! Button unaccounted for: [Reset].
Reset - has nSwitch.nCode: 3d.
WARNING! Button unaccounted for: [Diagnostic].
Diagnostic - has nSwitch.nCode: 3c.
WARNING! Button unaccounted for: [Service].
Service - has nSwitch.nCode: a.
WARNING! Button unaccounted for: [Volume Up].
Volume Up - has nSwitch.nCode: 2e.
WARNING! Button unaccounted for: [Volume Down].
Volume Down - has nSwitch.nCode: 1e.
RetroArch: Environ GET_VARIABLE diagnostics:
RetroArch:      disabled
RetroArch: Environ GET_VARIABLE cpu-speed-adjust:
RetroArch:      100
RetroArch: Set audio input rate to: 32013.30 Hz.
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/4xBR.OpenGL.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/5xBR Rounded.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/5xBR Semi-Rounded.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/5xBR Squared.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/5xBR Squared.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/Bicubic (normal).shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/Bicubic (sharp).shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/Bicubic (sharper).shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/caligari-scanlines.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/CRT-interlaced-halation.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/CRT-interlaced.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/CRT-simple.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/CRT.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/Curvature.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/Dot 'n Bloom.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/edge-detection.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/HDR-TV.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/heavybloom.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/HQ2x.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/implementation-test.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/Integer-Scale.OpenGL.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/Lanczos (4tap).shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/Lanczos (6tap).shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/NTSC.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/Phosphor-simple.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/Pixellate-scanlines.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/Pixellate.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/Quilez.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/SABR.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/Scale2x.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/Scale4xHQ.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/scanline-3x.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/scanline-4x.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/simplebloom.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/SimpleTVBlur.OpenGL.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/Themaister-scanlines.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/Themaister-Waterpaint-scanlines.shader"
RetroArch: Found shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/Themaister-Waterpaint.shader"
RetroArch: Adjusting aspect ratio to 1.71
RetroArch: Video @ 1152x672
RetroArch: Found GL context: sdl-gl
RetroArch: Detecting screen resolution 2560x1440.
RetroArch: GL: Using resolution 1152x672
RetroArch: [GL]: Not loading any shader.
RetroArch: GL: Loaded 0 program(s).
RetroArch: Found joypad driver: "sdl".
RetroArch: Using font rendering backend: freetype.
RetroArch [ERROR] :: Failed to load config file: n.
RetroArch [ERROR] :: Failed to load overlay.
RetroArch: [CoreAudio]: Using output sample rate of 48000.0 Hz
RetroArch: [CoreAudio]: Using buffer size of 24576 bytes: (latency = 64 ms)
RetroArch: Sinc resampler [SSE]
RetroArch: SINC params (8 phase bits, 16 taps).
RetroArch: [RGUI]: Opening history: /Users/plumberofdeath/Documents/RetroArch/.retroarch-history.txt.
RetroArch: Applying shader "/Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/Themaister-Waterpaint.shader".
RetroArch: Loading XML shader: /Users/plumberofdeath/Documents/RetroArch/Shaders/OpenGL/Themaister-Waterpaint.shader
RetroArch [WARN] :: [GL]: Legacy shaders are deprecated.
RetroArch: Found GLSL vertex shader.
RetroArch: Found GLSL fragment shader.
RetroArch: Linking GLSL program.
RetroArch: Found GLSL vertex shader.
RetroArch: Found GLSL fragment shader.
RetroArch: Linking GLSL program.
RetroArch: GL VSync => off
RetroArch: GL VSync => on
RetroArch: Paused.

heh, that’s weird. That shouldn’t be happening, obviously. I assume it’s related to something vestigial after the shader changes. As a workaround, I would suggest moving/renaming that shader to see if it switches to something else all the time or drops you down to no shader by default.

It’s limited to just that computer so it must be some sort of conf issue.

Similarly, you could try just creating and using a new cfg, which should hopefully wipe out anything like that.

Speaking of, have you looked into the cfg with a text editor to see if there’s any mention of that shader? If so, you can probably just delete the whole line and be set.

Speaking of, have you looked into the cfg with a text editor to see if there’s any mention of that shader?

I have, which is the confusing part. I’ll look at again when I’m next home.

Any ideas on my previous question on tools like retroarch-joyconfig for OS X? I’d like to be able to quickly create separate confs for controllers, if possible.

If I haven’t said it already, thanks for your work!

Here’s a link to download retroarch-joyconfig. I have no idea how well or even if it works on OS X, but you’re welcome to give it a shot :slight_smile: http://www.mediafire.com/download/knjm2sxy88jp7ud/retroarch-joyconfig

If it helps, let us know!

So far, so good. Still at work but I was able to surreptitiously give it a test run it once I installed libSDL from macports. I don’t have a controller here of course, but that’s a good sign!

Nice. If it works for you, I’ll see about bundling it into an app with accompanying library(s), so people don’t need to have macports installed.

I’ll give you the results when I get home. This is the library (and path) it complained about that macports fixed.

./retroarch-joyconfig dyld: Library not loaded: /opt/local/lib/libSDL-1.2.0.dylib Referenced from: /Users/plumberofdeath/Downloads/./retroarch-joyconfig Reason: image not found Trace/BPT trap: 5

Works like a charm with my xbox wireless controller and the tattiebogle driver, both game and RGUI. Is it snowing in the netherworld? Because I’m here doing what I thought might never happen, playing with FBA, in my opinion the best arcade emulator out there, on my Mac. Sweet. Now if I just have to figure out how to get it to use the analog stick over the dpad and everything will be perfect.

I have a ps3 controller I can test at some point, too, but I believe the proof of concept is there.

Ok, what next, a rom browser with screenshots and video previews? Bring it on! Seriously, though, you need anything tested, I’m your guy.

Here’s app-ified version RetroArch-Joyconfig. It was harder to make than I expected… I’ll include it with the regular downloads in later releases. http://www.mediafire.com/download/u51012cz14v64a4/RetroArch-Joyconfig.zip

Don’t hold your breath for a fancy GUI. We leave that to the OpenEmu guys :smiley: There’s also XBMC with Advanced Launcher, which is easily paired with RetroArch for all the previews and metadata scraping. One of the XBMC devs is also working on a direct libretro player, which should be completed sometime soon-ish…?

I gave RetroArch-Joyconfig a poke and can confirm functionality. I’ll need to uninstall my libSDL to confirm the libraries are present and found, however.

Are you looking for feedback? Some features I might recommend would be the ability to specify which controller and to dump to a file before launching retroarch-joyconfig. For example, this is how I ran retroarch-joyconfig, where I specify which controller, player, and where to output to, which I then added to my conf in an include statement:

retroarch-joyconfig -p 1 -j 0 -o xbox1.cfg

Don’t hold your breath for a fancy GUI. We leave that to the OpenEmu guys There’s also XBMC with Advanced Launcher, which is easily paired with RetroArch for all the previews and metadata scraping.

I’m familiar with OpenEmu but they just never feel comfortable with giving a official release. Lucky for me I use XBMC and saw the plugin, I just haven’t given it a try yet.

Out of curiosity then, what is RetroLaunch? I’ve seen a little about it but not much detail.

Ah, yeah, that stuff would certainly be helpful, eh? :stuck_out_tongue: It’s setup using some bash scripts inside the app bundle, so I should be able to set it up to ask for those things when it launches. I’m not a scripting wizard, though, so it might take me some time. However, if that’s something you know how to do well, you’re welcome to post a working script here and I’ll include it with the official downloads.

RE: XBMC If you mean RetroPlayer, it’s a new extension to XBMC that allows it to load libretro cores directly for playing ROMs. It doesn’t use RetroArch itself, like Advanced Launcher would. Instead, it’s all run through XBMC itself.

This is another option for the eye candy / preview / metadata experience, since XBMC’s metadata scrapers will work with it.

Sure, I’ll whip something up in the next day or two, no problem. If it isn’t evident yet, I spend a lot of time at the command line; I have a working familiarity with bash scripting, among other things. :wink: A GUI would be nice for those frightened by the terminal, though, something with boxes for all the options, etc.

I’m just going to break down and get a github account and compile OpenEmu myself. That and then m’be I’d be willing to try this out, too: http://forum.themaister.net/viewtopic.php?pid=4805#p4805

There really is a RetroLaunch : https://github.com/ficoos/retrolaunch

Sweet. I don’t use Macs very often and they tend to have some infuriating little differences from the Linux environments I’m more accustomed to, which leads to Mac things taking me longer than they probably should…

I definitely recommend checking out OpenEmu if you get the chance. It’s a great project and there’s been some nice cross-pollination between their work and ours.

Oh yeah, I totally forgot about RetroLaunch. It’s a sort of middleman that sits between your ROMs and RetroArch that uses hash databases (IIRC) to determine which emulator core (and I think other things, too, like input configs, etc) should be loaded when you choose a ROM.

Linux is my platform of choice (servers, etc) but OS X is my workstation preference. To borrow an old quote once reserved for mullets, “business in the front party in the back.”

Hm, it appears that RetroPlayer is gasp Win32 and Linux only. I guess I can try Rom Collection Browser.

OpenEmu was an easy build, although I have not yet played with it. Missing FBA, of course, so… meh.

Just had time to get to this today. I wrote a new script for command line usage and I wrote another for use in the app wrapper, which I’ve tested. Give these a try:

RetroarchJoyconfig.sh


#!/usr/bin/env bash

joyconfig="./retroarch-joyconfig"

function advanced () {
    echo "Entering avanced options"
    $joyconfig -h
    echo -e "Enter the string you wish to pass to retroarch-joyconfig or simply hit return at the prompt and it will run with defaults and drop the configuration to standard out.
        This script will exit upon completion."
    read -p "Options passed to retroarch-joyconfig : " advan_string
    $joyconfig $advan_string
    exit
}

function prompt () {
    local _var
    while [ -z "$_var" ]; do
        read -p "$1 : " _var
        case $_var in
            q) echo "Exiting on user input"
               exit ;;
            a) advanced
               exit ;;
            *) [ -n "$_var" ] && break;;
        esac
        echo "Please enter a value"
    done
    eval $2="'$_var'"
    }

echo -e "Welcome to the RetroArch joystick configuration tool.
Answer the following prompts to create a configuration file for your joystick/controller.
Enter 'q' at any prompt to exit.   Enter 'a' at any prompt for advanced options.

Please make sure your joystick is plugged in and responsive before strting.
If your joystick is not currently plugged in, please exit and start again once it is plugged in and active.
"

prompt "Enter which player you are configuring this joystick for (a number 1 through 8)" player

prompt "Enter which joystick you are configuring (a number, starting at 0)" joystick

while true; do
    prompt "Enter a file name that you want to store the joystick configuration in" file
    [ ! -e $file ] && break
    prompt "$file exists.  This will overwrite this file.  Do you want to continue? (y|n)" file_test
    [ $file_test == "y" ] && break
done
echo "This will generate a config file $file.  Add this to your retroarch.cfg file by either copying in it's contents or using a #include, like: #include $file"

if ( $joyconfig -p $player -j $joystick -o $file ); then
    echo -e "
This should have generated a $file.  Add this to your retroarch.cfg with an #include."
fi

For use in the wrapper, startup.command:


#!/usr/bin/env bash
#File: RetroArch-Joyconfig.app/Contents/MacOS/retroarch-joyconfig.command
result_dir="/$HOME/Desktop/"
mypath=$(dirname "$0")
cd $mypath

joyconfig="./retroarch-joyconfig-executable"

function advanced () {
        echo "Entering avanced options"
        $joyconfig -h
        echo -e "
Enter the string you wish to pass to retroarch-joyconfig
        or simply hit return at the prompt and it will run with defaults
        and drop the configuration to standard out.
        This script will exit upon completion."
        read -p "Options passed to retroarch-joyconfig : " advan_string
        $joyconfig $advan_string
        exit
}

function prompt () {
        local _var
        while [ -z "$_var" ]; do
                read -p "$1 : " _var
                case $_var in
                        q) echo "Exiting on user input"
                           exit ;;
                        a) advanced
                           exit ;;
                        *) [ -n "$_var" ] && break;;
                esac
                echo "Please enter a value"
        done
        eval $2="'$_var'"
        }

echo -e "Welcome to the RetroArch joystick configuration tool.
        Answer the following prompts to create a configuration
        file for your joystick/controller.

        This will generate a joystick config file on your desktop.

        Enter 'q' at any prompt to exit.
        Enter 'a' at any prompt for advanced options.

Please make sure your joystick is plugged in and responsive before starting.
"

prompt "Enter which player you are configuring this joystick for (a number 1 through 8)" player

prompt "Enter which joystick you are configuring (a number, starting at 0)" joystick

while true; do
        prompt "Enter a file name that you want to store the joystick configuration in" file
        result_file="${result_dir}/${file}"
        [ ! -e $result_file ] && break
        echo "*Attention* $file exists on your Desktop.  This will overwrite this file."
        prompt "Do you want to continue? (y|n)" file_test
        [ $file_test == "y" ] && break
done

echo -e "This will generate a config file $file.
        Add this to your retroarch.cfg file by either copying
        in it's contents into the file or move this file to your
        RetroArch directory and use an #include, like:

        #include $file
"


if ( $joyconfig -p $player -j $joystick -o $result_file ); then
        echo -e "
This should have generated a $file on your Desktop.
        Move this to your RetroArch directory and
        add this to your retroarch.cfg with an #include."
fi

Dude, those look beautiful :smiley:

I haven’t tested them yet, but will do tomorrow. Very much appreciated!

No problem. I’m not much of an app writer (this was my first that I added to a wrapper and I just updated yours), so if it isn’t completely neat, well, shrug. I’m curious about writing apps now, so m’be at some time I’ll try out setting up something that uses a form instead of a shell prompt.

Oh, and it’s a small return for the work everyone as already contributed, so, thank you!