page.tilesh=page.height/TILEWH;\r
page.tilemidposscreenx = page.tw/2;\r
page.tilemidposscreeny = (page.th/2)+1;\r
+ page.stridew=page.width/4;\r
page.pagesize = (sdiword)(page.width/4)*page.height;\r
page.id = 0;\r
\r
result.tilesw = p->tilesw;\r
result.tilesh = p->tilesh;\r
result.id = p->id+1;\r
+ result.stridew=p->stridew;\r
result.pagesize = p->pagesize;\r
\r
return result;\r
result.tilesw=result.width/TILEWH;\r
result.tilesh=result.height/TILEWH;\r
result.id = p->id+1;\r
+ result.stridew=result.width/4;\r
result.pagesize = (sdiword)(result.width/4)*result.height;\r
\r
return result;\r
word pageOff = (word) page->data;\r
word xoff=x/4; /* xoffset that begins each row */\r
word scanCount=w/4; /* number of iterations per row (excluding right clip)*/\r
- word poffset = pageOff + y*(page->width/4) + xoff; /* starting offset */\r
- word nextRow = page->width/4-scanCount-1; /* loc of next row */\r
+ word poffset = pageOff + y*(page->stridew) + xoff; /* starting offset */\r
+ word nextRow = page->stridew-scanCount-1; /* loc of next row */\r
byte lclip[] = {0x0f, 0x0e, 0x0c, 0x08}; /* clips for rectangles not on 4s */\r
byte rclip[] = {0x00, 0x01, 0x03, 0x07};\r
byte left = lclip[x&0x03];\r
word dx, word dy,\r
word width, word height)\r
{\r
- word doffset = (word)dest->data + dy*(dest->width/4) + dx/4;\r
- word soffset = (word)src->data + sy*(src->width/4) + sx/4;\r
+ word doffset = (word)dest->data + dy*(dest->stridew) + dx/4;\r
+ word soffset = (word)src->data + sy*(src->stridew) + sx/4;\r
word scans = vga_state.vga_stride;\r
- word nextSrcRow = src->width/4 - scans - 1;\r
- word nextDestRow = dest->width/4 - scans - 1;\r
+ word nextSrcRow = src->stridew - scans - 1;\r
+ word nextDestRow = dest->stridew - scans - 1;\r
byte lclip[] = {0x0f, 0x0e, 0x0c, 0x08}; /* clips for rectangles not on 4s */\r
byte rclip[] = {0x0f, 0x01, 0x03, 0x07};\r
byte left = lclip[sx&0x03];\r