mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	moved HLE::MRC to its own module, added support for catching data synchronization barrier command
This commit is contained in:
		@@ -4467,7 +4467,7 @@ ARMul_Emulate26 (ARMul_State * state)
 | 
			
		||||
                    }
 | 
			
		||||
                /* Drop through.  */
 | 
			
		||||
 | 
			
		||||
            case 0xe0:
 | 
			
		||||
            //case 0xe0:
 | 
			
		||||
            case 0xe4:
 | 
			
		||||
            case 0xe6:
 | 
			
		||||
            case 0xe8:
 | 
			
		||||
@@ -4502,6 +4502,7 @@ ARMul_Emulate26 (ARMul_State * state)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                /* Co-Processor Register Transfers (MRC) and Data Ops.  */
 | 
			
		||||
            case 0xe0:
 | 
			
		||||
            case 0xe1:
 | 
			
		||||
            case 0xe3:
 | 
			
		||||
            case 0xe5:
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,7 @@
 | 
			
		||||
 | 
			
		||||
//#include "ansidecl.h"
 | 
			
		||||
#include "skyeye_defs.h"
 | 
			
		||||
#include "core/hle/hle.h"
 | 
			
		||||
#include "core/hle/mrc.h"
 | 
			
		||||
#include "core/arm/disassembler/arm_disasm.h"
 | 
			
		||||
 | 
			
		||||
unsigned xscale_cp15_cp_access_allowed (ARMul_State * state, unsigned reg,
 | 
			
		||||
@@ -738,7 +738,8 @@ ARMword
 | 
			
		||||
ARMul_MRC (ARMul_State * state, ARMword instr)
 | 
			
		||||
{
 | 
			
		||||
	unsigned cpab;
 | 
			
		||||
	ARMword result = HLE::CallGetThreadCommandBuffer();
 | 
			
		||||
 | 
			
		||||
	ARMword result = HLE::CallMRC((HLE::ARM11_MRC_OPERATION)BITS(20, 27));
 | 
			
		||||
 | 
			
		||||
	////printf("SKYEYE ARMul_MRC, CPnum is %x, instr %x\n",CPNum, instr);
 | 
			
		||||
	//if (!CP_ACCESS_ALLOWED (state, CPNum)) {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user