]> 4ch.mooo.com Git - 16.git/blobdiff - src/lib/modex16.c
gvar.video.page[1].pattern_ofs added wwwwwwwww
[16.git] / src / lib / modex16.c
index ff9bf43a305615a7db9fb9d9ef01c09d99262d7b..9ae5246edcbe5f1fa893839da9e40071e1f5e9cb 100755 (executable)
@@ -197,8 +197,9 @@ modexDefaultPage(page_t *p)
        page.tilesh=page.height/TILEWH;\r
        page.tilemidposscreenx = page.tw/2;\r
        page.tilemidposscreeny = (page.th/2)+1;\r
+       page.pattern_ofs=0;\r
        page.stridew=page.width/4;\r
-       page.pagesize = (word)(page.width/4)*page.height;\r
+       page.pagesize = (word)(page.stridew)*page.height;\r
        page.pi=page.width*4;\r
        page.id = 0;\r
 \r
@@ -224,6 +225,7 @@ modexNextPage(page_t *p) {
        result.tilesw = p->tilesw;\r
        result.tilesh = p->tilesh;\r
        result.stridew=p->stridew;\r
+       result.pattern_ofs = 0x10000UL - p->pagesize;\r
        result.pagesize = p->pagesize;\r
        result.pi=result.width*4;\r
        result.id = p->id+1;\r
@@ -248,9 +250,10 @@ modexNextPageFlexibleSize(page_t *p, word x, word y)
        result.th = result.sh/TILEWH;\r
        result.tilesw=result.width/TILEWH;\r
        result.tilesh=result.height/TILEWH;\r
+       result.pattern_ofs=0x10000UL - (p->pattern_ofs+p->pagesize);\r
        result.id = p->id+1;\r
-       result.stridew=p->stridew;//result.width/4;\r
-       result.pagesize = (word)(result.width/4)*result.height;\r
+       result.stridew=p->sw/4;//result.width/4;\r
+       result.pagesize = (word)(result.stridew)*result.height;\r
        switch(result.id)\r
        {\r
                case 2:\r
@@ -313,14 +316,14 @@ modexShowPage(page_t *page) {
     low_address  = LOW_ADDRESS  | (offset << 8);\r
 \r
     /* wait for appropriate timing and then program CRTC */\r
-    while ((inp(INPUT_STATUS_1) & DISPLAY_ENABLE));\r
+    //while ((inp(INPUT_STATUS_1) & DISPLAY_ENABLE));\r
     outpw(CRTC_INDEX, high_address);\r
     outpw(CRTC_INDEX, low_address);\r
     outp(CRTC_INDEX, 0x13);\r
     outp(CRTC_DATA, crtcOffset);\r
 \r
     /*  wait for one retrace */\r
-    while (!(inp(INPUT_STATUS_1) & VRETRACE));\r
+    //while (!(inp(INPUT_STATUS_1) & VRETRACE));\r
 \r
     /* do PEL panning here */\r
     outp(AC_INDEX, 0x33);\r