public ArmCore(Arm7Processor parent, Memory memory) { this.parent = parent; this.memory = memory; this.registers = this.parent.Registers; this.NormalOps = new ExecuteInstruction[8] { this.DataProcessing, this.DataProcessingImmed, this.LoadStoreImmediate, this.LoadStoreRegister, this.LoadStoreMultiple, this.Branch, this.CoprocessorLoadStore, this.SoftwareInterrupt }; }
public void StartEmulator(IRenderer Renderer) { System.Action OnRenderFrame = () => { this.framesRendered++; }; System.Action OnPresent = () => { }; this.arm7 = new Arm7Processor(this.memory); this.videoManager = new VideoManager(this.memory, Renderer, OnRenderFrame, OnPresent); this.soundManager = new SoundManager(this.memory, 44100); this.iterations = 0; this.ResetTimeSecs(); vramCycles = 0; inHblank = false; }
public ThumbCore(Arm7Processor parent, Memory memory) { this.parent = parent; this.memory = memory; this.registers = this.parent.Registers; this.NormalOps = new ExecuteInstruction[256] { OpLslImm, OpLslImm, OpLslImm, OpLslImm, OpLslImm, OpLslImm, OpLslImm, OpLslImm, OpLsrImm, OpLsrImm, OpLsrImm, OpLsrImm, OpLsrImm, OpLsrImm, OpLsrImm, OpLsrImm, OpAsrImm, OpAsrImm, OpAsrImm, OpAsrImm, OpAsrImm, OpAsrImm, OpAsrImm, OpAsrImm, OpAddRegReg, OpAddRegReg, OpSubRegReg, OpSubRegReg, OpAddRegImm, OpAddRegImm, OpSubRegImm, OpSubRegImm, OpMovImm, OpMovImm, OpMovImm, OpMovImm, OpMovImm, OpMovImm, OpMovImm, OpMovImm, OpCmpImm, OpCmpImm, OpCmpImm, OpCmpImm, OpCmpImm, OpCmpImm, OpCmpImm, OpCmpImm, OpAddImm, OpAddImm, OpAddImm, OpAddImm, OpAddImm, OpAddImm, OpAddImm, OpAddImm, OpSubImm, OpSubImm, OpSubImm, OpSubImm, OpSubImm, OpSubImm, OpSubImm, OpSubImm, OpArith, OpArith, OpArith, OpArith, OpAddHi, OpCmpHi, OpMovHi, OpBx, OpLdrPc, OpLdrPc, OpLdrPc, OpLdrPc, OpLdrPc, OpLdrPc, OpLdrPc, OpLdrPc, OpStrReg, OpStrReg, OpStrhReg, OpStrhReg, OpStrbReg, OpStrbReg, OpLdrsbReg, OpLdrsbReg, OpLdrReg, OpLdrReg, OpLdrhReg, OpLdrhReg, OpLdrbReg, OpLdrbReg, OpLdrshReg, OpLdrshReg, OpStrImm, OpStrImm, OpStrImm, OpStrImm, OpStrImm, OpStrImm, OpStrImm, OpStrImm, OpLdrImm, OpLdrImm, OpLdrImm, OpLdrImm, OpLdrImm, OpLdrImm, OpLdrImm, OpLdrImm, OpStrbImm, OpStrbImm, OpStrbImm, OpStrbImm, OpStrbImm, OpStrbImm, OpStrbImm, OpStrbImm, OpLdrbImm, OpLdrbImm, OpLdrbImm, OpLdrbImm, OpLdrbImm, OpLdrbImm, OpLdrbImm, OpLdrbImm, OpStrhImm, OpStrhImm, OpStrhImm, OpStrhImm, OpStrhImm, OpStrhImm, OpStrhImm, OpStrhImm, OpLdrhImm, OpLdrhImm, OpLdrhImm, OpLdrhImm, OpLdrhImm, OpLdrhImm, OpLdrhImm, OpLdrhImm, OpStrSp, OpStrSp, OpStrSp, OpStrSp, OpStrSp, OpStrSp, OpStrSp, OpStrSp, OpLdrSp, OpLdrSp, OpLdrSp, OpLdrSp, OpLdrSp, OpLdrSp, OpLdrSp, OpLdrSp, OpAddPc, OpAddPc, OpAddPc, OpAddPc, OpAddPc, OpAddPc, OpAddPc, OpAddPc, OpAddSp, OpAddSp, OpAddSp, OpAddSp, OpAddSp, OpAddSp, OpAddSp, OpAddSp, OpSubSp, OpUnd, OpUnd, OpUnd, OpPush, OpPushLr, OpUnd, OpUnd, OpUnd, OpUnd, OpUnd, OpUnd, OpPop, OpPopPc, OpUnd, OpUnd, OpStmia, OpStmia, OpStmia, OpStmia, OpStmia, OpStmia, OpStmia, OpStmia, OpLdmia, OpLdmia, OpLdmia, OpLdmia, OpLdmia, OpLdmia, OpLdmia, OpLdmia, OpBCond, OpBCond, OpBCond, OpBCond, OpBCond, OpBCond, OpBCond, OpBCond, OpBCond, OpBCond, OpBCond, OpBCond, OpBCond, OpBCond, OpUnd, OpSwi, OpB, OpB, OpB, OpB, OpB, OpB, OpB, OpB, OpUnd, OpUnd, OpUnd, OpUnd, OpUnd, OpUnd, OpUnd, OpUnd, OpBl1, OpBl1, OpBl1, OpBl1, OpBl1, OpBl1, OpBl1, OpBl1, OpBl2, OpBl2, OpBl2, OpBl2, OpBl2, OpBl2, OpBl2, OpBl2 }; }
public FastArmCore(Arm7Processor parent, Memory memory) { this.parent = parent; this.memory = memory; this.registers = this.parent.Registers; this.NormalOps = new ExecuteInstructionDelegate[8] { this.UndefinedInstruction, this.UndefinedInstruction, this.UndefinedInstruction, this.UndefinedInstruction, this.LoadStoreMultiple, this.UndefinedInstruction, this.CoprocessorLoadStore, this.UndefinedInstruction }; this.InitializeDispatchFunc(); }
public GbaManager(CoreComm comm) { _corecomm = comm; this.memory = new Memory(); this.arm7 = new Arm7Processor(this.memory); this.videoManager = new VideoManager(this); this.videoManager.Memory = this.memory; this.soundManager = new SoundManager(this.memory, 44100); this.framesRendered = 0; Renderer renderer = new Renderer(); renderer.Initialize(null); VideoManager.Renderer = renderer; videoManager.Presenter = delegate(uint[] data) { Buffer.BlockCopy(data, 0, this.vbuf, 0, 240 * 160 * 4); }; }
public ArmArmletTranslator(Arm7Processor parent, Memory memory) { this.parent = parent; this.memory = memory; this.registers = this.parent.Registers; }