X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fmodex16%2F16render.c;h=77598fa55ee14c9616bfbdff3d5b206b29719459;hb=c4938b26e71facac986fcccc2334223273293d86;hp=8e6fa43624cd41be40f3b0b7fbd4ffbdb7809f53;hpb=c1d3221afb5fe541d8c886ff66198329c153e48e;p=16.git diff --git a/src/lib/modex16/16render.c b/src/lib/modex16/16render.c index 8e6fa436..77598fa5 100755 --- a/src/lib/modex16/16render.c +++ b/src/lib/modex16/16render.c @@ -435,14 +435,15 @@ modexDrawSpritePBufRegion(page_t *page, int x, int y, } } -void modexDrawCharPBuf(page_t *page, int x/*for planar selection only*/, int y/*redundant, remove*/, word t, word col, word bgcol, word addr) +void modexDrawChar(page_t *page, int x/*for planar selection only*/, word t, word col, word bgcol, word addr) { /* vertical drawing routine by joncampbell123. * * optimize for VGA mode X planar memory to minimize the number of times we do I/O write to map mask register. * so, we enumerate over columns (not rows!) to draw every 4th pixel. bit masks are used because of the font bitmap. - * + * * NTS: addr defines what VGA memory address we use, "x" is redundant except to specify which of the 4 pixels we select in the map mask register. */ + word rows = romFonts[t].charSize; word drawaddr; word colm, row; byte fontbyte; @@ -455,7 +456,7 @@ void modexDrawCharPBuf(page_t *page, int x/*for planar selection only*/, int y/* for (colm=0;colm < 4;colm++) { drawaddr = addr; modexSelectPlane(PLANE(plane)); - for (row=0;row < 8;row++) { + for (row=0;row < rows;row++) { fontbyte = romFontsData.l[row]; vga_state.vga_graphics_ram[drawaddr ] = (fontbyte & m1) ? col : bgcol; vga_state.vga_graphics_ram[drawaddr+1] = (fontbyte & m2) ? col : bgcol;