summaryrefslogtreecommitdiff
path: root/cheats.c
diff options
context:
space:
mode:
authorDavid Guillen Fandos2021-06-27 01:16:28 +0200
committerDavid Guillen Fandos2021-06-27 01:16:28 +0200
commit8dbf5f6c17e3d217877119620e5bbfeba05abd7a (patch)
treecc50bd05fd8fd14444825c4929fb94ea6e98b1dc /cheats.c
parentbdf029398070b338e28318d5e1e2418a1815c3a6 (diff)
downloadpicogpsp-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 'cheats.c')
-rw-r--r--cheats.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/cheats.c b/cheats.c
index 17556ca..3594730 100644
--- a/cheats.c
+++ b/cheats.c
@@ -190,7 +190,7 @@ void process_cheats(void)
if(!cheats[i].cheat_active)
continue;
- process_cheat_codebreaker(&cheats[i], 0x3ff ^ io_registers[REG_P1]);
+ process_cheat_codebreaker(&cheats[i], 0x3ff ^ read_ioreg(REG_P1));
}
}