644 /* Basic RS-232 communications routine in Borland C uses FOSSIL driver */ #include #include #include #include #define COM2 1 #define DATA_READY 0x100 #define TRUE 1 #define FALSE 0 #define SETTINGS ( 0xC0 | 0x00 | 0x04 | 0x03) int main(void) { int in, out, status, DONE = FALSE; textbackground(BLUE); textcolor(YELLOW); clrscr(); if(fos_init(COM2) == 0x1954) { bioscom(0, SETTINGS, COM2); while (!DONE) { status = bioscom(3, 0, COM2); if (status & DATA_READY) { putch(out = bioscom(2, 0, COM2) & 0xFF); if(out == '\x0A') if(wherey() == 25) clreol(); } if (bioskey(1)) { if ((in = bioskey(0) & 0xFF) == '\x1B') DONE = TRUE; bioscom(1, in, COM2); } } textbackground(BLACK); textcolor(LIGHTGRAY); clrscr(); fos_deinit(COM2); return 0; } else printf("Error: FOSSIL driver not installed\n"); } fos_init(int p) { _AH = 0x04; /* Initialize FOSSIL driver COM2 */ _DX = p; /* (and check if installed) */ geninterrupt(0x14); return _AX; } fos_deinit(int p) { _AH = 0x05; _DX = p; geninterrupt(0x14); return 0; } . 0