DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

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

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦95c899193⟧ TextFile

    Length: 1536 (0x600)
    Types: TextFile
    Names: »tgetrec«

Derivation

└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
    └─⟦b2ec5d50f⟧ 
        └─⟦this⟧ »tgetrec« 

TextFile

begin
  zone z(128*8,1,bp);
  integer fil,i,j,tegn,mlslag;
  real array obj,kilde,prog,a(1:2);
  long array field l;

  procedure bp(z,s,b);
  zone z; integer s,b;
  if false add s then stderror(z,s,b);

  procedure fejl(s);
  string s;
  begin
    write(out,<:***:>,prog.l,<:  :>,s);
    goto ud
  end;

  l:= 0;
  system(4,0,obj);
  if system(4,1,prog)<>6 shift 12+10 then
  begin
    system(4,0,prog);
    fejl(<:der mangler en venstreside:>)
  end;
  if system(4,2,kilde)<>4 shift 12+10
  then fejl(<:der mangler et båndnavn:>);
  if system(4,4,a)<>0 or system(4,3,a)<>8 shift 12+4
  then fejl(<:besværligt filnummer:>);
  fil:= a(1);
  fpproc(29)stackin:(0,in,0);
  i:= 100 shift 1 add 1;
  fpproc(28)connectout:(i,in,obj);
  if i<>0 then fejl(<:besværlig venstreside:>);
  setposition(in,0,0);

  open(z,18,kilde,1 shift 7+1 shift 22);
  setposition(z,fil,0);

  tegn:= mlslag:= 0;
  for i:= readchar(z,j) while j<>'em' do
  begin
    tegn:= tegn+1;
    if j='nl' then tegn:= 80 else
    if j='sp' then mlslag:= mlslag+1 else
    begin
      if mlslag>0 then
      begin
        write(in,"sp",mlslag);
        mlslag:= 0
      end;
      outchar(in,j)
    end;
    if tegn=80 then
    begin
      outchar(in,'nl');
      tegn:= mlslag:= 0
    end
  end;
  outchar(in,'em');

  close(z,true);
  close(in,true);
ud:
end
▶EOF◀