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

⟦628abd6d1⟧ TextFile

    Length: 3072 (0xc00)
    Types: TextFile
    Names: »tcrossblock «

Derivation

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

TextFile

                if ok and (j=space_name) and (param(1) = long<:print:> add 'l')
                                         and (param(2) = long<:og:>) then
                begin <* print s-log *>
                  zone z1,z2(128,1,stderror),z3(1,1,stderror);
                  integer array mess,answ,tail(1:20);
                  integer char,cl_wait;
                  open(z1,4,<:slogarea:>,0);
                  open(z2,8,o_name,0);
                  if echo then write(z_write,<:*printlog<10>:>);
                  if o_name(1) = long<::> then
                  begin
                    monitor(68)generate name:(z2,1,tail);
                    laf:= 2;
                    getzone6(z2,tail);
                    o_name(1):= tail.laf(1);
                    o_name(2):= tail.laf(2);
                    create_peripheral(o_name,devout);
                  end;
                  if (monitor(42)lookup entry:(z1,1,tail) = 0) and (tail(1)>0) then
                  begin
                    cl_wait:=10;
                    open(z3,0,<:clock:>,0);
                    close(z3,true);
                    repeat
                      getshare6(z2,mess,1);
                      mess(4):=0; <* sense console *>
                      setshare6(z2,mess,1);
                      monitor(16,z2,1,answ);
                      monitor(18,z2,1,answ);
                      if answ(1)<>0 then begin
                        getshare6(z3,mess,1);
                        mess(4):=0;
                        mess(5):=5;  <* wait in 5.sec *>
                        setshare6(z3,mess,1);
                        monitor(16,z3,1,answ);
                        monitor(18,z3,1,answ);
                      end else cl_wait:=0;
                      cl_wait:=cl_wait-1;
                    until cl_wait<=0 ;
                    repeat
                      read_char(z1,char);
                      out_char(z2,char);
                    until char=25;
                    out_char(z2,10);
                  end;
                  close(z1,true);
                  setposition(z2,0,0);
                  close(z2,true);
                  getzone6(z_write,tail);
                  laf:= 2;
                  <* change output document to console *>
                  tail(1):= 8; <* kind *>
                  tail.laf(1):= o_name(1);
                  tail.laf(2):= o_name(2);
                  setzone6(z_write,tail);
                end;
▶EOF◀