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 - download

⟦4ec3b6b95⟧ TextFile

    Length: 5376 (0x1500)
    Types: TextFile
    Names: »gendottabtx «

Derivation

└─⟦cde9d517b⟧ Bits:30007477 RC8000 Backup tape fra HT's bus-radio system
    └─⟦6a563b143⟧ 
        └─ ⟦this⟧ »gendottabtx « 
└─⟦110021343⟧ Bits:30007476 RC8000 Backup tape fra HT's bus-radio system
    └─⟦a957ba283⟧ 
        └─ ⟦this⟧ »gendottabtx « 

TextFile

gendottab=algol list.yes blocks.yes
begin
message gendottab side 1 - 810511/hko;

  zone zu(128,1,stderror);
  real r;
  integer i,j,k,kanal,op,tlf,rep,tegn,klasse,dotnr;
  integer array tail(1:10);
  integer field int;
  integer array field iaf;

  open(zu,4,<:dotkonfig:>,0);

<* ajourfør "shortclock" i filen 'dotkonfig' eller opret ny fil*>

  i:= monitor(42) lookup entry:(zu,0,tail);
  if i = 0 then
  begin
    tail(1):= 1;
    tail(6):= systime(7,0,r);
    i:= monitor(44) change entry:(zu,0,tail);
  end;

  if i <> 0 then
  begin
    tail(1):= tail(2):= 1;
    tail(6):= systime(7,0,r);
    for j:= 7 step 1 until 10 do tail(j):= 0;
    i:= monitor(40) create entry:(zu,0,tail);
  end;

  if i <> 0 then
  begin
    write(out,"nl",1,<:*** dotkonfig kan ikke oprettes:>,
              "nl",1,"sp",4,case i of(<:res=1<'?'>:>,
                                      <:fejl ved catalog:>,
                                      <:navne-konflikt:>,
                                      <:ressourcer mangler:>,
                                      <:catalog base illegal:>,
                                      <:navne-format:>,
                                      <:hovedkatalog eksisterer ikke:>));
  end
  else 
  begin
\f

message gendottab side 2 - 810511/hko;

    outrec6(zu,2);
    int:= 2;
    zu.int:= 0; <* dotfunktion= udlæs kanaler *>
    iaf:= 0;
    tlf:= 9;
    rep:= 10;
    kanal:= 1;
    repeat
      outrec6(zu,(8+2)*2);
      repeat
        read(in,k);
        repeatchar(in);
        klasse:= readchar(in,tegn);
      until tegn = ';' or tegn = 'em';

      if tegn = 'em' or kanal <> k then
      begin
        write(out,"nl",1,<:radio-kanal::>,kanal,<: ikke fundet:>);
        if tegn = ';' then
          write(out,<:, kanalnr læst=:>,k);
        goto slut;
      end
      else
      begin
\f

message gendottab side 3 - 810511/hko;

        <* kanalnr ok *>
        op:= 1;
        repeat
          j:= read(in,i);
          repeatchar(in);
          klasse:= readchar(in,tegn);
          if tegn <> ':' or op <> i then
          begin
            write(out,"nl",1,<:fejl ved radiokanal,operatør::>,k,<:,:>,op,
                      <: læst::>,if j=0 then <<b> else <<d>,
                                 if j=0 then i else 0);
            if tegn = 'em' then write(out,<:'em':>);
            goto slut;
          end;
          read(in,dotnr);
          repeatchar(in);
          klasse:= readchar(in,tegn);
          if tegn = ':' or tegn = 'em' or tegn = ';' then
          begin
            write(out,"nl",1,
              <:ulovlig terminator: radiokanal,oper.,dotnr,term::>,
              <<d>,kanal,<:,:>,op,<:,:>,dotnr,
              if tegn = ':' then <:':':> else
              if tegn = ';' then <:';':> else <:'em':>);
            goto slut;
          end;

          j:= dotnr extract 12;
          zu.iaf(op):= j;
          op:= op+1;
        until op > 8; <*der skal være tabelindgange for 8 operatører*>
\f

message gendottab side 4 - 810511/hko;

        read(in,dotnr);
        repeatchar(in);
        klasse:= readchar(in,tegn);

        if tegn = ':' or tegn = ';' or tegn = 'em' then
        begin
          write(out,"nl",1,<:ulovligt skilletegn: radiokanal:>,kanal,
            <:, tlf::>,if tegn = ':' then <:':':> else
            if tegn = ';' then <:';':> else <:'em':>);
          goto slut;
        end;

        zu.iaf(tlf):= dotnr extract 12;

        read(in,dotnr);
        repeatchar(in);
        klasse:= readchar(in,tegn);

        if tegn = ':' or tegn = ';' or tegn = 'em' then
        begin
          write(out,"nl",1,<:ulovligt skilletegn: radiokanal:>,kanal,
            <:, repeater::>,if tegn = ':' then <:':':> else
            if tegn = ';' then <:';':> else <:'em':>);
          goto slut;
        end;

        zu.iaf(rep):= dotnr extract 12;
      end;

      kanal:= kanal +1;

    until tegn = 'em' or kanal > 6; <*der kan højst være 6 radiokanaler*>

    kanal:= kanal -1;

    setposition(zu,0,0);
\f

message gendottab side 5 - 810511/hko;

    inrec6(zu,2);
    write(out,"ff",1,"nl",1,<:dot-konfiguration: (indhold af 'dotkonfig'):>);
    if zu.int <> 0 then write(out,"nl",1,<:***ulovlig funktion=:>,zu.int)
    else
    begin

      for k:= 1 step 1 until kanal do
      begin
        inrec6(zu,(8+2)*2);
        write(out,"nl",2,<:radiokanal.:>,<<z>,k,"nl",1,"sp",3,<:operatør.:>,1,
          ":",1,<<-dddd>,zu.iaf(1));
        for i:= 2 step 1 until 8 do
          write(out,"nl",1,"sp",11,".",1,<<z>,i,":",1,<<-dddd>,zu.iaf(i));
        write(out,"nl",1,"sp",3,<:telefon::>,"sp",3,<<-dddd>,zu.iaf(tlf));
        write(out,"nl",1,"sp",3,<:repeater::>,"sp",2,<<-dddd>,zu.iaf(rep));
      end;
      if kanal < 6 then
        write(out,"nl",2,<:!!! tabellen omfatter kun:>,kanal,
          <: radiokanaler:>);
    end;

    write(out,"nl",1,"ff",1);

    if false then
    begin
slut:
      outchar(out,'nl');
    end;
  end;<* fil ok *>
<*gendottab slut*>
end;
▶EOF◀