public void Reset() { interruptQueue = new ConcurrentQueue <byte>(); Bus = new BusInterface(); //Bus.LoadBIOS(File.ReadAllBytes("Chipset\\pcxtbios.bin")); //_bus.LoadROM(File.ReadAllBytes("Chipset\\ide_xt.bin"), 0xd0000); //_bus.LoadROM(File.ReadAllBytes("Chipset\\rombasic.bin"), 0xf6000); //_bus.LoadROM(File.ReadAllBytes("Chipset\\videorom.bin"), 0xc0000); EU = new ExecutionUnit(Bus); // 0x00 - 0x0f: DMA Chip 8237A-5 // 0x20 - 0x21: Interrupt 8259A InitPIC(); // 0x40 - 0x43: Timer 8253 // Init8253(); // 0x60 - 0x63: PPI 8255 (speaker) // 0x80 - 0x83: DMA page registers // 0xa0 - 0xaf: NMI Mask Register // 0x200 - 0x20f: Game Control // 0x210 - 0x207: Expansion Unit // 0x220 - 0x24f: Reserved // 0x3bc: IBM Monochrome Display & Printer Adapter // 0x378: Printer Adapter }
public void Boot(ushort startupCS, ushort startupIP, byte[] program) { // For now we will hard code the BIOS to start at a particular code segment. Bus = new BusInterface(startupCS, startupIP, program); EU = new ExecutionUnit(Bus); }
public void Boot(byte[] program) { // For now we will hard code the BIOS to start at a particular code segment. Bus = new BusInterface(0x0000, 0x0100, program); EU = new ExecutionUnit(Bus); }