mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	Merge pull request #467 from lioncash/msr
dyncom: Fix conditional execution of MSR
This commit is contained in:
		
						commit
						1da04a72a2
					
				
					 1 changed files with 31 additions and 29 deletions
				
			
		|  | @ -4964,6 +4964,7 @@ unsigned InterpreterMainLoop(ARMul_State* state) { | ||||||
|     } |     } | ||||||
|     MSR_INST: |     MSR_INST: | ||||||
|     { |     { | ||||||
|  |         if (inst_base->cond == 0xE || CondPassed(cpu, inst_base->cond)) { | ||||||
|             msr_inst *inst_cream = (msr_inst *)inst_base->component; |             msr_inst *inst_cream = (msr_inst *)inst_base->component; | ||||||
|             const uint32_t UnallocMask = 0x06f0fc00, UserMask = 0xf80f0200, PrivMask = 0x000001df, StateMask = 0x01000020; |             const uint32_t UnallocMask = 0x06f0fc00, UserMask = 0xf80f0200, PrivMask = 0x000001df, StateMask = 0x01000020; | ||||||
|             unsigned int inst = inst_cream->inst; |             unsigned int inst = inst_cream->inst; | ||||||
|  | @ -4999,6 +5000,7 @@ unsigned InterpreterMainLoop(ARMul_State* state) { | ||||||
|                     cpu->Spsr_copy = (cpu->Spsr_copy & ~mask) | (operand & mask); |                     cpu->Spsr_copy = (cpu->Spsr_copy & ~mask) | (operand & mask); | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|  |         } | ||||||
|         cpu->Reg[15] += GET_INST_SIZE(cpu); |         cpu->Reg[15] += GET_INST_SIZE(cpu); | ||||||
|         INC_PC(sizeof(msr_inst)); |         INC_PC(sizeof(msr_inst)); | ||||||
|         FETCH_INST; |         FETCH_INST; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue