X-Git-Url: http://4ch.mooo.com/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fmodex16.c;h=02313272d9855ae8da34aff0a7aa749e178b9e7b;hb=b6b0bffba1968bc405ae6dea1a271811700cf03b;hp=e37aaa593f3fe4214ad6fa49baa5db186418c776;hpb=f1ad1f405d68627dbd535c28195b5c8b978a4f3b;p=16.git diff --git a/src/lib/modex16.c b/src/lib/modex16.c index e37aaa59..02313272 100755 --- a/src/lib/modex16.c +++ b/src/lib/modex16.c @@ -291,7 +291,6 @@ modexShowPage(page_t *page) { outp(AC_INDEX, (page->dx & 0x03) << 1); } - void modexPanPage(page_t *page, int dx, int dy) { page->dx = dx; @@ -322,6 +321,14 @@ modexClearRegion(page_t *page, int x, int y, int w, int h, byte color) { } __asm { + PUSHF + PUSH ES + PUSH AX + PUSH BX + PUSH CX + PUSH DX + PUSH SI + PUSH DI MOV AX, SCREEN_SEG ; go to the VGA memory MOV ES, AX MOV DI, poffset ; go to the first pixel @@ -355,6 +362,14 @@ modexClearRegion(page_t *page, int x, int y, int w, int h, byte color) { ADD DI, nextRow ; go to the next row DEC h JNZ SCAN_START + POP DI + POP SI + POP DX + POP CX + POP BX + POP AX + POP ES + POPF } }