2 * conio api test program
6 * 1...0 change text color
7 * F5/F6 change border color
8 * F7/F8 change background color
18 #if defined(__GAMATE__)
19 /* there is not enough screen space to show all 256 characters at the bottom */
27 static char grid[5][5] = {
28 { CH_ULCORNER, CH_HLINE, CH_TTEE, CH_HLINE, CH_URCORNER },
29 { CH_VLINE, ' ', CH_VLINE, ' ', CH_VLINE },
30 { CH_LTEE, CH_HLINE, CH_CROSS, CH_HLINE, CH_RTEE },
31 { CH_VLINE, ' ', CH_VLINE, ' ', CH_VLINE },
32 { CH_LLCORNER, CH_HLINE, CH_BTEE, CH_HLINE, CH_LRCORNER },
38 unsigned char xsize, ysize, tcol, bgcol, bcol, inpos = 0;
39 #if defined(__NES__) || defined(__PCE__) || defined(__GAMATE__)
42 joy_install(joy_static_stddrv);
45 screensize(&xsize, &ysize);
46 cputs("cc65 conio test\n\r");
49 cputsxy(0, 2, "Colors:" );
50 tcol = textcolor(0); /* remember original textcolor */
51 bgcol = bgcolor(0); /* remember original background color */
52 bcol = bordercolor(0); /* remember original border color */
53 bgcolor(bgcol);bordercolor(bcol);
54 for (i = 0; i < 3; ++i) {
56 for (j = 0; j < NUMCOLS; ++j) {
63 cprintf("\n\n\r Screensize: %dx%d", xsize, ysize );
68 cvlinexy(xsize-1,6,3);
69 cputcxy(0,6,CH_ULCORNER);
70 cputcxy(xsize-1,6,CH_URCORNER);
71 cputcxy(0,8,CH_LLCORNER);
72 cputcxy(xsize-1,8,CH_LRCORNER);
74 for (i = 0; i < 5; ++i) {
76 for (j = 0; j < 5; ++j) {
81 gotoxy(0,ysize - 2 - ((NUMCHARS + xsize) / xsize));
83 for (i = 0; i < xsize; ++i) {
87 for (i = 0; i < NUMCHARS; ++i) {
88 if ((i != '\n') && (i != '\r')) {
98 for (i = 0; i < xsize; ++i) {
106 /* do the "rvs" blinking */
107 i = textcolor(COLOR_BLACK);
111 cputc(j ? 'R' : ' ');
119 #if defined(__NES__) || defined(__PCE__) || defined(__GAMATE__)
120 /* not all targets have waitvsync */
122 /* for targets that do not have a keyboard, read the first
124 joy = joy_read(JOY_1);
125 cprintf("%02x", joy);
128 if ((i >= '0') && (i<='9')) {
130 } else if (i == CH_CURS_LEFT) {
131 inpos = (inpos - 1) & 7;
132 } else if (i == CH_CURS_RIGHT) {
133 inpos = (inpos + 1) & 7;
134 } else if (i == CH_F5) {
135 bgcol = (bgcol + 1) & 0x0f;
137 } else if (i == CH_F6) {
138 bgcol = (bgcol - 1) & 0x0f;
140 } else if (i == CH_F7) {
141 bgcol = (bgcol + 1) & 0x0f;
143 } else if (i == CH_F8) {
144 bgcol = (bgcol - 1) & 0x0f;
148 inpos = (inpos + 1) & 7;