X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fmodex16.c;h=9ae5246edcbe5f1fa893839da9e40071e1f5e9cb;hb=51b40bfb7f114e300c6739f98292bc7c5fe6c2d9;hp=ff9bf43a305615a7db9fb9d9ef01c09d99262d7b;hpb=d4628b0ea6575cffdfb70719da552497ce70151e;p=16.git diff --git a/src/lib/modex16.c b/src/lib/modex16.c index ff9bf43a..9ae5246e 100755 --- a/src/lib/modex16.c +++ b/src/lib/modex16.c @@ -197,8 +197,9 @@ modexDefaultPage(page_t *p) page.tilesh=page.height/TILEWH; page.tilemidposscreenx = page.tw/2; page.tilemidposscreeny = (page.th/2)+1; + page.pattern_ofs=0; page.stridew=page.width/4; - page.pagesize = (word)(page.width/4)*page.height; + page.pagesize = (word)(page.stridew)*page.height; page.pi=page.width*4; page.id = 0; @@ -224,6 +225,7 @@ modexNextPage(page_t *p) { result.tilesw = p->tilesw; result.tilesh = p->tilesh; result.stridew=p->stridew; + result.pattern_ofs = 0x10000UL - p->pagesize; result.pagesize = p->pagesize; result.pi=result.width*4; result.id = p->id+1; @@ -248,9 +250,10 @@ modexNextPageFlexibleSize(page_t *p, word x, word y) result.th = result.sh/TILEWH; result.tilesw=result.width/TILEWH; result.tilesh=result.height/TILEWH; + result.pattern_ofs=0x10000UL - (p->pattern_ofs+p->pagesize); result.id = p->id+1; - result.stridew=p->stridew;//result.width/4; - result.pagesize = (word)(result.width/4)*result.height; + result.stridew=p->sw/4;//result.width/4; + result.pagesize = (word)(result.stridew)*result.height; switch(result.id) { case 2: @@ -313,14 +316,14 @@ modexShowPage(page_t *page) { low_address = LOW_ADDRESS | (offset << 8); /* wait for appropriate timing and then program CRTC */ - while ((inp(INPUT_STATUS_1) & DISPLAY_ENABLE)); + //while ((inp(INPUT_STATUS_1) & DISPLAY_ENABLE)); outpw(CRTC_INDEX, high_address); outpw(CRTC_INDEX, low_address); outp(CRTC_INDEX, 0x13); outp(CRTC_DATA, crtcOffset); /* wait for one retrace */ - while (!(inp(INPUT_STATUS_1) & VRETRACE)); + //while (!(inp(INPUT_STATUS_1) & VRETRACE)); /* do PEL panning here */ outp(AC_INDEX, 0x33);