diff options
author | David Guillen Fandos | 2021-06-27 01:16:28 +0200 |
---|---|---|
committer | David Guillen Fandos | 2021-06-27 01:16:28 +0200 |
commit | 8dbf5f6c17e3d217877119620e5bbfeba05abd7a (patch) | |
tree | cc50bd05fd8fd14444825c4929fb94ea6e98b1dc /Makefile | |
parent | bdf029398070b338e28318d5e1e2418a1815c3a6 (diff) | |
download | picogpsp-8dbf5f6c17e3d217877119620e5bbfeba05abd7a.tar.gz picogpsp-8dbf5f6c17e3d217877119620e5bbfeba05abd7a.tar.bz2 picogpsp-8dbf5f6c17e3d217877119620e5bbfeba05abd7a.zip |
Enable big-endian devices: gc/wii
This patch adds big-endian compatibility in gpsp (in general but only
for the interpreter). There's no performance hit for little-endian
platforms (should be a no-op) and only add a small overhead in memory
accesses for big-endian platforms.
Most memory accesses are wrapped with a byteswap instruction and I/O reg
accesses are also rewired for proper access (using macros). Video
rendering has been fixed to also do byteswaps but there's a couple of
games and rendering modes that still seem broken (but they amount to
less than 20 games in my tests with 1K ROMs).
This also adds build rules and CI for NGC/WII/WIIU (untested)
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -195,6 +195,14 @@ else ifeq ($(platform), switch) include $(LIBTRANSISTOR_HOME)/libtransistor.mk STATIC_LINKING=1 +# Nintendo Game Cube / Wii / WiiU +else ifneq (,$(filter $(platform), ngc wii wiiu)) + TARGET := $(TARGET_NAME)_libretro_$(platform).a + CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT) + AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT) + CFLAGS += -DGEKKO -mcpu=750 -meabi -mhard-float -DHAVE_STRTOF_L + STATIC_LINKING = 1 + # PSP else ifeq ($(platform), psp1) TARGET := $(TARGET_NAME)_libretro_$(platform).a |