]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/modex16.c
let's show Sparky4 what I mean by vertical column font rendering.
[16.git] / src / lib / modex16.c
index e8e5208b098eb6220b2bf49e60473a46d86cda96..bada2e67972d951ea48fdacbe96bbda4b969b5b8 100755 (executable)
@@ -115,8 +115,8 @@ void modexEnter(sword vq, boolean cmem, global_game_variables_t *gv)
                        cm.clock_select = 0; /* misc register = 0xE3  25MHz */\r
                        cm.vsync_neg = 1;\r
                        cm.hsync_neg = 1;\r
-                       vga_state.vga_stride=88;\r
-                       cm.offset=88;\r
+                       vga_state.vga_stride=0x58;\r
+                       cm.offset=0x2c;\r
                        break;\r
                case 2: // TODO: 160x120 according to ModeX_160x120regs\r
                        return;\r
@@ -873,23 +873,11 @@ byte modexgetPixel(page_t *page, int x, int y)
 \r
 }\r
 \r
-void modexhlin(page_t *page, word xl, word xh, word y, word color)\r
-{\r
-       word x;\r
-       word yy=0;\r
-\r
-       for(x=0;x<xh*4;x+=4)\r
-       {\r
-               if(x+4>=page[0].sw-1){ x=0; yy+=4; }\r
-               modexClearRegion(page, x+xl, y+yy, 4, 4, color);\r
-       }\r
-       //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, boolean q)\r
+void modexprint(page_t *page, word x, word y, word t, word col, word bgcol, const byte *str)\r
 {\r
        word s, o, w;\r
        word addr = (word) romFontsData.l;\r
+       word addrq = (page->width/4) * y + (x / 4) + ((word)page->data);\r
        byte c;\r
 \r
        s=romFonts[t].seg;\r
@@ -926,7 +914,8 @@ void modexprint(page_t *page, word x, word y, word t, word col, word bgcol, cons
                JNZ L1\r
        }\r
 //TODO: OPTIMIZE THIS!!!!\r
-               modexDrawCharPBuf(page, x, y, t, col, bgcol, q);\r
+               modexDrawCharPBuf(page, x/*for mode X planar use*/, y/*redunant, remove*/, t, col, bgcol, addrq);\r
+               addrq += 2; /* move 8 pixels over (2 x 4 planar pixels per byte) */\r
 \r
                //if(!q) getch();\r
        }\r