mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-23 00:33:03 +02:00
+ patternlineVESA256, not yet used because I'm not yet sure it's
already working 100% * changed {$ifdef logging} to {$ifdef logging2} for vlineVESA256 and hlineVESA256 (they're used a lot a working properly afaik)
This commit is contained in:
parent
fa2cfdb2e7
commit
f13d2bd66d
@ -527,7 +527,7 @@ end;
|
||||
pixels := pixels shr 8;
|
||||
WordArray(Data)[index+l*4+2] := pixels and $ff;
|
||||
pixels := pixels shr 8;
|
||||
WordArray(Data)[index+l*4+3] := pixels and $ff;
|
||||
WordArray(Data)[index+l*4+3] := pixels{ and $ff};
|
||||
end;
|
||||
inc(index,l*4+4);
|
||||
inc(offs,l*4+4);
|
||||
@ -572,19 +572,19 @@ end;
|
||||
StartXViewPort+ViewWidth, StartYViewPort+ViewHeight) then
|
||||
exit;
|
||||
end;
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('hline '+strf(x)+' - '+strf(x2)+' on '+strf(y)+' in mode '+strf(currentwritemode));
|
||||
{$endif logging}
|
||||
{$endif logging2}
|
||||
HLength := x2 - x + 1;
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('length: '+strf(hlength));
|
||||
{$endif logging}
|
||||
{$endif logging2}
|
||||
if HLength>0 then
|
||||
begin
|
||||
Offs:=(Longint(y)+YOffset)*bytesperline+x;
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Offs: '+strf(offs)+' -- '+hexstr(offs,8));
|
||||
{$endif logging}
|
||||
{$endif logging2}
|
||||
Mask := byte(CurrentColor)+byte(CurrentColor) shl 8;
|
||||
Mask := Mask + Mask shl 16;
|
||||
Case CurrentWriteMode of
|
||||
@ -594,27 +594,27 @@ end;
|
||||
curbank := integer(offs shr 16);
|
||||
SetWriteBank(curbank);
|
||||
SetReadBank(curbank);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('set bank '+strf(curbank)+' for offset '+hexstr(offs,8));
|
||||
{$endif logging}
|
||||
{$endif logging2}
|
||||
If HLength > 3 Then
|
||||
{ allign target }
|
||||
{ align target }
|
||||
Begin
|
||||
l := 0;
|
||||
If (offs and 3) <> 0 then
|
||||
{ this cannot go past a window boundary bacause the }
|
||||
{ size of a window is always a multiple of 4 }
|
||||
Begin
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Alligning by drawing '+strf(4-(offs and 3))+' pixels');
|
||||
{$endif logging}
|
||||
{$endif logging2}
|
||||
for l := 1 to 4-(offs and 3) do
|
||||
Mem[WinWriteSeg:word(offs)+l-1] :=
|
||||
Mem[WinReadSeg:word(offs)+l-1] And Byte(CurrentColor);
|
||||
End;
|
||||
Dec(HLength, l);
|
||||
inc(offs, l);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Offset is now '+hexstr(offs,8)+', length left: '+strf(hlength));
|
||||
{$endif logging}
|
||||
{ offs is now 4-bytes alligned }
|
||||
@ -622,7 +622,7 @@ end;
|
||||
bankrest := HLength
|
||||
else {the rest won't fit anymore in the current window }
|
||||
bankrest := $10000 - (Offs and $ffff);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Rest to be drawn in this window: '+strf(bankrest));
|
||||
{$endif logging}
|
||||
For l := 0 to (Bankrest div 4)-1 Do
|
||||
@ -630,13 +630,13 @@ end;
|
||||
MemL[WinReadSeg:word(offs)+l*4] And Mask;
|
||||
inc(offs,l*4+4);
|
||||
dec(hlength,l*4+4);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Offset is now '+hexstr(offs,8)+', length left: '+strf(hlength));
|
||||
{$endif logging}
|
||||
End
|
||||
Else
|
||||
Begin
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Drawing leftover: '+strf(HLength)+' at offset '+hexstr(offs,8));
|
||||
{$endif logging}
|
||||
x := offs mod bytesperline;
|
||||
@ -652,7 +652,7 @@ end;
|
||||
curbank := integer(offs shr 16);
|
||||
SetWriteBank(curbank);
|
||||
SetReadBank(curbank);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('set bank '+strf(curbank)+' for offset '+hexstr(offs,8));
|
||||
{$endif logging}
|
||||
If HLength > 3 Then
|
||||
@ -663,7 +663,7 @@ end;
|
||||
{ this cannot go past a window boundary bacause the }
|
||||
{ size of a window is always a multiple of 4 }
|
||||
Begin
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Alligning by drawing '+strf(4-(offs and 3))+' pixels');
|
||||
{$endif logging}
|
||||
for l := 1 to 4-(offs and 3) do
|
||||
@ -672,7 +672,7 @@ end;
|
||||
End;
|
||||
Dec(HLength, l);
|
||||
inc(offs, l);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Offset is now '+hexstr(offs,8)+', length left: '+strf(hlength));
|
||||
{$endif logging}
|
||||
{ offs is now 4-bytes alligned }
|
||||
@ -680,7 +680,7 @@ end;
|
||||
bankrest := HLength
|
||||
else {the rest won't fit anymore in the current window }
|
||||
bankrest := $10000 - (Offs and $ffff);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Rest to be drawn in this window: '+strf(bankrest));
|
||||
{$endif logging}
|
||||
For l := 0 to (Bankrest div 4)-1 Do
|
||||
@ -688,13 +688,13 @@ end;
|
||||
MemL[WinReadSeg:word(offs)+l*4] Xor Mask;
|
||||
inc(offs,l*4+4);
|
||||
dec(hlength,l*4+4);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Offset is now '+hexstr(offs,8)+', length left: '+strf(hlength));
|
||||
{$endif logging}
|
||||
End
|
||||
Else
|
||||
Begin
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Drawing leftover: '+strf(HLength)+' at offset '+hexstr(offs,8));
|
||||
{$endif logging}
|
||||
x := offs mod bytesperline;
|
||||
@ -710,7 +710,7 @@ end;
|
||||
curbank := integer(offs shr 16);
|
||||
SetWriteBank(curbank);
|
||||
SetReadBank(curbank);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('set bank '+strf(curbank)+' for offset '+hexstr(offs,8));
|
||||
{$endif logging}
|
||||
If HLength > 3 Then
|
||||
@ -721,7 +721,7 @@ end;
|
||||
{ this cannot go past a window boundary bacause the }
|
||||
{ size of a window is always a multiple of 4 }
|
||||
Begin
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Alligning by drawing '+strf(4-(offs and 3))+' pixels');
|
||||
{$endif logging}
|
||||
for l := 1 to 4-(offs and 3) do
|
||||
@ -730,7 +730,7 @@ end;
|
||||
End;
|
||||
Dec(HLength, l);
|
||||
inc(offs, l);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Offset is now '+hexstr(offs,8)+', length left: '+strf(hlength));
|
||||
{$endif logging}
|
||||
{ offs is now 4-bytes alligned }
|
||||
@ -738,7 +738,7 @@ end;
|
||||
bankrest := HLength
|
||||
else {the rest won't fit anymore in the current window }
|
||||
bankrest := $10000 - (Offs and $ffff);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Rest to be drawn in this window: '+strf(bankrest));
|
||||
{$endif logging}
|
||||
For l := 0 to (Bankrest div 4)-1 Do
|
||||
@ -746,13 +746,13 @@ end;
|
||||
MemL[WinReadSeg:word(offs)+l*4] Or Mask;
|
||||
inc(offs,l*4+4);
|
||||
dec(hlength,l*4+4);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Offset is now '+hexstr(offs,8)+', length left: '+strf(hlength));
|
||||
{$endif logging}
|
||||
End
|
||||
Else
|
||||
Begin
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Drawing leftover: '+strf(HLength)+' at offset '+hexstr(offs,8));
|
||||
{$endif logging}
|
||||
x := offs mod bytesperline;
|
||||
@ -769,7 +769,7 @@ end;
|
||||
Repeat
|
||||
curbank := integer(offs shr 16);
|
||||
SetWriteBank(curbank);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('set bank '+strf(curbank)+' for offset '+hexstr(offs,8)+' -- '+strf(offs));
|
||||
{$endif logging}
|
||||
If HLength > 3 Then
|
||||
@ -780,7 +780,7 @@ end;
|
||||
{ this cannot go past a window boundary bacause the }
|
||||
{ size of a window is always a multiple of 4 }
|
||||
Begin
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Alligning by drawing '+strf(4-(offs and 3))+' pixels');
|
||||
{$endif logging}
|
||||
for l := 1 to 4-(offs and 3) do
|
||||
@ -788,7 +788,7 @@ end;
|
||||
End;
|
||||
Dec(HLength, l);
|
||||
inc(offs, l);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Offset is now '+hexstr(offs,8)+', length left: '+strf(hlength));
|
||||
{$endif logging}
|
||||
{ offs is now 4-bytes alligned }
|
||||
@ -796,20 +796,20 @@ end;
|
||||
bankrest := HLength
|
||||
else {the rest won't fit anymore in the current window }
|
||||
bankrest := $10000 - (Offs and $ffff);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Rest to be drawn in this window: '+strf(bankrest)+' -- '+hexstr(bankrest,8));
|
||||
{$endif logging}
|
||||
For l := 0 to (Bankrest div 4)-1 Do
|
||||
MemL[WinWriteSeg:word(offs)+l*4] := Mask;
|
||||
inc(offs,l*4+4);
|
||||
dec(hlength,l*4+4);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Offset is now '+hexstr(offs,8)+', length left: '+strf(hlength));
|
||||
{$endif logging}
|
||||
End
|
||||
Else
|
||||
Begin
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Drawing leftover: '+strf(HLength)+' at offset '+hexstr(offs,8));
|
||||
{$endif logging}
|
||||
x := offs mod bytesperline;
|
||||
@ -848,17 +848,17 @@ end;
|
||||
exit;
|
||||
end;
|
||||
Col := Byte(CurrentColor);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('vline '+strf(y)+' - '+strf(y2)+' on '+strf(x)+' in mode '+strf(currentwritemode));
|
||||
{$endif logging}
|
||||
VLength := y2 - y + 1;
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('length: '+strf(vlength));
|
||||
{$endif logging}
|
||||
if VLength>0 then
|
||||
begin
|
||||
Offs:=(Longint(y)+YOffset)*bytesperline+x;
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Offs: '+strf(offs)+' -- '+hexstr(offs,8));
|
||||
{$endif logging}
|
||||
Case CurrentWriteMode of
|
||||
@ -868,14 +868,14 @@ end;
|
||||
curbank := integer(offs shr 16);
|
||||
SetWriteBank(curbank);
|
||||
SetReadBank(curbank);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('set bank '+strf(curbank)+' for offset '+hexstr(offs,8));
|
||||
{$endif logging}
|
||||
If (VLength-1)*bytesperline <= ($10000-(Offs and $ffff)) Then
|
||||
bankrest := VLength
|
||||
else {the rest won't fit anymore in the current window }
|
||||
bankrest := (($10000 - (Offs and $ffff)) div bytesperline)+1;
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Rest to be drawn in this window: '+strf(bankrest));
|
||||
{$endif logging}
|
||||
For l := 0 to Bankrest-1 Do
|
||||
@ -885,7 +885,7 @@ end;
|
||||
inc(offs,bytesperline);
|
||||
end;
|
||||
dec(VLength,l+1);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Offset is now '+hexstr(offs,8)+', length left: '+strf(vlength));
|
||||
{$endif logging}
|
||||
Until VLength = 0;
|
||||
@ -896,14 +896,14 @@ end;
|
||||
curbank := integer(offs shr 16);
|
||||
SetWriteBank(curbank);
|
||||
SetReadBank(curbank);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('set bank '+strf(curbank)+' for offset '+hexstr(offs,8));
|
||||
{$endif logging}
|
||||
If (VLength-1)*bytesperline <= ($10000-(Offs and $ffff)) Then
|
||||
bankrest := VLength
|
||||
else {the rest won't fit anymore in the current window }
|
||||
bankrest := (($10000 - (Offs and $ffff)) div bytesperline)+1;
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Rest to be drawn in this window: '+strf(bankrest));
|
||||
{$endif logging}
|
||||
For l := 0 to Bankrest-1 Do
|
||||
@ -913,7 +913,7 @@ end;
|
||||
inc(offs,bytesperline);
|
||||
end;
|
||||
dec(VLength,l+1);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Offset is now '+hexstr(offs,8)+', length left: '+strf(vlength));
|
||||
{$endif logging}
|
||||
Until VLength = 0;
|
||||
@ -924,14 +924,14 @@ end;
|
||||
curbank := integer(offs shr 16);
|
||||
SetWriteBank(curbank);
|
||||
SetReadBank(curbank);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('set bank '+strf(curbank)+' for offset '+hexstr(offs,8));
|
||||
{$endif logging}
|
||||
If (VLength-1)*bytesperline <= ($10000-(Offs and $ffff)) Then
|
||||
bankrest := VLength
|
||||
else {the rest won't fit anymore in the current window }
|
||||
bankrest := (($10000 - (Offs and $ffff)) div bytesperline)+1;
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Rest to be drawn in this window: '+strf(bankrest));
|
||||
{$endif logging}
|
||||
For l := 0 to Bankrest-1 Do
|
||||
@ -941,7 +941,7 @@ end;
|
||||
inc(offs,bytesperline);
|
||||
end;
|
||||
dec(VLength,l+1);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Offset is now '+hexstr(offs,8)+', length left: '+strf(vlength));
|
||||
{$endif logging}
|
||||
Until VLength = 0;
|
||||
@ -953,14 +953,14 @@ end;
|
||||
Repeat
|
||||
curbank := integer(offs shr 16);
|
||||
SetWriteBank(curbank);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('set bank '+strf(curbank)+' for offset '+hexstr(offs,8));
|
||||
{$endif logging}
|
||||
If (VLength-1)*bytesperline <= ($10000-(Offs and $ffff)) Then
|
||||
bankrest := VLength
|
||||
else {the rest won't fit anymore in the current window }
|
||||
bankrest := (($10000 - (Offs and $ffff)) div bytesperline)+1;
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Rest to be drawn in this window: '+strf(bankrest));
|
||||
{$endif logging}
|
||||
For l := 0 to Bankrest-1 Do
|
||||
@ -969,7 +969,7 @@ end;
|
||||
inc(offs,bytesperline);
|
||||
end;
|
||||
dec(VLength,l+1);
|
||||
{$ifdef logging}
|
||||
{$ifdef logging2}
|
||||
LogLn('Offset is now '+hexstr(offs,8)+', length left: '+strf(vlength));
|
||||
{$endif logging}
|
||||
Until VLength = 0;
|
||||
@ -978,6 +978,151 @@ end;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure PatternLineVESA256(x1,x2,y: smallint); {$ifndef fpc}far;{$endif fpc}
|
||||
{********************************************************}
|
||||
{ Draws a horizontal patterned line according to the }
|
||||
{ current Fill Settings. }
|
||||
{********************************************************}
|
||||
{ Important notes: }
|
||||
{ - CurrentColor must be set correctly before entering }
|
||||
{ this routine. }
|
||||
{********************************************************}
|
||||
type
|
||||
TVESA256Fill = Record
|
||||
case byte of
|
||||
0: (data1, data2: longint);
|
||||
1: (pat: array[0..7] of byte);
|
||||
end;
|
||||
|
||||
var
|
||||
fill: TVESA256Fill;
|
||||
bankrest, l : longint;
|
||||
offs, amount: longint;
|
||||
i : smallint;
|
||||
j : smallint;
|
||||
OldWriteMode : word;
|
||||
OldCurrentColor : word;
|
||||
TmpFillPattern, patternPos : byte;
|
||||
begin
|
||||
OldWriteMode := CurrentWriteMode;
|
||||
CurrentWriteMode := NormalPut;
|
||||
{ Get the current pattern }
|
||||
TmpFillPattern := FillPatternTable
|
||||
[FillSettings.Pattern][((y + startYViewPort) and $7)+1];
|
||||
Case TmpFillPattern Of
|
||||
0:
|
||||
begin
|
||||
OldCurrentColor := CurrentColor;
|
||||
CurrentColor := CurrentBkColor;
|
||||
HLineVESA256(x1,x2,y);
|
||||
CurrentColor := OldCurrentColor;
|
||||
end;
|
||||
$ff: HLineVESA256(x1,x2,y);
|
||||
else
|
||||
begin
|
||||
{ convert to global coordinates ... }
|
||||
x1 := x1 + StartXViewPort;
|
||||
x2 := x2 + StartXViewPort;
|
||||
y := y + StartYViewPort;
|
||||
{ if line was fully clipped then exit...}
|
||||
if LineClipped(x1,y,x2,y,StartXViewPort,StartYViewPort,
|
||||
StartXViewPort+ViewWidth, StartYViewPort+ViewHeight) then
|
||||
exit;
|
||||
{$ifdef logging}
|
||||
LogLn('patternline '+strf(x1)+' - '+strf(x2)+' on '+strf(y));
|
||||
{$endif logging}
|
||||
{ how long is the line }
|
||||
amount := x2 - x1 + 1;
|
||||
{ offset to start at }
|
||||
offs := (longint(y)+yoffset)*bytesperline+x1;
|
||||
{ convert the pattern data into the actual color sequence }
|
||||
j := 1;
|
||||
FillChar(fill,sizeOf(fill),byte(currentBkColor));
|
||||
for i := 0 to 7 do
|
||||
begin
|
||||
if TmpFillPattern and j <> 0 then
|
||||
fill.pat[7-i] := currentColor;
|
||||
{$ifopt q+}
|
||||
{$q-}
|
||||
{$define overflowOn}
|
||||
{$endif}
|
||||
j := j shl 1;
|
||||
{$ifdef overflowOn}
|
||||
{$q+}
|
||||
{$undef overflowOn}
|
||||
{$endif}
|
||||
end;
|
||||
Repeat
|
||||
SetWriteBank(integer(offs shr 16));
|
||||
If (amount > 7) and
|
||||
(((offs and 7) = 0) or
|
||||
(amount > 7+8-(offs and 7))) Then
|
||||
Begin
|
||||
{ align target }
|
||||
l := 0;
|
||||
If (offs and 7) <> 0 then
|
||||
{ this cannot go past a window boundary bacause the }
|
||||
{ size of a window is always a multiple of 8 }
|
||||
Begin
|
||||
{ position in the pattern where to start }
|
||||
patternPos := offs and 7;
|
||||
{$ifdef logging}
|
||||
LogLn('Aligning by drawing '+strf(8-(offs and 7))+' pixels');
|
||||
{$endif logging}
|
||||
for l := 1 to 8-(offs and 7) do
|
||||
begin
|
||||
Mem[WinWriteSeg:word(offs)+l-1] := fill.pat[patternPos and 7];
|
||||
inc(patternPos)
|
||||
end;
|
||||
End;
|
||||
Dec(amount, l);
|
||||
inc(offs, l);
|
||||
{$ifdef logging}
|
||||
LogLn('Offset is now '+hexstr(offs,8)+', length left: '+strf(amount));
|
||||
{$endif logging}
|
||||
{ offs is now 8-bytes alligned }
|
||||
If amount <= ($10000-(Offs and $ffff)) Then
|
||||
bankrest := amount
|
||||
else {the rest won't fit anymore in the current window }
|
||||
bankrest := $10000 - (Offs and $ffff);
|
||||
{$ifdef logging}
|
||||
LogLn('Rest to be drawn in this window: '+strf(bankrest));
|
||||
{$endif logging}
|
||||
for l := 0 to (bankrest div 8)-1 Do
|
||||
begin
|
||||
MemL[WinWriteSeg:word(offs)+l*8] := fill.data1;
|
||||
MemL[WinWriteSeg:word(offs)+l*8+4] := fill.data2;
|
||||
end;
|
||||
inc(offs,l*8+8);
|
||||
dec(amount,l*8+8);
|
||||
{$ifdef logging}
|
||||
LogLn('Offset is now '+hexstr(offs,8)+', length left: '+strf(amount));
|
||||
{$endif logging}
|
||||
End
|
||||
Else
|
||||
Begin
|
||||
{$ifdef logging}
|
||||
LogLn('Drawing leftover: '+strf(amount)+' at offset '+hexstr(offs,8));
|
||||
{$endif logging}
|
||||
i := offs mod bytesperline;
|
||||
patternPos := i and 7;
|
||||
oldCurrentColor := currentColor;
|
||||
For l := 0 to amount - 1 do
|
||||
begin
|
||||
currentColor := fill.pat[patternPos and 7];
|
||||
DirectPutPixVESA256(i+l,y);
|
||||
inc(patternPos);
|
||||
end;
|
||||
amount := 0;
|
||||
currentColor := oldCurrentColor;
|
||||
End
|
||||
Until amount = 0;
|
||||
end;
|
||||
end;
|
||||
currentWriteMode := oldWriteMode;
|
||||
end;
|
||||
|
||||
|
||||
{************************************************************************}
|
||||
{* 256 colors VESA mode routines Linear mode *}
|
||||
{************************************************************************}
|
||||
@ -2369,7 +2514,13 @@ end;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.10 1999-12-21 17:42:17 jonas
|
||||
Revision 1.11 1999-12-25 22:31:09 jonas
|
||||
+ patternlineVESA256, not yet used because I'm not yet sure it's
|
||||
already working 100%
|
||||
* changed {$ifdef logging} to {$ifdef logging2} for vlineVESA256 and
|
||||
hlineVESA256 (they're used a lot a working properly afaik)
|
||||
|
||||
Revision 1.10 1999/12/21 17:42:17 jonas
|
||||
* changed vesa.inc do it doesn't try to use linear modes anymore (doesn't work
|
||||
yet!!)
|
||||
* fixed mode detection so the low modenumber of a driver doesn't have to be zero
|
||||
|
Loading…
Reference in New Issue
Block a user