|
|
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: »charpacktxt«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt.
└─⟦0364f57e3⟧
└─⟦this⟧ »charpacktxt«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
└─⟦b2ec5d50f⟧
└─⟦this⟧ »charpacktxt«
└─⟦this⟧ »tplot/charpacktxt«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
└─⟦b2ec5d50f⟧
└─⟦dd2c1b53f⟧ »tplot«
└─⟦this⟧
scope temp charpack
clear temp charpack
charpack=set 100
message charpack
charpack=algol message.no list.no
begin
integer i, j, idx, segm, n, point;
boolean array charfound(0:255);
integer array ia(1:10), POINTS(1:100), INDEX(0:255);
real array NAME(1:3);
boolean array field IDX, P;
zone ch(2*128,2,stderror);
packtext(NAME,<: unknown:>);
readlsfp(NAME);
i:=1;
open(ch,4,string(NAME(increase(i))),0);
ia(1):=8; for i:=2 step 1 until 10 do ia(i):=0;
if createentry(NAME,ia)>0 then
begin
alarm(<:<10>***area cannot be created :>);
end;
for i:=0 step 1 until 255 do
begin
INDEX(i):=0;
charfound(i):=false;
end;
segm:=1; IDX:=0; P:=256;
outrec6(ch,512);
READ:
read(in,idx);
if idx>255 then goto END;
charfound(idx):=true;
n:=0;
for i:=read(in,point) while point<>77 do
begin n:=n+1; POINTS(n):=point; end;
if n mod 2 =0 then
begin POINTS(n+1):=POINTS(n+2):=77; n:=n+2; end
else
begin POINTS(n+1):=77; n:=n+1;end;
if P+n//2>512 then
begin
for i:=1 step 1 until (512-P) do ch.P(i):=true;
segm:=segm+1;
outrec6(ch,512);
P:=0;
end;
INDEX(idx):=P+1+(segm-1)*512;
for i:=2 step 2 until n do
ch.P(i//2):=false add( POINTS(i-1)//10 )shift 3
add( POINTS(i-1) mod 10 )shift 3
add( POINTS(i)//10 )shift 3
add( POINTS(i) mod 10);
P:=P+n//2;
goto READ;
END:
for i:=1 step 1 until (512-P) do ch.P(i):=true;
setposition(ch,0,0);
swoprec6(ch,512);
for i:=1 step 1 until 256 do
ch.IDX(i):=false add INDEX(i-1);
ia(1):=segm;
changetail(NAME,ia);
permentry(NAME,4);
for i:=0 step 1 until 255 do
begin
if -,charfound(i) then write(out,<:<10>:>,i,<: undefined:>);
end;
close(ch,true);
end;
\f
mode message.no list.no 15.no
▶EOF◀