|
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: 7680 (0x1e00) Types: TextFile Names: »eppx«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt. └─⟦0364f57e3⟧ └─⟦this⟧ »eppx« └─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ. └─⟦4334b4c0b⟧ └─⟦this⟧ »eppx«
clear user epp epp=set 12 disc5 scope user epp epp=algol list.no PLOTPROGRAM external procedure epp; begin integer i,j,k,h,t,m,min,df,dt,antal,l,no,b,s,n,ver,M,v,e, deltaf,nyfmax,fmin,fmax,del,stpl,std,sk,spl,im,layout; real up,u1p,u,um,u0,u1,w,s1,s2,t1,t2,kb,pi,c,ga,ao,f,f1,p,wo,wq,w1,wm, gain,bagr,bgr, sum,maxsum,jmax,tmin,tmax,smin,smax,bmin,bmax,max1,max2,umax,max,ymax, si,x,y,fx,fy,dx,dy,skax,skay, g,a1,x1,x2,y1,y2; boolean ir,headb; array text(1:12), spname(1:2), a(1:10); array head(1:12); integer array sptail(1:10); zone sp(128,1,stderror); M:=-1; write(out,false add 10,2,<:PLOTTER=:>); setposition(out,0,0); Z: if readchar(in,m) <> 6 then goto Z; m:=m-96; if m=24 then m:=0; if m<>0 then begin M:=1; write(out,<:LAYOUT=:>); setposition(out,0,0); read(in,layout); x:=26; y:=18; si:=1.5; im:=-1; if cb(1,layout) then begin write(out,<:X Y SI=:>); setposition(out,0,0); read(in,x,y,si); end; if cb(2,layout) then plotspline:=true; if cb(3,layout) then im:=1; setplotname(case abs(m) of( <:tek4006a:>,<:houstona:>,<:tek4006c:>,<:tek4006d:>),if m=4 then 3 else 0); if cb(4,layout) then begin plotform(10,38,25); write(out,<:xmin xmax ymin ymax SI=:>); setposition(out,0,0); read(in,x1,x2,y1,y2,si); x1:=x1-1; x2:=x2+1; y1:=y1-1; y2:=y2+2; plotsubform(x1,x2,y1,y2-1,false); x:=x2-x1; y:=y2-y1-1; end else plotform(10,x,y+1); plotsize:=0.2*si; plotheight:=0.28*si; linediff:=0.56*si; headb:=true; write(out,<:<HEAD>=:>); setposition(out,0,0); readchar(in,i); if i<>10 then begin repeatchar(in); readhead(in,head,1); headb:=false; end; write(out,<:FMIN FMAX DF DT =:>); setposition(out,0,0); read(in,fmin,fmax,df,dt); deltaf:=fmax-fmin; end; start: R: write(out,<:s= :>); setposition(out,0,0); read(in,s); if s<0 then goto slut; if s>1 then goto R; if s=0 then begin for i:=1 step 1 until 10 do sptail(i):=0; write(out,false add 10,1,<:NAME=:>); setposition(out,0,0); readstring(in,spname,1); open(sp,4,string inc(spname),0); if monitor(42,sp,0,sptail) <> 0 then begin write(out,<:***:>,string inc(spname),<: unknown:>,false add 10,1); close(sp,true); goto start; end; p:=10; inrec(sp,128); sptail(1):=sp(1); t:=sp(2); min:=sp(4); max:=sp(6); umax:=sp(7); bmin:=sp(11); bmax:=sp(12); if headb then for j:=1 step 1 until 12 do head(j):=sp(j+99); ir:=false; if sp(40)>0 then sk:=10 else sk:=1; if sp(41)>0 then ir:=true; b:=sp(50); smin:=if fmin<bmin then bmin else fmin; smax:=if fmax>bmax then bmax else fmax; gain:=1; bagr:=1; dx:=0; del:=1; write(out,<:VER=:>); setposition(out,0,0); read(in,ver); if ver=0 then write(out,false add 10,1,<:Standardparametre:>,false add 10,2); setposition(out,0,0); if cb(1,ver) then begin write(out,<:GAIN BAGR DEL =:>); setposition(out,0,0); read(in,gain,bagr,del); end; if cb(2,ver) then begin B1: write(out,<:BMIN=:>,<< dddd.dd>,bmin,<: CM-1 SMIN=:>); setposition(out,0,0); read(in,smin); if smin<bmin or smin<fmin then goto B1; B2: write(out,<:BMAX=:>,<< dddd.dd>,bmax,<: CM-1 SMAX=:>); setposition(out,0,0); read(in,smax); if smax>bmax or smax>fmax then goto B2; end; if cb(3,ver) then begin write(out,<:STPL=:>); setposition(out,0,0); read(in,maxsum); end; if cb(5,ver) then begin write(out,<:SK DX=:>); setposition(out,0,0); read(in,sk,dx); end; end s=0; if M=1 then begin skax:=(x-2)/deltaf; skay:=(y-4)/max; M:=-1; setmargin(1,y-0.75); if cb(4,layout) then goto LL; if b=-1 then writeplot(<:<12>I(<14>n<15>):>); if b>0 then writeplot(case b of( <:<12>R(<14>n<15>):>,<:<12>R(<14>n<15>):>,<:<12><14>c<15>(<14>n<15>):>, <::>,<::>,<:<12>lnI(<14>n<15>):>, <:<12>I(<14>n<15>):>)); LL: costhetay:=cos(-15*pi/180); sinthetay:=sin(-15*pi/180); setmargin(3,y-0.75); writeplot(<:<12>:>,string inc(head)); costhetax:=costhetay:=0; sinthetax:=sinthetay:=1; setmargin(.6,(y-plotsize*17)/2); writeplot(<:<12>I N T E N S I T Y:>); costhetax:=costhetay:=1; sinthetax:=sinthetay:=0; if im>0 then begin setmargin(.5,1.9); writeplot(<:<12>:>,<:0:>); plotmove(1,2); pendown; plotmove(1.4,2); penup; setmargin(.5 ,y-2.1); writeplot(<:<12>:>,<:1:>); plotmove(1,y-2); pendown; plotmove(1.4,y-2); penup; end im; plotmove(1,1); pendown; for j:=fmin step df until fmax do begin f1:=(j-fmin)*skax+1; if j<>fmin then begin plotmove(f1,1); plotmove(f1,1+y/(if j mod dt=0 then 25 else 50)); plotmove(f1,1); end; if j mod dt = 0 then begin setmargin(f1-plotsize*0.5*cif(j),0.8-plotheight); writeplot(<:<12>:>,case cif(j) of( <<d>,<<dd>,<<ddd>,<<dddd>),j); plotmove(f1,1); pendown; end; end; plotmove(x-1,1); plotmove(x-1,y-1); plotmove(x-1,1); plotmove(x-1,y-1); for j:=fmin step df until fmax do if j mod df=0 then nyfmax:=j; for j:=nyfmax step -df until fmin do begin f1:=(j-fmin)*skax+1; if j<>fmin then begin plotmove(f1,y-1); plotmove(f1,y-1-y/(if j mod dt=0 then 25 else 50)); plotmove(f1,y-1); end; end; plotmove(1,y-1); plotmove(1,1); plotmove(1,y-1); plotmove(1,1); if cb(4,layout) then plotsubform(x1+1,x2-1,y1+1,y2-1,false) else plotsubform(1,x-1,1,y-1,false); plotend; end M; penup; if s=0 then begin um:=(bmin-fmin+t/p)*skax; u0:=(smin-bmin)*10; h:=entier(u0/128); u0:=u0-h*128; if u0=0 then u0:=1; setposition(sp,0,h+2); inrec(sp,128); u1:=gain*sp(u0)*skay+bagr; u:=(smin-fmin)*skax; ymax:=y-2; plotmove((if ir then u-um else u)*sk+dx,if u1>ymax then ymax else u1); pendown; setposition(sp,0,2); sum:=0; up:=u; u1p:=u1; for k:=0 step 1 until sptail(1)-3 do begin inrec(sp,128); for j:=1 step 1 until 128 do begin i:=k*128+j; if i<t and (k*128+j) mod del = 0 then begin u:=(bmin-fmin+i/p)*skax; if u< (smin-fmin)*skax then goto S1; if u> (smax-fmin)*skax then goto S2; u1:=gain*sp(j)*skay+bagr; if cb(3,ver) then begin if sum>maxsum then begin sum:=0; if penstatus=0 then pendown else penup; end; sum:=sqrt((up-u)*sk*(up-u)*sk+(u1p-u1)*(u1p-u1))+sum; up:=u; u1p:=u1; end; plotmove((if ir then (u-um) else u)*sk+dx, if u1>ymax then ymax else u1); end; S1: end j; end k; S2: plotend; penup; close(sp,false); open(sp,4,string inc(spname),0); swoprec(sp,128); sp(20):=fmin; sp(21):=fmax; close(sp,true); end s=0; goto start; slut: if s=-2 then plotclose; end; end ▶EOF◀