Merge pull request #59 from HakchiCloud/master

Added Hakchi platform
This commit is contained in:
Twinaphex 2018-06-26 16:29:32 +02:00 committed by GitHub
commit 4423de5973
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 117 additions and 1 deletions

View File

@ -223,6 +223,12 @@ else ifeq ($(platform), gcw0)
LIBM :=
LOAD_FROM_MEMORY_TEST = 0
CFLAGS += -ffast-math -march=mips32 -mtune=mips32r2 -mhard-float
#Nintendo Classics (Hakchi)
else ifeq ($(platform), nintendoc)
TARGET := $(TARGET_NAME)_libretro.so
fpic := -fPIC
SHARED := -shared -Wl,--no-undefined -Wl,--version-script=link.T
CFLAGS += -fno-builtin -fno-exceptions -ffunction-sections -DARM -marm -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard
# Windows MSVC 2010 x86
else ifeq ($(platform), windows_msvc2010_x86)
@ -359,8 +365,18 @@ else
$(CC) $(LINKOUT)$@ $(OBJECTS) $(LDFLAGS) $(LIBS)
endif
ifeq ($(platform),nintendoc)
@echo "** BUILDING HAKCHI HMOD PACKAGE **"
mkdir -p hakchi/etc/libretro/core/ hakchi/etc/libretro/info/ hakchi/etc/preinit.d/
rm -f hakchi/etc/libretro/info/*
cp $(TARGET_NAME)_libretro.so hakchi/etc/libretro/core/
cd hakchi/etc/libretro/info/; wget https://buildbot.libretro.com/assets/frontend/info/$(TARGET_NAME)_libretro.info
cd hakchi/; tar -czvf "CORE_$(TARGET_NAME).hmod" *
endif
clean:
rm -f $(TARGET) $(OBJECTS)
rm -f $(TARGET) $(OBJECTS) hakchi/CORE_$(TARGET_NAME).hmod
.PHONY: clean
endif

38
hakchi/bin/snes Executable file
View File

@ -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 snes9x "$filename" "$@"

38
hakchi/bin/snes05 Executable file
View File

@ -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 snes9x2005 "$filename" "$@"

View File

@ -0,0 +1 @@
[ -f "$mountpoint/usr/bin/clover-canoe-shvc" ] && overmount /usr/bin/clover-canoe-shvc

23
hakchi/readme.md Normal file
View File

@ -0,0 +1,23 @@
-----------------------
Name: SNES9x2005
Creator: Libretro
Category: RetroArch Cores
-----------------------
=== SNES9x2005 Core for RetroArch ===
Module adds support for Super Famicom / Super Nintendo
Available executables and arguments to run Core:
- /bin/snes <rom> <clover_args>
- /bin/snes05 <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