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

⟦24805e9a1⟧ TextFile

    Length: 3072 (0xc00)
    Types: TextFile
    Names: »tvisskærmta «

Derivation

└─⟦110021343⟧ Bits:30007476 RC8000 Backup tape fra HT's bus-radio system
    └─⟦a957ba283⟧ 
        └─⟦this⟧ »tvisskærmta « 

TextFile

visskærmtab=algol connect.no
begin
  integer max_antal_operatører;
  max_antal_operatører:= 28;

  begin
    zone stoptabel,skærmnavne,skærmdef(128,1,stderror);
    long array bplnavn(0:127);
    boolean array incl(1:127);
    integer array bplstop(1:max_antal_operatører,1:4),
                  bpldef(0:64,1:4);
                          
    long field lf;
    long array field laf;
    integer array field iaf;
    integer i,j,k;

    open(stoptabel,4,<:stoptabel:>,0);
    open(skærmnavne,4,<:skærmnavne:>,0);
    open(skærmdef,4,<:skærmdef:>,0);
    bplnavn(0):= long<:ALLE:>;
    laf:= 4; iaf:= 2; lf:= 4; j:=0;
    for i:= 1 step 1 until 127 do
    begin
      inrec6(skærmnavne,4); 
      bplnavn(i):= skærmnavne.lf shift (-8) shift 8;
      incl(i):= false add (skærmnavne.lf extract 8);
    end;
    write(out,<:SKÆRMNAVNE::>,"nl",1);
    for i:= 1 step 1 until 127 do
      if bplnavn(i)<>long<::> then
      begin
        write(out,<<dd>,i,<:: :>,true,6,
          string bplnavn(i), case 
          (incl(i) extract 2 + 1) of (<:EK:>,<:IN:>,<:??:>,<:ST:>));
        j:=j+1;
        if j mod 4 = 0 then write(out,"nl",1) else write(out,"sp",5);
      end;
    if j mod 4<>0 then write(out,"nl",1);

    for i:= 1,2,3,4 do bpldef(0,i):=0;
    for i:= 1 step 1 until 64 do
    begin
      inrec6(skærmdef,8);
      iaf:= i*8;
      tofrom(bpldef.iaf,skærmdef,8);
    end;
    write(out,"nl",1,<:GRUPPEDEFINITIONER::>,"nl",1);
    for i:= 65 step 1 until 127 do
    begin
      if bpl_navn(i)<>long<::> then
      begin
        iaf:= (i-64)*8;
        write(out,<<dd>,i,<:: :>,true,6,string(bplnavn(i)));
        for j:= 1 step 1 until max_antal_operatører do
          if læsbitia(bpldef.iaf,j) then write(out,true,6,string bplnavn(j));
        write(out,"nl",1);
      end;
    end;

    iaf:= 0;
    for i:= 1 step 1 until max_antal_operatører do
    begin
      inrec6(stoptabel,8);
      for j:= 1 step 1 until 4 do bplstop(i,j):= stoptabel.iaf(j);
    end;
    write(out,"nl",1,<:STOPTABEL::>,"nl",1);
    for i:= 1 step 1 until max_antal_operatører do
    begin
      k:= 0;
      k:= write(out,<<dd>,i,<:: :>,true,6,string bplnavn(i),
            string bplnavn(bplstop(i,2)),<:/:>,string bplnavn(bplstop(i,3)),
            <:/:>,string bplnavn(bplstop(i,4)));
      if i mod 2 = 1 then write(out," ",40-k) else write(out,"nl",1);
    end;

    close(stoptabel,true);
    close(skærmnavne,true);
    close(skærmdef,true);
  end;
end
▶EOF◀