|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 9984 (0x2700) Types: TextFile Names: »acptrim«
└─⟦c2290e42a⟧ Bits:30008170 ACP8000 RELEASE 1.1 └─⟦7a05104ef⟧ └─⟦8380be83a⟧ └─⟦this⟧ »acptrim«
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◀