mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	hacked CPU interpreter to ignore branch on SVC instruction (as we are HLEing this...)
This commit is contained in:
		@@ -530,9 +530,13 @@ ARMul_Abort (ARMul_State * state, ARMword vector)
 | 
			
		||||
			  isize);
 | 
			
		||||
		break;
 | 
			
		||||
	case ARMul_SWIV:	/* Software Interrupt */
 | 
			
		||||
		SETABORT (IBIT, state->prog32Sig ? SVC32MODE : SVC26MODE,
 | 
			
		||||
		// Modified SETABORT that doesn't branch to a SVC vector as we are implementing this in HLE
 | 
			
		||||
		// Instead of doing normal routine, backup R15 by one instruction (this is what PC will get 
 | 
			
		||||
		// set to, making it the next instruction after the SVC call), and skip setting the LR.
 | 
			
		||||
		SETABORT_SKIPBRANCH (IBIT, state->prog32Sig ? SVC32MODE : SVC26MODE,
 | 
			
		||||
			  isize);
 | 
			
		||||
		break;
 | 
			
		||||
		state->Reg[15] -= 4;
 | 
			
		||||
		return;
 | 
			
		||||
	case ARMul_PrefetchAbortV:	/* Prefetch Abort */
 | 
			
		||||
		state->AbortAddr = 1;
 | 
			
		||||
		SETABORT (IBIT, state->prog32Sig ? ABORT32MODE : SVC26MODE,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user