page.tilesh=page.height/TILEWH;\r
page.tilemidposscreenx = page.tw/2;\r
page.tilemidposscreeny = (page.th/2)+1;\r
- page.pagesize = (sdiword)page.width*page.height;\r
+ page.pagesize = (sdiword)(page.width/4)*page.height;\r
page.id = 0;\r
\r
return page;\r
modexNextPage(page_t *p) {\r
page_t result;\r
\r
- result.data = p->data + (byte)(p->width/4)*p->height;\r
+ result.data = p->data + (p->pagesize);\r
result.dx = 0;\r
result.dy = 0;\r
result.width = p->width;\r
{\r
page_t result;\r
\r
- result.data = p->data + (byte)(p->width/4)*p->height; /* compute the offset */\r
+ result.data = p->data + (p->pagesize); /* compute the offset */\r
result.dx = 0;\r
result.dy = 0;\r
result.width = x;\r
result.tilesw=result.width/TILEWH;\r
result.tilesh=result.height/TILEWH;\r
result.id = p->id+1;\r
- result.pagesize = (sdiword)result.width*result.height;\r
+ result.pagesize = (sdiword)(result.width/4)*result.height;\r
\r
return result;\r
}\r
(video->page[0]) = modexDefaultPage(&(video->page[0])); video->num_of_pages++;\r
//video->page[0].width += (TILEWHD); video->page[0].height += (TILEWHD);\r
(video->page[1]) = modexNextPage(&(video->page[0])); video->num_of_pages++;\r
- (video->page[2]) = modexNextPageFlexibleSize(&(video->page[1]), video->page[0].width, video->page[0].sh-40); video->num_of_pages++;\r
- (video->page[3]) = modexNextPageFlexibleSize(&(video->page[2]), TILEWH, TILEWH); video->num_of_pages++;\r
+ //(video->page[2]) = modexNextPageFlexibleSize(&(video->page[1]), video->page[0].width, video->page[0].sh-40); video->num_of_pages++;\r
+ //(video->page[3]) = modexNextPageFlexibleSize(&(video->page[2]), TILEWH, TILEWH); video->num_of_pages++;\r
modexCalcVmemRemain(video);\r
video->p=0;\r
}\r
}\r
\r
__asm {\r
+ PUSHF\r
+ PUSH ES\r
+ PUSH AX\r
+ PUSH BX\r
+ PUSH CX\r
+ PUSH DX\r
+ PUSH SI\r
+ PUSH DI\r
MOV AX, SCREEN_SEG ; go to the VGA memory\r
MOV ES, AX\r
MOV DI, poffset ; go to the first pixel\r
ADD DI, nextRow ; go to the next row\r
DEC h\r
JNZ SCAN_START\r
+ POP DI\r
+ POP SI\r
+ POP DX\r
+ POP CX\r
+ POP BX\r
+ POP AX\r
+ POP ES\r
+ POPF\r
}\r
}\r
\r