diff options
author | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2017-02-17 18:23:28 +0300 |
---|---|---|
committer | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2017-02-17 18:23:28 +0300 |
commit | ff99016bf28edcbac563a64ebba8da3e3b4794de (patch) | |
tree | 05f91edd200dbf09eb5caca5a3844c00098d8a7e | |
parent | b6335e3646843b937e249ef9ee98cafee8585cea (diff) |
Added missed files
-rw-r--r-- | mods/mod_hakchi/bin/busybox | bin | 0 -> 608480 bytes | |||
-rw-r--r-- | mods/mod_hakchi/bin/rsync | bin | 0 -> 463320 bytes | |||
-rw-r--r-- | mods/mod_hakchi/hakchi/rootfs/bin/chmenu | 34 | ||||
-rw-r--r-- | mods/mod_hakchi/hakchi/rootfs/bin/clover-kachikachi-wr | 12 | ||||
-rw-r--r-- | user_mods/retroarch.hmod/bin/fbgrab | bin | 0 -> 27221 bytes | |||
-rw-r--r-- | user_mods/retroarch.hmod/bin/gb | 2 | ||||
-rw-r--r-- | user_mods/retroarch.hmod/bin/gba | 2 | ||||
-rw-r--r-- | user_mods/retroarch.hmod/bin/md | 2 | ||||
-rw-r--r-- | user_mods/retroarch.hmod/bin/n64 | 2 | ||||
-rw-r--r-- | user_mods/retroarch.hmod/bin/nes | 10 | ||||
-rw-r--r-- | user_mods/retroarch.hmod/bin/retroarch | bin | 0 -> 1244080 bytes | |||
-rw-r--r-- | user_mods/retroarch.hmod/bin/retroarch-clover | 8 | ||||
-rw-r--r-- | user_mods/retroarch.hmod/bin/retroarch-mini | 5 | ||||
-rw-r--r-- | user_mods/retroarch.hmod/bin/retroarch-watchdog | 83 | ||||
-rw-r--r-- | user_mods/retroarch.hmod/bin/sms | 2 | ||||
-rw-r--r-- | user_mods/retroarch.hmod/bin/snes | 2 | ||||
-rw-r--r-- | user_mods/retroarch.hmod/usr/bin/clover-kachikachi | 53 |
17 files changed, 217 insertions, 0 deletions
diff --git a/mods/mod_hakchi/bin/busybox b/mods/mod_hakchi/bin/busybox Binary files differnew file mode 100644 index 00000000..e71f5823 --- /dev/null +++ b/mods/mod_hakchi/bin/busybox diff --git a/mods/mod_hakchi/bin/rsync b/mods/mod_hakchi/bin/rsync Binary files differnew file mode 100644 index 00000000..d37b2b8d --- /dev/null +++ b/mods/mod_hakchi/bin/rsync diff --git a/mods/mod_hakchi/hakchi/rootfs/bin/chmenu b/mods/mod_hakchi/hakchi/rootfs/bin/chmenu new file mode 100644 index 00000000..a448234c --- /dev/null +++ b/mods/mod_hakchi/hakchi/rootfs/bin/chmenu @@ -0,0 +1,34 @@ +#!/bin/sh +source /etc/preinit +script_init + +state_file=$installpath/menu + +[ -z "$1" ] && exit 1 +prev_code=$(cat "$state_file") +[ "$1" == "$prev_code" ] && exit 0 + +echo Switching to menu $1 +if [ "$1" == "000" ]; then + targetpath=$rootfs$gamepath +else + targetpath=$rootfs$gamepath/$1 +fi + +[ -d "$targetpath" ] || exit 1 +echo $1 > "$state_file" + +echo New directory: $targetpath +if [ ! -f "$targetpath/title.fnt" ]; then + ln -s "$rootfs$gamepath/title.fnt" "$targetpath/title.fnt" +fi +if [ ! -f "$targetpath/copyright.fnt" ]; then + ln -s "$rootfs$gamepath/copyright.fnt" "$targetpath/copyright.fnt" +fi + +pkill -KILL clover-mcp +pkill -KILL ReedPlayer-Clover + +overmount_games + +clover-mcp diff --git a/mods/mod_hakchi/hakchi/rootfs/bin/clover-kachikachi-wr b/mods/mod_hakchi/hakchi/rootfs/bin/clover-kachikachi-wr new file mode 100644 index 00000000..d8ff9899 --- /dev/null +++ b/mods/mod_hakchi/hakchi/rootfs/bin/clover-kachikachi-wr @@ -0,0 +1,12 @@ +#!/bin/sh +# Wrapper for kachikachi +# You can add extra command line arguments to all games at once +# using "cfg_nes_extra_args" variable in p0000_config +# or disable epilepsy protection using "cfg_disable_armet=y" + +source /etc/preinit +script_init + +args="$@ $cfg_nes_extra_args" +[ "$cfg_disable_armet" == "y" ] && args="$(echo $args | sed 's/--enable-armet//g')" +exec /usr/bin/clover-kachikachi $args diff --git a/user_mods/retroarch.hmod/bin/fbgrab b/user_mods/retroarch.hmod/bin/fbgrab Binary files differnew file mode 100644 index 00000000..8cd18833 --- /dev/null +++ b/user_mods/retroarch.hmod/bin/fbgrab diff --git a/user_mods/retroarch.hmod/bin/gb b/user_mods/retroarch.hmod/bin/gb new file mode 100644 index 00000000..bb974115 --- /dev/null +++ b/user_mods/retroarch.hmod/bin/gb @@ -0,0 +1,2 @@ +#!/bin/sh +exec retroarch-clover gambatte "$@" diff --git a/user_mods/retroarch.hmod/bin/gba b/user_mods/retroarch.hmod/bin/gba new file mode 100644 index 00000000..3ef42e0d --- /dev/null +++ b/user_mods/retroarch.hmod/bin/gba @@ -0,0 +1,2 @@ +#!/bin/sh +exec retroarch-clover mednafen_gba "$@" diff --git a/user_mods/retroarch.hmod/bin/md b/user_mods/retroarch.hmod/bin/md new file mode 100644 index 00000000..dca6d3be --- /dev/null +++ b/user_mods/retroarch.hmod/bin/md @@ -0,0 +1,2 @@ +#!/bin/sh +exec retroarch-clover genesis_plus_gx "$@" diff --git a/user_mods/retroarch.hmod/bin/n64 b/user_mods/retroarch.hmod/bin/n64 new file mode 100644 index 00000000..3ecc32f6 --- /dev/null +++ b/user_mods/retroarch.hmod/bin/n64 @@ -0,0 +1,2 @@ +#!/bin/sh +exec retroarch-clover mupen64plus "$@" diff --git a/user_mods/retroarch.hmod/bin/nes b/user_mods/retroarch.hmod/bin/nes new file mode 100644 index 00000000..7fb6453a --- /dev/null +++ b/user_mods/retroarch.hmod/bin/nes @@ -0,0 +1,10 @@ +#!/bin/sh +core=fceumm +filename="$1" +extension="${filename##*.}" +if [ "$extension" == "fds" ]; then + core=nestopia + cp -f /usr/share/kachikachi/fds_bios.bin /tmp/disksys.rom +fi + +exec retroarch-clover "$core" "$@" diff --git a/user_mods/retroarch.hmod/bin/retroarch b/user_mods/retroarch.hmod/bin/retroarch Binary files differnew file mode 100644 index 00000000..93b22eb3 --- /dev/null +++ b/user_mods/retroarch.hmod/bin/retroarch diff --git a/user_mods/retroarch.hmod/bin/retroarch-clover b/user_mods/retroarch.hmod/bin/retroarch-clover new file mode 100644 index 00000000..7cee66b9 --- /dev/null +++ b/user_mods/retroarch.hmod/bin/retroarch-clover @@ -0,0 +1,8 @@ +#!/bin/sh +core=$1 +shift +retroarch-watchdog $$ $core ${1+"$@"} & +while true; do +# Zzz... I'll sleep untill my death +sleep 42 +done diff --git a/user_mods/retroarch.hmod/bin/retroarch-mini b/user_mods/retroarch.hmod/bin/retroarch-mini new file mode 100644 index 00000000..8d7cdef5 --- /dev/null +++ b/user_mods/retroarch.hmod/bin/retroarch-mini @@ -0,0 +1,5 @@ +#!/bin/sh +export HOME=/etc/libretro +core=$HOME/core/$1_libretro.so +shift +exec retroarch -c "$HOME/retroarch.cfg" -vfL "$core" ${1+"$@"} diff --git a/user_mods/retroarch.hmod/bin/retroarch-watchdog b/user_mods/retroarch.hmod/bin/retroarch-watchdog new file mode 100644 index 00000000..75de199f --- /dev/null +++ b/user_mods/retroarch.hmod/bin/retroarch-watchdog @@ -0,0 +1,83 @@ +#!/bin/sh +HOME=/etc/libretro +pid=$1 +corename=$2 +core=$HOME/core/$2_libretro.so +rom=$3 +id=$(echo $(basename "$rom") | cut -f 1 -d '.') +autosave="/var/cache/$id.state.auto" +rsram="/var/cache/$id.srm" +shift 3 + +scanlines=0 +[ "$corename" == "fceumm" ] && scanlines_allowed=1 +[ "$corename" == "nestopia" ] && scanlines_allowed=1 +[ "$corename" == "emux_sms" ] && scanlines_allowed=1 + +while [ $# -gt 0 ]; do + [ "$1" == "--load-state-file" ] && load="$2" + [ "$1" == "--save-on-quit" ] && save="$2" + [ "$1" == "--save-screenshot-on-quit" ] && screenshot="$2" + [ "$1" == "--save-data-backing-file" ] && sram="$2" + [ "$1" == "--graphic-filter" ] && filter="$2" + [ "$scanlines_allowed" == "1" ] && [ "$1" == "--enable-crt-scanlines" ] && scanlines=1 + [ "$1" == "--ra-scanlines" ] && scanlines=1 + shift +done + +# saves if any +rm -f /var/cache/*.state /var/cache/*.auto /var/cache/*.srm +[ ! -z "$load" ] && [ -f "$load" ] && cp -f "$load" "$autosave" && echo cp -f "$load" "$autosave" +[ ! -z "$sram" ] && [ -f "$sram" ] && cp -f "$sram" "$rsram" && echo cp -f "$sram" "$rsram" + +# core provided ratio for CRT mode +[ "$filter" == "crt720" ] && ratio=21 && smooth=true && [ "$scanlines_allowed" == "1" ] && scanlines=1 +# core provided ratio for 4:3 mode +[ "$filter" == "gpu720" ] && ratio=21 && smooth=true +# pixel perfect - 1:1 for pixel perfect mode +[ "$filter" == "ppu" ] && ratio=20 && smooth=false + +# set aspect ratio in config +[ -z "$ratio" ] || sed -i -e 's/aspect_ratio_index = "[^"]*"/aspect_ratio_index = "'$ratio'"/g' /etc/libretro/retroarch.cfg +[ -z "$smooth" ] || sed -i -e 's/video_smooth = "[^"]*"/video_smooth = "'$smooth'"/g' /etc/libretro/retroarch.cfg + +# enable shader scanlines if need +if [ "$scanlines" == "1" ]; then + sed -i -e 's/video_shader = "[^"]*"/video_shader = "~\/shaders\/retroarch\.glslp"/g' /etc/libretro/retroarch.cfg + cp -f /etc/libretro/shaders/scanlines.glslp /etc/libretro/shaders/retroarch.glslp +else + sed -i -e 's/video_shader = "[^"]*"/video_shader = ""/g' /etc/libretro/retroarch.cfg +fi + +retroarch -c "$HOME/retroarch.cfg" -vfL "$core" "$rom" & +rpid=$! +sleep 1 +rm -f /var/cache/*.state /var/cache/*.auto /var/cache/*.srm + +while true; do + if [ "$(ps -o pid | grep -c $pid)" == "0" ]; then + kill $rpid + break + fi + if [ "$(ps -o pid | grep -c $rpid)" == "0" ]; then + kill $pid + break + fi + usleep 100000 +done + +# We can't let clover shell load so fast, so killing it +pkill -KILL clover-mcp +pkill -KILL ReedPlayer-Clover + +# Saves! It's primary task +mkdir -p $(dirname "$save") +mkdir -p $(dirname "$sram") +mkdir -p $(dirname "$screenshot") +[ ! -z "$save" ] && [ -f "$autosave" ] && mv -f "$autosave" "$save" +[ ! -z "$sram" ] && [ -f "$rsram" ] && mv -f "$rsram" "$sram" + +[ -z "$screenshot" ] || fbgrab -z 0 "$screenshot" + +# Back to shell +clover-mcp diff --git a/user_mods/retroarch.hmod/bin/sms b/user_mods/retroarch.hmod/bin/sms new file mode 100644 index 00000000..dca6d3be --- /dev/null +++ b/user_mods/retroarch.hmod/bin/sms @@ -0,0 +1,2 @@ +#!/bin/sh +exec retroarch-clover genesis_plus_gx "$@" diff --git a/user_mods/retroarch.hmod/bin/snes b/user_mods/retroarch.hmod/bin/snes new file mode 100644 index 00000000..215b4ab8 --- /dev/null +++ b/user_mods/retroarch.hmod/bin/snes @@ -0,0 +1,2 @@ +#!/bin/sh +exec retroarch-clover snes9x2010 "$@" diff --git a/user_mods/retroarch.hmod/usr/bin/clover-kachikachi b/user_mods/retroarch.hmod/usr/bin/clover-kachikachi new file mode 100644 index 00000000..c31ae361 --- /dev/null +++ b/user_mods/retroarch.hmod/usr/bin/clover-kachikachi @@ -0,0 +1,53 @@ +#!/bin/sh + +set -x +export MALI_NOCLEAR=1 + +supported_mappers="0 1 2 3 4 5 7 9 10 86 87 184" +emulator=retroarch + +args=$@ +filename=$1 +extension=${filename##*.} +header=$(hexdump -v -n 8 -e '1/1 "%02X"' "$filename") +mapper=$((0x${header:14:1}${header:12:1})) +fourscreen=$(expr $((0x${header:13:1})) / 8) + +echo mapper: $mapper +echo four-screen: $fourscreen + +for m in $supported_mappers; do + [ "$m" == "$mapper" ] && emulator=kachikachi +done +[ "$fourscreen" == "1" ] && emulator=retroarch + +# But this information is not corrent if it was FDS file or UNIF file +[ "$extension" == "fds" ] && emulator=kachikachi +[ "$extension" == "unf" ] && emulator=retroarch +[ "$extension" == "unif" ] && emulator=retroarch + +while [ $# -gt 0 ]; do + [ "$1" == "--retroarch" ] && emulator=retroarch + [ "$1" == "--core" ] && core=$2 + shift +done + +echo using $emulator + +if [ "$emulator" == "kachikachi" ]; then +# Seems like this game will work on default emulator +exec kachikachi \ + --fullscreen \ + --sync-guest-with-host \ + --fds-initial-disk-insert-on-keypress \ + --fds-auto-disk-side-switch \ + --fds-disable-host-guest-sync-on-disk-op \ + --keep-aspect-ratio \ + $args +fi + +if [ "$emulator" == "retroarch" ]; then +# Using RetroArch + [ -z "$core" ] && exec nes $filename + [ -z "$core" ] || exec retroarch-clover $core $filename +fi |