using System; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Linq; using System.Text; //data register 9,8,7,6,5,4,3,2; //status register n11,10,12,13,15,-,-,-; //control register n1,n14,16,n17,-,-,-,-; namespace function_PP { class PP { /* Importování funkce 'Out32' z knihovny inpout32.dll a nahrazení vlastní fukncí PP_Output */ [DllImport("inpout32.dll", EntryPoint = "Out32")] private static extern void PP_Output(int address, int value); /* Importování funkce 'Inp32' z knihovny inpout32.dll a nahrazení vlastní fukncí PP_Input */ [DllImport("inpout32.dll", EntryPoint = "Inp32")] private static extern int PP_Input(int address); public static void PP_Data_Out(int value1) { PP_Output(0x378, value1); } public static int PP_Data_In() { return (PP_Input(0x378)); } public static int PP_Status_In() { int value2 = (PP_Input(0x379)); if((value2 & 0x80) != 0) { value2 &= ~(0x80); } else { value2 |= 0x80; } value2 = value2 >> 3; return (value2); } public static void PP_Control_Out(int value3) { if ((value3 & 0x04) != 0) value3 &= ~0x04; else value3 |= 0x04; value3 = (~value3) & 0x0f; PP_Output(0x37a, value3); } } }