diff options
Diffstat (limited to 'src/core/arm/interpreter/armsupp.cpp')
| -rw-r--r-- | src/core/arm/interpreter/armsupp.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/core/arm/interpreter/armsupp.cpp b/src/core/arm/interpreter/armsupp.cpp index 101b9807a..b2bbedc18 100644 --- a/src/core/arm/interpreter/armsupp.cpp +++ b/src/core/arm/interpreter/armsupp.cpp | |||
| @@ -17,9 +17,11 @@ | |||
| 17 | 17 | ||
| 18 | #include "armdefs.h" | 18 | #include "armdefs.h" |
| 19 | #include "armemu.h" | 19 | #include "armemu.h" |
| 20 | |||
| 20 | //#include "ansidecl.h" | 21 | //#include "ansidecl.h" |
| 21 | #include "skyeye_defs.h" | 22 | #include "skyeye_defs.h" |
| 22 | #include "core/hle/hle.h" | 23 | #include "core/hle/mrc.h" |
| 24 | #include "core/arm/disassembler/arm_disasm.h" | ||
| 23 | 25 | ||
| 24 | unsigned xscale_cp15_cp_access_allowed (ARMul_State * state, unsigned reg, | 26 | unsigned xscale_cp15_cp_access_allowed (ARMul_State * state, unsigned reg, |
| 25 | unsigned cpnum); | 27 | unsigned cpnum); |
| @@ -736,7 +738,8 @@ ARMword | |||
| 736 | ARMul_MRC (ARMul_State * state, ARMword instr) | 738 | ARMul_MRC (ARMul_State * state, ARMword instr) |
| 737 | { | 739 | { |
| 738 | unsigned cpab; | 740 | unsigned cpab; |
| 739 | ARMword result = HLE::CallGetThreadCommandBuffer(); | 741 | |
| 742 | ARMword result = HLE::CallMRC((HLE::ARM11_MRC_OPERATION)BITS(20, 27)); | ||
| 740 | 743 | ||
| 741 | ////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); |
| 742 | //if (!CP_ACCESS_ALLOWED (state, CPNum)) { | 745 | //if (!CP_ACCESS_ALLOWED (state, CPNum)) { |
| @@ -846,7 +849,10 @@ ARMul_CDP (ARMul_State * state, ARMword instr) | |||
| 846 | void | 849 | void |
| 847 | ARMul_UndefInstr (ARMul_State * state, ARMword instr) | 850 | ARMul_UndefInstr (ARMul_State * state, ARMword instr) |
| 848 | { | 851 | { |
| 849 | ERROR_LOG(ARM11, "Undefined instruction!! Instr: 0x%x", instr); | 852 | char buff[512]; |
| 853 | ARM_Disasm disasm = ARM_Disasm(); | ||
| 854 | disasm.disasm(state->pc, instr, buff); | ||
| 855 | ERROR_LOG(ARM11, "Undefined instruction!! Disasm: %s Opcode: 0x%x", buff, instr); | ||
| 850 | ARMul_Abort (state, ARMul_UndefinedInstrV); | 856 | ARMul_Abort (state, ARMul_UndefinedInstrV); |
| 851 | } | 857 | } |
| 852 | 858 | ||