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

⟦1a5080bb4⟧ TextFile

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

Derivation

└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
    └─⟦b2ec5d50f⟧ 
        └─⟦0f6e8048b⟧ »preditfile« 
            └─⟦this⟧ 

TextFile


\f



comment predit text           * page 4   11 02 80, 16.42
0 1 2 3 4 5 6 7 8 9 ;  

comment case 2, ga34tape;  
_________________________

begin

  integer          cl, ch, i, t, index;  
  integer array    alfa(0:255);  
  array          outalfabet(0:512);  
  boolean          cont, notsum, paritybit;  
  zone             zin(10, 1, endblock);  
  procedure        endblock(z, s, b);  
  zone                      z;  
  integer                      s, b;  
  if s extract 1 = 1 then stderror(z, s, b)
  else
  if cont and b = 0 
  and (s shift (-18) extract 1) = 1 then
  begin
    cont := false;  b := 4;  
    z(1) := real <::>;  
  end;  

  for cl := 0 step 1 until 255 do
  alfa(cl) := (2 shift 12) + cl;  comment ordinary symbol;  
  alfa(122) := (3 shift 12) + 122;  comment LC symbol;  
  alfa(124) := (4 shift 12) + 124;  comment UC symbol;  
  alfa(109) := (5 shift 12) + 109;  comment sumch symbol;  
  intable(alfa);  

  for t := 0 step 1 until 512 do outalfabet(t) := real <:<26>:>;  
  for t := 0 step 1 until 64 do
  begin comment assign outputsymboltable;  

    ch := t;  paritybit := true;  
    for i := 1 step 1 until 8 do
    begin comment parity bit test;  
      if ch extract 1 = 1 then paritybit := -, paritybit;  
      ch := ch shift (-1);  
    end parity bit test;  

    ch := 32*(t//16) + (t mod 16)
    _     + (if paritybit then 16 else 0);  

\f



comment predit text           * page 5   11 02 80, 16.42
0 1 2 3 4 5 6 7 8 9 ;  

    outalfabet(ch) := real(case t + 1 of  (<:_:>, 
    <:1:>, <:2:>, <:3:>, <:4:>, <:5:>, <:6:>, <:7:>, <:8:>, 
    <:9:>, _<::>, _<::>, _<::>, <:å:>, _<::>, _<::>, <:0:>, 
    <:<60>:>, <:s:>, <:t:>, <:u:>, <:v:>, <:w:>, <:x:>, <:y:>, 
    <:z:>, _<::>, <:, :>, _<::>, _<::>, <:___:>, <:*:>, <:-:>, 
    <:j:>, <:k:>, <:l:>, <:m:>, <:n:>, <:o:>, <:p:>, <:q:>, 
    <:r:>, <:<12>:>, <:ø:>, <:;  :>, _<::>, _<::>, _<::>, <:æ:>, 
    <:a:>, <:b:>, <:c:>, <:d:>, <:e:>, <:f:>, <:g:>, <:h:>, 
    <:i:>, <:<26>:>, <:.:>, <:<26>:>, <:<26>:>, <::>, <::>, <:<10>:>));  

    outalfabet(ch + 128) := real(case t + 1 of  (<:_:>, 
    <:or:>, <:*:>, <:/:>, <:=:>, <:;  :>, <:(:>, <:):>, <:(:>, 
    <:):>, _<::>, _<::>, _<::>, <:Å:>, _<::>, _<::>, _<:and:>, 
    <:<62>:>, <:S:>, <:T:>, <:U:>, <:V:>, <:W:>, <:X:>, <:Y:>, 
    <:Z:>, _<::>, <:':>, _<::>, _<::>, <:___:>, <:*:>, <:+:>, 
    <:J:>, <:K:>, <:L:>, <:M:>, <:N:>, <:O:>, <:P:>, <:Q:>, 
    <:R:>, <:<12>:>, <:Ø:>, <:;  :>, _<::>, _<::>, _<::>, <:Æ:>, 
    <:A:>, <:B:>, <:C:>, <:D:>, <:E:>, <:F:>, <:G:>, <:H:>, 
    <:I:>, <:<26>:>, <:::>, <:<26>:>, <:<26>:>, <::>, <::>, <:<10>:>));  

  end assign output symbol table;  

  open(zin, (4 shift 12) + 10, <:reader:>, 1 shift 18);  
  notsum := cont := true;  
  index := 0;  

  for cl := read_char(zin, ch) while cont do
  begin
    case cl - 1 of

    begin

      begin comment case 1, ordinary symbol;  
        if notsum then write(out, string outalfabet(ch + index));  
        notsum := true;  
      end case1;  

      begin comment case 2, LC symbol;  
        if notsum then index := 0;  
        notsum := true;  
      end case2;  

      begin comment case 3, UC symbol;  
        if notsum then index := 128;  
        notsum := true;  
      end case3;  

      begin comment case 4, sumcheck symbol;  
        notsum := false;  
      end case4;  

    end input cases;  
  end input loop;  

  write(out, false add 25, 3, false, 3);  
  close(zin, true);  

end case 2, ga34tape;  
▶EOF◀