Nu:dIMVprtvxz|~ m(a m(Ra m(Ta m(^a,m(Ra>,m(Tafa,m(^a&aaaaJ-ga:Nu m(Va@ m(Xa6 m(Za,Nup,0IPFUA@>GPQNurPA0 fNu g AfP`a`rPAJ0g 0fNu AfP`a` m(C5EGI/z<v"( fNuK$40p?fLg>vK$40g, IPU ( (PQ`H`K *f <``& +f <a` ,f <b`<c2SA,IxQQ`:ACEI/,m(,<0x<<<?`ptfNu g f &NQHSAkkPQ`H"4 f†g og(p(H"4gB.Bn|=|. R ....J....pg:H"4g,B.Bn| =| |=|`J` C m(V<<pgfP`\`Nu<tvpr 6 fNuCQ.CH@P`<tvpr v6 fNuKCQvC.0C.KCH@P`AEI/,m(tp fNu? Bg@ Eg8 /gLH"4 f2f. f*f8J`v SB.PQ`v`v`v`<SBCPQ`vSB+.PQ`^ m,"-:[AxztpQpQ] ((Q m,"-:[Azvxtp.Q.p.Q]((QNuHHH@  %%%% e   eeef&&f@IH (SF  " b "$$        ( $  (   (   (   (   xxV vgW$4##Ey! jkizzYf%Yf%fffffjvE jjjjjjEEE jjjjjjEEE       !  #% !#&) !$'*-  #'*-0 #&*-14 !%)-048  $(,048< "&*.37;? $(-16:?C !&*/49=BG #(-27DKQW]  '-4:AGNT[a !(/6EMU]dlt;;)1=A54+5)) ,-%+%?53%G84+  ,,, %%%%%%)%nnˤjtQhtyXzS}MRfOtS8aS.ffpn|fffɰfffɰnntsmhkpiktJntNt}k{us{hnrhcc@\x~u~uxtjjtccxxxffffefccxxxnnnfff\\[nn                    $ "           $    &%4EUew$<oo           COPYRIGHT 1984 MARK BARTON & JOSEPH KATZ /! NC!# $#S/<,?!44T!@?= !A!_-"P" .4?"2$"/2    /B1O.5 =-3o?c 1 E/"B.B, #"2L3?!0@!2U.? A 3!0$O >2 3/$ $-11-_20#0@"2.0@ !.#B>0" !?n@!   _ !2""//!CC1/4BC$ !3/.2b$QUd&1C! SdA !?"AQ&ߺ?w TF0UC C4!2 22!2cBDQ6BVS4"2"!!! Sf5>F4T$0E1 24B$1C !#2!41#/T1$!#/#"2?3!30$1 3.351!1! /#2!" !" "/DA%/TB?3 1  !#. "-!  .!@0" ""/"1!/ !.!/" "12! ./!  !/!/2"/ 0/ !"1+/!/ ?.!/?1!!?"  !"/! B !"A/""0!C 1 #.4 !! " /4!!!"1" !# .!0/$"! !1!  !2!!"" ! 2""!"2!!!23!"232#"BD!"3"!#!"!#!!"33!"1D4"!33!!"""!"#""!!"2#2!!!2#!!3!"!#""#1!#23#"04!""!" "!3!14 0# !#"! #""!2#  " !!0!"""C#!#"2232#13!""""""!!!""!3韛!23"#!#""RgwGϫ2eE!2D42#"""" !"#3!152! $b540"!eUgf𬉺2DU#Ϊ!C4༪233!!"!23#21"!!#2$""#B#"!!  S5UB%B4UT%CEU4SDED#tfg%Bxf53#̻221C33޼2""A$S#!" 32"!#2"    ;;(9OOJ9+J(+..>)3)Q80*J8,(#&) 1,, %%%%%%)%#nn½xhkԑ\fYb_`VSuS.fpn|fffɰfffɰnnx{_|[|u{]yxu~uxtjjtccxxxfff\\\ccxxxnnnfff\\\p~,x$o&JE"N%@tpN@pN'Ba +N`*"f:"f2 JNJg"@ ig'I"Nn`""NuI; Ir(Q,x$m(jGD+K\ <6x;@PC|A#j8"3j<(3|N8"lEX#J &l#K3|3|(p-3@,3|.3mP*E#J"| IED&m+D@S@` 2<!"H4QQ"lp+D2DC"ESA"CDQ"lCtp+CgBCDQQAJC1,m(/ p B]Q*_;|;|GBm0-KSG/ /,iN,_"_CDQgC3|N8`@>SG"J0-g A1|@N&J)fCDQA;h1|@Nu`Speech IORB~lN 'r'd'(S6\p$ vnh^@4.H(TR6@,~()*+-"F:4,*RSUSv(D DJmfSC0-gBmM=|@,xN&CDQv`v0-g M=|@Nu3@R.&-Fg^@FA6gP"P ifF")pNuJlBRlBpNNuNNupNupNuNB*"R"B DOSramdrive.deviceCommodore-Amiga Ram Drive 1.0 (6 Apr 88) dos.libraryexpansion.libraryH ",x"z <N4Jg"z :N4Jg~CNP:fftA m$(< mL otCp"NJg4,@ANpAJH,xC"g WCB NLNbLDNu"zD <N.`C%NJg @ hNNuH0>,xCp!NA g"@$i"Nb j (g$@Jf* *g$&@ + @CB@gS@VfJg ` *( @C>pS@QC#k#k + @ 2 op2` "Q :R@g$SԺA" PAB ra A2 gPA. &@ <praJg(@ <raA g*@AB"M0<u"QAVC0<"Q" A:A0kӴ`A8)HDA)HPA)HhA)H3@R.&A" "-H"A:!n&g-H&N-@*S.&l3ClNP","f"ENV:qw<$$> "" first=256 IF $qw<$$> EQ ":" list >t:q<$$> lformat=" *"%s%s*" *"%s*" " skip doit ENDIF IF $qw<$$> EQ "/" list >t:q<$$> lformat=" *"%s%s*" *"%s*" " skip doit ENDIF IF EXISTS list >t:q<$$> lformat=" *"%s%s*" *"/%s*" " ELSE list >t:q<$$> lformat=" *"%s%s*" *"*" " ENDIF lab doit IF NOT FAIL execute t:q<$$> ELSE echo " not found" ENDIF failat 10 ;do wildcards for double arg command %AdevspPrompt "%N.%S> " alias xcopy copy [] clone alias endshell endcli alias pro execute s:spat protect [] alias sdate execute s:spat setdate [] alias ren execute s:dpat rename [] alias clear echo "*E[0;0H*E[J" alias reverse echo "*E[0;0H*E[41;30m*E[J" alias normal echo "*E[0;0H*E[40;31m*E[J" %Adevspresident c:Resident pure resident c:List pure ;pre-load LIST and CD resident c:CD pure resident c:Mount pure ;the next 3 are loaded for speed during startup resident c:Assign pure resident c:Makedir pure ;make IF, ENDIF, ELSE, SKIP, ENDSKIP, and ECHO resident if ;you use scripts much, and can afford the ram. ;also make Failat, WAIT, and ENDCLI resident if you use IconX a lot makedir ram:t assign T: ram:t ;set up T: directory for scripts makedir ram:env ; set up ENV: directory assign ENV: ram:env makedir ram:clipboards ;set up CLIPS: assign assign CLIPS: ram:clipboards mount speak: ;just mounting doesn't take much ram at all mount aux: mount pipe: resident Mount remove ;if you have enough ram, keep these resident resident Assign remove ;by removing these lines resident Makedir remove ; break 1 C ;signal to other process its ok to finish %ADPATAddbuffers df0: 10 c:SetPatch >NIL: ;patch system functions cd c: echo "A500/A2000 Workbench disk. Release 1.3 version 34.20*N" ;Sys:System/FastMemFirst ; move C00000 memory to last in list BindDrivers SetClock load ;load system time from real time clock (A1000 owners should ;replace the SetClock load with Date ;FF >NIL: -0 ;speed up Text resident CLI L:Shell-Seg SYSTEM pure add; activate Shell resident c:Execute pure mount newcon: ; failat 11 run execute s:StartupII ;This lets resident be used for rest of script wait >NIL: 5 mins ;wait for StartupII to complete (will signal when done) ; SYS:System/SetMap usa1 ;Activate the ()/* on keypad path ram: c: sys:utilities sys:system s: ;sys:prefs add ;set path for Workbench LoadWB delay ;wait for inhibit to end before continuing endcli >NIL: %<jRenamewprompt "%N> " nt be used for rest of script wait >NIL: 5 mins ;wait for StartupII to complete (will signal when done) ; SYS:System/SetMap usa1 ;Activate the ()/* on keypad path ram: c: sys:utilities sys:system s: sys:prefs add ;set path for Workbench LoadWB delay ;wait for inhibit to end before continuing endcli >NIL: %AH Shell-Startup.key dir IF "" EQ "" assign ofrom<$$>: "" cd from<$$>: assign from<$$>: ofrom<$$>: assign ofrom<$$>: ELSE assign from<$$>: "" cd ENDIF ; this is a CD script that remembers the previous directory @S%A StartupII.key com/a,pat/a,opt1,opt2,opt3,opt4 failat 21 list >t:q<$$> lformat=" *"%s%s*" " IF NOT FAIL execute t:q<$$> ELSE echo " not found" ENDIF failat 10 ;do wildcards for single arg command %Aspveral items: stk 1600 indicates the program running as task (or process) 1 requires a stack size of 1600 bytes of memory. gv 150 indicates it uses a global vector size of 150. pri 0 indicates the priority level of the program. Don't worry if most of this makes little sense at the moment. Global vectors are mostly of value to people delving into the technical depths of the Amiga. Stack size is a topic we will cover in a future chapter. Usually it will be of little mber with the keyword FULL. FULL is a keyword with a /S behind it so we know it is a switch. To use it, then, type FULL as part of the command. Let's see what it does. Type the following: status 1 full This time you should see something similar to the following: Process 1: stk 4000, gv 150, pri 0 Loaded as command: status That is much more information, but what does it all mean? FULL must mean, "Give a full explanation of the task." The information comprises se Let's see how this works. Your shell window is probably number one, and I will assume it to be number one in my examples. In the shell type: status 1 The Amiga should respond with: Process 1: Loaded as command: status Not really all that useful, perhaps? It might be handy if you forget the name of a program running in a given window. There is a way to make this ability to show information about one process or task more useful. That is to combine the process nuk of /S means the keyword does not function as a "switch"; that is, it is not an either-or situation with this keyword. Confused? I'm not surprised! DOS's method of indicating with /A, /K or /S how to use a key word can be confusing when none applies to the word under consideration. In this case, it all boils down to indicating with a number which task for which we wish information. The number corresponds to the number in the DOS prompt of the window where the program is active.ave several tasks (programs) running and you only want information about one, you can use the PROCESS keyword with the STATUS command. Remember, a keyword is simply a modifier for the command and makes it work in a specific manner. PROCESS does not have /A, /K or /S behind it in the argument template. This means we do not have to type the keyword itself (indicated by /K where applicable), and it is not required to make the command work (indicated by /A where applicable). The lacgram started from the Workbench. This is one area where the dual nature of the Amiga's operating system is prominently on display. The words "program," "task" and "command" are all considered roughly equivalent. A task is the act of running a program or command. Since most commands in AmigaDOS are actually separate programs stored in the C di