lor: Longint);
Procedure MoveBase (Source, Destin, Count: Word);
Procedure TileBase (Base, Ofs, Count: Word; Tile: Pointer; Len: Word);
Procedure PutPixel (Base: Word; x, y: Integer; Color: Byte);
Function GetPixel (Base: Word; x, y: Integer): Byte;
Procedure Line (Base: Word; x1, y1, x2, y2: Integer; Color: Byte);
Procedure VLine (Base: Word; x, y1, y2: Integer; Color: Byte);
Procedure HLine (Base: Word; y, x1, x2: Integer; Color: Byte);
Procedure Bar (Base: Word; x1, y1, x2, y2: Integer; Color: Byte);
Procedure Polygon (Base: Word; x1, y1, x2, y2, x3, y3, x4, y4: Integer; c: Byte);
Function InitVirtualPage: Boolean;
Procedure DoneVirtualPage;
IMPLEMENTATION
Var
VirtualPage: Pointer;
{$ L VGA13H.OBJ}
Function DetectVGA; external;
Procedure SetGraphMode; external;
Procedure SetTextMode; external;
Procedure MakePixelSquare; external;
Procedure CopyBase; external;
Procedure ClearBase; external;
Procedure FillBase; external;
Procedure MoveBase; external;
Procedure TileBase; external;
Procedure PutPixel; external;
Function GetPixel; external;
Procedure HLine; external;
Procedure VLine; external;
Procedure Polygon;
Var
xpos: array [0 .. 199,0 .. 1] of Word;
mny, mxy, y: Integer;
i: Word;
s1, s2, s3, s4: Shortint;
begin
mny: = y1;
if y2
if y3
if y4
mxy: = y1;
if y2> mxy then mxy: = y2;
if y3> mxy then mxy: = y3;
if y4> mxy then mxy: = y4;
s1: = byte (y1
s2: = byte (y2
s3: = byte (y3
s4: = byte (y4
y: = y1;
if y1 <> y2 then
Repeat
xpos [y, byte (y1
y: = y + s1;
Until y = y2 + s1
else xpos [y, byte (y1
y: = y2;
if y2 <> y3 then
Repeat
xpos [y, byte (y2
y: = y + s2;
Until y = y3 + s2
else xpos [y, byte (y2
y: = y3;
if y3 <> y4 then
Repeat
xpos [y, byte (y3
y: = y + s3;
Until y = y4 + s3
else xpos [y, byte (y3
y: = y4;
if y4 <> y1 then
Repeat
xpos [y, byte (y4
y: = y + s4;
Until y = y1 + s4
else xpos [y, byte (y1
for y: = mny to mxy do HLine (Base, y, xpos [y, 0], xpos [y, 1], c);
end;
Proced...