DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦caba1f75b⟧ TextFile

    Length: 3840 (0xf00)
    Types: TextFile
    Names: »retcats3tx  «

Derivation

└─⟦01e83a425⟧ Bits:30008166 Bånd med SW8010 og SW8500 source code
    └─⟦75ff9bef3⟧ 
        └─⟦this⟧ »retcats3tx  « 

TextFile

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◀