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

github.com/ClusterM/retroarch-clover.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpcm720 <pcm720@gmail.com>2017-10-18 18:12:57 +0300
committerpcm720 <pcm720@gmail.com>2017-10-18 18:12:57 +0300
commit165f2f2bf7c1a0389fe98df877f6d13c742c4960 (patch)
treea3d6c8b831db349f339ae2310d68d5d9e472c931
parent1a325d40e5053b7d38d02970692c3bdddcd01e73 (diff)
Added SNES9x core (1.54.1 ed5b457)1.0c
-rwxr-xr-xcore_modules/snes9x.hmod/bin/snes26
-rw-r--r--core_modules/snes9x.hmod/etc/libretro/core/snes9x_libretro.sobin0 -> 1920459 bytes
-rw-r--r--core_modules/snes9x.hmod/etc/libretro/info/snes9x_libretro.info12
-rw-r--r--core_modules/snes9x.hmod/etc/preinit.d/pe9b0_retroarch_snes1
-rw-r--r--core_modules/snes9x.hmod/install4
-rw-r--r--core_modules/snes9x.hmod/readme.txt17
-rwxr-xr-xcore_modules/snes9x.hmod/usr/bin/clover-canoe-shvc106
7 files changed, 166 insertions, 0 deletions
diff --git a/core_modules/snes9x.hmod/bin/snes b/core_modules/snes9x.hmod/bin/snes
new file mode 100755
index 0000000..4eaef77
--- /dev/null
+++ b/core_modules/snes9x.hmod/bin/snes
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+filename=$1
+filebase=$(basename "$filename")
+extension="${filebase##*.}"
+tmppath=/tmp/rom
+if [ "$extension" == "7z" ]; then
+ mkdir -p $tmppath
+ rm -rf $tmppath/*
+ cd $tmppath
+ tiny7zx x $filename
+ filename=$tmppath/$(ls)
+fi
+
+filebase=$(basename "$filename")
+extension="${filebase##*.}"
+if [ "$extension" == "sfrom" ]; then
+ mkdir -p $tmppath
+ rm -f $tmppath/*.7z
+ rm -f $tmppath/*.bin
+ dd if="$filename" of="$tmppath/$filebase.bin" bs=48 skip=1
+ filename=$tmppath/$filebase.bin
+fi
+shift
+
+exec retroarch-clover snes9x "$filename" "$@"
diff --git a/core_modules/snes9x.hmod/etc/libretro/core/snes9x_libretro.so b/core_modules/snes9x.hmod/etc/libretro/core/snes9x_libretro.so
new file mode 100644
index 0000000..76d3bb3
--- /dev/null
+++ b/core_modules/snes9x.hmod/etc/libretro/core/snes9x_libretro.so
Binary files differ
diff --git a/core_modules/snes9x.hmod/etc/libretro/info/snes9x_libretro.info b/core_modules/snes9x.hmod/etc/libretro/info/snes9x_libretro.info
new file mode 100644
index 0000000..338b2bf
--- /dev/null
+++ b/core_modules/snes9x.hmod/etc/libretro/info/snes9x_libretro.info
@@ -0,0 +1,12 @@
+display_name = "SNES / Super Famicom (Snes9x)"
+authors = "Snes9x Team"
+supported_extensions = "smc|sfc|swc|fig"
+corename = "Snes9x"
+manufacturer = "Nintendo"
+categories = "Emulator"
+systemname = "Super Nintendo Entertainment System"
+database = "Nintendo - Super Nintendo Entertainment System|Nintendo - Super Nintendo Entertainment System Hacks|Nintendo - Sufami Turbo"
+license = "Non-commercial"
+permissions = ""
+display_version = "1.53"
+supports_no_game = "false"
diff --git a/core_modules/snes9x.hmod/etc/preinit.d/pe9b0_retroarch_snes b/core_modules/snes9x.hmod/etc/preinit.d/pe9b0_retroarch_snes
new file mode 100644
index 0000000..82b9be4
--- /dev/null
+++ b/core_modules/snes9x.hmod/etc/preinit.d/pe9b0_retroarch_snes
@@ -0,0 +1 @@
+[ -f "$mountpoint/usr/bin/clover-canoe-shvc" ] && overmount /usr/bin/clover-canoe-shvc
diff --git a/core_modules/snes9x.hmod/install b/core_modules/snes9x.hmod/install
new file mode 100644
index 0000000..6e0a007
--- /dev/null
+++ b/core_modules/snes9x.hmod/install
@@ -0,0 +1,4 @@
+transfer_default
+chmod +x $rootfs/bin/*
+chmod +x $rootfs/usr/bin/*
+return 1
diff --git a/core_modules/snes9x.hmod/readme.txt b/core_modules/snes9x.hmod/readme.txt
new file mode 100644
index 0000000..bf2322a
--- /dev/null
+++ b/core_modules/snes9x.hmod/readme.txt
@@ -0,0 +1,17 @@
+=== SNES9x core for RetroArch ===
+
+This module will add support for Super Famicom / Super Nintendo games to RetroArch
+Due to some bug in the core savestates do not work properly.
+
+Available executables and arguments:
+- /bin/snes <rom> <clover_args>
+ runs "snes9x" core
+
+For SNES Classic Mini users:
+please note that you can also add "--retroarch" argument to "clover-canoe-shvc" to use RetroArch instead of original emulator. Use it for problem games.
+
+Core by libretro
+Module by pcm
+Hakchi module system by madmonkey
+NES Mini shell integration by Cluster
+(c) 2016-2017
diff --git a/core_modules/snes9x.hmod/usr/bin/clover-canoe-shvc b/core_modules/snes9x.hmod/usr/bin/clover-canoe-shvc
new file mode 100755
index 0000000..02f43c8
--- /dev/null
+++ b/core_modules/snes9x.hmod/usr/bin/clover-canoe-shvc
@@ -0,0 +1,106 @@
+#!/bin/sh
+
+set -x
+
+export MALI_NOCLEAR=1
+
+decorative_options()
+{
+ local fn="$1_options.txt"
+ if [ ! -f "$fn" ] ; then
+ return
+ fi
+ while read option ; do
+ case "$option" in
+ hue) printf ' --decorative-frame-hue';;
+ luminosity) printf ' --decorative-frame-luminosity';;
+ saturation) printf ' --decorative-frame-saturation';;
+ esac
+ done < "$fn"
+}
+
+args=$@
+options=""
+retroarch=0
+clovercon_file=/dev/clovercon1
+video_mode=keep-aspect-ratio
+mode1="-filter 2 -magfilter 1"
+mode2="-filter 1 -magfilter 3"
+mode3="-filter 1 --pixel-perfect"
+
+while [ $# -gt 0 ] ; do
+ case "$1" in
+ --title-code) title_code="$2"; shift ;;
+ --load-state-file) options="$options -resume" ;;
+ --save-data-backing-file) options="$options --sram-file" ;;
+ --replay-inputs) options="$options -replay-all -replay" ;;
+ --record-inputs) options="$options -record-next -enable-pad-debug-controls" ;;
+ --video-mode)
+ video_mode=$2
+ shift
+ ;;
+ --no-scanlines)
+ mode1="-filter 1 -magfilter 1"
+ ;;
+ --no-smooth)
+ mode1="-filter 2 -magfilter 3"
+ ;;
+ --smooth43)
+ mode2="-filter 1 -magfilter 1"
+ ;;
+ --rollback-mode)
+ case "$2" in
+ record) options="$options -rollback-mode 1" ;;
+ replay) options="$options -rollback-mode 2" ;;
+ esac
+ options="$options --rollback-ui /usr/share/canoe/rollback-ui"
+ options="-rollback-snapshot-period 720 $options"
+ options="$options --enable-sram-file-hash"
+ shift
+ ;;
+ --rollback-output-dir) options="$options -rollback-output-dir $2"; shift ;;
+ --rollback-input-dir) options="$options -rollback-input-dir $2"; shift ;;
+ --decorative-frame-path) options="$options --use-decorative-frame $2 $(decorative_options $2)"; shift ;;
+ -retroarch) retroarch=1 ;;
+ --retroarch) retroarch=1 ;;
+ --core) core=$2; shift ;;
+ -core) core=$2; shift ;;
+ *.sfrom)
+ if [ -f "$1.gz" ]; then
+ options="$options /tmp/ROM.sfrom"
+ gunzip -c "$1.gz" > /tmp/ROM.sfrom
+ filename=/tmp/ROM.sfrom
+ else
+ options="$options $1"
+ filename=$1
+ fi
+ ;;
+ *) options="$options $1" ;;
+ esac
+ shift
+done
+
+case "$video_mode" in
+ keep-aspect-ratio) options="$options $mode2" ;;
+ pixel-perfect) options="$options $mode3" ;;
+ crt-filter) options="$options $mode1" ;;
+esac
+
+read BUILD_TYPE < /etc/clover/buildtype
+case "$BUILD_TYPE" in
+devel) log="-log $title_code.log -log-append --debug-menu-settings /var/lib/clover/canoe/debug-menu.json --decorative-frames-path /usr/share/backgrounds" ;;
+test) log="-log $title_code.log" ;;
+*) ;;
+esac
+
+# Hold up to forcely disable RetroArch
+[ -e "$clovercon_file" ] && [ "$(cat $clovercon_file)" == "1000" ] && retroarch=0
+# Hold down to forcely enable RetroArch
+[ -e "$clovercon_file" ] && [ "$(cat $clovercon_file)" == "2000" ] && retroarch=1
+
+if [ "$retroarch" == "0" ]; then
+ exec canoe-shvc $options $log
+else
+ [ -z "$core" ] && exec snes $filename $args
+ [ -z "$core" ] || exec retroarch-clover $core $filename $args
+fi