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

⟦9e34bed72⟧ TextFile

    Length: 4608 (0x1200)
    Types: TextFile
    Names: »scatlisttxt«

Derivation

└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
    └─⟦4334b4c0b⟧ 
        └─⟦this⟧ »scatlisttxt« 

TextFile


begin
  procedure skriv1(str);
  string str;
  begin
    long tal;
    tal:=z.f;
    if tal<0 then tal:=tal+16777216;
    write(out,sp,4);
    write(out,sp,afst-write(out,<<d>,tal));
    write(out,<:, :>);
    write(out,sp,11-write(out,str));
    if z.f<0 then
    write(out,<:(:>,<<d>,z.f,<:):>);
    write(out,nl,1);
  end;
  procedure skriv2(str1,str2);
  string str1,str2;
  begin
    integer aa,bb;
    aa:=z.f shift (-12) extract 12;
    bb:=z.f extract 12;
    write(out,sp,4);
    write(out,sp,afst-write(out,<<d>,aa,<:.:>,bb));
    write(out,<:, :>);
    write(out,sp,11-write(out,str1));
    write(out,str2,nl,1);
  end;
  real array rra(1:2);
  integer i,afst,j,u,p,entry0,entryl,x,xx;
  integer field f,ref,sl,tom,
  et,ep,st,spe;
  real array field name;
  zone z(128,1,stderror);
  boolean sp,nl;
  sp:=false add 32; nl:=false add 10;
  u:=0;
  p:=1;
  afst:=21;
  if readparam(rra)=-1 then
  begin
    connectcuro(rra);
    u:=1;
  end;
  write(out,<:lookup susercat<10>if ok.no<10>(:>);
  write(out,<:<10>susercat=set 1<10>scope user susercat<10>:>);
  write(out,<:)<10>scatop:>);
  write(out,sp,afst-2,<:,:>,nl,1,sp,2,<:newcat      :>);
  tom:=2;
  f:=4;
  sl:=6;
  ref:=8;
  open(z,4,<:susercat:>,0);
  inrec6(z,8);
  entry0:=z.sl;
  entryl:=z.f;
  name:=-4;
  write(out,<< dd>,z.f,z.sl,z.ref,sp,afst-19,
  <:, <entry length> <l.u. entry0> <cat size>:>,nl,1);
  setposition(z,0,0);
  xx:=(entry0-6)//12;
  inrec6(z,entryl);
  begin
    real array ra(1:2,1:xx);
    for j:=1 step 1 until xx do
    begin
      name:=name+12;
      ref:=ref+12;
      sl:=sl+12;
      write(out,sp,4);
      p:=1;
      write(out,sp,afst-8-write(out,string z.name(increase(p))));
      write(out,<< dd>,z.sl,z.ref,sp,2,if j=xx then
      <:;:> else <:,:>,<: <slice length> <reference>:>,nl,1);
      ra(1,j):=z.name(1);
      ra(2,j):=z.name(2);
    end;
    for j:=inrec6(z,0) while j>2 do
    begin
      if j>=entryl then
      inrec6(z,entryl) else
      begin
        inrec6(z,j);
        goto slut;
      end;

      if z.tom>-1 then
      begin
        name:=4;
        write(out,nl,1,<:scatop:>,sp,afst-2,<:,:>,nl,1,sp,2,
        <:insert :>);
        p:=1;
        write(out,sp,afst-5-write(out,string z.name(increase(p))));
        write(out,<:,:>,nl,1);
        f:=4;
        skriv2(<:<keys>:>,<:<command mask>:>);
        f:=14;
        skriv1(<:<wrk>:>);
        f:=16;
        skriv1(<:<wrk>:>);
        f:=18;
        skriv2(<:<buf>:>,<:<area>:>);
        f:=20;
        skriv2(<:<internal>:>,<:<function>:>);
        f:=22;
        skriv2(<:<pr>:>,<:<pk>:>);
        f:=24;
        skriv1(<:<max ll>:>);
        f:=26;
        skriv1(<:<max ul>:>);
        f:=28;
        skriv1(<:<std ll>:>);
        f:=30;
        skriv1(<:<std ul>:>);
        f:=32;
        skriv1(<:<size>:>);
        name:=32;
        p:=1;
        write(out,sp,4);
        x:=write(out,string z.name(increase(p)));
        write(out,sp,afst-x,<:, <prog>:>,nl,1);
        f:=42;
        skriv1(<:<user ll>:>);
        f:=44;
        skriv1(<:<user ul>:>);
        write(out,sp,3);
        et:=38; st:=40; ep:=42; spe:=44;
        for i:=1 step 1 until xx do
        begin
          long a,b,c,d;
          et:=et+8;
          ep:=ep+8;
          st:=st+8;
          spe:=spe+8;
          a:=z.et; if a<0 then a:=a+16777216;
          b:=z.ep; if b<0 then b:=b+16777216;
          c:=z.st; if c<0 then c:=c+16777216;
          d:=z.spe; if d<0 then d:=d+16777216;
          p:=1;
          x:=write(out,<< dddd>,a,c,b,d);
          write(out,sp,(afst+1)-x,if i=xx then <:;:>
          else <:,:>,<: <e.t> <s.t> <e.p> <s.p> :>,
          string ra(increase(p),i));
          if z.et<0 or z.st<0 or z.ep<0 or z.spe<0 then
          write(out,<:(:>,z.et,z.st,z.ep,z.spe,<:):>);
          write(out,if i=6 then <:<10>:> else <:<10>   :>);
        end;
      end;
slut: 
    end;
  end;
  close (z,true);
  write(out,false add 25,3);
  if u=1 then setposition(out,0,0);
  if u=1 then unstackcuro;
end;
▶EOF◀