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 - download

⟦76a4023d7⟧ TextFile

    Length: 1536 (0x600)
    Types: TextFile
    Names: »initradiotx «

Derivation

└─⟦cde9d517b⟧ Bits:30007477 RC8000 Backup tape fra HT's bus-radio system
    └─⟦6a563b143⟧ 
        └─ ⟦this⟧ »initradiotx « 
└─⟦110021343⟧ Bits:30007476 RC8000 Backup tape fra HT's bus-radio system
    └─⟦a957ba283⟧ 
        └─ ⟦this⟧ »initradiotx « 

TextFile

begin message initradio side 1 - 810525/cl;
  zone z(1,1,skip_status);
  integer array sh(1:12),answ(1:8);
  integer res,t0,t1,ch,radio,s,l,p,r,i;
  procedure skip_status(z,s,b);
    zone z; integer s,b;
  begin
    b:= 4;
  end;

  i:= findfpparam(<:timeout:>,true,answ);
  if i>0 then
  begin
    t0:= t1:= answ(1);
    if i>1 then t1:= answ(2);
  end
  else
    t0:= t1:= 60;
  s:= 0; <* 1 stopbits *>
  l:= 3; <* 8 bits/char *>
  p:= 3; <* no parity *>
  r:= 3; <* 1200 baud *>
  for radio:= 1 step 1 until 2 do
  begin
    trap(næste_kanal);
    ch:= case radio of (46,47);
    open(z,0,case radio of
      (<:froutput:>,<:rfoutput:>), 1 shift 23);
    getshare6(z,sh,1);
    sh(4):= 0 shift 12 + 4; <* init channel *>
    sh(5):= ch shift 8 + 36; <*channel<8+reservation+position = mess0 *>
    sh(6):= 1 <*mess1*> shift 8 add t0 <*mess2.1*>;
    sh(7):= t1 <*mess2.2*> shift 16
          + 1 shift 15 + s shift 12 + p shift 10 + l shift 8
          + r shift 4 + r; <*mess3*>
    setshare6(z,sh,1);
    monitor(16)send message:(z,1,sh);
    res:= monitor(18)wait answer:(z,1,answ);
    if res<>1 or answ(1)<>0 then
    begin
      write(out,
        case radio of (<:froutput:>,<:rfoutput:>),
        <: initialisering:    answer=:>);
      for i:= -23 step 1 until 0 do
        write(out,if answ(1) shift i extract 1 = 1 then <:1:> else <:.:>);
      write(out,<:   resultat=:>,<<d>,res,"nl",1);
      ud(out);
    end;
næste_kanal:
    close(z,true);
  end;
  trapmode:= 1 shift 10;
end
▶EOF◀