#include int main () { unsigned long base = 0x378; unsigned long data = base; unsigned long dcr = base + 0x002; unsigned long ecr = base + 0x402; iopl (3); /* Switch to mode 001 */ outb (0x34, ecr); printf ("ECR: %02x\n", inb (ecr)); /* Turn on data drivers */ outb (inb (dcr) & ~0x20, dcr); printf ("DCR: %02x\n", inb (dcr)); outb (0x55, data); printf ("DATA: %02x\n", inb (data)); outb (0xaa, data); printf ("DATA: %02x\n", inb (data)); /* Turn off data drivers */ outb (inb (dcr) | 0x20, dcr); printf ("DCR: %02x\n", inb (dcr)); outb (0x55, data); printf ("DATA: %02x\n", inb (data)); outb (0xaa, data); printf ("DATA: %02x\n", inb (data)); }