[Back to EGAVGA SWAG index] [Back to Main SWAG index] [Original]
{
> I don't see the need for Ystart. Offset address =
well, Ystart is needed basically because I'm using two pages, and depending
on which page is visible at the time, ystart varies...
> (BytesPerScanLine * y)+x. Point_VESA should not XOR AX,AX after
> @skip. The AH contains the error return from $4f05 function.
> AH=00h is success.
ok, but this doesn't solve my problem... my problem is that I always get to
'see' the wrong colors - I don't mind which error codes there are :-))
> P.S. Can you show me how to VESA PutPixel to 640x480x16 without using BGI?
sure, but 640x480x16 still is a normal VGA and not a VESA mode:
}
PROCEDURE plot_640x480x16; ASSEMBLER;
ASM
MOV ES, SEGA000
MOV DI, px
MOV CX, DI
SHR DI, 3
MOV AX, py
SHL AX, 4
ADD DI, AX
SHL AX, 2
ADD DI, AX
AND CL, $07
MOV AH, $80
SHR AH, CL
MOV AL, $08
MOV DX, $03CE
OUT DX, AX
MOV AX, pc
MOV AH, [ES:DI]
MOV [ES:DI], AL
END;
{
this should work (as always: px,py are the coordinates and pc is the color
(all global INTEGERs)
}
[Back to EGAVGA SWAG index] [Back to Main SWAG index] [Original]