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

⟦a1405f139⟧ TextFile

    Length: 6144 (0x1800)
    Types: TextFile
    Names: »sendvtlogtx «

Derivation

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

TextFile

begin
  real array programnavn(1:2);
  boolean gentag,testlist;
  integer antal_navne,res;
  integer array tail(1:10);
  real array navnefil(1:2);
  zone zhelp(1,1,stderror);
  procedure flyt_navne(sendte);
    value              sendte;
    boolean            sendte;
  begin
    integer i;
    real array field raf;
    zone zfra,ztil(128,1,stderror);
    integer array fratail,tiltail(1:10);

    if sendte then
    begin
      open(zfra,4,<:vtlogsendt:>,0);
      open(ztil,4,<:vtlogslet:>,0);
    end
    else
    begin
      open(zfra,4,<:vtlogklar:>,0);
      open(ztil,4,<:vtlogsendt:>,0);
    end;

    if monitor(42,ztil,0,tiltail)=0 then
    begin
      if monitor(52,ztil,0,tiltail)=0 then
      begin
        if monitor(8,ztil,0,tiltail)=0 then
        begin
          if monitor(42,zfra,0,fratail)=0 then
          begin
            if monitor(52,zfra,0,fratail)=0 then
            begin
              for i:= 1 step 1 until fratail(10) do
              begin
                inrec6(zfra,8);
                setposition(ztil,0,(tiltail(10)+i-1)//64);
                if (tiltail(10)+i-1)//64 >= tiltail(1) then
                  outrec6(ztil,512)
                else
                  swoprec6(ztil,512);
                raf:= ((tiltail(10)+i-1) mod 64)*8;
                tofrom(ztil.raf,zfra,8);
              end;
              tiltail(10):=tiltail(10)+fratail(10);
              fratail(10):=0;
              monitor(44,ztil,0,tiltail);
              monitor(44,zfra,0,fratail);
            end;
          end;
        end;
      end;
    end;
    close(ztil,true);
    close(zfra,true);
  end;

  if system(4,1,programnavn) <> 6 shift 12 + 10 then system(4,0,programnavn);
  gentag:= programnavn(1)=real<:genta:> add'g';
  testlist:= -,gentag and programnavn(1)<>real<:sendv:> add 't';
  movestring(navnefil,1,if gentag then <:vtlogsendt:> else <:vtlogklar:>);
  open(zhelp,0,navnefil,0); close(zhelp,true);
  res:= monitor(42)lookup_entry:(zhelp,0,tail);
  antal_navne:= if res=0 then tail(10) else 0;

  if antal_navne > 0 then
  begin
    integer i,j,d,antal_poster;
    real dato,tid,t;
    integer array ia(1:10);
    long array filnavne(1:antal_navne*2);
    real array field raf;
    zone z(128,1,stderror);
    integer field v_kode,v_bus,v_ll1,v_ll2;
    real field v_tid;
    long array field v_tekst;

    v_tid:= 4;
    v_kode:=v_tekst:= 6;
    v_bus:= 8;
    v_ll1:= 10;
    v_ll2:= 12;

    open(z,4,navnefil,0);
    for i:= 1 step 1 until antal_navne do
    begin
      raf:= (i-1)*8;
      inrec6(z,8);
      tofrom(filnavne.raf,z,8);
    end;
    close(z,true);

    for i:= 1 step 1 until antal_navne do
    begin
      raf:= (i-1)*8;
      open(z,4,filnavne.raf,0);
      if monitor(42)lookup_entry:(z,0,ia) = 0 then
      begin
        if monitor(52)create_areaprocess:(z,0,ia) = 0 then
        begin
          antal_poster:= 0;
          for j:= 1 step 1 until ia(10) do
          begin
            inrec6(z,16);
            antal_poster:=antal_poster+1;
            dato:=systime(4,z.v_tid,tid);
            d:= entier(dato); t:= entier(tid/100)/100;
            if z.v_kode=7 and z.v_ll1=0 then z.v_kode:= 5;
            if 0 <= z.v_kode and z.vkode <= 1 then
            begin
              write(out, case (z.v_kode+1) of (<:ST:>,<:SL:>),
                << zd>,d mod 100,".",1,<<zd>,(d//100) mod 100,".",1,
                <<zddd>,(d//10000)+1900,"sp",1,<<zd.dd>,t,
                "sp",1);
              if z.v_kode = 1 then
                write(out,<<ddddddd>,antal_poster,"cr",1,"nl",1)
              else
                write(out,"sp",7,"cr",1,"nl",1);
            end
            else
            if z.v_kode = 4 then
            begin
              write(out,<:PS :>,<<zd.dd>,t,"sp",1);
              write(out,"sp",20-write(out,z.v_tekst),"cr",1,"nl",1);
            end
            else
            if z.v_kode <= 7 then
            begin
              write(out,case (z.v_kode+1) of (<::>,<::>,<:AU:>,<:AO:>,
                <::>,<:MI:>,<:MU:>,<:MO:>),"sp",1,<<zd.dd>,t,"sp",1,
                <<dddd>,z.v_bus extract 14,"sp",1);
              if z.v_ll1 <> 0  then
              begin
                if z.v_ll1 shift (-7) extract 5 = 0 then
                  write(out,<< ddd>,z.v_ll1 shift (-12) extract 10,"/",1)
                else
                  write(out,<<ddd>,z.v_ll1 shift (-12) extract 10,
                    false add (z.v_ll1 shift (-7) extract 5 + '@'),1,"/",1);
                write(out,<<d>,z.v_ll1 extract 7,
                  "sp",if z.v_ll1 extract 7 < 10 then 2 else 1);
              end
              else
                write(out,"sp",8);
              if z.v_ll2 <> 0 then
              begin
                if z.v_ll2 shift (-7) extract 5 = 0 then
                  write(out,<< ddd>,z.v_ll2 shift (-12) extract 10,"/",1)
                else
                  write(out,<<ddd>,z.v_ll2 shift (-12) extract 10,
                    false add (z.v_ll2 shift (-7) extract 5 + '@'),1,"/",1);
                write(out,<<d>,z.v_ll2 extract 7,
                  "sp",if z.v_ll2 extract 7 < 10 then 1 else 0);
              end
              else
                write(out,"sp",7);
              write(out,"cr",1,"nl",1);
            end;
            ud(out);
          end for j;
        end if areaprocess;
      end if lookup;
      close(z,true);
    end for i;
    if -, (gentag or testlist) then
    begin
  
      flyt_navne(true);
      flyt_navne(false);
    end;
  end antal navne > 0;
  write(out,<:EX:>,"sp",27,"cr",1,"nl",1);

  trapmode:= 1 shift 10;
end
▶EOF◀