diff options
author | RSDuck <RSDuck@Github.com> | 2020-07-23 20:06:44 +0000 |
---|---|---|
committer | RSDuck <RSDuck@Github.com> | 2020-07-23 20:06:44 +0000 |
commit | 116d831cfd1b46afd436a4026a046e38dfd4ada6 (patch) | |
tree | 41670434caf9c4ac48f80222ab8956fb8a49cd66 | |
parent | f5130f82eb75376b6bd508b01a50f6d79669a20b (diff) |
Fix 16-bit DSi ARM9 read
-rw-r--r-- | src/ARMJIT_A64/ARMJIT_LoadStore.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/ARMJIT_A64/ARMJIT_LoadStore.cpp b/src/ARMJIT_A64/ARMJIT_LoadStore.cpp index c965d80..6140ffc 100644 --- a/src/ARMJIT_A64/ARMJIT_LoadStore.cpp +++ b/src/ARMJIT_A64/ARMJIT_LoadStore.cpp @@ -258,7 +258,7 @@ void Compiler::Comp_MemAccess(int rd, int rn, Op2 offset, int size, int flags) case 32: QuickCallFunction(X3, SlowRead9<u32, 0>); break; case 33: QuickCallFunction(X3, SlowRead9<u32, 1>); break; case 16: QuickCallFunction(X3, SlowRead9<u16, 0>); break; - case 17: QuickCallFunction(X3, SlowRead9<u16, 0>); break; + case 17: QuickCallFunction(X3, SlowRead9<u16, 1>); break; case 8: QuickCallFunction(X3, SlowRead9<u8, 0>); break; case 9: QuickCallFunction(X3, SlowRead9<u8, 1>); break; } @@ -643,7 +643,7 @@ s32 Compiler::Comp_MemAccessBlock(int rn, BitSet16 regs, bool store, bool preinc if (Num == 0) { MOV(X3, RCPU); - switch (store * 2 | NDS::ConsoleType) + switch ((u32)store * 2 | NDS::ConsoleType) { case 0: QuickCallFunction(X4, SlowBlockTransfer9<false, 0>); break; case 1: QuickCallFunction(X4, SlowBlockTransfer9<false, 1>); break; @@ -653,7 +653,7 @@ s32 Compiler::Comp_MemAccessBlock(int rn, BitSet16 regs, bool store, bool preinc } else { - switch (store * 2 | NDS::ConsoleType) + switch ((u32)store * 2 | NDS::ConsoleType) { case 0: QuickCallFunction(X4, SlowBlockTransfer7<false, 0>); break; case 1: QuickCallFunction(X4, SlowBlockTransfer7<false, 1>); break; |