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

⟦5d936d467⟧ TextFile

    Length: 9984 (0x2700)
    Types: TextFile
    Names: »acptrim«

Derivation

└─⟦c2290e42a⟧ Bits:30008170 ACP8000 RELEASE 1.1
    └─⟦7a05104ef⟧ 
        └─⟦8380be83a⟧ 
            └─⟦this⟧ »acptrim« 

TextFile

begin
   <*****************************************************
   *  acp8000               rel.1.1   febr.84           *
   *                                                    *
   *                  acptrim                           *
   *                 *********                          *
   *      trimmefil til acp8000 modulet                 *
   *                                                    *
   *                        a/s regnecentralen / chd    *
   ******************************************************
   
   kort instruktion i brugen:
   ret i denne fil, fx med edit:   nytrim=edit acptrim
   kald algol oversætteren:        bacp=algol nytrim
   sæt entry til utility program:  xmit=assign bacp
   og start modulet med fp-kaldet: bacp
   maxterm kan ændres i fp-kaldet: bacp <maxterm>
   *>
   
   
   procedure writestatus(z,res,status);   value res;
   zone       z;
   integer    res;
   long array status;
   begin
      <* write (on terminal zone z) an interpretation of the result of transfer.
      _   res: =1 if ok
      _        >1 if not ok, indicating result (details in proc. xmit).
      _       +1024 if a status block <> 'STOK' is received.
      _   status: (1) = bytes transferred.
      _           (2) = no of parity chars (value 26) received.
      _           (3) and on: first notok status block, or last stok block.
      *>
      long array field laf;
      integer x;
      
      write(z,<:<13><10>end xmit, bytes=:>, status(1), <:_:>);
      if res=1 then write(z,<:ok:>)
      else
      if res extract 10 <1 or res extract 10 >30 then
      _  write(z,<:_fejl resultat=:>, res extract 10)
      else
      
      \f


      
      _  write(z, case (res extract 10) of 
      _    <* 1*> (<::>
      _    <* 2*> ,<:protokolfejl i modtagne tegn:>
      _    <* 3*> ,<:ikke tekst i filen:>
      _    <* 4*> ,<::> <*paritetsfejl, se nedenfor*>
      _    <* 5*> ,<:ulovlige tegn i text filen:>
      _    <* 6*> ,<:system fejl 6:>
      _    <* 7*> ,<:checksum fejl:>
      _    <* 8*> ,<:terminal linie kan ikke bruges:>
      _    <* 9*> ,<:xx9:>
      _    <*10*> ,<:xx10:>
      _    <*11*> ,<:filen findes ikke:>
      _    <*12*> ,<:ikke mere disc plads:>
      _    <*13*> ,<:syntax i fil navn:>
      _    <*14*> ,<:filen kan ikke oprettes:>
      _    <*15*> ,<:filen benyttes i øjeblikket:>
      _    <*16*> ,<:filen ved at blive gemt:>
      _    <*17*> ,<:det er ikke en rigtig fil:>
      _    <*18*> ,<:filen benyttes af et andet system:>
      _    <*19*> ,<:skæve baser:>
      _    <*20*> ,<:xx20:>
      _    <*21*> ,<:terminal timeout:>
      _    <*22*> ,<:transmission afbrudt:>
      _    <*23*> ,<:fejl på terminalen:>
      _    <*24*> ,<:xx24:>
      _    <*25*> ,<:filen blev reserveret af et andet system:>
      _    <*26*> ,<:ikke plads til at udvide filen:>
      _    <*27*> ,<:filen forsvundet:>
      _    <*28*> ,<:fejl på discen:>
      _    <*29*> ,<:xx29:>
      _    <*30*> ,<:program fejl:>
      _    ));
      if status(2)<>0 then write(z, <:paritetsfejl:>,status(2),<: gange:>);
      if res shift(-10) =1 then
      begin
         laf:= 8;
         write(z,<:_status_:>, status.laf);
         for x:= 1 step 1 until 9 do
         _  if code(x) = status.laf(1) then write(z,string err(x+13));
      end;
      write(z,<:<13><10>:>);
      setposition(z,0,0);
      
   end procedure writestatus;
   \f


   <* erklæring af system variable. arrays kan udvides ved tilføjelser *>
   
   long    array txt(1:37),  <*texter brugt i dialogen*>
   _             err(1:22),  <*fejl texter*>
   _             code(1:9),  <*fejlkoder fra terminal*>
   _             com(1:14);  <*kommando-texter og funktions-nummer*>
   integer       maxterm;    <*max samtidige terminaler*>
   integer array par(1:18);  <*system parametre*>
   real    array field raf;
   
   for raf:= 1 step 1 until 16 do par(raf):= 0;
   
   <* initialisering af system parametre *>
   maxterm:= 2;     <* max antal terminaler*>
   par( 9):= 2;     <*segmenter pr. terminal i arb.fil*>
   par(10):= 5;     <*buffer i segm. v. scan rc8000 main catalog*>
   par(11):= 7;     <*slice-str.i segm. ved filudvidelse og oprett*>
   par(12):= 3;     <*hvilke filer skal kunne læses af en bruger: *>
   _                <* 1: kun private filer                       *>
   _                <* 2: også synlige filer indenfor acp maxbase *>
   _                <* 3: også synlige filer udenfor acp maxbase  *>
   par(17):= 1;     <*reservation af terminal ved login: 1=ja, 0=nej*>
   par(18):= '0';   <*fyldtegn der bruges i rc8000 filnavne*>
   raf:= 0;
   movestring(par.raf,1,<:acpcat:>); <*brugerkataloget*>
   raf:= 8;
   movestring(par.raf,1,<:acpwrk:>); <*arbejdsfil (oprettes automatisk)*>
   raf:= 24;
   movestring(par.raf,1,<:disc1:>);  <*disc hvor nye filer oprettes*>
   \f


   <* initialisering af texter *>
   txt(01):= long <:<13><10>tast brugerident::>;
   txt(02):= long <:<13><10>funktion(v for vejledning): :>;
   txt(03):= long <:host filnavn::>;
   txt(04):= long <:terminal filnavn::>;
   txt(05):= long <:angiv unit::>;
   txt(06):= long <:8:>; <*max 5 tegn. indtastet unit checkes mod denne*>
   txt(07):= long <:angiv filnavnmaske::>;
   txt(08):= long <:clear, host filnavn::>;
   txt(09):= long <:farvel<13><10>:>;
   txt(10):= long <:acp lukkes<13><10>:>;
   txt(11):= long <:print, host filnavn::>;
   txt(12):= long <:printer navn (evt. papirtype)::>;
   txt(13):= long <:lp:>; <*max 5 tegn. default hvis ingen printer*>
   txt(14):= long <:udskrift tilmeldt med identen_:>;
   txt(15):= long <:ikke tilmeldt, årsag_:>;
   txt(16):= long <:ikke implementeret:>;
   txt(17):= long <:forkert tastet:>;
   txt(18):= long <:der er stadig:>; <*hvis den er tom skrives heller ikke 19*>
   txt(19):= long <:_kørende:>;
   txt(20):= long <:aktiv:>;
   txt(21):= long <:taster:>;
   txt(22):= long <:jeg henter terminalens directory<13><10>:>;
   txt(23):= long <:jeg læser rc8000s main catalog<13><10>:>;
   txt(24):= long <:hent::>;
   txt(25):= long <:-->:>;
   txt(26):= long <:<13><10>:>;
   txt(27):= long <:gem::>;
   txt(28):= long <:-->:>;
   txt(29):= long <:<13><10>:>;
   txt(30):= long <:start xmit:>;
   txt(31):= long <:gemmer:>;
   txt(32):= long <:henter:>;
   <*txt(33): se nedenfor*>
   txt(34):= long <:pauser:>;
   txt(35):= long <:_på rc8000, fri plads: ant filer=_:>;
   txt(36):= long <:__ant segm.(a 768 bytes)= :>;
   txt(37):= long <:__konsol login:>;
   \f


   txt(33):= long <:oversigt over kommandoer:<13>
