|
|
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: 3840 (0xf00)
Types: TextFile
Names: »retcats3tx «
└─⟦01e83a425⟧ Bits:30008166 Bånd med SW8010 og SW8500 source code
└─⟦75ff9bef3⟧
└─⟦this⟧ »retcats3tx «
mode list.yes
catsort4tx=edit catsort3tx
; aux cat : 2 linier pr entry, den anden skal tælles med ved udskrift
; nye modekinds : mt62, mt32, mt16, mt08
; connect output : segm < 2 + key
;
l./procedure stack_current_output (file_name);/,
l./result := 2;/, r/2/1 shift 2/, r/1<1/1<2 + 0/, r/preferably disc/temporary/
l./procedure outmodekind;/, d./end outmodekind;/, i#
procedure outmodekind;
begin integer i, monrelease;
integer array dummyia (1:12);
<*get monitor release*>
system (5) move core :(64, dummyia);
monrelease := dummyia (1); <*rel shift 12 + subrel*>
for i:=1 step 1 until 25 do
begin
if segm = (case i of (
<*ip*> 1 shift 23 + 0 shift 12 + 0,
<*bs*> 1 shift 23 + 0 shift 12 + 4,
<*tw*> 1 shift 23 + 0 shift 12 + 8,
<*tro*> 1 shift 23 + 0 shift 12 + 10,
<*tre*> 1 shift 23 + 2 shift 12 + 10,
<*trn*> 1 shift 23 + 4 shift 12 + 10,
<*trf*> 1 shift 23 + 6 shift 12 + 10,
<*tpo*> 1 shift 23 + 0 shift 12 + 12,
<*tpe*> 1 shift 23 + 2 shift 12 + 12,
<*tpn*> 1 shift 23 + 4 shift 12 + 12,
<*tpf*> 1 shift 23 + 6 shift 12 + 12,
<*tpt*> 1 shift 23 + 8 shift 12 + 12,
<*lp*> 1 shift 23 + 0 shift 12 + 14,
<*crb*> 1 shift 23 + 0 shift 12 + 16,
<*crd*> 1 shift 23 + 8 shift 12 + 16,
<*crc*> 1 shift 23 + 10 shift 12 + 16,
<*mto*> 1 shift 23 + 0 shift 12 + 18, <*mt62, mtlh*>
<*mte*> 1 shift 23 + 2 shift 12 + 18,
<*nrz*> 1 shift 23 + 4 shift 12 + 18, <*mt16, mtll*>
<*nrze*> 1 shift 23 + 6 shift 12 + 18,
<* *> 1 shift 23 + 8 shift 12 + 18, <*mt32*>
<* *> 1 shift 23 + 12 shift 12 + 18, <*mt08*>
<*mthh*> 1 shift 23 +128 shift 12 + 18,
<*mthl*> 1 shift 23 +132 shift 12 + 18,
<*pl*> 1 shift 23 + 0 shift 12 + 20 ))
then goto found
end;
found:
if i=26 then
begin
write(out,<<dddd>,segm shift (-12),<:.:>,
<<d>,segm extract 12,sp,
if segm extract 12<10 then 2 else 1);
end else
begin
if monrelease < 80 shift 12 + 0 then
write (out, true, 8, case i of (
<: ip:>,
<: bs:>,
<: tw:>,
<: tro:>,
<: tre:>,
<: trn:>,
<: trf:>,
<: tpo:>,
<: tpe:>,
<: tpn:>,
<: tpf:>,
<: tpt:>,
<: lp:>,
<: crb:>,
<: crd:>,
<: crc:>,
<:mtlh:>,
<: mte:>,
<:mtll:>,
<:nrze:>,
<:mt32:>,
<:mt08:>,
<:mthh:>,
<:mthl:>,
<: pl:> ))
else
write(out, true, 8, case i of (
<: ip:>,
<: bs:>,
<: tw:>,
<: tro:>,
<: tre:>,
<: trn:>,
<: trf:>,
<: tpo:>,
<: tpe:>,
<: tpn:>,
<: tpf:>,
<: tpt:>,
<: lp:>,
<: crb:>,
<: crd:>,
<: crc:>,
<:mt62:>,
<: mte:>,
<:mt16:>,
<:nrze:>,
<:mt32:>,
<:mt08:>,
<:mthh:>,
<:mthl:>,
<: pl:> ));
end;
end outmodekind;
#
l./sorted:/, l./if cat >= 0 and segm >= 0 then/, l2, i/
line := line - 1;
/, p1
f
end
▶EOF◀