+.macro Op42 /*Reserved Snes9X: SNESAdvance SpeedHack */
+@ Explanation: this is a reserved opcode turned into special "idle"/hlt opcode.
+@ This means we should do an hblank now.
+/*-
+ CPU.Cycles = CPU.NextEvent;
+*/ ldr reg_cycles, [reg_cpu_var,#NextEvent_ofs]
+@ Now execute the shadowed branch
+@ Equivalent to "asmRelative":
+ ADD1MEM
+ ldrb rscratch, [rpc], #1
+ and rscratch2, rscratch, #0xf0 @branch type
+ orr rscratch, rscratch, #0xf0 @branch dest (always negative, so sign ext)
+ sxtb rscratch, rscratch
+ add rscratch, rscratch, rpc
+ sub rscratch, rscratch, regpcbase
+ uxth rscratch, rscratch
+@ TODO: Do something with rscratch2 before BranchCheck clobbers it.
+@ Currently hardcoded to BEQ
+ BranchCheck2
+ TST rstatus, #MASK_ZERO
+ BEQ 1111f
+ ADD rpc, rscratch, regpcbase @ rpc = OpAddress +PCBase
+ ADD1CYCLE
+ CPUShutdown