Classic Computer Magazine Archive PROGRAM LISTING: 85-06/PRINTIO.ACT


; PRINTIO (LISTING 8)

PROC Ppt(INT ARRAY v)
PrintD(2,"("):PrintID(2,v(0))
PrintD(2," "):PrintID(2,v(1))
PrintD(2," "):PrintID(2,v(2))
PrintD(2,":"):PrintID(2,v(3))
PrintD(2,") "):RETURN

PROC Prnt():BYTE i,j,k:CARD n,t
BYTE ARRAY a(13),st=[3 27 51 16]
  ,pre=[4 27 75 192 0],s,d(193)
Position(1,16):Print("�P��D��� ")
WHILE key=255 DO OD k=key:key=255
IF k<>10 AND k<>58 THEN Position(1,24)
  Put('P):Print(abort):RETURN
FI:t=Error:Error=MyErr:err=0
Close(2):Open(2,"P:",8,0)
IF err>0 THEN Close(2):Error=t:RETURN FI
b(0)=12:SCopy(a,b):SCopyS(a,fln,3,14)
PrintDE(2," "):PrintDE(2,a)
IF err>0 THEN Close(2):Error=t:RETURN FI
IF k=10 THEN st(3)=16:PrintDE(2,st)
  s=sa1:d(0)=192
  FOR i=0 TO 39 DO n=7640+i
    FOR j=1 TO 192 DO d(j)=s(n):n==-40 OD
    PrintD(2,pre):PrintDE(2,d)
  OD
ELSE st(3)=20:PrintDE(2,st)
  PrintD(2,"eye="):Ppt(eye) 
  PrintD(2," focus="):Ppt(foc)
  PrintDE(2," "):i=0:j=0:n=P+10
  DO i==+1:IF i>P(0) THEN EXIT FI
    j==+1:n==+8:Ppt(n) 
    IF j>2 THEN j=0:PutDE(2) FI
  OD PrintDE(2," ")
FI Position(1,16):Print(" �������Ġ ")
Error=t:Close(2):RETURN



Back to previous page