Const Basis=$378;               {Basisadresse der par. Schnittstelle}

Procedure PutChar_Par(z:Char);
{gibt ein Zeichen auf Parallelport (Basisadresse in "Basis") aus}
Begin
  While Port[Basis+1] and 128 = 0 Do;  
                                {Auf Ende des Busy warten}
  Port[Basis]:=Ord(z);          {Zeichen auf Port legen}

  Port[Basis+2]:=Port[Basis+2] or 1;  
                                {Strobe senden}
  Port[Basis+2]:=Port[Basis+2] and not 1;

  While Port[Basis+1] and 64 = 1 do;  
                                {Auf Ack warten}
End;

Procedure PutString_Par(s:String);
{gibt String auf Parallel-Port aus, benutzt PutChar_Par)}
Var i:Integer;                  {Zeichenz„hler}
Begin
  For i:=1 to Length(s) do      {jedes Zeichen}
    PutChar_Par(s[i]);          {an den Parallelport schicken}
End;

Begin
  PutString_Par('Hallo, Data Becker Drucker Test'#13#10);
  PutString_Par('abcdefghijklmnopqrstuvwxyz0123456789'#13#10);
End.
