/// <summary> /// Resets the CPU, and sets the Registers to the initial state. /// </summary> public void Reset() { CP15 = new Coprocessor15(); Registers = new ARMRegisters(); Registers.SetFlag(ARMFlag.FIQDisable, true); Registers.SetFlag(ARMFlag.IRQDisable, true); Registers.SetFlag(ARMFlag.AbortDisable, true); Registers.SetFlag(ARMFlag.Zero, true); Registers.Mode = ARMMode.Supervisor; Registers[15] = HighVectors ? 0xffff0000 : 0; Opcode = 0; ReloadPipeline(); }