2 * conio api test program
6 * 1...0 change text color
7 * F5/F6 change border color
8 * F7/F8 change background color
18 static char grid[5][5] = {
19 { CH_ULCORNER, CH_HLINE, CH_TTEE, CH_HLINE, CH_URCORNER },
20 { CH_VLINE, ' ', CH_VLINE, ' ', CH_VLINE },
21 { CH_LTEE, CH_HLINE, CH_CROSS, CH_HLINE, CH_RTEE },
22 { CH_VLINE, ' ', CH_VLINE, ' ', CH_VLINE },
23 { CH_LLCORNER, CH_HLINE, CH_BTEE, CH_HLINE, CH_LRCORNER },
29 unsigned char xsize, ysize, tcol, bgcol, bcol, inpos = 0;
32 screensize(&xsize, &ysize);
33 cputs("cc65 conio test\n\rInput: [ ]");
35 cputsxy(0, 2, "Colors:" );
36 tcol = textcolor(0); /* remember original textcolor */
37 bgcol = bgcolor(0); /* remember original background color */
38 bcol = bordercolor(0); /* remember original border color */
39 bgcolor(bgcol);bordercolor(bcol);
40 for (i = 0; i < 3; ++i) {
42 for (j = 0; j < 16; ++j) {
49 cprintf("\n\n\r Screensize is: %dx%d", xsize, ysize);
54 cvlinexy(xsize-1,6,3);
55 cputcxy(0,6,CH_ULCORNER);
56 cputcxy(xsize-1,6,CH_URCORNER);
57 cputcxy(0,8,CH_LLCORNER);
58 cputcxy(xsize-1,8,CH_LRCORNER);
60 for (i = 0; i < 5; ++i) {
62 for (j = 0; j < 5; ++j) {
67 gotoxy(0,ysize - 2 - ((256 + xsize) / xsize));
69 for (i = 0; i < xsize; ++i) {
73 for (i = 0; i < 256; ++i) {
74 if ((i != '\n') && (i != '\r')) {
84 for (i = 0; i < xsize; ++i) {
100 #if defined(__NES__) || defined(__PCE__)
102 joy_install(joy_static_stddrv);
103 while (!joy_read(JOY_1)) ;
110 if ((i >= '0') && (i<='9')) {
112 } else if (i == CH_CURS_LEFT) {
113 inpos = (inpos - 1) & 7;
114 } else if (i == CH_CURS_RIGHT) {
115 inpos = (inpos + 1) & 7;
116 } else if (i == CH_F5) {
117 bgcol = (bgcol + 1) & 0x0f;
119 } else if (i == CH_F6) {
120 bgcol = (bgcol - 1) & 0x0f;
122 } else if (i == CH_F7) {
123 bgcol = (bgcol + 1) & 0x0f;
125 } else if (i == CH_F8) {
126 bgcol = (bgcol - 1) & 0x0f;
130 inpos = (inpos + 1) & 7;