diff options
| author | 2014-09-12 18:34:51 -0400 | |
|---|---|---|
| committer | 2014-10-25 14:11:39 -0400 | |
| commit | 53a22b84da9690865954f666694de885ccb7c286 (patch) | |
| tree | 77fa8c9fb653173cc78ffd7b0110d695c3fbb772 /src/core/arm/interpreter | |
| parent | ARM: Reorganized file structure to move shared SkyEye code to a more common a... (diff) | |
| download | yuzu-53a22b84da9690865954f666694de885ccb7c286.tar.gz yuzu-53a22b84da9690865954f666694de885ccb7c286.tar.xz yuzu-53a22b84da9690865954f666694de885ccb7c286.zip | |
ARM: Integrate SkyEye faster "dyncom" interpreter.
Fixed typo (make protected member public)
Added license header back in. I originally removed this because I mostly rewrote the file, but meh
ARM: Fixed a type error in dyncom interpreter.
ARM: Updated dyncom to use unique_ptr for internal ARM state.
Diffstat (limited to 'src/core/arm/interpreter')
| -rw-r--r-- | src/core/arm/interpreter/arm_interpreter.h | 2 | ||||
| -rw-r--r-- | src/core/arm/interpreter/armsupp.cpp | 15 |
2 files changed, 5 insertions, 12 deletions
diff --git a/src/core/arm/interpreter/arm_interpreter.h b/src/core/arm/interpreter/arm_interpreter.h index 64760500c..49ae01a0c 100644 --- a/src/core/arm/interpreter/arm_interpreter.h +++ b/src/core/arm/interpreter/arm_interpreter.h | |||
| @@ -10,7 +10,7 @@ | |||
| 10 | #include "core/arm/skyeye_common/armdefs.h" | 10 | #include "core/arm/skyeye_common/armdefs.h" |
| 11 | #include "core/arm/skyeye_common/armemu.h" | 11 | #include "core/arm/skyeye_common/armemu.h" |
| 12 | 12 | ||
| 13 | class ARM_Interpreter : virtual public ARM_Interface { | 13 | class ARM_Interpreter final : virtual public ARM_Interface { |
| 14 | public: | 14 | public: |
| 15 | 15 | ||
| 16 | ARM_Interpreter(); | 16 | ARM_Interpreter(); |
diff --git a/src/core/arm/interpreter/armsupp.cpp b/src/core/arm/interpreter/armsupp.cpp index 3d3545c65..2568b93ef 100644 --- a/src/core/arm/interpreter/armsupp.cpp +++ b/src/core/arm/interpreter/armsupp.cpp | |||
| @@ -15,18 +15,11 @@ | |||
| 15 | along with this program; if not, write to the Free Software | 15 | along with this program; if not, write to the Free Software |
| 16 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ | 16 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ |
| 17 | 17 | ||
| 18 | //#include <util.h> | 18 | #include "core/arm/skyeye_common/armdefs.h" |
| 19 | 19 | #include "core/arm/skyeye_common/armemu.h" | |
| 20 | #include <string> | ||
| 21 | #include "core/arm/interpreter/armdefs.h" | ||
| 22 | #include "core/arm/interpreter/armemu.h" | ||
| 23 | #include "core/hle/coprocessor.h" | ||
| 24 | #include "core/arm/disassembler/arm_disasm.h" | 20 | #include "core/arm/disassembler/arm_disasm.h" |
| 21 | #include "core/mem_map.h" | ||
| 25 | 22 | ||
| 26 | //#include "ansidecl.h" | ||
| 27 | //#include "skyeye.h" | ||
| 28 | //extern int skyeye_instr_debug; | ||
| 29 | /* Definitions for the support routines. */ | ||
| 30 | 23 | ||
| 31 | static ARMword ModeToBank (ARMword); | 24 | static ARMword ModeToBank (ARMword); |
| 32 | static void EnvokeList (ARMul_State *, unsigned int, unsigned int); | 25 | static void EnvokeList (ARMul_State *, unsigned int, unsigned int); |
| @@ -751,7 +744,7 @@ ARMword ARMul_MRC (ARMul_State * state, ARMword instr) | |||
| 751 | int cpopc = BITS(21, 23) & 0x7; | 744 | int cpopc = BITS(21, 23) & 0x7; |
| 752 | 745 | ||
| 753 | if (cn == 13 && cm == 0 && cp == 3) { //c13,c0,3; returns CPU svc buffer | 746 | if (cn == 13 && cm == 0 && cp == 3) { //c13,c0,3; returns CPU svc buffer |
| 754 | ARMword result = HLE::CallMRC(instr); | 747 | ARMword result = Memory::KERNEL_MEMORY_VADDR; |
| 755 | 748 | ||
| 756 | if (result != -1) { | 749 | if (result != -1) { |
| 757 | return result; | 750 | return result; |