diff options
author | Ryan 'Swingflip' Hamlin | 2018-06-24 19:44:02 +0100 |
---|---|---|
committer | Ryan 'Swingflip' Hamlin | 2018-06-24 19:44:02 +0100 |
commit | bda0b3ba05423f7b0d4ecce7f5ecc9d891276004 (patch) | |
tree | 5232cb2ef526f3081ee13d7564401cc2dede93eb /libretro/hakchi | |
parent | 39d8b168453556fe80905c51c8f38fdbade8fd13 (diff) | |
download | snes9x2002-bda0b3ba05423f7b0d4ecce7f5ecc9d891276004.tar.gz snes9x2002-bda0b3ba05423f7b0d4ecce7f5ecc9d891276004.tar.bz2 snes9x2002-bda0b3ba05423f7b0d4ecce7f5ecc9d891276004.zip |
Added Hakchi Platform (Nintendo Classics)
Diffstat (limited to 'libretro/hakchi')
-rw-r--r-- | libretro/hakchi/bin/snes | 38 | ||||
-rw-r--r-- | libretro/hakchi/bin/snes02 | 38 | ||||
-rw-r--r-- | libretro/hakchi/etc/preinit.d/pe9b0_retroarch_snes | 1 | ||||
-rw-r--r-- | libretro/hakchi/readme.md | 23 |
4 files changed, 100 insertions, 0 deletions
diff --git a/libretro/hakchi/bin/snes b/libretro/hakchi/bin/snes new file mode 100644 index 0000000..032fbe7 --- /dev/null +++ b/libretro/hakchi/bin/snes @@ -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" "$@" 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" "$@" diff --git a/libretro/hakchi/etc/preinit.d/pe9b0_retroarch_snes b/libretro/hakchi/etc/preinit.d/pe9b0_retroarch_snes new file mode 100644 index 0000000..82b9be4 --- /dev/null +++ b/libretro/hakchi/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/libretro/hakchi/readme.md b/libretro/hakchi/readme.md new file mode 100644 index 0000000..5a9c826 --- /dev/null +++ b/libretro/hakchi/readme.md @@ -0,0 +1,23 @@ +----------------------- +Name: SNES9x2002 +Creator: Libretro +Category: RetroArch Cores +----------------------- +=== SNES9x2002 Core for RetroArch === + +Module adds support for Super Famicom / Super Nintendo + +Available executables and arguments to run Core: +- /bin/snes <rom> <clover_args> +- /bin/snes02 <rom> <clover_args> + +Core by libretro + +Built and assembled by HakchiCloud - [Website](https://hakchiresources.com) + +Hakchi module system by madmonkey + +NES/SNES Mini shell integration by Cluster + +(c) 2016-2018 + |