Fix SWI branch mismatch

The mismatch causes one-of errors for instruction 0F000000 (swieq 0)
which results in all sorts of funny errors (branches to bad addresses).
Fixes a couple of games.
This commit is contained in:
David Guillen Fandos 2023-04-20 21:08:49 +02:00
parent 8c6ff8d358
commit 2d28451f6c
1 changed files with 1 additions and 1 deletions

View File

@ -2697,7 +2697,7 @@ u8 function_cc *block_lookup_address_thumb(u32 pc)
((opcode & 0x12FFF10) == 0x12FFF10) || \
((opcode & 0x8108000) == 0x8108000) || \
((opcode >= 0xA000000) && (opcode < 0xF000000)) || \
((opcode > 0xF000000) && (!is_div_swi((opcode >> 16) & 0xFF)))) \
((opcode >= 0xF000000) && (!is_div_swi((opcode >> 16) & 0xFF)))) \
#define arm_opcode_branch \
((opcode & 0xE000000) == 0xA000000) \