How does one make a script module for an emulator / branch
-
So long story short.. I use Flycast Wince on my x86 build on an intel NUC 8i7.
It works fantastic but I have to download the source and compile it every time to update it.
I tried to mimic and edit the Flycast module and it builds it (As far as I see) but doesn't install it.
I get a (Not Installed) at the end of the process.. What am I fudging up?
Here goes the script: lr-flycast-wince.sh#!/usr/bin/env bash # This file is part of The RetroPie Project # # The RetroPie Project is the legal property of its developers, whose names are # too numerous to list here. Please refer to the COPYRIGHT.md file distributed with this source. # # See the LICENSE.md file at the top-level directory of this distribution and # at https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/master/LICENSE.md # rp_module_id="lr-flycast-wince" rp_module_desc="Dreamcast emulator - Flycast Windows CE libretro" rp_module_help="Previously named lr-reicast then lr-beetle-dc\n\nROM Extensions: .cdi .gdi .zip\n\nCopy your Dreamcast roms to $romdir/dreamcast\n\nCopy the required BIOS files dc_boot.bin and dc_flash.bin to $biosdir/dc" rp_module_licence="GPL2 https://raw.githubusercontent.com/libretro/flycast/master/LICENSE" rp_module_section="exp" rp_module_flags="!mali !armv6" function sources_lr-flycast-wince() { gitPullOrClone "$md_build" https://github.com/libretro/flycast.git fh/wince # don't override our C/CXXFLAGS sed -i "/^C.*FLAGS.*:=/d" Makefile } function build_lr-flycast-wince() { make clean if isPlatform "rpi"; then # MAKEFLAGS replace removes any distcc from path, as it segfaults with cross compiler and lto MAKEFLAGS="${MAKEFLAGS/\/usr\/lib\/distcc:/}" make platform=rpi else make HAVE_GL2=1 HAVE_GL3=1 HAVE_OIT=1 -j4 fi md_ret_require="$md_build/flycast_wince_libretro.so" } function install_lr-flycast_wince() { md_ret_files=( 'flycast_wince_libretro.so' 'LICENSE' ) } function configure_lr-flycast-wince() { mkRomDir "dreamcast" ensureSystemretroconfig "dreamcast" mkUserDir "$biosdir/dc" # system-specific iniConfig " = " "" "$configdir/dreamcast/retroarch.cfg" iniSet "video_shared_context" "true" # segfaults on the rpi without redirecting stdin from </dev/null addEmulator 0 "$md_id" "dreamcast" "$md_inst/flycast_wince_libretro.so </dev/null" addSystem "dreamcast" }
-
@HoJo215 your install function has _wince instead of -wince - it won't get called.
-
@BuZz said in How does one make a script module for an emulator / branch:
@HoJo215 your install function has _wince instead of -wince - it won't get called.
Damn. So I was off by one symbol.. Good eye! Thank you. It's working properly now.
By the way.. I'm not sure if you saw the other thread about Reicast (Now Flycast) freezing on x86 but I posted the fix a month or so back..
"make HAVE_GL2=1 HAVE_GL3=1 HAVE_OIT=1 -j4"
DRI3 was the problem. At least on Padoka bleeding edge. I posted the fix over on the libretro forums as well and Hunterk took notice hitting like to acknowledge it. So you might want to add it to the normal Flycast module for "else make" to avoid future "Flycast Freezing on x86" posts.
Anyway. Thanks again for the keen eye. It's appreciated. -
@HoJo215 said in How does one make a script module for an emulator / branch:
DRI3 was the problem.
Isn't this a runtime settings for your X.org configuration ?
-
@mitu said in How does one make a script module for an emulator / branch:
@HoJo215 said in How does one make a script module for an emulator / branch:
DRI3 was the problem.
Isn't this a runtime settings for your X.org configuration ?
Actually I think it's part of the graphics or at least shader profile being used in mesa.
I have padoka's bleeding edge repository in use.. Otherwise known as unstable.
So things can go awry.. Like they did until I took a gander at the Makefile, saw some unused options, put 1 + 1 together and made some edits.. It worked a out beautifully.
Especially on the Flycast-Wince emu with the same Makefile edits. I'm playing Sega Rally 2 on 2x internal resolution, 2x br and a 4x pass xbr shaders without one hiccup.Keep in mind this my first run with retropie x86. I decided to make small form factor emu box a month or so ago and gripped up a coffee lake NUC to guinea pig with. So everything is trial & error as I run with it.
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.