Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/hakchi2.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mods/mod_hakchi/bin/busyboxbin0 -> 608480 bytes
-rw-r--r--mods/mod_hakchi/bin/rsyncbin0 -> 463320 bytes
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/bin/chmenu34
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/bin/clover-kachikachi-wr12
-rw-r--r--user_mods/retroarch.hmod/bin/fbgrabbin0 -> 27221 bytes
-rw-r--r--user_mods/retroarch.hmod/bin/gb2
-rw-r--r--user_mods/retroarch.hmod/bin/gba2
-rw-r--r--user_mods/retroarch.hmod/bin/md2
-rw-r--r--user_mods/retroarch.hmod/bin/n642
-rw-r--r--user_mods/retroarch.hmod/bin/nes10
-rw-r--r--user_mods/retroarch.hmod/bin/retroarchbin0 -> 1244080 bytes
-rw-r--r--user_mods/retroarch.hmod/bin/retroarch-clover8
-rw-r--r--user_mods/retroarch.hmod/bin/retroarch-mini5
-rw-r--r--user_mods/retroarch.hmod/bin/retroarch-watchdog83
-rw-r--r--user_mods/retroarch.hmod/bin/sms2
-rw-r--r--user_mods/retroarch.hmod/bin/snes2
-rw-r--r--user_mods/retroarch.hmod/usr/bin/clover-kachikachi53
17 files changed, 217 insertions, 0 deletions
diff --git a/mods/mod_hakchi/bin/busybox b/mods/mod_hakchi/bin/busybox
new file mode 100644
index 00000000..e71f5823
--- /dev/null
+++ b/mods/mod_hakchi/bin/busybox
Binary files differ
diff --git a/mods/mod_hakchi/bin/rsync b/mods/mod_hakchi/bin/rsync
new file mode 100644
index 00000000..d37b2b8d
--- /dev/null
+++ b/mods/mod_hakchi/bin/rsync
Binary files differ
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
new file mode 100644
index 00000000..8cd18833
--- /dev/null
+++ b/user_mods/retroarch.hmod/bin/fbgrab
Binary files differ
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
new file mode 100644
index 00000000..93b22eb3
--- /dev/null
+++ b/user_mods/retroarch.hmod/bin/retroarch
Binary files differ
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