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

⟦c423573ea⟧ TextFile

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

Derivation

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

TextFile

ramrest=set 1 disc5
scope user ramrest
ramrest=algol list.no
\f


RAMAN SAVESYSTEM  program: ramrest

begin
  integer i,j,s,nsegm,tnr,fil1,fil2,fil,bnr,b,efil;
  boolean closeres;
  integer array tail,t(1:10);
  long array navn(1:2);
  array text(1:12);
  zone int,MAG(128,1,stderror),res(128,1,stderror);



  closeres:= outmedium(res);
lookuptail(<:ramnr:>,t); efil:=t(8)-1;
open(MAG,4 shift 12+18,<:ramtape:>,0);
  setposition(MAG,0,0);
  inrec(MAG,128); bnr:=MAG(4);
write(out,<: 4 :>); setposition(out,0,0);

L:write(out,false add 10,1,<:fra til=:>); setposition(out,0,0);
  read(in,fil1); if fil1<0 then goto SLUT;
  if fil1=0 then fil1:=1; read(in,fil2);
  if fil2>=efil then fil2:=efil;

  for fil:=fil1 step 1 until fil2 do
begin ramng(fil,navn,1);
        if lookuptail(navn,tail)=0 then 
        begin write(out,false add 10,1,<<ddd>,fil,<:  *indgangen findes allerede:>);
              setposition(out,0,0); goto NYFIL;
        end;
        setposition(MAG,fil,0); inrec(MAG,128);
        for j:=1 step 1 until 10 do tail(j):=0;
        tail(1):=MAG(20); tail(9):=MAG(18); tail(10):=MAG(19);
        tail(8):=1;
        b:=MAG(16);
        if b=2 then
        begin write(out,false add 10,1,<<ddd>,fil,<:  *tom fil:>);
              setposition(out,0,0); goto NYFIL;
       end;
        nsegm:= tail(1);
        if createentry(navn,tail)<>0 then
        begin write(out,<:** fil ikke oprettet:>); goto SLUT; end;
        write(out,false add 10,1,<<ddd>,fil);
        for j:=1 step 1 until 10 do write(out,<< dddd>,tail(j));
        setposition(out,0,0);
        open(int,4,navn,0); setposition(MAG,fil,0);
        for j:= 1 step 1 until nsegm do
        begin inrec(MAG,128); outrec(int,128);
              for s:= 1 step 1 until 128 do int(s):= MAG(s) 
        end;
        close(int,true);
NYFIL:
  end fil;
  goto L;
  SLUT:setposition(MAG,0,0);
  close(MAG,false);
  write(res,<:<12>:>,<:<25>:>);
  close(res,closeres);
end;

\f


▶EOF◀