\r
}\r
\r
-void bputs(word x, unsigned y, , const char *s)\r
+void modexprint(word x, word y, word t, word col, const byte *str)\r
{
- int j;
- word s, o, t, w;\r
- word addr = (word) l;\r
+ word i, s, o, w, j, xp;
+ byte l[16];\r
+ word addr = (word) l;
+ word chw=0;
+ byte c;
+
+ switch(t)\r
+ {\r
+ case 0:
+ w=14;\r
+ break;\r
+ case 1:
+ w=8;\r
+ break;\r
+ case 2:
+ w=8;\r
+ break;\r
+ case 3:
+ w=16;\r
+ break;\r
+ default:
+ t=3;\r
+ w=16;\r
+ break;\r
+ }
+\r
s=romFonts[t].seg;\r
- o=romFonts[t].off;\r
+ o=romFonts[t].off;
\r
+ for(; *str != '\0'; str++)\r
+ {
+ c = *(str);
//load the letter 'A'\r
__asm {\r
MOV DI, addr\r
JNZ L1\r
}
\r
- for(; *s != '\0'; s++)\r
- {\r
for(i=0; i<w; i++)
{\r
j=1<<8;
- x=0;\r
+ xp=0;\r
while(j)
{
- modexputPixel(x, i, l[i] & j ? 15:0);
+ modexputPixel(x+xp+chw, y+i, l[i] & j ? col:0);
xp++;
j>>=1;
}