summaryrefslogtreecommitdiff
path: root/libretro/hakchi/bin/snes02
diff options
context:
space:
mode:
authorRyan 'Swingflip' Hamlin2018-06-24 19:44:02 +0100
committerRyan 'Swingflip' Hamlin2018-06-24 19:44:02 +0100
commitbda0b3ba05423f7b0d4ecce7f5ecc9d891276004 (patch)
tree5232cb2ef526f3081ee13d7564401cc2dede93eb /libretro/hakchi/bin/snes02
parent39d8b168453556fe80905c51c8f38fdbade8fd13 (diff)
downloadsnes9x2002-bda0b3ba05423f7b0d4ecce7f5ecc9d891276004.tar.gz
snes9x2002-bda0b3ba05423f7b0d4ecce7f5ecc9d891276004.tar.bz2
snes9x2002-bda0b3ba05423f7b0d4ecce7f5ecc9d891276004.zip
Added Hakchi Platform (Nintendo Classics)
Diffstat (limited to 'libretro/hakchi/bin/snes02')
-rw-r--r--libretro/hakchi/bin/snes0238
1 files changed, 38 insertions, 0 deletions
diff --git a/libretro/hakchi/bin/snes02 b/libretro/hakchi/bin/snes02
new file mode 100644
index 0000000..032fbe7
--- /dev/null
+++ b/libretro/hakchi/bin/snes02
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+setFileName(){
+ filename="$(readlink -f "$1")"
+ filebase="$(basename "$filename")"
+ extension="${filebase##*.}"
+}
+
+getSfrom(){
+ local rom="$(hexdump -e '1/4 "%u"' -s8 -n4 "$1")"
+ local footer="$(hexdump -e '1/4 "%u"' -s20 -n4 "$1")"
+ local size="$(hexdump -e '1/4 "%u"' -s$((footer+1)) -n4 "$1")"
+ dd "status=none" "if=$1" "iflag=skip_bytes" "skip=$rom" "bs=$size" "count=1"
+}
+
+setFileName "$1"
+shift
+
+tmppath="/tmp/rom"
+rm -rf "$tmppath"
+mkdir -p "$tmppath"
+cd "$tmppath"
+
+if [ "$extension" = "7z" ]; then
+ tiny7zx x "$filename"
+ filename="$tmppath/$(ls | head -n1)"
+ filename_str="${filename// /_}"
+ mv "$filename" "$filename_str"
+ setFileName "$filename_str"
+fi
+
+if [ "$extension" = "sfrom" ]; then
+ filename_str="$filebase.sfc"
+ getSfrom "$filename" > "$filename_str"
+ setFileName "$filename_str"
+fi
+
+exec retroarch-clover snes9x2002 "$filename" "$@"