public CartridgeInfo(Cartridge cartridge) { BusConfig = cartridge.RomImage.BusConfig; EntryPoint = cartridge.RomImage.EntryPoint; Clockrate = cartridge.RomImage.Clockrate; HashCRC1 = cartridge.RomImage.CRC1; HashCRC2 = cartridge.RomImage.CRC2; Name = cartridge.RomImage.Name; RegionCode = cartridge.RomImage.Region; Release = cartridge.RomImage.Release; Serial = cartridge.RomImage.Serial; }
internal void SetCartridgeSource(Cartridge cart) { m_CartMemory = new CartridgeHeapStream(cart); }
protected Cartridge() { s_Current = this; }
/* Short handed API */ public void CartridgeInsert(Cartridge cartridge) { DeviceRCP.Interface_Parallel.MountCartridge(cartridge); }
private void TestBootSequence(Cartridge cart) { Machine machine = new Machine(); machine.SystemBootMode = BootMode.HLE_IPL_OLD; machine.DeviceRCP.DevicePI.MountCartridge(cart); Debugger debugger = new Debugger(); debugger.BreakOnBootMode = DebuggerBootEvent.PostBoot; debugger.DebugOnBreak = true; var mockedCPUEngine = new Mock<ExecutionEngine>(); var mockedRCPEngine = new Mock<ExecutionEngine>(); machine.DeviceCPU.Engine = mockedCPUEngine.Object; machine.DeviceRCP.Engine = mockedRCPEngine.Object; machine.Initialize(); machine.Run(); ExecutionState state = machine.DeviceCPU.State; /* CP0 Testing */ Assert.Equal(0x0000001FUL, state.CP0Regs[CP0RegName.Random]); Assert.Equal(0x00005000UL, state.CP0Regs[CP0RegName.Count]); Assert.Equal(0x0000005CUL, state.CP0Regs[CP0RegName.Cause]); Assert.Equal(0x007FFFF0UL, state.CP0Regs[CP0RegName.Context]); Assert.Equal(0xFFFFFFFFUL, state.CP0Regs[CP0RegName.EPC]); Assert.Equal(0xFFFFFFFFUL, state.CP0Regs[CP0RegName.BadVAddr]); Assert.Equal(0xFFFFFFFFUL, state.CP0Regs[CP0RegName.ErrorEPC]); Assert.Equal(0x0006E463UL, state.CP0Regs[CP0RegName.Config]); Assert.Equal(0x34000000UL, state.CP0Regs[CP0RegName.SR]); /* PIF Testing */ AssertPIFCodes( Cartridge.Current.RomImage.Region, Cartridge.Current.RomImage.BootRomInformation.CIC, state); debugger.Continue(); machine.Stop(); machine.Dispose(); }