* fixed VlineVESA256 and re-enabled it in graph.inc

* added procedure detectgraph to interface of graph unit
This commit is contained in:
Jonas Maebe 1999-11-27 21:48:00 +00:00
parent 7442507d82
commit acabc4c7fa
3 changed files with 34 additions and 15 deletions

View File

@ -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

View File

@ -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

View File

@ -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