|
|
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: 5376 (0x1500)
Types: TextFile
Names: »gendottabtx «
└─⟦cde9d517b⟧ Bits:30007477 RC8000 Backup tape fra HT's bus-radio system
└─⟦6a563b143⟧
└─⟦this⟧ »gendottabtx «
└─⟦110021343⟧ Bits:30007476 RC8000 Backup tape fra HT's bus-radio system
└─⟦a957ba283⟧
└─⟦this⟧ »gendottabtx «
gendottab=algol list.yes blocks.yes
begin
message gendottab side 1 - 810511/hko;
zone zu(128,1,stderror);
real r;
integer i,j,k,kanal,op,tlf,rep,tegn,klasse,dotnr;
integer array tail(1:10);
integer field int;
integer array field iaf;
open(zu,4,<:dotkonfig:>,0);
<* ajourfør "shortclock" i filen 'dotkonfig' eller opret ny fil*>
i:= monitor(42) lookup entry:(zu,0,tail);
if i = 0 then
begin
tail(1):= 1;
tail(6):= systime(7,0,r);
i:= monitor(44) change entry:(zu,0,tail);
end;
if i <> 0 then
begin
tail(1):= tail(2):= 1;
tail(6):= systime(7,0,r);
for j:= 7 step 1 until 10 do tail(j):= 0;
i:= monitor(40) create entry:(zu,0,tail);
end;
if i <> 0 then
begin
write(out,"nl",1,<:*** dotkonfig kan ikke oprettes:>,
"nl",1,"sp",4,case i of(<:res=1<'?'>:>,
<:fejl ved catalog:>,
<:navne-konflikt:>,
<:ressourcer mangler:>,
<:catalog base illegal:>,
<:navne-format:>,
<:hovedkatalog eksisterer ikke:>));
end
else
begin
\f
message gendottab side 2 - 810511/hko;
outrec6(zu,2);
int:= 2;
zu.int:= 0; <* dotfunktion= udlæs kanaler *>
iaf:= 0;
tlf:= 9;
rep:= 10;
kanal:= 1;
repeat
outrec6(zu,(8+2)*2);
repeat
read(in,k);
repeatchar(in);
klasse:= readchar(in,tegn);
until tegn = ';' or tegn = 'em';
if tegn = 'em' or kanal <> k then
begin
write(out,"nl",1,<:radio-kanal::>,kanal,<: ikke fundet:>);
if tegn = ';' then
write(out,<:, kanalnr læst=:>,k);
goto slut;
end
else
begin
\f
message gendottab side 3 - 810511/hko;
<* kanalnr ok *>
op:= 1;
repeat
j:= read(in,i);
repeatchar(in);
klasse:= readchar(in,tegn);
if tegn <> ':' or op <> i then
begin
write(out,"nl",1,<:fejl ved radiokanal,operatør::>,k,<:,:>,op,
<: læst::>,if j=0 then <<b> else <<d>,
if j=0 then i else 0);
if tegn = 'em' then write(out,<:'em':>);
goto slut;
end;
read(in,dotnr);
repeatchar(in);
klasse:= readchar(in,tegn);
if tegn = ':' or tegn = 'em' or tegn = ';' then
begin
write(out,"nl",1,
<:ulovlig terminator: radiokanal,oper.,dotnr,term::>,
<<d>,kanal,<:,:>,op,<:,:>,dotnr,
if tegn = ':' then <:':':> else
if tegn = ';' then <:';':> else <:'em':>);
goto slut;
end;
j:= dotnr extract 12;
zu.iaf(op):= j;
op:= op+1;
until op > 8; <*der skal være tabelindgange for 8 operatører*>
\f
message gendottab side 4 - 810511/hko;
read(in,dotnr);
repeatchar(in);
klasse:= readchar(in,tegn);
if tegn = ':' or tegn = ';' or tegn = 'em' then
begin
write(out,"nl",1,<:ulovligt skilletegn: radiokanal:>,kanal,
<:, tlf::>,if tegn = ':' then <:':':> else
if tegn = ';' then <:';':> else <:'em':>);
goto slut;
end;
zu.iaf(tlf):= dotnr extract 12;
read(in,dotnr);
repeatchar(in);
klasse:= readchar(in,tegn);
if tegn = ':' or tegn = ';' or tegn = 'em' then
begin
write(out,"nl",1,<:ulovligt skilletegn: radiokanal:>,kanal,
<:, repeater::>,if tegn = ':' then <:':':> else
if tegn = ';' then <:';':> else <:'em':>);
goto slut;
end;
zu.iaf(rep):= dotnr extract 12;
end;
kanal:= kanal +1;
until tegn = 'em' or kanal > 6; <*der kan højst være 6 radiokanaler*>
kanal:= kanal -1;
setposition(zu,0,0);
\f
message gendottab side 5 - 810511/hko;
inrec6(zu,2);
write(out,"ff",1,"nl",1,<:dot-konfiguration: (indhold af 'dotkonfig'):>);
if zu.int <> 0 then write(out,"nl",1,<:***ulovlig funktion=:>,zu.int)
else
begin
for k:= 1 step 1 until kanal do
begin
inrec6(zu,(8+2)*2);
write(out,"nl",2,<:radiokanal.:>,<<z>,k,"nl",1,"sp",3,<:operatør.:>,1,
":",1,<<-dddd>,zu.iaf(1));
for i:= 2 step 1 until 8 do
write(out,"nl",1,"sp",11,".",1,<<z>,i,":",1,<<-dddd>,zu.iaf(i));
write(out,"nl",1,"sp",3,<:telefon::>,"sp",3,<<-dddd>,zu.iaf(tlf));
write(out,"nl",1,"sp",3,<:repeater::>,"sp",2,<<-dddd>,zu.iaf(rep));
end;
if kanal < 6 then
write(out,"nl",2,<:!!! tabellen omfatter kun:>,kanal,
<: radiokanaler:>);
end;
write(out,"nl",1,"ff",1);
if false then
begin
slut:
outchar(out,'nl');
end;
end;<* fil ok *>
<*gendottab slut*>
end;
▶EOF◀