public void SetMaster(PIC8259 pic, byte irq) { if (master != null) { master.slave[cascadeId] = null; } master = pic; masterIrq = irq; if (master != null) { master.slave[cascadeId] = this; } }
public Machine(Form uiForm) { picDevice = new PIC8259(); vgaDevice = new VGA(); FloppyDrive = new Floppy(); dmaController = new DMAController(); keyboard = new KeyboardDevice(); ataDevice = new ATA(); if (SystemConfig.Machine.Floppies.Count > 0) { FloppyDrive.MountImage(SystemConfig.Machine.Floppies[0].Image); } switch (Settings.Default.graphics.ToUpper()) { //case "XNA": // throw new Exception("XNA not supported OwO"); // //gui = new XNAUI(uiForm, vgaDevice); // break; //case "SDL": // gui = new SDLUI(uiForm, vgaDevice); // break; } gui = new SHARPDX(uiForm, vgaDevice); // SharpDX it is //gui = new ASCII(uiForm, vgaDevice); // ASCII test Application.Idle += new System.EventHandler(ApplicationIdle); gui.KeyDown += new EventHandler <UIntEventArgs>(GUIKeyDown); gui.KeyUp += new EventHandler <UIntEventArgs>(GUIKeyUp); gui.Init(); devices = new IDevice[] { FloppyDrive, new CMOS(ataDevice), new Misc(), new PIT8253(), picDevice, keyboard, dmaController, vgaDevice, ataDevice }; CPU = new CPU.CPU(); picDevice.Interrupt += PicDeviceInterrupt; SetupSystem(); CPU.IORead += CPUIORead; CPU.IOWrite += CPUIOWrite; }
public Machine(Form uiForm) { picDevice = new PIC8259(); vgaDevice = new VGA(); FloppyDrive = new Floppy(); dmaController = new DMAController(); keyboard = new KeyboardDevice(); ataDevice = new ATA(); if(SystemConfig.Machine.Floppies.Count > 0) { FloppyDrive.MountImage(SystemConfig.Machine.Floppies[0].Image); } switch (Settings.Default.graphics.ToUpper()) { case "XNA": gui = new XNAUI(uiForm, vgaDevice); break; case "SDL": gui = new SDLUI(uiForm, vgaDevice); break; } Application.Idle += new System.EventHandler(ApplicationIdle); gui.KeyDown += new EventHandler<UIntEventArgs>(GUIKeyDown); gui.KeyUp += new EventHandler<UIntEventArgs>(GUIKeyUp); gui.Init(); devices = new IDevice[] { FloppyDrive, new CMOS(ataDevice), new Misc(), new PIT8253(), picDevice, keyboard, dmaController, vgaDevice, ataDevice }; CPU = new CPU.CPU(); picDevice.Interrupt += PicDeviceInterrupt; SetupSystem(); CPU.IORead += CPUIORead; CPU.IOWrite += CPUIOWrite; }
public PIC8259(X8086 cpu, PIC8259 master = null) { if (ReferenceEquals(master, null)) { for (int i = 0x20; i <= 0x2F; i++) { ValidPortAddress.Add((uint)i); } //cascadeId = 0 //slave(cascadeId) = New PIC8259(cpu, Me) //slave(cascadeId).SetMaster(Me, 2) } else { for (int i = 0x30; i <= 0x3F; i++) { ValidPortAddress.Add((uint)i); } } state = States.ICW1; }
public IRQLine(PIC8259 pic, byte irq) { mPic = pic; mIrq = irq; }