Here's one way to send BOB-4 commands in C: printf ("%c[2J I just cleared the screen!", 27); And a general-purpose discussion from comp.lang.c FAQ list: Question 19.9 Q: How do I send escape sequences to control a terminal or other device? A: If you can figure out how to send characters to the device at all (see question 19.8), it's easy enough to send escape sequences. In ASCII, the ESC code is 033 octal (27 decimal), so code like fprintf(ofd, "\033[J"); sends the sequence ESC [ J . Some programmers prefer to parameterize the ESC code, like this: #define ESC 033 fprintf(ofd, "%c[J", ESC); Here's a BOB-4 application code fragment that does something useful: int Test_Display() { int Line = 0; // Clear The Screen fprintf (ComPort,"%c[2J",EscChar); for (Line = 0; Line<20; Line++) { fprintf(ComPort,"%c[%d;5H Line %d \n",EscChar,Line, Line); } fprintf(ComPort,"%c[18;5H Hit Anykey To Continue",EscChar,EscChar,EscChar); fflush(ComPort); getch(); // Clear The Screen fprintf (ComPort,"%c[2J",EscChar); fprintf(ComPort,"%c[0;5H %c[1mTesting BOLD Line%c[22m",EscChar,EscChar,EscChar); fprintf(ComPort,"%c[2;5H %c[2mTesting FAINT Line%c[22m",EscChar,EscChar,EscChar); fprintf(ComPort,"%c[4;5H %c[10mTesting FONT Line",EscChar,EscChar); fprintf(ComPort,"%c[6;5H %c[7mTesting REVERSE Line%c[27m",EscChar,EscChar,EscChar); fprintf(ComPort,"%c[8;5H %c[5mTesting BLINK Line%c[25m",EscChar,EscChar,EscChar); fprintf(ComPort,"%c[18;5H Hit Anykey To Continue",EscChar,EscChar,EscChar); fflush(ComPort); getch(); // Clear The Screen fprintf (ComPort,"%c[2J",EscChar); fprintf(ComPort,"%c[1;5H %c[14mTesting FONT 14 %c[10m",EscChar,EscChar,EscChar); fprintf(ComPort,"%c[2;5H %c[13mTesting FONT 13 %c[10m",EscChar,EscChar,EscChar); fprintf(ComPort,"%c[3;5H %c[11mTesting FONT 11 %c[10m",EscChar,EscChar,EscChar); fprintf(ComPort,"%c[4;5H %c[10mTesting FONT 10 %c[10m",EscChar,EscChar,EscChar); fprintf(ComPort,"%c[6;5H %c[18mTesting FONT 18 %c[10m",EscChar,EscChar,EscChar); fprintf(ComPort,"%c[8;5H %c[19mTesting FONT 19 %c[10m",EscChar,EscChar,EscChar); fprintf(ComPort,"%c[11;5H %c[15mTesting FONT 15 %c[10m",EscChar,EscChar,EscChar); fprintf(ComPort,"%c[15;5H %c[16mTesting FONT 16 %c[10m",EscChar,EscChar,EscChar); fprintf(ComPort,"%c[18;5H Hit Anykey To Continue",EscChar,EscChar,EscChar); fflush(ComPort); getch(); // Clear The Screen fprintf (ComPort,"%c[2J",EscChar); fprintf(ComPort,"%c[1;2H %c[65m1. Testing Different Background %c[10m",EscChar,EscChar,EscChar); fprintf(ComPort,"%c[2;2H %c[66m2. Testing Different Background %c[10m",EscChar,EscChar,EscChar); fprintf(ComPort,"%c[3;2H %c[67m3. Testing Different Background %c[10m",EscChar,EscChar,EscChar); fprintf(ComPort,"%c[4;2H %c[68m4. Testing Different Background %c[10m",EscChar,EscChar,EscChar); fprintf(ComPort,"%c[5;2H %c[69m5. Testing Different Background %c[10m",EscChar,EscChar,EscChar); fprintf(ComPort,"%c[6;2H %c[77m6. Testing Different Background %c[10m",EscChar,EscChar,EscChar); fprintf(ComPort,"%c[7;2H %c[78m7. Testing Different Background %c[10m",EscChar,EscChar,EscChar); fprintf(ComPort,"%c[8;2H %c[79m8. Testing Different Background %c[10m",EscChar,EscChar,EscChar); fprintf(ComPort,"%c[18;2H Hit Anykey To View Graphics",EscChar,EscChar,EscChar); fflush(ComPort); getch(); // Clear The Screen fprintf (ComPort,"%c[2J",EscChar); // View Circle fprintf (ComPort,"%c[50;0;12 .r",EscChar); fprintf (ComPort,"%c[50;5;330 )r",EscChar); fprintf (ComPort,"%c[/r",EscChar); for (Round = 0;Round < 10; Round++) { // Cross-Hairs fprintf (ComPort,"%c[%d;%d .r",EscChar,Round+10,Round+10); fprintf (ComPort,"%c[%d;%d +r",EscChar,Round+40,Round+10); fprintf (ComPort,"%c[%d;%d .r",EscChar,Round+25,Round); fprintf (ComPort,"%c[%d;%d +r",EscChar,Round+25,Round+20); fprintf (ComPort,"%c[/r",EscChar); fflush(ComPort); Sleep(50); // Clear The Screen fprintf (ComPort,"%c[2J",EscChar); } // Filled Square fprintf (ComPort,"%c[60;10 .r",EscChar); fprintf (ComPort,"%c[100;10 +r",EscChar); fprintf (ComPort,"%c[120;60 +r",EscChar); fprintf (ComPort,"%c[150;10 +r",EscChar); fprintf (ComPort,"%c[#r",EscChar); // Star Shape fprintf (ComPort,"%c[100;100 .r",EscChar); fprintf (ComPort,"%c[100;150 +r",EscChar); fprintf (ComPort,"%c[70;110 +r",EscChar); fprintf (ComPort,"%c[120;125 +r",EscChar); fprintf (ComPort,"%c[70;140 +r",EscChar); fprintf (ComPort,"%c[100;100 +r",EscChar); fprintf (ComPort,"%c[#r",EscChar); fprintf(ComPort,"%c[18;2H Hit Anykey To Continue",EscChar,EscChar,EscChar); fflush(ComPort); getch(); // Clear The Screen fprintf (ComPort,"%c[2J",EscChar); // Paint the Screen fprintf (ComPort,"%c[0;0 .r",EscChar); fprintf (ComPort,"%c[0;0;4 +r",EscChar); fprintf (ComPort,"%c[0;0;24 +r",EscChar); fprintf (ComPort,"%c[0;0;20 +r",EscChar); fprintf (ComPort,"%c[#r",EscChar); fprintf(ComPort,"%c[18;2H Hit Anykey To Continue",EscChar,EscChar,EscChar); fflush(ComPort); getch(); // Clear The Screen fprintf (ComPort,"%c[2J",EscChar); return 0; }