diff options
| author | 2014-04-25 17:15:19 -0400 | |
|---|---|---|
| committer | 2014-04-25 17:15:19 -0400 | |
| commit | cb0663de5147f10533ecdbf6f58865f7cbe0241c (patch) | |
| tree | 30a122d3da59134e431ab2e6ef389d8f00467038 /src/core/arm | |
| parent | added disassembly to unimplemented instruction (diff) | |
| download | yuzu-cb0663de5147f10533ecdbf6f58865f7cbe0241c.tar.gz yuzu-cb0663de5147f10533ecdbf6f58865f7cbe0241c.tar.xz yuzu-cb0663de5147f10533ecdbf6f58865f7cbe0241c.zip | |
moved HLE::MRC to its own module, added support for catching data synchronization barrier command
Diffstat (limited to 'src/core/arm')
| -rw-r--r-- | src/core/arm/interpreter/armemu.cpp | 3 | ||||
| -rw-r--r-- | src/core/arm/interpreter/armsupp.cpp | 5 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/core/arm/interpreter/armemu.cpp b/src/core/arm/interpreter/armemu.cpp index 6074ff480..c137c61fe 100644 --- a/src/core/arm/interpreter/armemu.cpp +++ b/src/core/arm/interpreter/armemu.cpp | |||
| @@ -4467,7 +4467,7 @@ ARMul_Emulate26 (ARMul_State * state) | |||
| 4467 | } | 4467 | } |
| 4468 | /* Drop through. */ | 4468 | /* Drop through. */ |
| 4469 | 4469 | ||
| 4470 | case 0xe0: | 4470 | //case 0xe0: |
| 4471 | case 0xe4: | 4471 | case 0xe4: |
| 4472 | case 0xe6: | 4472 | case 0xe6: |
| 4473 | case 0xe8: | 4473 | case 0xe8: |
| @@ -4502,6 +4502,7 @@ ARMul_Emulate26 (ARMul_State * state) | |||
| 4502 | 4502 | ||
| 4503 | 4503 | ||
| 4504 | /* Co-Processor Register Transfers (MRC) and Data Ops. */ | 4504 | /* Co-Processor Register Transfers (MRC) and Data Ops. */ |
| 4505 | case 0xe0: | ||
| 4505 | case 0xe1: | 4506 | case 0xe1: |
| 4506 | case 0xe3: | 4507 | case 0xe3: |
| 4507 | case 0xe5: | 4508 | case 0xe5: |
diff --git a/src/core/arm/interpreter/armsupp.cpp b/src/core/arm/interpreter/armsupp.cpp index 48e55c63a..b2bbedc18 100644 --- a/src/core/arm/interpreter/armsupp.cpp +++ b/src/core/arm/interpreter/armsupp.cpp | |||
| @@ -20,7 +20,7 @@ | |||
| 20 | 20 | ||
| 21 | //#include "ansidecl.h" | 21 | //#include "ansidecl.h" |
| 22 | #include "skyeye_defs.h" | 22 | #include "skyeye_defs.h" |
| 23 | #include "core/hle/hle.h" | 23 | #include "core/hle/mrc.h" |
| 24 | #include "core/arm/disassembler/arm_disasm.h" | 24 | #include "core/arm/disassembler/arm_disasm.h" |
| 25 | 25 | ||
| 26 | unsigned xscale_cp15_cp_access_allowed (ARMul_State * state, unsigned reg, | 26 | unsigned xscale_cp15_cp_access_allowed (ARMul_State * state, unsigned reg, |
| @@ -738,7 +738,8 @@ ARMword | |||
| 738 | ARMul_MRC (ARMul_State * state, ARMword instr) | 738 | ARMul_MRC (ARMul_State * state, ARMword instr) |
| 739 | { | 739 | { |
| 740 | unsigned cpab; | 740 | unsigned cpab; |
| 741 | ARMword result = HLE::CallGetThreadCommandBuffer(); | 741 | |
| 742 | ARMword result = HLE::CallMRC((HLE::ARM11_MRC_OPERATION)BITS(20, 27)); | ||
| 742 | 743 | ||
| 743 | ////printf("SKYEYE ARMul_MRC, CPnum is %x, instr %x\n",CPNum, instr); | 744 | ////printf("SKYEYE ARMul_MRC, CPnum is %x, instr %x\n",CPNum, instr); |
| 744 | //if (!CP_ACCESS_ALLOWED (state, CPNum)) { | 745 | //if (!CP_ACCESS_ALLOWED (state, CPNum)) { |