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

⟦762e3556f⟧ TextFile

    Length: 76800 (0x12c00)
    Types: TextFile
    Names: »dlist«

Derivation

└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
    └─⟦4334b4c0b⟧ 
        └─⟦this⟧ »dlist« 

TextFile

*muxrun=algol blocks.yes

c
  0     1 begin
  1     2 <*mux
  1     3 Multiplexer program for Motorola M6800 microcomputers connected
  1     4 to an HC8000.
  1     5 1982-04-19*>
  1     6 integer i,j;
  1     7 integer no_of_cpu,max_ch_index,z_buf_size;
  1     8 integer field cpu_nr,cpu_size,cpu_state,
  1     9               cpu_free_channels,cpu_f_ch_ref,
  1    10               cpu_auto_ch_ref,cpu_rec_size;
  1    11 long array field cpu_ps,cpu_trm,cpu_rec,cpu_data,
  1    12                  cpu_reserver;
  1    13 
  1    13 i:=0;
  1    14 i:=cpu_nr:=i+2;
  1    15 i:=cpu_size:=i+2;
  1    16 i:=cpu_state:=i+2;
  1    17 i:=cpu_free_channels:=i+2;
  1    18 i:=cpu_f_ch_ref:=i+2;
  1    19 i:=cpu_auto_ch_ref:=i+2;
  1    20 i:=cpu_ps:=i;
  1    21 i:=cpu_trm:=i+10;
  1    22 i:=cpu_rec:=i+10;
  1    23 i:=cpu_data:=i+10;
  1    24 i:=cpu_reserver:=i+10;
  1    25 i:=cpu_rec_size:=i+12;   <*name,starttime*>
  1    26 algol copy.muxdef;
muxdef d.820419.1600
  1    26 <*mux definition
  1    27 1982-04-19
  1    28 *>
  1    29 no_of_cpu:=3;
  1    30 max_ch_index:=7;
  1    31 z_buf_size:=512; <*halfwords*>
  1    32 <*define configuration 1982-04-19
  1    33     cpu         k         trm       rec        data
  1    34 1 cpu1        64       acia1     acia2       acia3
  1    35 2 cpu2        64       acia4     acia5       acia6
  1    36 3 cpu3        64       acia7     acia8       acia9
  1    37 end define*>
  1    38 

c
  1    38 
  1    38 begin
  2    39 integer array cpu(1:no_of_cpu*cpu_rec_size//2);
  2    40 
  2    40 procedure list_cpu_table(z);
  2    41 zone z;
  2    42 begin
  3    43 integer i;
  3    44 integer array field cpu_f;
  3    45 cpu_f:=-cpu_rec_size;
  3    46 write(out,"nl",1,
  3    47 <:cpu  name  size   trm        rec   data    state reserver free:>);
  3    48 for i:=1 step 1 until no_of_cpu do
  3    49 begin
  4    50   cpu_f:=cpu_f+cpu_rec_size;
  4    51   write(z,"nl",1,<<dd   >,cpu.cpu_f.cpu_nr,
  4    52        true,8,cpu.cpu_f.cpu_ps,
  4    53        cpu.cpu_f.cpu_size,"sp",3,
  4    54        true,8,cpu.cpu_f.cpu_trm,true,8,cpu.cpu_f.cpu_rec,
  4    55        true,8,cpu.cpu_f.cpu_data,       
  4    56        case cpu.cpu_f.cpu_state+1 of(<:free  :>),
  4    57        true,8,cpu.cpu_f.cpu_reserver,
  4    58        << dd>,cpu.cpu_f.cpu_free_channels);
  4    59   end for cpu;
  3    60 end list_cpu_table;
  2    61 
  2    61 begin
  3    62 <*initialize cpu_table*>
  3    63 zone z(128,1,stderror);
  3    64 long array txt(1:3);
  3    65 array field f;
  3    66 integer cpu_c,char,nr,size;
  3    67 integer array field cpu_f;
  3    68 
  3    68 f:=0;
  3    69 open(z,4,<:muxdef:>,0);
  3    70 repeat readstring(z,txt,1) until txt(1)=long <:defin:> add 'e';
  3    71 repeat readstring(z,txt,1) until txt(1)=long <:data:>;
  3    72 cleararray(cpu);
  3    73 repeatchar(z);
  3    74 cpu_f:=-cpu_rec_size;
  3    75 for cpu_c:=1 step 1 until no_of_cpu do
  3    76 begin
  4    77   nr:=0;
  4    78   cpu_f:=cpu_f+cpu_rec_size;
  4    79   read(z,nr); repeatchar(z);
  4    80   read_char(z,char);
  4    81   cpu.cpu_f.cpu_nr:=nr;
  4    82   txt(2):=0;
  4    83   readstring(z,txt.f,1);
  4    84   for i:=1,2 do cpu.cpu_f.cpu_ps(i):=txt(i);
  4    85   read(z,size);
  4    86   cpu.cpu_f.cpu_size:=size;
  4    87   txt(2):=0; readstring(z,txt,1);
  4    88   for i:=1,2 do cpu.cpu_f.cpu_trm(i):=txt(i);
  4    89   txt(2):=0; readstring(z,txt,1);
  4    90   for i:=1,2 do cpu.cpu_f.cpu_rec(i):=txt(i);
  4    91   txt(2):=0; readstring(z,txt,1);
  4    92   for i:=1,2 do cpu.cpu_f.cpu_data(i):=txt(i);
  4    93   end for cpu;
  3    94 close(z,true);
  3    95 if true then list_cpu_table(out);
  3    96 end initialize cpu_table;
  2    97 end;
  1    98 end;
algol end 31
*if warning.yes
*if warning.no
*c=message ok
*o c
▶EOF◀