#include #include /* ioperm() */ #include int portbase = 0; unsigned char dlines = 0; /* state of data lines */ unsigned char slines = 0; /* status lines */ unsigned char clines = 0; /* control lines */ /* enable: 0 disable line, 1 enable * line, no: e.g. 'D', '7' */ void doline(int enable,char line,char no) { int bit; switch (line) { case 'd': case 'D': if (no>='0' && no<='7') bit = no-'0'; else { puts("invalid line number"); return; } if (enable) dlines |= (1<='0' && no<='3') bit = no-'0'; else { puts("invalid line number"); return; } if (bit != 2) enable = !enable; if (enable) clines |= (1<