Beispiel #1
0
 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;
 }
Beispiel #2
0
 internal void SetCartridgeSource(Cartridge cart)
 {
     m_CartMemory = new CartridgeHeapStream(cart);
 }
Beispiel #3
0
 protected Cartridge()
 {
     s_Current = this;
 }
Beispiel #4
0
 /* Short handed API */
 public void CartridgeInsert(Cartridge cartridge)
 {
     DeviceRCP.Interface_Parallel.MountCartridge(cartridge);
 }
Beispiel #5
0
 protected Cartridge()
 {
     s_Current = this;
 }
Beispiel #6
0
        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();
        }