|
|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2304 (0x900)
Types: TextFile
Names: »ramrestx«
└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
└─⟦4334b4c0b⟧
└─⟦this⟧ »ramrestx«
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◀