mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-22 00:03:20 +02:00
* fixed VlineVESA256 and re-enabled it in graph.inc
* added procedure detectgraph to interface of graph unit
This commit is contained in:
parent
7442507d82
commit
acabc4c7fa
@ -2225,7 +2225,7 @@ const CrtAddress: word = 0;
|
||||
mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
|
||||
mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
|
||||
mode.hline := {$ifdef fpc}@{$endif}HLineVESA256;
|
||||
//!!!!! mode.vline := {$ifdef fpc}@{$endif}VLineVESA256;
|
||||
mode.vline := {$ifdef fpc}@{$endif}VLineVESA256;
|
||||
mode.XAspect := 10000;
|
||||
mode.YAspect := 10000;
|
||||
AddMode(mode);
|
||||
@ -2330,7 +2330,7 @@ const CrtAddress: word = 0;
|
||||
mode.InitMode := {$ifdef fpc}@{$endif}Init1024x768x256;
|
||||
mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
|
||||
mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
|
||||
//!!!!! mode.vline := {$ifdef fpc}@{$endif}VLineVESA256;
|
||||
mode.vline := {$ifdef fpc}@{$endif}VLineVESA256;
|
||||
mode.hline := {$ifdef fpc}@{$endif}HLineVESA256;
|
||||
mode.XAspect := 10000;
|
||||
mode.YAspect := 10000;
|
||||
@ -2436,7 +2436,7 @@ const CrtAddress: word = 0;
|
||||
mode.GetRGBPalette := {$ifdef fpc}@{$endif}GetVESARGBPalette;
|
||||
mode.SetVisualPage := {$ifdef fpc}@{$endif}SetVisualVESA;
|
||||
mode.SetActivePage := {$ifdef fpc}@{$endif}SetActiveVESA;
|
||||
//!!!!! mode.vline := {$ifdef fpc}@{$endif}VLineVESA256;
|
||||
mode.vline := {$ifdef fpc}@{$endif}VLineVESA256;
|
||||
mode.hline := {$ifdef fpc}@{$endif}HLineVESA256;
|
||||
mode.XAspect := 10000;
|
||||
mode.YAspect := 10000;
|
||||
@ -2499,7 +2499,11 @@ const CrtAddress: word = 0;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.2 1999-11-11 14:05:21 florian
|
||||
Revision 1.3 1999-11-27 21:48:00 jonas
|
||||
* fixed VlineVESA256 and re-enabled it in graph.inc
|
||||
* added procedure detectgraph to interface of graph unit
|
||||
|
||||
Revision 1.2 1999/11/11 14:05:21 florian
|
||||
+ support font loaded from BIOS
|
||||
|
||||
Revision 1.1 1999/11/08 11:15:21 peter
|
||||
|
@ -753,6 +753,7 @@ end;
|
||||
StartXViewPort+ViewWidth, StartYViewPort+ViewHeight) then
|
||||
exit;
|
||||
end;
|
||||
Col := Byte(CurrentColor);
|
||||
{$ifdef logging}
|
||||
LogLn('vline '+strf(y)+' - '+strf(y2)+' on '+strf(x)+' in mode '+strf(currentwritemode));
|
||||
{$endif logging}
|
||||
@ -786,7 +787,7 @@ end;
|
||||
For l := 0 to Bankrest-1 Do
|
||||
begin
|
||||
Mem[WinWriteSeg:word(offs)] :=
|
||||
Mem[WinReadSeg:word(offs)] And Byte(CurrentColor);
|
||||
Mem[WinReadSeg:word(offs)] And Col;
|
||||
inc(offs,bytesperline);
|
||||
end;
|
||||
dec(VLength,l+1);
|
||||
@ -814,7 +815,7 @@ end;
|
||||
For l := 0 to Bankrest-1 Do
|
||||
begin
|
||||
Mem[WinWriteSeg:word(offs)] :=
|
||||
Mem[WinReadSeg:word(offs)] Xor Byte(CurrentColor);
|
||||
Mem[WinReadSeg:word(offs)] Xor Col;
|
||||
inc(offs,bytesperline);
|
||||
end;
|
||||
dec(VLength,l+1);
|
||||
@ -842,7 +843,7 @@ end;
|
||||
For l := 0 to Bankrest-1 Do
|
||||
begin
|
||||
Mem[WinWriteSeg:word(offs)] :=
|
||||
Mem[WinReadSeg:word(offs)] Or Byte(CurrentColor);
|
||||
Mem[WinReadSeg:word(offs)] Or Col;
|
||||
inc(offs,bytesperline);
|
||||
end;
|
||||
dec(VLength,l+1);
|
||||
@ -854,7 +855,7 @@ end;
|
||||
Else
|
||||
Begin
|
||||
If CurrentWriteMode = NotPut Then
|
||||
Col := Not(CurrentColor);
|
||||
Col := Not(Col);
|
||||
Repeat
|
||||
curbank := integer(offs shr 16);
|
||||
SetWriteBank(curbank);
|
||||
@ -1529,17 +1530,14 @@ end;
|
||||
if getVESAModeInfo(VESAmodeinfo, mode) then
|
||||
begin
|
||||
{ checks if the hardware supports the video mode. }
|
||||
if (VESAModeInfo.attr and modeAvail) <> 0 then
|
||||
begin
|
||||
SetVESAMode := TRUE;
|
||||
end
|
||||
else
|
||||
if (VESAModeInfo.attr and modeAvail) = 0 then
|
||||
begin
|
||||
SetVESAmode := FALSE;
|
||||
_GraphResult := grError;
|
||||
exit;
|
||||
end;
|
||||
|
||||
SetVESAMode := TRUE;
|
||||
BankShift := 0;
|
||||
while (64 shr BankShift) <> VESAModeInfo.WinGranularity do
|
||||
Inc(BankShift);
|
||||
@ -1563,6 +1561,14 @@ end;
|
||||
{ method. }
|
||||
SetUpWindows(VESAModeInfo);
|
||||
|
||||
{$ifdef logging}
|
||||
LogLn('Entering vesa mode '+strf(mode));
|
||||
LogLn('Read segment: $'+hexstr(winreadseg,4));
|
||||
LogLn('Write segment: $'+hexstr(winwriteseg,4));
|
||||
LogLn('Window granularity: '+strf(VESAModeInfo.WinGranularity)+'kb');
|
||||
LogLn('Window size: '+strf(VESAModeInfo.winSize)+'kb');
|
||||
LogLn('Bytes per line: '+strf(bytesperline));
|
||||
{$endif logging}
|
||||
|
||||
asm
|
||||
mov ax,4F02h
|
||||
@ -1938,7 +1944,11 @@ end;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.1 1999-11-08 11:15:21 peter
|
||||
Revision 1.2 1999-11-27 21:48:01 jonas
|
||||
* fixed VlineVESA256 and re-enabled it in graph.inc
|
||||
* added procedure detectgraph to interface of graph unit
|
||||
|
||||
Revision 1.1 1999/11/08 11:15:21 peter
|
||||
* move graph.inc to the target dir
|
||||
|
||||
Revision 1.21 1999/11/03 20:23:01 florian
|
||||
|
@ -617,6 +617,7 @@ procedure GetFillSettings(var Fillinfo:Fillsettingstype);
|
||||
procedure GetFillPattern(var FillPattern:FillPatternType);
|
||||
procedure GetLineSettings(var ActiveLineInfo : LineSettingsType);
|
||||
procedure InitGraph(var GraphDriver:Integer;var GraphMode:Integer;const PathToDriver:String);
|
||||
procedure DetectGraph(var GraphDriver:Integer;var GraphMode:Integer);
|
||||
function InstallUserDriver(Name: string; AutoDetectPtr: Pointer): integer;
|
||||
function RegisterBGIDriver(driver: pointer): integer;
|
||||
procedure SetFillStyle(Pattern : word; Color: word);
|
||||
@ -3002,7 +3003,11 @@ SetGraphBufSize
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.40 1999-11-25 17:44:14 pierre
|
||||
Revision 1.41 1999-11-27 21:48:01 jonas
|
||||
* fixed VlineVESA256 and re-enabled it in graph.inc
|
||||
* added procedure detectgraph to interface of graph unit
|
||||
|
||||
Revision 1.40 1999/11/25 17:44:14 pierre
|
||||
* memory corruption within GetImage removed
|
||||
|
||||
Revision 1.39 1999/11/24 23:42:31 pierre
|
||||
|
Loading…
Reference in New Issue
Block a user