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