summaryrefslogtreecommitdiff
path: root/cpu_threaded.c
diff options
context:
space:
mode:
authorDavid Guillen Fandos2021-05-05 02:20:00 +0200
committerDavid G. F2021-05-05 21:15:27 +0200
commit4fd456e1583a4c8686c8de87c2aeb1eb78125be1 (patch)
treea808a15f40df0f09226fc8e4a620b0f546b48729 /cpu_threaded.c
parent52088a4d10af9a8c0e95b0eb168d4dfd0a13639f (diff)
downloadpicogpsp-4fd456e1583a4c8686c8de87c2aeb1eb78125be1.tar.gz
picogpsp-4fd456e1583a4c8686c8de87c2aeb1eb78125be1.tar.bz2
picogpsp-4fd456e1583a4c8686c8de87c2aeb1eb78125be1.zip
Adding Code Breaker cheat support
This works on both interpreter and dynarec. Tested in MIPS, ARM and x86, still needs some more testing, some edge cases can be buggy.
Diffstat (limited to 'cpu_threaded.c')
-rw-r--r--cpu_threaded.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/cpu_threaded.c b/cpu_threaded.c
index a32b1b8..6874ae0 100644
--- a/cpu_threaded.c
+++ b/cpu_threaded.c
@@ -3303,6 +3303,11 @@ s32 translate_block_arm(u32 pc, translation_region_type
block_data[block_data_position].block_offset = translation_ptr;
arm_base_cycles();
+ if (pc == cheat_master_hook)
+ {
+ arm_process_cheats();
+ }
+
translate_arm_instruction();
block_data_position++;
@@ -3502,6 +3507,11 @@ s32 translate_block_thumb(u32 pc, translation_region_type
block_data[block_data_position].block_offset = translation_ptr;
thumb_base_cycles();
+ if (pc == cheat_master_hook)
+ {
+ thumb_process_cheats();
+ }
+
translate_thumb_instruction();
block_data_position++;