|
|
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: 6144 (0x1800)
Types: TextFile
Names: »sendvtlogtx «
└─⟦cde9d517b⟧ Bits:30007477 RC8000 Backup tape fra HT's bus-radio system
└─⟦6a563b143⟧
└─⟦this⟧ »sendvtlogtx «
└─⟦110021343⟧ Bits:30007476 RC8000 Backup tape fra HT's bus-radio system
└─⟦a957ba283⟧
└─⟦this⟧ »sendvtlogtx «
begin
real array programnavn(1:2);
boolean gentag,testlist;
integer antal_navne,res;
integer array tail(1:10);
real array navnefil(1:2);
zone zhelp(1,1,stderror);
procedure flyt_navne(sendte);
value sendte;
boolean sendte;
begin
integer i;
real array field raf;
zone zfra,ztil(128,1,stderror);
integer array fratail,tiltail(1:10);
if sendte then
begin
open(zfra,4,<:vtlogsendt:>,0);
open(ztil,4,<:vtlogslet:>,0);
end
else
begin
open(zfra,4,<:vtlogklar:>,0);
open(ztil,4,<:vtlogsendt:>,0);
end;
if monitor(42,ztil,0,tiltail)=0 then
begin
if monitor(52,ztil,0,tiltail)=0 then
begin
if monitor(8,ztil,0,tiltail)=0 then
begin
if monitor(42,zfra,0,fratail)=0 then
begin
if monitor(52,zfra,0,fratail)=0 then
begin
for i:= 1 step 1 until fratail(10) do
begin
inrec6(zfra,8);
setposition(ztil,0,(tiltail(10)+i-1)//64);
if (tiltail(10)+i-1)//64 >= tiltail(1) then
outrec6(ztil,512)
else
swoprec6(ztil,512);
raf:= ((tiltail(10)+i-1) mod 64)*8;
tofrom(ztil.raf,zfra,8);
end;
tiltail(10):=tiltail(10)+fratail(10);
fratail(10):=0;
monitor(44,ztil,0,tiltail);
monitor(44,zfra,0,fratail);
end;
end;
end;
end;
end;
close(ztil,true);
close(zfra,true);
end;
if system(4,1,programnavn) <> 6 shift 12 + 10 then system(4,0,programnavn);
gentag:= programnavn(1)=real<:genta:> add'g';
testlist:= -,gentag and programnavn(1)<>real<:sendv:> add 't';
movestring(navnefil,1,if gentag then <:vtlogsendt:> else <:vtlogklar:>);
open(zhelp,0,navnefil,0); close(zhelp,true);
res:= monitor(42)lookup_entry:(zhelp,0,tail);
antal_navne:= if res=0 then tail(10) else 0;
if antal_navne > 0 then
begin
integer i,j,d,antal_poster;
real dato,tid,t;
integer array ia(1:10);
long array filnavne(1:antal_navne*2);
real array field raf;
zone z(128,1,stderror);
integer field v_kode,v_bus,v_ll1,v_ll2;
real field v_tid;
long array field v_tekst;
v_tid:= 4;
v_kode:=v_tekst:= 6;
v_bus:= 8;
v_ll1:= 10;
v_ll2:= 12;
open(z,4,navnefil,0);
for i:= 1 step 1 until antal_navne do
begin
raf:= (i-1)*8;
inrec6(z,8);
tofrom(filnavne.raf,z,8);
end;
close(z,true);
for i:= 1 step 1 until antal_navne do
begin
raf:= (i-1)*8;
open(z,4,filnavne.raf,0);
if monitor(42)lookup_entry:(z,0,ia) = 0 then
begin
if monitor(52)create_areaprocess:(z,0,ia) = 0 then
begin
antal_poster:= 0;
for j:= 1 step 1 until ia(10) do
begin
inrec6(z,16);
antal_poster:=antal_poster+1;
dato:=systime(4,z.v_tid,tid);
d:= entier(dato); t:= entier(tid/100)/100;
if z.v_kode=7 and z.v_ll1=0 then z.v_kode:= 5;
if 0 <= z.v_kode and z.vkode <= 1 then
begin
write(out, case (z.v_kode+1) of (<:ST:>,<:SL:>),
<< zd>,d mod 100,".",1,<<zd>,(d//100) mod 100,".",1,
<<zddd>,(d//10000)+1900,"sp",1,<<zd.dd>,t,
"sp",1);
if z.v_kode = 1 then
write(out,<<ddddddd>,antal_poster,"cr",1,"nl",1)
else
write(out,"sp",7,"cr",1,"nl",1);
end
else
if z.v_kode = 4 then
begin
write(out,<:PS :>,<<zd.dd>,t,"sp",1);
write(out,"sp",20-write(out,z.v_tekst),"cr",1,"nl",1);
end
else
if z.v_kode <= 7 then
begin
write(out,case (z.v_kode+1) of (<::>,<::>,<:AU:>,<:AO:>,
<::>,<:MI:>,<:MU:>,<:MO:>),"sp",1,<<zd.dd>,t,"sp",1,
<<dddd>,z.v_bus extract 14,"sp",1);
if z.v_ll1 <> 0 then
begin
if z.v_ll1 shift (-7) extract 5 = 0 then
write(out,<< ddd>,z.v_ll1 shift (-12) extract 10,"/",1)
else
write(out,<<ddd>,z.v_ll1 shift (-12) extract 10,
false add (z.v_ll1 shift (-7) extract 5 + '@'),1,"/",1);
write(out,<<d>,z.v_ll1 extract 7,
"sp",if z.v_ll1 extract 7 < 10 then 2 else 1);
end
else
write(out,"sp",8);
if z.v_ll2 <> 0 then
begin
if z.v_ll2 shift (-7) extract 5 = 0 then
write(out,<< ddd>,z.v_ll2 shift (-12) extract 10,"/",1)
else
write(out,<<ddd>,z.v_ll2 shift (-12) extract 10,
false add (z.v_ll2 shift (-7) extract 5 + '@'),1,"/",1);
write(out,<<d>,z.v_ll2 extract 7,
"sp",if z.v_ll2 extract 7 < 10 then 1 else 0);
end
else
write(out,"sp",7);
write(out,"cr",1,"nl",1);
end;
ud(out);
end for j;
end if areaprocess;
end if lookup;
close(z,true);
end for i;
if -, (gentag or testlist) then
begin
flyt_navne(true);
flyt_navne(false);
end;
end antal navne > 0;
write(out,<:EX:>,"sp",27,"cr",1,"nl",1);
trapmode:= 1 shift 10;
end
▶EOF◀