private static void Remap(byte masterStart, byte masterMask, byte slaveStart, byte slaveMask) { PortIO.Out8(PIC1_Command, ICW1_Initialization + ICW1_ICW4); PortIO.Wait(); PortIO.Out8(PIC2_Command, ICW1_Initialization + ICW1_ICW4); PortIO.Wait(); PortIO.Out8(PIC1_Data, masterStart); PortIO.Wait(); PortIO.Out8(PIC2_Data, slaveStart); PortIO.Wait(); PortIO.Out8(PIC1_Data, 4); PortIO.Wait(); PortIO.Out8(PIC2_Data, 2); PortIO.Wait(); // set modes: PortIO.Out8(PIC1_Data, ICW4_8086); PortIO.Wait(); PortIO.Out8(PIC2_Data, ICW4_8086); PortIO.Wait(); // set masks: PortIO.Out8(PIC1_Data, masterMask); PortIO.Wait(); //PortIO.Out8(PIC2_Data, slaveMask); //PortIO.Wait(); }