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

⟦43b3bd9af⟧ TextFile

    Length: 2304 (0x900)
    Types: TextFile
    Names: »tastltxt    «

Derivation

└─⟦9ccaf6601⟧ Bits:30008165 Bånd med SW8000 kildetekst/release værktøjer
    └─⟦40b1eb8cd⟧ 
        └─⟦this⟧ »tastltxt    « 

TextFile

begin
  zone z(1,1,stderror);
  integer i,buf;
  integer array ia(1:20);
  integer array intab(0:127);
  long array term(1:2);

  procedure rd_ext(ext); integer ext;
  begin
    integer t,c,i,j;
    zone z(1,1,stderror);
    integer array ia(0:1);
    intable(intab);
    readstring(in,term,1);
    intable(0);
    open(z,0,term,0);
    ext:=monitor(4,z,0,ia);
    close(z,true);
  end;

  procedure o_nl;
  write(out,"nl",1);

  procedure w_localid(l); value l; integer l;
  begin
    write(out,<:, localid :>,false add (l shift (-16)),1,
            false add ((l shift (-8)) extract 8),1,
            false add (l extract 8), 1);
  end;

  procedure w_status(s); value s; integer s;
  begin
    integer i,j;
    j:=s;
    if j=0 then
      write(out,<:status ok :>)
    else
    begin
      i:=23;
      write(out,<:status :>,<< d>,j,<:  -  :>);
      while j<>0 do begin
        if false add j then write(out,<< d>,i);
        i:=i-1;
        j:=j shift (-1);
      end;
    end;
  end;
  
  for i:=48 step 1 until 57 do intab(i):= 6 shift 12 + i;

  open(z,0,<:menu:>,0);
  getshare6(z,ia,1);
  ia(1):=106 shift 12; 
  ia(2):=ia(3):=ia(4):=0;
  rd_ext(ia(3));
  write(out,<:lookup terminal: :>,term,
  <:, pda :>,ia(3),"nl",1); setposition(out,0,0);
  setshare6(z,ia,1);
  buf:=monitor(16,z,1,ia);
  write(out,<:buf :>,buf,<:<10>:>); setposition(out,0,0);
  i:=monitor(18,z,1,ia);
  if i<>1 then begin
    write(out,<:result :>,<< d>,i,<:<10>:>); 
  end
  else begin
    w_status(ia(1)); w_localid(ia(2)); write(out,
    <:, term ext :>, ia(3), <:, p :>, ia(4) shift (-12),
    <:, timer :>, ia(4) extract 12);
    system(5,ia(5)+2,name);
    write(out,<:<10>pool :>,ia(5),<:, :>,name,
    <:, blocks full :>,ia(6),
    <:, halfwords free :>, ia(7), <:<10>:> );
  end;
  close(z,true);
end;
▶EOF◀