From eab2e01437c1fe8ceb330657ac60663a89a4f2dd Mon Sep 17 00:00:00 2001 From: Ryan 'Swingflip' Hamlin Date: Wed, 17 Oct 2018 15:14:13 +0100 Subject: Added ARMv7 A7 --- Makefile | 56 +++++++++++++++++++++---------- hakchi/bin/snes | 38 --------------------- hakchi/bin/snes05 | 38 --------------------- hakchi/etc/preinit.d/pe9b0_retroarch_snes | 1 - hakchi/readme.md | 23 ------------- 5 files changed, 38 insertions(+), 118 deletions(-) delete mode 100755 hakchi/bin/snes delete mode 100755 hakchi/bin/snes05 delete mode 100644 hakchi/etc/preinit.d/pe9b0_retroarch_snes delete mode 100644 hakchi/readme.md diff --git a/Makefile b/Makefile index fb4bb75..02d4d21 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,9 @@ USE_BLARGG_APU = 0 LAGFIX = 1 ifeq ($(platform),) - platform = unix + ifeq (,$(findstring classic_,$(platform))) + platform = unix + endif ifeq ($(shell uname -a),) platform = win else ifneq ($(findstring Darwin,$(shell uname -a)),) @@ -223,12 +225,38 @@ 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 + +# (armv7 a7, hard point, neon based) ### +# NESC, SNESC, C64 mini +else ifeq ($(platform), classic_armv7_a7) + TARGET := $(TARGET_NAME)_libretro.so + fpic := -fPIC + SHARED := -shared -Wl,--version-script=libretro/link.T -Wl,--no-undefined + CFLAGS += -Ofast \ + -flto=4 -fwhole-program -fuse-linker-plugin \ + -fdata-sections -ffunction-sections -Wl,--gc-sections \ + -fno-stack-protector -fno-ident -fomit-frame-pointer \ + -falign-functions=1 -falign-jumps=1 -falign-loops=1 \ + -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-unroll-loops \ + -fmerge-all-constants -fno-math-errno \ + -marm -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard + CXXFLAGS += $(CFLAGS) + CPPFLAGS += $(CFLAGS) + ASFLAGS += $(CFLAGS) + HAVE_NEON = 1 + ARCH = arm + BUILTIN_GPU = neon + USE_DYNAREC = 1 + ifeq ($(shell echo `$(CC) -dumpversion` "< 4.9" | bc -l), 1) + CFLAGS += -march=armv7-a + else + CFLAGS += -march=armv7ve + # If gcc is 5.0 or later + ifeq ($(shell echo `$(CC) -dumpversion` ">= 5" | bc -l), 1) + LDFLAGS += -static-libgcc -static-libstdc++ + endif + endif +####################################### # Windows MSVC 2010 x86 else ifeq ($(platform), windows_msvc2010_x86) @@ -359,24 +387,16 @@ ifeq ($(platform), theos_ios) else all: $(TARGET) $(TARGET): $(OBJECTS) + @echo "** BUILDING $(TARGET) FOR PLATFORM $(platform) **" ifeq ($(STATIC_LINKING), 1) $(AR) rcs $@ $(OBJECTS) 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 - + @echo "** BUILD SUCCESSFUL! GG NO RE **" clean: - rm -f $(TARGET) $(OBJECTS) hakchi/CORE_$(TARGET_NAME).hmod + rm -f $(TARGET) $(OBJECTS) .PHONY: clean endif diff --git a/hakchi/bin/snes b/hakchi/bin/snes deleted file mode 100755 index 4447455..0000000 --- a/hakchi/bin/snes +++ /dev/null @@ -1,38 +0,0 @@ -#!/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" "$@" diff --git a/hakchi/bin/snes05 b/hakchi/bin/snes05 deleted file mode 100755 index c6da74b..0000000 --- a/hakchi/bin/snes05 +++ /dev/null @@ -1,38 +0,0 @@ -#!/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" "$@" diff --git a/hakchi/etc/preinit.d/pe9b0_retroarch_snes b/hakchi/etc/preinit.d/pe9b0_retroarch_snes deleted file mode 100644 index 82b9be4..0000000 --- a/hakchi/etc/preinit.d/pe9b0_retroarch_snes +++ /dev/null @@ -1 +0,0 @@ -[ -f "$mountpoint/usr/bin/clover-canoe-shvc" ] && overmount /usr/bin/clover-canoe-shvc diff --git a/hakchi/readme.md b/hakchi/readme.md deleted file mode 100644 index 18bc086..0000000 --- a/hakchi/readme.md +++ /dev/null @@ -1,23 +0,0 @@ ------------------------ -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 -- /bin/snes05 - -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 - -- cgit v1.2.3