From 6bd905619077102c177dc40d020a630bc5ca1ea9 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Mon, 13 Jul 2015 12:14:43 -0500 Subject: [PATCH] modified: src/lib/modex16.c --- src/lib/modex16.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/lib/modex16.c b/src/lib/modex16.c index 4717b444..1534ed56 100644 --- a/src/lib/modex16.c +++ b/src/lib/modex16.c @@ -941,6 +941,38 @@ no... wait.... no wwww printf("chkcolor end~\n"); free(pal); } +/* +; on entry X,Y = location and C = color (0-15) +putpixel proc near uses ax bx cx dx + +; byte offset = Y * (horz_res / 8) + int(X / 8) + + mov ax,Y ; calculate offset + mov dx,80 ; + mul dx ; ax = y * 80 + mov bx,X ; + mov cl,bl ; save low byte for below + shr bx,03 ; div by 8 + add bx,ax ; bx = offset this group of 8 pixels + + mov dx,03CEh ; set to video hardware controller + + and cl,07h ; Compute bit mask from X-coordinates + xor cl,07h ; and put in ah + mov ah,01h ; + shl ah,cl ; + mov al,08h ; bit mask register + out dx,ax ; + + mov ax,0205h ; read mode 0, write mode 2 + out dx,ax ; + + mov al,es:[bx] ; load to latch register + mov al,Color + mov es:[bx],al ; write to register + + ret +putpixel endp*/ void bputs(/*bmp_t *bmp, */unsigned x, unsigned y, const char *s) { -- 2.39.5