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
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
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
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