diff --git a/FunKey/board/funkey/rootfs-overlay/root/.profile b/FunKey/board/funkey/rootfs-overlay/root/.profile index 3be84a4..a0408bf 100755 --- a/FunKey/board/funkey/rootfs-overlay/root/.profile +++ b/FunKey/board/funkey/rootfs-overlay/root/.profile @@ -23,6 +23,7 @@ export HOME=/mnt/FunKey mkdir -p "${HOME}" export MEDNAFEN_HOME=$HOME/.mednafen mkdir -p "${MEDNAFEN_HOME}" +cp -n "/usr/games/lynxboot.img" "/usr/games/mednafen-09x.cfg" "${MEDNAFEN_HOME}/" export GMENU2X_HOME="$HOME/.gmenu2x" mkdir -p "${GMENU2X_HOME}" @@ -55,6 +56,9 @@ brightness set $(brightness get) >/dev/null 2>&1 # Start Assembly tests (blocking process) assembly_tests >/dev/null 2>&1 +# Restart saved application/game if any +instant_play load + # Start launcher echo "Start launcher" start_launcher >/dev/null 2>&1 & diff --git a/FunKey/board/funkey/rootfs-overlay/usr/local/sbin/instant_play b/FunKey/board/funkey/rootfs-overlay/usr/local/sbin/instant_play index 42db9a0..157c8b7 100755 --- a/FunKey/board/funkey/rootfs-overlay/usr/local/sbin/instant_play +++ b/FunKey/board/funkey/rootfs-overlay/usr/local/sbin/instant_play @@ -3,35 +3,71 @@ # Uncomment the following line to get debug info #set -x -# Check args -if [ ${#} -eq 0 ]; then - echo "Usage: $(basename ${0}) args..." +SELF="$(basename ${0})" +INSTANT_PLAY_FILE="/mnt/instant_play" +RESUME_PLAY_FILE="/mnt/resume_play" + +usage() { + >&2 echo "Usage: ${SELF} load" + >&2 echo " ${SELF} save application args..." exit 1 +} + +# Check number of arguments +if [ ${#} -lt 1 ]; then + usage fi -INSTANT_PLAY_FILE="/mnt/instant_play" +case ${1} in + load) + if [ ${#} -ne 1 ]; then + usage + fi -# Write quick load file args -echo -n "" > "${INSTANT_PLAY_FILE}" -for arg in "$@"; do - if $(echo "${arg}" | egrep -q '[[:space:]]'); then + # Launch Previous Game if any + if [ -f "${INSTANT_PLAY_FILE}" ]; then + keymap resume + echo -n "Found Instant Play file, restarting previous game with command: " + echo $(head -n 1 "${INSTANT_PLAY_FILE}") + rm -f "${RESUME_PLAY_FILE}" + mv "${INSTANT_PLAY_FILE}" "${RESUME_PLAY_FILE}" + source "${RESUME_PLAY_FILE}" + rm -f "${RESUME_PLAY_FILE}" + keymap default + termfix_all + fi + ;; - # Add quotes around arguments containing spaces - echo -n "\"${arg}\" " >> "${INSTANT_PLAY_FILE}" - else - echo -n "${arg} " >> "${INSTANT_PLAY_FILE}" - fi -done + save) + if [ ${#} -lt 2 ]; then + usage + fi + shift -# Add the magic sauce to launch the process in background, record the -# PID into a file, wait for the process to terminate and erase the -# recorded PID -cat << EOF >> "${INSTANT_PLAY_FILE}" + # Write quick load file args + echo -n "" > "${INSTANT_PLAY_FILE}" + for arg in "$@"; do + + # Add quotes around all arguments + echo -n "'${arg}' " >> "${INSTANT_PLAY_FILE}" + done + + # Add the magic sauce to launch the process in background, + # record the PID into a file, wait for the process to + # terminate and erase the recorded PID + cat << EOF >> "${INSTANT_PLAY_FILE}" & record_pid \$! wait \$! erase_pid EOF -# Now terminate gracefully -exec shutdown_funkey + # Now terminate gracefully + exec shutdown_funkey + ;; + + *) + usage + ;; +esac +exit 0 diff --git a/FunKey/board/funkey/rootfs-overlay/usr/local/sbin/start_launcher b/FunKey/board/funkey/rootfs-overlay/usr/local/sbin/start_launcher index 906bba6..e7ae5d4 100755 --- a/FunKey/board/funkey/rootfs-overlay/usr/local/sbin/start_launcher +++ b/FunKey/board/funkey/rootfs-overlay/usr/local/sbin/start_launcher @@ -4,8 +4,6 @@ #set -x LOCK_FILE="/var/lock/launcher.lock" -INSTANT_PLAY_FILE="/mnt/instant_play" -RESUME_PLAY_FILE="/mnt/resume_play" PREVENT_LAUNCHER_FILE="/mnt/prevent_launcher" REBOOTING_FILE="/run/rebooting" @@ -16,22 +14,6 @@ if [ -f "${LOCK_FILE}" ]; then fi touch "${LOCK_FILE}" -# Sanity cmd: in case these files do not exist -mkdir -p "${MEDNAFEN_HOME}" -cp "/usr/games/lynxboot.img" "/usr/games/mednafen-09x.cfg" "${MEDNAFEN_HOME}/" - -# Launch Previous Game if any -if [ -f "${INSTANT_PLAY_FILE}" ]; then - keymap resume - echo "Found Instant Play file, restarting previous game with command: "$(head -n 1 "${INSTANT_PLAY_FILE}") - rm -f "${RESUME_PLAY_FILE}" - mv "${INSTANT_PLAY_FILE}" "${RESUME_PLAY_FILE}" - source "${RESUME_PLAY_FILE}" - rm -f "${RESUME_PLAY_FILE}" - keymap default - termfix_all -fi - # Then loop to launch the launcher indefinitely while true; do diff --git a/FunKey/package/FCEUX/FCEUX.mk b/FunKey/package/FCEUX/FCEUX.mk index 3f037d5..ae49a12 100644 --- a/FunKey/package/FCEUX/FCEUX.mk +++ b/FunKey/package/FCEUX/FCEUX.mk @@ -4,7 +4,7 @@ # ################################################################################ -FCEUX_VERSION = 959126d +FCEUX_VERSION = f089cec FCEUX_SITE_METHOD = git FCEUX_SITE = https://github.com/FunKey-Project/fceux.git FCEUX_LICENSE = GPL-2.0 diff --git a/FunKey/package/PCSX-ReARMed/PCSX-ReARMed.mk b/FunKey/package/PCSX-ReARMed/PCSX-ReARMed.mk index 275d0a2..fac2040 100644 --- a/FunKey/package/PCSX-ReARMed/PCSX-ReARMed.mk +++ b/FunKey/package/PCSX-ReARMed/PCSX-ReARMed.mk @@ -4,7 +4,7 @@ # ################################################################################ -PCSX_REARMED_VERSION = ce405c0 +PCSX_REARMED_VERSION = a2f9326 PCSX_REARMED_SITE_METHOD = git PCSX_REARMED_SITE = https://github.com/FunKey-Project/pcsx_rearmed.git PCSX_REARMED_LICENSE = GPL-2.0 diff --git a/FunKey/package/PocketSNES/PocketSNES.mk b/FunKey/package/PocketSNES/PocketSNES.mk index c9360ca..58563a2 100644 --- a/FunKey/package/PocketSNES/PocketSNES.mk +++ b/FunKey/package/PocketSNES/PocketSNES.mk @@ -4,7 +4,7 @@ # ################################################################################ -POCKETSNES_VERSION = 033eb1c +POCKETSNES_VERSION = 5eb2635 POCKETSNES_SITE_METHOD = git POCKETSNES_SITE = https://github.com/FunKey-Project/PocketSNES.git POCKETSNES_LICENSE = GPL-2.0 diff --git a/FunKey/package/gmenu2x/gmenu2x.mk b/FunKey/package/gmenu2x/gmenu2x.mk index bbbcc2e..27c1916 100644 --- a/FunKey/package/gmenu2x/gmenu2x.mk +++ b/FunKey/package/gmenu2x/gmenu2x.mk @@ -3,7 +3,7 @@ # gmenu2x # ############################################################# -GMENU2X_VERSION = 3e23dd2 +GMENU2X_VERSION = 837e097 GMENU2X_SITE_METHOD = git GMENU2X_SITE = https://github.com/FunKey-Project/gmenu2x.git GMENU2X_LICENSE = GPL-2.0 diff --git a/FunKey/package/gnuboy/gnuboy.mk b/FunKey/package/gnuboy/gnuboy.mk index 4d0337e..cac56ca 100644 --- a/FunKey/package/gnuboy/gnuboy.mk +++ b/FunKey/package/gnuboy/gnuboy.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNUBOY_VERSION = f23d3e3 +GNUBOY_VERSION = a0d8d26 GNUBOY_SITE_METHOD = git GNUBOY_SITE = https://github.com/FunKey-Project/gnuboy.git GNUBOY_LICENSE = GPL-2.0 diff --git a/FunKey/package/gpsp/gpsp.mk b/FunKey/package/gpsp/gpsp.mk index 532119b..bdbc92e 100644 --- a/FunKey/package/gpsp/gpsp.mk +++ b/FunKey/package/gpsp/gpsp.mk @@ -4,7 +4,7 @@ # ################################################################################ -GPSP_VERSION = 3e776a9 +GPSP_VERSION = b573bc6 GPSP_SITE_METHOD = git GPSP_SITE = https://github.com/FunKey-Project/gpsp.git GPSP_LICENSE = GPL-2.0 diff --git a/FunKey/package/mednafen/mednafen.mk b/FunKey/package/mednafen/mednafen.mk index 195de4d..7c62eac 100644 --- a/FunKey/package/mednafen/mednafen.mk +++ b/FunKey/package/mednafen/mednafen.mk @@ -4,7 +4,7 @@ # ################################################################################ -MEDNAFEN_VERSION = f81201c +MEDNAFEN_VERSION = d535dff MEDNAFEN_SITE_METHOD = git MEDNAFEN_SITE = https://github.com/FunKey-Project/mednafen-git.git MEDNAFEN_LICENSE = GPL-2.0+ diff --git a/FunKey/package/picodrive/picodrive.mk b/FunKey/package/picodrive/picodrive.mk index dea4a09..2e5c124 100644 --- a/FunKey/package/picodrive/picodrive.mk +++ b/FunKey/package/picodrive/picodrive.mk @@ -4,7 +4,7 @@ # ################################################################################ -PICODRIVE_VERSION = 0582aba +PICODRIVE_VERSION = 59b9892 PICODRIVE_SITE_METHOD = git PICODRIVE_SITE = https://github.com/FunKey-Project/picodrive.git PICODRIVE_LICENSE = MAME diff --git a/FunKey/package/retrofe/retrofe.mk b/FunKey/package/retrofe/retrofe.mk index 9fcee22..6ab887c 100644 --- a/FunKey/package/retrofe/retrofe.mk +++ b/FunKey/package/retrofe/retrofe.mk @@ -4,7 +4,7 @@ # ################################################################################ -RETROFE_VERSION = 7fc674e +RETROFE_VERSION = 77ccbc2 RETROFE_SITE_METHOD = git RETROFE_SITE = https://github.com/FunKey-Project/RetroFE.git RETROFE_DEPENDENCIES = gstreamer1 gst1-plugins-base sdl sdl_image sdl_mixer sdl_sound sdl_ttf libglib2 sqlite zlib