mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 07:46:00 +02:00
* again small fix to patternline-, hline- and getscanlinevesa256
This commit is contained in:
parent
5e32309c67
commit
14bc1b379d
@ -547,7 +547,8 @@ end;
|
|||||||
{ because this loop alwys runs for very little pixels, }
|
{ because this loop alwys runs for very little pixels, }
|
||||||
{ there's little gained by splitting it up }
|
{ there's little gained by splitting it up }
|
||||||
setreadbank(offs shr 16);
|
setreadbank(offs shr 16);
|
||||||
WordArray(Data)[index+l] := mem[WinReadSeg:offs+l];
|
WordArray(Data)[index+l] := mem[WinReadSeg:word(offs)];
|
||||||
|
inc(offs);
|
||||||
end;
|
end;
|
||||||
amount := 0
|
amount := 0
|
||||||
End
|
End
|
||||||
@ -655,8 +656,9 @@ end;
|
|||||||
{ there's little gained by splitting it up }
|
{ there's little gained by splitting it up }
|
||||||
setreadbank(offs shr 16);
|
setreadbank(offs shr 16);
|
||||||
setwritebank(offs shr 16);
|
setwritebank(offs shr 16);
|
||||||
Mem[WinWriteSeg:word(offs)+l] :=
|
Mem[WinWriteSeg:word(offs)] :=
|
||||||
Mem[WinReadSeg:word(offs)+l] And byte(currentColor);
|
Mem[WinReadSeg:word(offs)] And byte(currentColor);
|
||||||
|
inc(offs);
|
||||||
end;
|
end;
|
||||||
HLength := 0
|
HLength := 0
|
||||||
End
|
End
|
||||||
@ -724,8 +726,9 @@ end;
|
|||||||
{ there's little gained by splitting it up }
|
{ there's little gained by splitting it up }
|
||||||
setreadbank(offs shr 16);
|
setreadbank(offs shr 16);
|
||||||
setwritebank(offs shr 16);
|
setwritebank(offs shr 16);
|
||||||
Mem[WinWriteSeg:word(offs)+l] :=
|
Mem[WinWriteSeg:word(offs)] :=
|
||||||
Mem[WinReadSeg:word(offs)+l] xor byte(currentColor);
|
Mem[WinReadSeg:word(offs)] xor byte(currentColor);
|
||||||
|
inc(offs);
|
||||||
end;
|
end;
|
||||||
HLength := 0
|
HLength := 0
|
||||||
End
|
End
|
||||||
@ -793,8 +796,9 @@ end;
|
|||||||
{ there's little gained by splitting it up }
|
{ there's little gained by splitting it up }
|
||||||
setreadbank(offs shr 16);
|
setreadbank(offs shr 16);
|
||||||
setwritebank(offs shr 16);
|
setwritebank(offs shr 16);
|
||||||
Mem[WinWriteSeg:word(offs)+l] :=
|
Mem[WinWriteSeg:word(offs)] :=
|
||||||
Mem[WinReadSeg:word(offs)+l] And byte(currentColor);
|
Mem[WinReadSeg:word(offs)] And byte(currentColor);
|
||||||
|
inc(offs);
|
||||||
end;
|
end;
|
||||||
HLength := 0
|
HLength := 0
|
||||||
End
|
End
|
||||||
@ -859,7 +863,8 @@ end;
|
|||||||
{ because this loop alwys runs for very little pixels, }
|
{ because this loop alwys runs for very little pixels, }
|
||||||
{ there's little gained by splitting it up }
|
{ there's little gained by splitting it up }
|
||||||
setwritebank(offs shr 16);
|
setwritebank(offs shr 16);
|
||||||
Mem[WinWriteSeg:word(offs)+l] := byte(mask);
|
Mem[WinWriteSeg:word(offs)] := byte(mask);
|
||||||
|
inc(offs);
|
||||||
end;
|
end;
|
||||||
HLength := 0
|
HLength := 0
|
||||||
End
|
End
|
||||||
@ -1148,7 +1153,8 @@ end;
|
|||||||
{ because this loop alwys runs for very little pixels, }
|
{ because this loop alwys runs for very little pixels, }
|
||||||
{ there's little gained by splitting it up }
|
{ there's little gained by splitting it up }
|
||||||
setwritebank(offs shr 16);
|
setwritebank(offs shr 16);
|
||||||
Mem[WinWriteSeg:word(offs)+l] := fill.pat[patternPos and 7];
|
Mem[WinWriteSeg:word(offs)] := fill.pat[patternPos and 7];
|
||||||
|
inc(offs);
|
||||||
inc(patternPos);
|
inc(patternPos);
|
||||||
end;
|
end;
|
||||||
amount := 0;
|
amount := 0;
|
||||||
@ -1223,7 +1229,7 @@ end;
|
|||||||
seg_move(WinReadSeg,offs+LinearPageOfs,get_ds,longint(@col),1);
|
seg_move(WinReadSeg,offs+LinearPageOfs,get_ds,longint(@col),1);
|
||||||
GetPixVESA256Linear:=col;
|
GetPixVESA256Linear:=col;
|
||||||
end;
|
end;
|
||||||
|
(*
|
||||||
function SetVESADisplayStart(PageNum : word;x,y : integer):Boolean;
|
function SetVESADisplayStart(PageNum : word;x,y : integer):Boolean;
|
||||||
var
|
var
|
||||||
dregs : registers;
|
dregs : registers;
|
||||||
@ -1251,7 +1257,7 @@ begin
|
|||||||
else
|
else
|
||||||
SetVESADisplayStart:=true;
|
SetVESADisplayStart:=true;
|
||||||
end;
|
end;
|
||||||
|
*)
|
||||||
{$endif FPC}
|
{$endif FPC}
|
||||||
|
|
||||||
|
|
||||||
@ -1512,22 +1518,20 @@ end;
|
|||||||
Procedure SetVESARGBPalette(ColorNum, RedValue, GreenValue,
|
Procedure SetVESARGBPalette(ColorNum, RedValue, GreenValue,
|
||||||
BlueValue : Integer);
|
BlueValue : Integer);
|
||||||
var
|
var
|
||||||
FunctionNr : byte; { use blankbit or normal RAMDAC programming? }
|
|
||||||
pal: palrec;
|
pal: palrec;
|
||||||
Error : boolean; { VBE call error }
|
|
||||||
regs: TDPMIRegisters;
|
regs: TDPMIRegisters;
|
||||||
Ptr: longint;
|
Ptr: longint;
|
||||||
{$ifndef fpc}
|
{$ifndef fpc}
|
||||||
PalPtr : ^PalRec;
|
PalPtr : ^PalRec;
|
||||||
{$endif fpc}
|
{$endif fpc}
|
||||||
RealSeg: word;
|
RealSeg: word;
|
||||||
|
FunctionNr : byte; { use blankbit or normal RAMDAC programming? }
|
||||||
begin
|
begin
|
||||||
if DirectColor then
|
if DirectColor then
|
||||||
Begin
|
Begin
|
||||||
_GraphResult := grError;
|
_GraphResult := grError;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
Error := TRUE;
|
|
||||||
pal.align := 0;
|
pal.align := 0;
|
||||||
pal.red := byte(RedValue);
|
pal.red := byte(RedValue);
|
||||||
pal.green := byte(GreenValue);
|
pal.green := byte(GreenValue);
|
||||||
@ -2036,7 +2040,7 @@ end;
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
(*
|
||||||
function getVESAMode:word;assembler;
|
function getVESAMode:word;assembler;
|
||||||
asm {return -1 if error}
|
asm {return -1 if error}
|
||||||
mov ax,4F03h
|
mov ax,4F03h
|
||||||
@ -2055,7 +2059,7 @@ end;
|
|||||||
mov ax,bx
|
mov ax,bx
|
||||||
@@X:
|
@@X:
|
||||||
end;
|
end;
|
||||||
|
*)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -2485,7 +2489,10 @@ end;
|
|||||||
|
|
||||||
(*
|
(*
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.14 1999-12-29 12:15:41 jonas
|
Revision 1.15 2000-01-02 18:51:05 jonas
|
||||||
|
* again small fix to patternline-, hline- and getscanlinevesa256
|
||||||
|
|
||||||
|
Revision 1.14 1999/12/29 12:15:41 jonas
|
||||||
* fixed small bug in hlinevesa256, getscanlinevesa25 and patternlinevesa256
|
* fixed small bug in hlinevesa256, getscanlinevesa25 and patternlinevesa256
|
||||||
* small speed-up in the above procedures
|
* small speed-up in the above procedures
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user