DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦c709290fc⟧ TextFile

    Length: 1024 (0x400)
    Types: TextFile
    Names: »LSTDRIVE.PAS«

Derivation

└─⟦b6ad1e534⟧ Bits:30002857 COMPAS-80 V3.03 for JET80 CP/M
    └─ ⟦this⟧ »LSTDRIVE.PAS« 

TextFile


PROGRAM listdriver;     (*$A+*)
CONST
  sidelaengde = 72;
  bundmargin = 6;
  venstremargin = 8;   
VAR
  lstlin,lstpos: integer;
  
PROCEDURE lstout(ch: char);
VAR i: integer;
BEGIN
  IF ch>=' ' THEN
  BEGIN
    IF lstpos=0 THEN
    BEGIN
      FOR i:=1 TO venstremargin DO bios(4,ord(' '));
      lstpos:=venstremargin;
    END;
    bios(4,ord(ch)); lstpos:=lstpos+1;
  END ELSE
  IF ch=@13 THEN
  BEGIN
    bios(4,13); lstpos:=0;
  END ELSE
  IF ch=@10 THEN
  BEGIN
    bios(4,10); lstlin:=lstlin+1;
    IF lstlin=sidelaengde-bundmargin THEN
    BEGIN
      FOR i:=1 TO bundmargin DO bios(4,10);
      lstlin:=0;
    END;
  END ELSE
  IF ch=@12 THEN
  BEGIN
    FOR i:=lstlin TO sidelaengde-1 DO bios(4,10);
    lstlin:=0;
  END;
END;


BEGIN
  lstpos:=0; lstlin:=0; loaddr:=addr(lstout);
  Writeln(lst,'LST DRIVER TEST:');
  writeln(lst,'DETTE giver tre blanke linier...');
  write(lst,@10,@10,@10);
  Writeln(lst,'dette giver et sideskift');
  write(lst,@12);
END.

«eof»