home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
MBUG
/
MBUG099.ARC
/
PLOT.I
< prev
next >
Wrap
Text File
|
1979-12-31
|
5KB
|
130 lines
Procedure Plot(X0,Y0,X1,Y1 : Integer; F : Operation);
Var
D1, D2, S1, S2, A1, A2, N1, D3 : Integer;
Begin
Inline($2A/X1/ { LD HL,(X1) }
$ED/$5B/X0/ { LD DE,(X0) }
$B7/ { OR A }
$ED/$52/ { SBC HL,DE }
$22/D1/ { LD (D1),HL }
$2A/Y1/ { LD HL,(Y1) }
$ED/$5B/Y0/ { LD DE,(Y0) }
$B7/ { OR A }
$ED/$52/ { SBC HL,DE }
$22/D2/ { LD (D2),HL }
$21/0/0/ { LD HL,0 }
$22/S1/ { LD (S1),HL }
$22/A2/ { LD (A2),HL }
$23/ { INC HL }
$22/S2/ { LD (S2),HL }
$22/A1/ { LD (A1),HL }
$2A/D1/ { LD HL,(D1) }
$CB/$7C/ { BIT 7,H }
$28/$11/ { JR Z,TEST2 }
$21/$FFFF/ { LD HL,$FFFF }
$22/A1/ { LD (A1),HL }
$23/ { INC HL }
$ED/$5B/D1/ { LD DE,(D1) }
$B7/ { OR A }
$ED/$52/ { SBC HL,DE }
$22/D1/ { LD (D1),HL }
$2A/D2/ {TEST2 LD HL,(D2) }
$CB/$7C/ { BIT 7,H }
$28/$13/ { JR Z,TEST3 }
$21/0/0/ { LD HL,0 }
$ED/$5B/D2/ { LD DE,(D2) }
$B7/ { OR A }
$ED/$52/ { SBC HL,DE }
$22/D2/ { LD (D2),HL }
$21/$FFFF/ { LD HL,$FFFF }
$22/S2/ { LD (S2),HL }
$2A/D2/ {TEST3 LD HL,(D2) }
$ED/$5B/D1/ { LD DE,(D1) }
$B7/ { OR A }
$ED/$52/ { SBC HL,DE }
$28/$29/ { JR Z,START }
$38/$27/ { JR C,START }
$2A/D1/ { LD HL,(D1) }
$22/N1/ { LD (N1),HL }
$2A/D2/ { LD HL,(D2) }
$22/D1/ { LD (D1),HL }
$2A/N1/ { LD HL,(N1) }
$22/D2/ { LD (D2),HL }
$2A/A1/ { LD HL,(A1) }
$22/S1/ { LD (S1),HL }
$2A/S2/ { LD HL,(S2) }
$22/A2/ { LD (A2),HL }
$21/0/0/ { LD HL,0 }
$22/A1/ { LD (A1),HL }
$22/S2/ { LD (S2),HL }
$2A/D1/ {START LD HL,(D1) }
$CB/$3C/ { SRL H }
$CB/$1D/ { RR L }
$22/D3/ { LD (D3),HL }
$21/1/0/ { LD HL,1 }
$22/N1); { LD (N1),HL }
Dot(X0,Y0,F);
While N1 <= D1 do
begin
Inline($2A/X0/ { LD HL,(X0) }
$ED/$5B/A1/ { LD DE,(A1) }
$19/ { ADD HL,DE }
$22/X0/ { LD (X0),HL }
$2A/Y0/ { LD HL,(Y0) }
$ED/$5B/A2/ { LD DE,(A2) }
$19/ { ADD HL,DE }
$22/Y0/ { LD (Y0),HL }
$2A/D3/ { LD HL,(D3) }
$ED/$5B/D2/ { LD DE,(D2) }
$19/ { ADD HL,DE }
$22/D3/ { LD (D3),HL }
$2A/N1/ { LD HL,(N1) }
$23/ { INC HL }
$22/N1/ { LD (N1),HL }
$2A/D3/ { LD HL,(D3) }
$ED/$5B/D1/ { LD DE,(D1) }
$B7/ { OR A }
$ED/$52/ { SBC HL,DE }
$38/$19/ { JR C,ENDDDA }
$22/D3/ { LD (D3),HL }
$2A/X0/ { LD HL,(X0) }
$ED/$5B/S1/ { LD DE,(S1) }
$19/ { ADD HL,DE }
$22/X0/ { LD (X0),HL }
$2A/Y0/ { LD HL,(Y0) }
$ED/$5B/S2/ { LD DE,(S2) }
$19/ { ADD HL,DE }
$22/Y0); { LD (Y0),HL }
{ENDDDA }
Dot(X0,Y0,F);
end;
End;