//modexputPixel(page, x+xl, y, color);\r
}\r
\r
-void modexprint(page_t *page, word x, word y, word t, word col, word bgcol, const byte *str)\r
+void modexprint(page_t *page, word x, word y, word t, word col, word bgcol, const byte *str, boolean q)\r
{\r
- word i, s, o, w, j, xp;\r
- byte l[1024];\r
- word addr = (word) l;\r
- word chw=0;\r
+ word s, o, w;\r
+ word addr = (word) romFontsData.l;\r
byte c;\r
- //byte near *bakapee;\r
-\r
- switch(t)\r
- {\r
- case 0:\r
- w=14;\r
- break;\r
- case 1:\r
- w=8;\r
- break;\r
- case 2:\r
- w=8;\r
- break;\r
- case 3:\r
- w=16;\r
- break;\r
- default:\r
- t=3;\r
- w=16;\r
- break;\r
- }\r
\r
s=romFonts[t].seg;\r
o=romFonts[t].off;\r
+ w=romFonts[t].charSize;\r
+ romFontsData.chw=0;\r
\r
for(; *str != '\0'; str++)\r
{\r
c = (*str);\r
if((c=='\n'/* || c=="\\r
-"*/) || chw\r
+"*/) || romFontsData.chw\r
>=page->width)\r
{\r
- chw=0;\r
- y+=w;\r
+ romFontsData.chw=0;\r
+ y+=romFonts[t].charSize;\r
continue;\r
}\r
//load the letter 'A'\r
DEC CX\r
JNZ L1\r
}\r
- //bakapee = _nmalloc(sizeof(byte)*8);\r
//TODO: OPTIMIZE THIS!!!!\r
- for(i=0; i<w; i++)\r
- {\r
- /*modexSelectPlane(PLANE(x));\r
- j=1<<8;\r
- *bakapee=(l[i] & j ? col:bgcol);\r
- _fmemcpy(page->data + (((page->width/4) * (y+page->dy+i)) + ((x+page->dx+chw) / 4)), bakapee, 8);*/\r
- j=1<<8;\r
- xp=0;\r
- while(j)\r
- {\r
- modexputPixel(page, x+xp+chw, y+i, l[i] & j ? col:bgcol);\r
- xp++;\r
- j>>=1;\r
- }\r
- }\r
- chw += xp;\r
+ modexDrawCharPBuf(page, x, y, t, col, bgcol, q);\r
+\r
+ //if(!q) getch();\r
}\r
- //_nfree(bakapee);\r
}\r
\r
void modexprintbig(page_t *page, word x, word y, word t, word col, word bgcol, const byte *str)\r
/* set map mask to all 4 planes */\r
outpw(SC_INDEX, 0xff02);\r
//_fmemset(VGA, color, 16000);\r
- _fmemset(Where, color, page->width*(page->height));\r
+ _fmemset(Where, color, page->width*(page->height)/4);\r
}\r
\r
void\r