2 * conio api test program
6 * 1...0 change text color
7 * F5/F6 change border color
8 * F7/F8 change background color
17 #if defined(__GAMATE__)
25 static char grid[5][5] = {
26 { CH_ULCORNER, CH_HLINE, CH_TTEE, CH_HLINE, CH_URCORNER },
27 { CH_VLINE, ' ', CH_VLINE, ' ', CH_VLINE },
28 { CH_LTEE, CH_HLINE, CH_CROSS, CH_HLINE, CH_RTEE },
29 { CH_VLINE, ' ', CH_VLINE, ' ', CH_VLINE },
30 { CH_LLCORNER, CH_HLINE, CH_BTEE, CH_HLINE, CH_LRCORNER },
36 unsigned char xsize, ysize, tcol, bgcol, bcol, inpos = 0;
39 screensize(&xsize, &ysize);
40 cputs("cc65 conio test\n\r");
41 #if !defined(__NES__) && !defined(__PCE__) && !defined(__GAMATE__)
44 cputsxy(0, 2, "Colors:" );
45 tcol = textcolor(0); /* remember original textcolor */
46 bgcol = bgcolor(0); /* remember original background color */
47 bcol = bordercolor(0); /* remember original border color */
48 bgcolor(bgcol);bordercolor(bcol);
49 for (i = 0; i < 3; ++i) {
51 for (j = 0; j < NUMCOLS; ++j) {
58 cprintf("\n\n\r Screensize: %dx%d", xsize, ysize );
63 cvlinexy(xsize-1,6,3);
64 cputcxy(0,6,CH_ULCORNER);
65 cputcxy(xsize-1,6,CH_URCORNER);
66 cputcxy(0,8,CH_LLCORNER);
67 cputcxy(xsize-1,8,CH_LRCORNER);
69 for (i = 0; i < 5; ++i) {
71 for (j = 0; j < 5; ++j) {
76 gotoxy(0,ysize - 2 - ((NUMCHARS + xsize) / xsize));
78 for (i = 0; i < xsize; ++i) {
82 for (i = 0; i < NUMCHARS; ++i) {
83 if ((i != '\n') && (i != '\r')) {
93 for (i = 0; i < xsize; ++i) {
104 cputc(j ? 'R' : ' ');
109 #if !defined(__NES__) && !defined(__PCE__) && !defined(__GAMATE__)
112 if ((i >= '0') && (i<='9')) {
114 } else if (i == CH_CURS_LEFT) {
115 inpos = (inpos - 1) & 7;
116 } else if (i == CH_CURS_RIGHT) {
117 inpos = (inpos + 1) & 7;
118 } else if (i == CH_F5) {
119 bgcol = (bgcol + 1) & 0x0f;
121 } else if (i == CH_F6) {
122 bgcol = (bgcol - 1) & 0x0f;
124 } else if (i == CH_F7) {
125 bgcol = (bgcol + 1) & 0x0f;
127 } else if (i == CH_F8) {
128 bgcol = (bgcol - 1) & 0x0f;
132 inpos = (inpos + 1) & 7;
135 #if defined(__NES__) || defined(__PCE__) || defined(__GAMATE__)