ht   = hent tekst fil (fra rc8000)<13>
gt   = gem  tekst fil ( på rc8000)<13>
h    = hent binær fil (fra rc8000), dvs samtlige bytes overføres uændret.<13>
g    = gem  binær fil ( på rc8000), dvs samtlige bytes overføres uændret.<13>
o    = oversigt over filer (unit=8: rc8000. param: a=også fælles filer)<13>
clear= slet en af dine filer på rc8000.<13>
fri  = fri discplads på rc8000.(param: discnavn)<13>
s    = slut (logout)<13>
print= udskriv en rc8000 fil.<13>
disp = oversigt over kørende brugere.<13>
close= luk systemet.<13>
att  = dialog med andre 8000-systemer muligt.(param: j ell. n)<13>
.. filnavne:  <unit>:<navn>.<type>  - ligesom i cp/m :>;
   
   
   
   err(01):= long <:<13><10>jeg kender dig ikke:>;
   err(02):= long <:du har ikke tilladelse:>;
   err(03):= long <:filen findes ikke:>;
   err(04):= long <:filen beskyttet:>;
   err(05):= long <:filen er i brug:>;
   err(06):= long <:filen kan ikke fjernes:>;
   err(07):= long <:optaget for tiden:>;
   err(08):= long <:<13><10>jeg har ikke adgang til dine rc8000filer:>;
   err(09):= long <:du har kun adgang til filer med masken_:>;
   err(10):= long <:en anden terminal læser rc8000-dir, prøv igen om lidt:>;
   err(11):= long <:<13><10>du logges ud nu, årsag::>;
   err(12):= long <:din terminal er ikke rigtigt tilsluttet:>;
   err(13):= 0;
   \f


   <* err(14)-(22) og code(1)-(9): fejlkoder fra terminal,
   _  og tilsvarende fortolkning. nb: STORE bogstaver i code. *>
   code(1):= long <:STTE:>;   err(14):= long <: =transmissionsfejl:>;
   code(2):= long <:STND:>;   err(15):= long <: =disk/directory mangler:>;
   code(3):= long <:STPR:>;   err(16):= long <: =fil/disk beskyttet:>;
   code(4):= long <:STNE:>;   err(17):= long <: =filen findes ikke:>;
   code(5):= long <:STAE:>;   err(18):= long <: =filen findes allerede:>;
   code(6):= long <:STDF:>;   err(19):= long <: =disk/directory fuldt:>;
   code(7):= long <:STCE:>;   err(20):= long <: =checksum fejl:>;
   code(8):= long <:STNT:>;   err(21):= long <: =ikke tekst i tekstfil:>;
   code(9):= long <:STAT:>;   err(22):= long <: =afbrudt:>;
   
   <* kommando texter. strengen indeholer hele texten og funktions nr*>
   <* strengen må højst være 5 tegn*>
   <* der må gerne være mange strenge der har samme funktion*>
   com(01):= long <:ht:>    add 0; <* 0= hent textfil*>
   com(02):= long <:gt:>    add 1; <* 1= gem textfil*>
   com(03):= long <:h:>     add 2; <* 2= hent binærfil*>
   com(04):= long <:g:>     add 3; <* 3= gem binært*>
   com(05):= long <:o:>     add 4; <* 4= oversigt (dir)*>
   com(06):= long <:clear:> add 5; <* 5= fjern rc8000 fil*>
   com(07):= long <:s:>     add 6; <* 6= logout*>
   com(08):= long <:close:> add 7; <* 7= luk system*>
   com(09):= long <:print:> add 8; <* 8= udskrift via primo*>
   com(10):= long <:disp:>  add 9; <* 9= display login terminaler*>
   com(11):= long <:fri:>  add 14; <*14= acps disc claim nu*>
   com(12):= long <::>     add 11; <*11= tom kommando*>
   com(13):= long <:att:>  add 13; <*13= terminal reservation*>
   com(14):= long <:v:>    add 12; <*12= vejledning*>
   
   acpproc(maxterm, par, writestatus, txt, err, com);
   <*************************************************>
   
end
▶EOF◀