* read the planes in reverse order, so that less shift instructions are required in GetPixel16

git-svn-id: trunk@40973 -
This commit is contained in:
nickysn 2019-01-21 16:09:13 +00:00
parent 33c330b3bc
commit b654c34d64

View File

@ -1697,7 +1697,7 @@ end;
add si,[VideoOfs] { Point to correct page offset... } add si,[VideoOfs] { Point to correct page offset... }
mov dx,03ceh mov dx,03ceh
mov ax,0004h mov ax,0304h
out dx,ax out dx,ax
inc dx inc dx
@ -1707,40 +1707,37 @@ end;
sub cl,al sub cl,al
mov bl,cl mov bl,cl
{ read plane 0 } { read plane 3 }
mov al,es:[si] { read display memory } mov al,es:[si] { read display memory }
shr al,cl shr al,cl
and al,01h and al,01h
mov ah,al { save bit in AH } mov ah,al { save bit in AH }
{ read plane 1 }
mov al,1 { Select plane to read }
out dx,al
mov al,es:[si]
shr al,cl
and al,01h
shl al,1
or ah,al { save bit in AH }
{ read plane 2 } { read plane 2 }
mov al,2 { Select plane to read } mov al,2 { Select plane to read }
out dx,al out dx,al
mov al,es:[si] mov al,es:[si]
shr al,cl shr al,cl
and al,01h and al,01h
shl al,1 shl ah,1
shl al,1 or ah,al { save bit in AH }
or ah,al { save bit in AH }
{ read plane 3 } { read plane 1 }
mov al,3 { Select plane to read } mov al,1 { Select plane to read }
out dx,al out dx,al
mov al,es:[si] mov al,es:[si]
shr al,cl shr al,cl
and al,01h and al,01h
shl al,1 shl ah,1
shl al,1 or ah,al { save bit in AH }
shl al,1
{ read plane 0 }
mov al,0 { Select plane to read }
out dx,al
mov al,es:[si]
shr al,cl
and al,01h
shl ah,1
or ah,al { save bit in AH } or ah,al { save bit in AH }
mov al,ah { 16-bit pixel in AX } mov al,ah { 16-bit pixel in AX }