4 * void __fastcall__ cputcxy (unsigned char x, unsigned char y, char c);
\r
5 * void __fastcall__ cputc (char c);
\r
10 /* Implements a 25 by 25 screen in the 1024 bytes video ram (32 by 32) */
\r
11 #define LINEWIDTH 0x20
\r
12 #define SCREENBASE ((char *) 0xd000)
\r
13 #define TOP_OFFSET 4
\r
14 #define LEFT_OFFSET 3
\r
15 #define SCREENVISBASE (SCREENBASE + 4 * LINEWIDTH + LEFT_OFFSET)
\r
19 static unsigned char xpos = 0;
\r
20 static unsigned char ypos = 0;
\r
22 void __fastcall__ cputc(char c)
\r
24 char * const cp = SCREENVISBASE + ypos * LINEWIDTH + xpos;
\r
29 if (xpos > WIDTH - 1) {
\r
33 if (ypos > HEIGHT - 1) {
\r
39 void __fastcall__ cputcxy (unsigned char x, unsigned char y, char c)
\r
41 xpos = x > WIDTH - 1 ? WIDTH - 1 : x;
\r
42 ypos = y > HEIGHT - 1 ? HEIGHT - 1 : y;
\r
47 unsigned char wherex (void)
\r
52 unsigned char wherey (void)
\r
57 void __fastcall__ gotox (unsigned char x)
\r
62 void __fastcall__ gotoy (unsigned char y)
\r
67 void __fastcall__ gotoxy (unsigned char x, unsigned char y)
\r