2IMGSHEP@@@ 8L2C)pJJJJ IH(ȱH:=IH[H`@HcH  $ +   I/H`JLNGȄBȄF aK  haaFF  mJm# KKJ UJ )J ۈ) ;J3ȱJFȱJGJKaȄM  aaNNJFLGJL L? &PRODOS `DaElH$?EGvѶK+`L HHLy XP LM ŠϠĠӠS)*+,+`F)) (*=GJFjJJA QE'+ '== `@ STSP8QSS8 m P o R(8RWAP2001A ' @&PRODOS }<A  ,BASIC.SYSTEM((A  ҨSHRCONVERT<A AASQ\A ADIVERSItA ABASIC.STUFFZA 2MISCA ADESK.ACCSA  AECP16A  APICTURESA A-DOCUMENTATION} TA >%SETUPh%A >9'STARTUPk A A TYPE.CMDA ! L !Cb" %n"o" (#M8( % ) L'"p"q" (\4, )7(P0  ( @p 8  x"!b"i"0 ~&i"0 %r"s" (,) &Սt"u" ( %L'")0I0hx H( + %Щ ߩx"L! )L! 8'  )ɀ)4,- U JNT) x"Lv"w" ( !` a"M)Fi/ e"3 k"  !"#$%&l"m" h" iL X%;"L8"ΠΠҠ`y""""""*$ Fk%YeQP!/RB}QBiBB}\ ĉFEL/#> ț6 . ) ɘ"    L=#=#&ŠϠĠԠŠ ԩ m# m# J Qڨ)̰m] нȱ ̀𩠙 i F > S ɘL   V7 L ' 0% '8 Jm ʈ0  0ŠϠĠ͢Š͠͠ϠŠŠϠĠخ͠ ͍B B(8`%YYZLYLYLY뿭` 8!@8` %MNЩUMߩ  L 5   8 0 8  `0 / X& & +&&7&P^&0`ŠӠֱҭԠŠҬî̠ӠĮʎ1|&… (n}&Dž (\%Tz&Lc()8= (J 8'z&'{& 3((ʎ1|&|&|&3223 ')L&18|&"m11 2H22h2舌|&|&12H)M0 h10200I20h2 (`LE%12 `_'"L  <8# ȱ)ɀ  )( ` (Xp< @( )m((.(( M(i  ``) |'(j21 z& {&!` ({&z&(i({&(( CBDFGE (r&$ 3(,}&r& … 3(ŅL&JJJJ`Ϡ'8`r&h)hrȱȱȱȱ0]cȱeem*ȱ*ȱ**ȱ**ȱ* )* * )L(`L?* *Ll) ) L( )Ll)8e` ,$`ee` `* G** c*` v* G* c*`hh8`8`***`}*`e`H)hJJ*0JJ)` (< ( < *? ( < (? ( < (? ( <*? * **? *? *? ( < *? ( <.<ʆ>,=?BC8 é&'112`HB-9F 3"aɿ LLB Nϰ H  @h( L Lj  @`eLJCAB@=?<>=?<>CAB@?A` 1 L  <>`ڢF]PL8i m L   6< L  BLRAM' hLDLآ <B*IBGF08Lé'+8H <,``h(`@ڍL3hh@ihAiH(ؠȱ@JJJJq@)@Yvȱ@Hȱ@Ah@y@cYe J) LL LJiB LJ) >xhHHHHL(  ްƠx@BEOD  ް(`( C)CJJJlB O-`J,~@~@}J@` ߩ%S @ ~`E hhhߺ0 h ߐ( ߐ ߐ ߐ  0 HϭߍLпllllhh8` Qx")T'P) ɺiL; )?     ~ `l@Hȱ@IױHXATȱH ɯȩ׍̒5H)/@a)_ .0 :A[8@`,뎒׮Б` L` @>S)I38Mdeם`K8`@Nȱ@O@ rIiNȽבN)/ȩ/N`@[ WHJjjjhA ,'KI؍0JHi 뎅`C8` @ r3N@) G莱 ⭮i`0 Y; 뮅ٝ٘ 0 W,0 .H hȑNWȮّNW8`ٍّNά0NN` G8`F@ 0 > LK8`: ;I8`FHGH hGhF܌ բFܽܕF芝ܝ 밶:; <܅I m=IHHyHȘI Lܝ` @c@ k@Ю׍S)mיSʈ@qȱ@cȱ@mopfNxOyS)5SI0ܢܽ iP'E* 7deFG (GH Lv܅IR mEIH` tq qM0PQ ESHNFOG 밳NO 밨G%܈D" T)Ii)܍R*܍E'ܮ( 4 䭐 $H %HFFHGHG 됬`R8`)` EHS` #Q'܅IHHSSЍS@`8 ` ͍% ΍Q8`܅I `P܍QR d8D`F` ]lH)HFȍNHGO $%܍&܍!ܢ8* J8` L ܝ>)I 'ܝ:`F8iRFPGQ`F܅IH3H ( )ȱHά`Ύ8EeHI |SB:0M ٙKٙIFNGʈ d献`8m0`,0H hi PȽάhٍ0GF8yאFG  $0 G01 E8`1ݾ00 Y 0ʩ 谼 谷`12)1`0`Ȏi 0U`)8`ά` W xG 0A)H ܝʈh٭0٭)ܝ٭*ܝ٥F٥G٭'ܝ٭(ܝ`)َ 8ʈ` 0ٝ)i `8`R ꍐz{ vNمFمG < ΐ0 FGL鮅0 ٭{٭zٽ8`H8`  ,z { 8` z{ `ٽJJJJ`H͐hn)NjNjNjN. CH͐ v;٭ *Nۙ۰ڙک `Z8` C# (`{ .{ .{ .{8۰*Jz۩ ٰz{`JJJJ;i v묅͚ vٍ0  `H8` `ٍyٍiB0H0FG h0`FG `ϩBxED0C ް(`(8`ؑ@`M8`8@ؐʈI묆)z8zz Ly LةC8`؍)@ i)z8zyJ ^ ؅F Lo) +%J(a *FإGؐ.` *JHIH IL/FHGI ҭJjHIHB>IؙJJ W: ELyHIHI`JKJK`FHIG ( Ȣ؝؈JL)eKM`)` J zJ͟ $0 ΎJFJL8`JGBJ P FإG`BH PFإG`,H hHB؅F  ؅GxDE؍00C ް(`(8` vL'J  6"L vH  6 9ؙ` @ P8`K8`B8` L؈SJJJJحq) ) )Ю ЪGdF $ ᭔ع+ؠ 2H  :h8` 䮅ٽ ٬ؠ@` ( L )8`)i п` H h)N$% LL L r L 2 "pJ덣 )@፦NJOK 2iKK΢΢ IJΣ JФ̭JjHFIH HIGxKE ް((H hH h8`8@ȭ@L2쬆8NNO 8 ؍JL`R΢ʱLN1MOMEKP/MEK΢L7L-M O,p莡eNNO(`JNKOL 2/ "P L8 y WؑJ`L@ȱ@ `@Nȱ@O`؝}zIzؐ` f~ؽ؝z f % f؝~z؈` ` H  Ph)N@ 1; L  2$ )bJ Y ) H 4hL )  )حJjI{HIzH؊ PLE΢ʱNLMOMEKP%MEK΢L$ O, PeNNO 2(` C  7 2JzHI{HI؊ }LE  *` A Hz ع H{ ؙ؊ؠIhHIhH } iع `  عiعi` )؍0CGHFHBFG ުhFhG`@4͔ L @Ai ׭2` . :#ع؍0 Y讅)`.@+ i 8` L )߹0 )p )@ ) ȩ ؝L0NO 방 PQNOFG 嬆؍f؍g؝h ؝c zS) zS )حM͚ v`H@h`h``N8`  ) 1⬆Ȣ؝~@~ݞ@ʈL2 KIJHȢݞ)Jn 8 θ ؍ ؍ DH8 ع)ꭵJJJJ Ȣ؝I؈ 2h(8H ( h(8Hh(`ؑ@`@ȱ@ ` B@8ZS d鮅ٍٍٍsHٍr8fhgSJJJJS)S@` %I -q) 0@S)N8` @LL =@ ȹP8` i` %ם0 B %)( ȹ`8m8m@8` G8`F Pq)@N8`S)@J טyרםSS)׍Sde 밑 LȹL@ȅH@IL,0` G וֹ= YH.q)N 0 >deS)@LP8` D᮴ ֩SGHG v L䬅yٙ٭yٙ٩`K CEdFeG 6%&N    ܮ `J HH hh` 0 @ L/L Z`̸Yܝ ݝ0̸ȩFG   0` ܅F݅G ` c Zͬ 밽܅F݅G ` c* Z% L`L뮴HH hFhG܍ݍ 8 `FHGH  hGhF`ݹܙ݊`@Bɼ>K@J5 c9X(K cXXK تKo`V8`no` , on cI9XX`)HJJJh`OeNeO࿰ c9XАO`@ȭ@` ON INJKO`HхhꭋILhH),Nx8 (8` ԍ`@ABe 2U,,CnZ1IJK,-NOPQRSuHUSTON!' @   !"#$Ԡ͠ˠĠԠҠ(c)1983-1987 AppleLKL`BLL ެެެެެެެެެެެެެެެ(C)APPLE'83xLLM Mh@8nЍLޭ 0J @,,LNP׽8H  ): e: y8鰕:Jjjj<)yאi8i;i(*=>hPם8`;Zx3QZYXXWV[HEVhEhH)IWHPHHHAHHHLaVEWLӿ ֽ ְ& .Vӈ  JJJJH 8h Ei 8EX`'8`jӍWӥC)p> pӥCYӍY 轊( ( ӈBV ( ӭp0 \BkJ ՠ@iӦ> Ӑi'j:ZH i@ioZZH h ѐȭnWǥBJ Ӱ8XӦ>` Ր+>*L o % ԽYӍZӭoӝY 3Ѡ шNZ`rZLkӭZӍq8r7IZӐiZkӐk 8 ѹs ӭq ѹ| kн Z)*>>` @ $(,048<@DHLPTX\`dh 0ުlptx| 0($ p,&"op8`kkV꽌ɪɖxlӽ*kӽ-kәmMlӈ 꽌ɪ`8` ZԍsԍԍԍԥDEԌ8TԌ8WpԌqԠ 7I꽌ɪ꽌ɭ蠪:љVE:8`]ѾV]H)]ѾV]ҙ)]ѾT]ҙ)] >8hUD` ԝY`> Hh݌(`HCJJJJ)*h`8LխӅ:HhHh Ո թ թ ՘VYҪҦ>:Y)Ң`;R?AJ;<ȰY)Ң`Y?)Ң`ȐҰ ;HhHh=Ң`Hh `Hh`DEiȍ0֌18V%֌&8V֌֠)HV)hH)hHIhդD?DRIDQD)҅; ?JDQD]ՎՎՎ`MY pӭY)p  ӭp`C)`BFGV 8``  / XʩXύX X %   % ɍRH hɛɘɉɈ $ Ld :Ldې)ɮ۰ɺ' Ld  : X ( % ɛ$ɘɉ ɈL :Lɍ)ې)ɮ۰ɺH h 'L  ġLL ̹L)'L ȳL O'F ʻ ̹(((L $ʩ $$ $L `ީ % K@D EFby LҠؠӠ΢ϠԩҠŠƠԠԠŠӢɯϠҠůȠԠĠ  0h)ύh0HHHH " ׍hhhhhhh .hh8`JIMJAYKERRY&MIKELG ASTARTUP$#   / XXύX?klmnÍoL) "6L'?"(0`6708" = ***)<JJH !h穖tp% ;"Z/݀>">"' 1" 7"5).莀/ ;" " 6" >" 1"6"$ "g"" !"""""IzL')*+,-./0123456789:;YL 8!9 詍` "  à4"/pŠϠŠà͠ӠàԠŬH06172839h` v97L75v^a ?/( va?LLLɍ$?`?a ɍɥAH93827160hH46576879h`,C bL ɍ b w,S0 @ lLޭBDEF޾ p ޾ p($ذ v (0 ( L?ԦʚLeةީa s  lL b,FLg,DL,C0$3 >@ Ɉ 3ɾꩈL(3ɾ;Ƀ B94 l% bʽ  ՚,S` H E$݅3`(l8L3LX>(Ƀ,`3,G0]ɾ g` H`پ_پ p _پ׾`>( p۾m׾) W)ʩ@`ɾ>(O puȾ ɾ-O ]c־Jjjj `O>0O l POپھ p H־Ǿh۰8L־Jjjjɾ)Ⱦ8 ѱ OLӜ ĤLLX>(F`־ؾپھ׾` bɄ KDEF vLl v lL bKɍKL?` w  vLl@3 @LtJ)s@J b  l`a?sa?,E30ɍФ3 E3HD F3 Ʉ%h3 bM E  lLthɍLL3`3,A0s0% Ipn DpnI:L ؅303L8933LΞAAJL ةޘг uv $ 8LƞaЌ>?@`>?@`B8` K  춼LK ҟ ҟ ( KK`HJJJJ8`HK)` #hhLJپھ pHJh` D!hgt}~p `~t}p8n~ni}tpi~~tso8pinii>j?k̈́>~|p|Ii||̈́ l - `>i>?Ek?!>Q>>>̀ `` \> ̀ `e>>?́?>?Emn(>e>ȱ>e?>Q>ؠ> ie>>?`|;}=:<~:<=;`||m};>:8o>oȑ>ppȑ>> :op`G DKpnG @p;G=po:i>?Ek?>Q>> L> \/ e>>?́?ޱ>ȥj>>m>` _m8injkiljo풼S 鸍긍$I2 U)VJ зT)`l8`a HbIJhjǾȾɾ p٭b=aIe f`8` P־ǾҾ,G0C f=W)_``\"׾پӾؾھ pD`־ǾY׾ؾOW)ݩȾɾʾ pD`8`W)CB) 5W) =)W)@! pZ}ȾȾ󰹩 p` ־ǾҾ,G 8`׾ؾ f p vۥs׾tؾE`  ( 8о(־Ǿ,G 8`_`W)H־Jjjjh p̭ fLᶢǾ ת..8 ۭ (8mȾȾmɾɾʾiʾ` Lpl8l:/,s̝sƬƀ#(ZZV4G_0=( A P FjL\5p-e9ABSAVERIFYBLOADELETEBYECATALOGOPENWRITEXECREATEFRESTORENAMEBRUNLOCKCHAIN#FLUSHREADPOSITIONOMONPR#PREFIXCLOSEAPPEND6D(!쫂8ֵ#ح#׮2}q :IC@@ -!S    !C- !ABELSDFRV@@ !$(19@EüϠž(+@ABCDEFGHIKLMNPSV     T[fouu~ՠٯ* PWN*]ĿNTz @n6VC/+A>@I5gN Oz @n[Dz @nd0,~z @`$仫@v$⩔,C[B?I>孓`仫6VtCicQĿUKqtVt Nʮq$6,⨁ K6, VtI=v!gNVt Vt  lg~TLLwLLL) `8` ԠŬLLSHRCONVERTuHUSTON!A ' '*SHRCONVERT>-A </SHRCONVERT.HELPV| A < ,@ R K l  ")" ""h"H "hh("E A8`H "hh ȷ <HH" < < <HH""H"9"H <H" BH <H" JH <H"H" x"H <=?@ABCDEFGHIJKLMNOPQRSTH""`"""""""""""HH"H""``"(os"h`Oops, I still need the diskOKCancel `"hh HHL"h" "h)6"  "h)"*"R"hjR"h 8 j bG`dHb) ,"` | `"HH +"*R"h """9"*"/""` "hhHH4"`rV "hRhTTHRHz3"THRH3"THRH3"THRH3"THRH( 3"THRH\ 3"THRH 3"`N-" "-" "-" "9-" """h*"`N%5 (PvJ000 Mode conversion##@\N1X >>About...\N256 >>Help\N261*?/ >>-\N999D >>System Meltdown\N262I .## File \N2 >>Load...\N257*Ll >>Save SHR...\N258*SsD >>-\N998D >>Quit\N259*Qq .## Edit \N3D >>Undo\N250*Zz >>-\N999D >>Cut\N251*Xx >>Copy\N252*Cc >>Paste\N253*Vv >>Clear\N254 >>-\N999D >>Close\N255 .## View \N4 >>Full screen SHR\N260*FfD .<: Z Continue# FkSuperHiRes Convert v1.0B1 Written by Jason Harper. This program is Public Domain. Feel free to distribute. i'Select filetype to convert:(1   Apple II HiRes    Double HiRes (  Atari ST .PI1, .PI2, .PI32 <   Paintworks Paint format< F  @ Super HiRes (no conversion)( 2  t Mac ScreenMaker format P Z  Full Color modex2"h h "h H H "`;8 [<:"d+ ;i kR "h`THRH H&"h  "THRH H."hí `THRH H."hIHTHRH H/"`/ THRH/ H/"/  HTHRH "h1 h3 3 H1 H"` "k*Flރ H d P&# $I am having a hard time ^0 the file:P&` ^1 P(&| Error code is $^2: ^3.-9^ Continue\ \ \         (((( (((( ((( ( (((( ((( ((((( ((( ((((( PPPP PPPP PPP P PPPP PPP PPPPP PPP PPPPP  s U `  i@i@**I ש i@U }`R THRHR H."hR THRH ."hT x26V  "V `"R ) *H*R"h % """9"*"/""h() HH"1"1"`"Select a file to load and convert:r;8 [K0R )ݤݪ0&0 ݰݼ=+;ik?"} ~U @UJڭJHM ""SHQHl L~0 Jh)HH" "h`0000]js reading fromcreating writing to'+DEFGHINXg I/O errorDisk is write-protectedFile not foundDuplicate pathname3Disk is full, delete some files or use another disk9Volume directory full, use a subdirectory or another diskFile is locked!(error description not available)x2 V  "V `" F "  ` s  "  H" h  `Name to save as:Untitled03264& HH+"HH"0"0"`" `H" h(` 0  "  ` s  ` sa  V K @" >@}BHH>B'"h `"_"` R`pU /""`     s  `  DZ ; J=   ? C F;ϩ z }` L L LT   A `AN?N?.AN=.AN=.AڮA `f3N?N=.A(.A(.A(.A` s @ ` T LI Z ( !I  !I  zé }` ' - - -JH.(. h` DZ ( I  I Σ zé }`    JH.  h` s* 7   9} ` 7:0!" i`" N `  @` ``            i}З`....` 8 :8.<.>:.<.>> < }п` ȊiP Ȋ8O8Pȷ   }`  NnNn`N ! bSHR Convert help1/SHRCONVERT.HELP2x4wk/< OkP#6HUnable to find the help file. Please insert program disk and try again. "1Y1;C";D=?=I?KHHH "hh""AQ"h`EG"C"A) ̸H "hh "hh1"`HH "᭲HH"0"`;8 [KHH "᭰HHH"᭲HH""+;ik >X;8 [Kg"hxhzzHxH%"m"<X""n" ,"."2"  0" HH:"=""h) )})_)})$bzHxH$"zHxHh"+;ik"""  ~" R"h"*"9"`"h)Ɂ` l "((A   < +<.<1<DVnr<}B<J<x<*GoOsRsUX[^ado 1R4R?jERHRU8 Xj]bbdfhjlnprtvxz|~db | RRQT_cimrrVVRTTRzzTRTRTRTR ( ( TR \ #\ -T1R5 8 INLNfi99%5 :F'  4 @ h t   x x         < << R? RB E H K \ T` Rd  T R    T R  T R  /  T R /  /  T R 1  3  3 $ 1 6 9 < ?   H  d   # T ` p |   \  \  \ ss~R  TRR "R *T.R=T FIL6O6XV [V eV rR z*RR%*,.024rJR TYsxJJMMSQl l L L~J(6 9 Q]UjYsXg  V V V   s    4&PTy ~        ss >@B&>)>,B/B:R_U_sD ;=?C F;DLGLJLMT RUXAaAd?g?jAm=pAs=vAzA}?=AAAAsT I !!"'%-(-+-15:EJDPX _dnws797i(N+03@rz8: 8 <>:<>>'<qw{~!3_kcw11;C; = ?=I?K'+/DHRAZQ]Qot{EGCA .2=BIQTX\`cptBxFzIzMx_<b<$47:EzIxTzXxRRSuperHiRes Convert Written by Jason Harper This program will convert a variety of picture file types to Apple IIgs SHR format. To use, you must first select the type of file you wish to convert from the list on the screen. If you are converting Apple HiRes or Double HiRes, you also choose whether you want the resulting picture in full color or not. You then select 'Load...' from the File menu and choose the file to be converted. Only files that seem to be of the selected tyUWXYZ[pe will be displayed. Clicking on 'Open' will load the file and convert it. You will see the conversion on the screen: press any key or the mouse button to continue. There will now be a scrollable view window on your screen. The colors used in this window will be standard ones rather than the actual colors from the picture: this allows you to examine a picture with a damaged color map, for example. If you want to see the picture in its true colors again, select 'Full screen SHR' from the View menu. If you are satisfied with the conversion you can save it to disk with the 'Save SHR' option on the File menu. Or you might want to try a different file, or the same file with a different setting of the Full Color option. Select 'Quit' from the File menu when you are done with the program. BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS BUGS There are a few bugs left in this version that I haven't managed to exterminate yet. If anybody has any ideas about how to fix them, please let me know! 1. The 'Select filetype' window is a modeless dialog, and as such is handled completely by _DialogSelect. However, it is sometimes redrawn with all items in a dimmed state. It is only drawn correctly when it becomes the frontmost window. 2. The help window that you are looking at now does not call for a grow box in its definition. However, as you can see, there is one! It is functional, but the minimum window height is calculated as if though it wasn't there. Try reducing this window to minimum size: the up/down arrows will overlap, and the thumb box will have a negative height. 3. There is an occasional crash when zooming the view window after using the View Full screen command. I have traced the problem down as follows: TaskMaster calls ZoomWindow, which calls GrowSize, which calls CharBounds, which crashes because the QDGrafProcs StdTxBnds pointer has been trashed. I have no idea why. This program is public domain, and I would like to see it widely distributed. However, you might want to wait for the final, debugged version before spreading it around too far. Also, if you know of any other picture file formats that could be converted to IIgs use, please send me format details and a source of downloadable samples and I'll try to include it in the next version. Jason Harper CompuServe 71450,516 GEnie JR.HARPER ASQuHUSTON!A ' '#ASQ^A  w\$AUSQmA A  w\ ^5xX$I )657$ ɭ$ s7(ii 760 ś)/ Ƣ )5 / X 55&& 55&& 55&& 55&& 55&&堠 55 )5 55 젠 ]_`abcdefghijk55&& 55&& 55&& $ 55嬠 % )L$@L#$$ ȥL#$@tu s ĉL#@Í L# @  ȥL#$** % ;$[** ;2$L# 55$ 14 3$$ ̿L"H 55ϠhH )5h )5 ̿ _5 55 L"$$$$$$$$$$$$$$$$ .` ?. P. e1 1$ .$$Lp$ % e%3 j x%  x%@ @@A`ɠɬLd%`ɍ` O%), L%Ld% 55$$ F$$ (' ' '' ' ''$ '$ .$$ $$ ?. ''Щ$$$$ 55 %'N$n$!'"'#'$'$$"'!'D!'$$"'$$ .$$ P.#'$$'$ .#'$'!'"'La&#'$$'$ O* -, * 49$ȹ$ 49 .$ȱ$ *9$$L"&$$$$`((y(z(((((z(y(Wy($z($ .${($|( 7R7$$($ 707${($ (( 77$({((y(z(L?'(i((i((z(y(z(y(Hy($z($ .$ͅ($̈́($$($($ ?.(y(z(L'(L%'((z(y(z(y(`y($z($ . 7c6$($$$ ?.y(z(L8($$ )$$`Lb)$$ɐ $`$$`$$$$m )$$$$$$$$ $$L($$$$$$$$`$$ $$$`$`$$$$$$$`$$$`sv莥g{ `**)) *`***H))m$$$h`$$$$$$$` 1 1$$L/*$*$**β*α**β*α*N*n**`$$$$$ί$ή$*$*$ **β*α*Lw*$+$++.+++$$$$ v.$$$$$Ͱ+$ͯ+`?+$+$ v.$$$$$$ v.$$$$ ++++$+$ v.$$$$$$$$ +`+$+$ v.$$$$ .+$+$$$$$ .+$+$L*$$$$ .$$$$$$$$ .$$$$>:$$$$ 1$$$$$$$$ 1$$$$8`` 55 $-$-----L-$$ v.$-$-----$-$ v.$$ . -$$ v.$-$--$-$-$-$ e1-$-$ 1-$-$ .$$$$-$-$ .$m$$$m$$-$-$ ?.-$-$ 1$$$$-$-$ 1$$$$ 2$$$$$$-$-$ P.$$-$-$ .-- -L[,$$ v.$$$$`-$-$$ί$ή$$$L*$$$$$$$$.$` *.$ȱ$` -$i$ig` *.$ȹ$` a.$ȹ$` -$i$il` .$ȱ$` -$i$i` .$ȹ$`31ȱ31 *951ȱ51 *9<1;151$61$ ?1$71$81 v1$91$:18171L/:191L/51$61$31$ 1$$831 N$n$$-$$$-$$51$61$ 14131 ;1<1 49;1ȹ;1`8171Lb0$$31 $.$$I-$$$I-$$ 49 31 4971ȹ718ƙ31iȭ41i .=1ȱ=1 *9 31 *9>1=1 49=1ȹ=1`:191L 1$$31 $.$$ $$$ $$ 49 31 4991ȹ918ƙ31iȭ41i .=1ȱ=1 *9 31 *9>1=1 49=1ȹ=1` 49;1ȹ;1` P1$ȱ$` -$i$iq` P1$ȹ$` 1$ȱ$` -$i$iv` 1$ȹ$` 1$`$i$i`` 1$` a.$ȱ$` 1$ȹ$` -$i$ib` 1$ȱ$`$ͳ$$Ͳ$`$$$$` 55v 3$LD3$$ 3$LD3 4$LD3$$ 33L28$3$333 3$LD3$3$3333333T3$3$ ?1$3$3 v1$3$3333383333LX3`8$33$33333383333L38$33$3333 3$Л33 3$Ї33333L2 4 4 4$` 4 4 4$` 4 4 3L3$$$$$$Ϳ$'$$` 4$ N$n$8$$$LS4$ 48$$$$$$$ $$LS4 ($$$$ $$$$$$ 2$$$$ 1$$L>4$$$$8$ $.$$ $$$ $$`E5HHHE5$ F5 hhh`H)]5h)a0{) ]5``HHHLs58Hh` 5 g50$ g50Γ5hhh`8 5iАѠ ^6` ^6`]6hhY6iЅ©í[6JJJJ[6) V9©â\6JJJJJJ V9[6)@P©â\6JJJJ) V9 V6[6)  ^6]6llY6 l6 4:` 6ЅҥхөЅ`!&&&8᪥҅Ј*8eЈҥ 8ЅЩх`Ӆҥ8ЅЩх8`eХeѥeҥeP 4:`E` `8ХѥҥP 4:`é©ĥ 7=X¥Ðȑ8``e…åå 7XX`HJJJh)8j` (9hh#9i(9?Ѕ© 9 9)9 V9(9 9 9L8#© 9 9 V9 9l 9 9L8© 9'9 9H V9h)9 дЕ 9'9'9 9H 9h 49'9ȹL9 L9 L9Hʥ˩Ѕȩh L9 (ll#9&9.%9*&9.%9*&9.%9*`e`U98U9ƙŗŖ 4:`9 99  `  ` ȹ`ˆ`(:):':,OK(: i *9`': *9':`':(: ie`ȱ( ȱi':` :` i: 8qȪ LEvaluation Stack Overflow  Software InteruptInvalid OperationDivision by ZeroOverflow UnderflowInexact`x&XEG6*7& ɭ& X **h! **! **! **! ** " **5" **^" **! **h!@01'2'E3' 0'L'E)EE/E.'E/' -'L'&& " "*3 j݅3F b'F1 #&#& "&&& && k#L)! ;*L x&X ;*E LX''''''֠''lnopqrs''堠''젠''嬠& &&&` "&0&ɐ&&` "&&&&`&&&&`i#j#&& g&&k&&&N&i#&&)& E&&i#&j#j#i#j#8i#i#j#j#j#i# &&i#&`&#&' '& ' ' ' ' '`&Fc&&FFEFE b'FFFFF&E&&H& &L'&& &&L%&&&&&&v% & "* d*&&&L% &&L%&&&&E "* G* G* G* G* G* g&&L%&F)FL{$ʬFFF "* &E& & &&&F&Í&& &L'&F&&L& &L'&& &&L%&&&&&L%&&L%&0L%La%&0L%&&&& #&& #&&&&&!&!& &&G&&&&&&& #& &&%&&&&&&& #&&&!&б`&% "* d*L&& &r&s`&p&q`&& r&s&`p&q&`&''&''' &L'&''&''' &L' l88`GɠɬLN'`GGɍ` 9'G)F ,Lg'FLN'1(L(L&L(H&h (L(1(L'-(.(2(/(.(-(L'm/(m0(.(L' "* d* ;*L 1(`%'(+.@BCDEFGHIJKLMNPQRSUVWX ɠɠѠϠ  Ӡ Ӡ  H)!*h)a0{8 !*` ȱ G*` LG*' '`c*HHHc*& * hhh`HHHLx*8Hh` * l*0$ l*0Θ*hhh`8 *iАѠ 6*` 6*`b+hh^+iЅ©í`+JJJJ`+) c+©âa+JJJJJJ c+`+)@P©âa+JJJJ) c+ [+`+)  6*b+ll^++ ++  `  ` ȹ`ˆ`5,6,4,,OK5, i `4, 4,`4,5, ie`ȱ( ȱi4,`NDIVERSIuHUSTON!A ' '%CACHEv A  { t%UCOPY A | t&DIVKEYz3A  { t%CINST(%A { t%KINSTNA { t'STARTUP) A { t%MACRO A { t(SETCACHE"A { t%UINST(,A { t%DCOPY2A | t%HINSTA +A { t$HACKKA  { t| @d^d]\\0Xd\ )A A$`Le]] f@ E] e\\ f\\ f E\ e^^ f E^ Оe]] @ f g ) \ea @` DD8`EI \{᫋ KP ib@ߐ A^b85*364*ᨹA @AQA hh\XE* Q"*3L\sȽ BȽ BȽ B?0`^>CD 0uwxyz{|}=BTK0=\B\5JJJ0)8AA` @ 4Zu@`Z) E(ZM O8uC4E7 ,H ,,h0E.KhhK _8L8`K8 78 1 _EK?u w H5L7 ˍ;9H57RM:: m:]9\m;^0 (0HJJJ0)8=A3\=]>^? 80` H83 pQ`C]0\BD^0B\T0`,,,,J,JH1) 1hJ,J,`\ yPK KL0]""h)Jz i7*:: ))H " 7u0`04KKh0 "(k0' IQw\ KKhrz xᩉpᫀ/ Diversi-Cache!0+K4 $ 0J 0 BothYes No J ip  <# ΀  $<H<  $h: L!0HH"kHJJJJ h)P   0`"(K`8 XkDiversi-Cache(tm) Copr. 1987 DSR, Inc By Bill Basham Version 0.3 _  | Maximum Buffer Size: 800K | | Cache Drive: 1 | | Enabled: Yes |  | Select: HUJK Save: ML FOR DEMO ONLY Please send $35 to: DSR, Inc 34880 Bunker Hill Farmington, MI 48018ɍ`ɋ:``ɊɈɕ:3 iɁ i/A@` ɀ0:::0 `:`@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  !"#$%&'()*+,-./0123456789:;<=>?0K"h  "zZZڢ"h,h0.` l k l ʎ0k` 0buh[K"q "z{bPhȯb4h0Xd"ᢁ"$/H "zHڢ""{eJ 8e bhbh 0Ȁb h0" @+K8p 07`Lɮpp epA/\1kKC0b)0&# i " ȣȣ0hk!LI!9Kbe%bሓhzKhᘏ|khk|گ+O %)I30x+ Q "8l\Kh0bh\  S L H F D C < 8 7 5 3 1 , + ( "        Y V S R O F 7 . ' !   | y h ] ? < ~ o b a Y 7 ,    '   yvsqaN|t~tFEB@=<7631L^((0100(TK`8`j i@ ,-(͐ Ύ8`i 0 8`x`*       `L,FORMATTING... j`  j` )JJJ f$5Ю  fТ f` L'  J b8 5(  5 b`~._` I=J b 5(L) 5 b ``(^ [_`^i^H`L/((G%   F h(𾭡i` ``  (  ɪdȍ Lɽ I Lɠ<ɍ%)_M)F LEТ  ( l Lv ( x       4 8 ' ǹ   @  $9Lv  (  F ɠ8 Lv!M L    ( 1ͫ莄!# (N     ] A!M    (  (L   $0LpL,)ͥL@ J  i`  ȱ0Bi a԰XT)JJJɦ/JJJ ) `ǩ`@  @`   6  6) 6`00 0 8`L0 0 q  `` '    L   JJJJ 0##) 0:i## $0$H (h *Ly (  $  LL@@@ :0  *)_T0 I8` ((`Ih,,ɛLH)_SR 0h`    q* , `)_ (e }` } 𩠑(`HJ) h)i `L%*L%** NO FORMAT *  I`ɺ``ȑ& &!N!i!!!H"|"3#i####&V$&$V$h$}$$I READ Error #27 (Drive #1) I/O Error - Bad Disk # of Trys: 000 Hit 'T' to Try Again Hit 'I' to Ignore Bad Block Hit to Return to Main Menu *** ERROR *** Not Enough Memory (See Instructions) Hit 2-Drive Copy Put DUPLICATE In Drive #2Reading Slot #6 / Drive #1 Writing Slot #6 / Drive #1EXIT Diversi-Copy Insert New Boot Disk And Hit Mass Production Insert BLANK Disk In Drive #1 Hit For 1-Drive Copies Hit 'A' For Automatic 2-Drive Copies Hit To QuitAutomatic Mass Production Hit For Last CopyInsert ORIGINAL Disk In Drive #1 Hit for 1-Drive Copy Hit for 2-Drive Copy ...(Put DUPLICATE in Drive #2) Hit 'M' for Mass Production Hit 'E' to ExitRe-insert ORIGINAL In Drive 1 Hit When ReadyInsert DUPLICATE In Drive #1 Hit When ReadyREAD Error #00 (Drive 1) HIT WRITE Error #00 (Drive 1) HIT ERROR - Only 1 Unidisk 3.5 found HIT '(+/I/O Error - Bad Disk Try Re-inserting the DiskCheck Drive CableDisk Write ProtectedNo Disk in DriveDiversi-Copy(tm) For UniDisk 3.5 PLEASE COPY THIS DISK AND GIVE IT TO EVERYONE YOU KNOW! It is legal to copy and distribute this disk. However, to legally use the Diversi-Copy program on this disk, you must send payment within 2 weeks. Please send $30 directly to: DSR, Inc. 34880 Bunker Hill Farmington, MI 48018-2728 You will receive a user support number and a new disk with the latest version of Diversi-Copy. Your honesty will help us distribute future programs in this same, low-cost way. HIT Diversi-Copy(tm) For UniDisk 3.5 Copr. 1986 DSR, Inc. / Version 3.2 By Bill Basham / 000K Buffer SpaceERROR - No Unidisk 3.5 found HIT 2+F' N'/',` H $*`'i''i#*J (L ( "*)) "*))) "*)g)`)) N@J +E (J ΍  #*e*$*f*) 0\!y!)Њ (h` H "*)) "*)5)J.  i(Vmmح#*$*`xQT * 8 ' *')  &' * ))8JJiiح >& 0&JJJJ 0&) 0& * (  L3LqЩ(# + ԍ ;qIȌqIibi Ս$q.*߈ԍ.*`)0000 0000 0000 CopiesL%*  L39M0 9MP`P8MwznxŎϭō(@xhihsiHHLqͭ I;*+,+I (ϭō(n++*e**f*(` 5xx `8 5  +0ګIګ IK i(08 d +mi`0b  "8`Q )ϼ`^'Copyright 1987 DSR, Inc. / By Bill BashamEYq 0`1` }{~|  { {} p)0H q 0h"}i}s ~i~ ``ɀ|,00  ` I @ʩq L    ڻ  ` =ɠ ɢ8Jj'H (0H[ h h .  h ]0 `h0`ɱ1 H[ |  0 Ω   0ɠH 0 8   /   0) Z z (? L     L 8  0,    &22n  =<><=<>>=&~& ( Z hL [m ~ }H = h _ ]L i@Yclv@/@/Z z`//Key/Pause/Null/String:/A-Repeat:/A-While:/A-If:/End-A/Count=/List:/Mouse:/BMouse:/Display/A-Zlist/ERR/!0i0ب`HJJJJh)0i `8 u 20` 1i8O  Ěʎq ʎH hȌ0  j  0q ` JH h_  !J=/.&*7 l- * 0` Ό0`:[ttt t`t) 5 ] 'T @ jtӢήtt,uU V v)AFt. 5 P L X Y X V W ɠ X  0` )_+ L i|9  w  g  wLt 5 p V LL g Hȹt 5 hp®V V W жL Z KPNSRWIECLMBDZ  uw/X x%Y 0u`t 5 Ȑp0X X V 1` p1V st?0: ݱL0t?J(  pY   LV t /@ 6 ΅A`:P*AI0 ZV  >V z@`tI0  mU U ȀU `HJJJJ h) 0:i)H{ h }  ')H<  0 0 > q `0 (q )?i) q 詀L@/A/B/C/D/E/F/G/left/tab/down/up/L/ret/N/O/P/Q/R/S/T/right/V/W/X/Y/Z/esc/\/]/^/_/del/0&q `8ʎ 莄`0 H` E02 1ፀ KKh2 1`a0b0) { 8`H hH)? ) h ) (`)_xyH_ "(`0 4T`{# `80ʎT 4`8`HJJJJ 0!h) 0ș!`x0K  0K "hX` k AA`Kp  (kKp (kZ Khd  e / x y z Jd e KhzȀ  0HLl\\\\\\L ̯} 80K "h0) ~~0Lw `XHZHHHK  K0McD e.ȹe Ȁe'0Gk 0TTKc(`L K0kL 8K L ) QSU0MTUQUV)YWZ0 ) 0zV0` %)ǍOQ(`0O (`x0yHc "(`x0yHe "(`xK0yHt "t ) e]  00 0 mi0i  0 ijii Wϩijũ/0 A gL  ') &-/ 1L&08H0%ᨯh` ) _Q` `mڢ ڻ  ̆px1'5'H3'HȳzKp```0{ #3 '''& M{ 8`i 8``1ZH2iH1'5'H3'H" i hz(`(`  ))) Q u {!  ] XL 0{Lj} u   { i   01i;   ]P0 jHm  h iH h   B0 x  }{ } 8ʩ 0' )8X`H  h CH  h 莐`  C`4s 8 ''&0PHq   n (`  %ቀ`@Hq 0J = *:h`0h `0@00`) !{ LJ,. | |`I0 ?{.| {{8`  x `q q s L{ |LI0+  | { {|8`- p/|{ {1`=  LL!@i`0h) @h   n`P h`Press keyboard key you want to define. OR enter: [+n] to switch to macro file n=0..9 [-*n] to delete macro file n=1..9 *** Define Macro *** [+] or [-] to move cursor [*] to delete [enter] to accept [clear] to cancel Diversi-Key(tm) Version 0.3 (Demo) Copyright 1987 DSR, Inc. By Bill Basham FOR 2-WEEK DEMONSTRATION ONLY To order the latest update, send $45 to: DSR, Inc. 34880 Bunker Hill Farmington, MI 48018-272800 (`0  ɍ.HJ))iH 1m h0(``0{L,p{58  {ۜ # PL  `5H5Z  zh8` @ ) ) 0&)蘝ڎ 00h5  (( :Z  z005  A g1`0%MO-q0` H-qMqh)0{LsLh @ Lg lIk`h8K ? o L H0%-qMq0L{L0LLH HK#hH)hghhIN') &)0(L0F) ޭ H%)@I@ hL{ h8K{q } ?s   0\x 0 o' 'q %@ -qMq( $ !! %  ' '0{x 0 L 0Hx06h0suw(\rsuw06) 6 h())h`@ ɠ ɢJj)A`{ |0{ I 8`  0 {ɧ ɥJj(  8j 8`8` H I h::7ɪ:   *%   2``LL):H0΄΄hKh8`   I ΆΆ h H H 0h c )  (0 ch᪭bhh c^L``ɬ  ``C  - Hi  | {h!)m{{ة Lɮ ! !Lɰ5  )IA I0 I@cQՀ$cL8L 莄ʎ`0     8`  I b  b0 8頨P )Ía aΩb `` I ``i|-i`-i` ``8`pw{}tmp f{ ꜂#A8` Ά ,q  ) 0 #p # )(0) p`0 0   j,  $0   pL ,bɂ )b` Kh`L `^_`a!!!!#z#|#}#~####OMNxKi:H1'5'H3'H""    @ 0 pp0(kVZ8? ]TA6 ](I`* 8P#05'5'H3'H"05'1'0`0 "1'h3'h25' @1' 01'` ʀ  ! 0` ,0 ! $ !`!')$ ')`8`!!!!$ᬾ!!ڨ!) ,PzZ h,!P ,P %J)!!M!!!!!!! !! !! ! !LB Y{| 8` 8j}!!I!#!8!}! = < ; : 7 5 4 3 2 1 0 / . ) $ # "       UQ8&B=54-'%!  ~yxtqpojihgfe`TSNKJI4/ |wsa\[YNJED874/ rqjfa]\YVTRNLIHGD>;85utnmjigba^[ZYUJGFEDCBA0-,+ ywunhd`_QPOJHEB:3-mjibYVUTRC>=*' oBA10/,&!{jifZYLKJIHA;:987/.)(~{vupYUTO========:741.)('&#"upedbWVSRLKHC@;}]XWVUNKF?9632'&%     ~|sqFA=<91,+%"!   sD940#   ~}UIIIIHB?<95555555555/.*   s r o a a a a a a a a a a ^ ] [ Z W Q Q Q Q Q Q Q Q Q Q P F ; / (    Diversi-Cache(tm) By Bill Basham Copyright 1987 DSR, Inc. Version 0.3 (test) INSTRUCTIONS PLEASE COPY THIS DISK AND GIVE IT TO EVERYONE YOU KNOW! It is legal to copy and distribute this disk. However, to legally use the Diversi-Cache program on this disk, you must send payment within 2 weeks. Please send $35 directly to: DSR, Inc. 34880 Bunker Hill Farmington, MI 48018-2728 You will receive a user support number, and a new disk with the latest version of Diversi-Cache. Your honesty will help us distribute future programs in this same, low-cost way. *** Introduction *** Diversi-Cache requires an Apple //gs with at least 512K, and an Apple 3.5 disk drive. The Apple //gs comes with 256K, so you must buy a memory card with at least 256K, which plugs into the //gs memory expansion slot. We recommend buying a 1-megabyte (1000K) expansion card, since Diversi-Cache will use up to 800K. Diversi-Cache dramatically increases the I/O speed of the Apple Disk 3.5, under any operating system (ProDOS, Pascal, DOS 3.3). Diversi-Cache only speeds up the Apple Disk 3.5 designed for the Apple //gs, and will not affect the speed of the older Apple //c compatible UniDisk 3.5. Diversi-Cache speeds up the Disk 3.5 in two ways. First of all, whenever the system reads a block, Diversi-Cache actually reads an entire track. This triples the speed of disk reads, and doubles the speed of ProDOS writes. Secondly, Diversi-Cache allows you to allocate a cache memory buffer from 0 to 800K in size. An 800K cache works for the entire disk, while a 400K cache would cache the first 1/2 of the disk, for example. Whenever the system reads a block in the cache range, Diversi-Cache saves it in the cache buffer. If the system asks for this block again, it comes out of memory at "Ramdisk" speed. *** Installing Diversi-Cache *** The Diversi-Cache program is a binary file named "CACHE". Diversi-Cache may be installed under ProDOS or DOS 3.3 with: BRUN CACHE Diversi-Cache installs itself in the first 64K of the memory expansion card (bank 2), and stays there permanently until a power off re-boot. That is, Diversi-Cache stays installed even if you reboot with open-apple-ctrl-reset. Note: after a reboot, Diversi-Cache is reconnected with the next toolset call (INPUT or entering the control panel does a toolset call). The Diversi-Cache program comes on a 5.25 ProDOS floppy disk. We recommend you boot this disk when you power on, to install Diversi-Cache. You can then boot from the 3.5 drive with "PR#5". You can also use the Apple //gs system utility program to transfer all of the Diversi-Cache files to a newly formatted 3.5 inch disk. *** Installation Errors *** When you BRUN CACHE, you will hear a "beep" if the installation was unsuccessful. The usual reason for this is that you tried to install Diversi-Cache again, when it was already installed. You also get this error if you don't have a //gs memory expansion card, or if there is no memory available on bank 2 to install Diversi-Cache. If this occurs, try installing Diversi-Cache from a power-off boot. Note: To avoid the beep, POKE 0,0. *** Removing Diversi-Cache *** You can remove Diversi-Cache by turning the power switch off for 10 seconds or so, but this will eventually wear out the switch. You can simulate a power-off re-boot as follows: 1. Hold OPEN-APPLE_SHIFT_CONTROL keys down. 2. Press and release RESET key. 3. Wait for 2 beeps. 4. Release OPEN-APPLE_SHIFT_CONTROL keys. This will remove Diversi-Cache, and clear your Ramdisk (if any). *** Changing the Cache Buffer Size *** The first time you access the Disk 3.5, Diversi-Cache allocates up to 800K for the cache buffer, by calling the Apple //GS memory manager. If 800K is not available, Diversi-Cache will allocate the largest possible block of memory. If you need more memory for a program, you can decrease the size of the cache buffer by first pressing OPEN-APPLE_CONTROL_ESCAPE. You then select "Diversi-Cache" from the "Control Panel" menu. (Note that the "Alternate Display Mode" option is removed). Hold down the left or right arrow keys to adjust the buffer size. Press when you see the desired buffer size. Note that a buffer size of 0K disables the cache buffer entirely. Even with the cache buffer disabled, Diversi-Cache will still approximately triple the read speed for long files. *** Changing the Cache Drive *** If you have more than one Apple Disk 3.5, Diversi-Cache normally will only cache drive #1. To select a different drive to cache, hit the down arrow key after selecting the buffer size as described above. You may cache drive 1, drive 2, or both drives. When you cache both drives, the cache buffer is cleared every time you switch from one drive to the other. When you BRUN CACHE, you start with an 800K cache for drive #1. To change these starting values, RUN SETCACHE on the Diversi-Cache disk. This modifies and BSAVE's the CACHE file, so be sure your disk is not write protected. *** Disabling Diversi-Cache *** Hit the down arrow again, and then the left arrow to disable Diversi-Cache entirely. This may allow you to use Diversi-Cache with protected disks, by temporarily disabling it when the program checks for a protected block. *** Converting to a System File *** You can convert Diversi-Cache to a system file, so you can run it directly from a menu selection program. To do this, first run BASIC.SYSTEM. Then CATALOG the Diversi-Cache disk and note the length of the CACHE file. Then, enter the following: CREATE SCACHE,TSYS BLOAD CACHE BSAVE SCACHE,TSYS,A$2000,Lxxxxx (where xxxxx is length of CACHE file) *** Converting to DOS 3.3 *** First, boot DOS 3.3 and format a disk with: INIT HELLO Then, boot ProDOS again and enter: BLOAD CACHE Put in your new DOS 3.3 formatted disk PR#6 BSAVE CACHE,A$2000,Lxxxxx (where xxxxx is length of CACHE file). Note that to run DOS 3.3 on a Disk 3.5, you need a DOS 3.3 adapter program. We recommend AmDOS(tm) from Gary Little, 131 Water St. #210, Vancouver, B.C., CANADA V6B 4M3, 604-681-3371 for $20. AmDOS works with our Diversi-DOS(tm). For maximum DOS 3.3 performance on the Apple Disk 3.5, combine Diversi-Cache, Diversi-DOS, and AmDOS together. *** Licensing Information *** Although Diversi-Cache is copyrighted, DSR allows copying and distribution of the program subject to the following restrictions: 1. Anyone receiving a copy of Diversi-Cache must send a $35 license fee directly to DSR, Inc. within 2 weeks. 2. Any company, club, or individual may charge up to $5.00 for distributing copies of Diversi-Cache, provided it is clear that an additional $35 fee must be sent directly to DSR. Publishers: Publishers may license Diversi-Cache for a $250, one-time fee for all their programs. To do this, the following message must appear in the written documentation: This disk contains a high-speed operating system called Diversi-Cache(tm), which is licensed for use with this program only. To legally use Diversi-Cache with other programs, you may send $35 directly to: DSR, Inc., 34880 Bunker Hill, Farmington, MI 48018. You will receive the latest Diversi-Cache program disk with documentation. Warning: It is possible that Diversi-Cache may not work with future updates to the Apple //gs ROM. We will update Diversi-Cache to work with all new ROM's as soon as possible. However, we recommend you include a user option to bypass Diversi-Cache in case your customers end up with an incompatible ROM in the future. Multiple Computers: Each additional computer license fee is $35, up to a maximum of $250 for all the computers owned by a company (or school district). *** User Support *** Your user support number entitles you to talk directly to the programmer, Bill Basham. Please write if possible, or call: 313 553-9460 between 3 and 5 PM Eastern time. *** Diversi-Copy *** Diversi-Copy(tm) is the fastest and easiest way to make back-up copies of your 3.5 disks. Diversi-Cache triples the disk read speed when used with Diversi-Copy. Note, however, that Diversi-Copy exits with a power-off type reboot, so you'll need to re-install Diversi-Cache. Diversi-Copy was chosen as inCider magazine's "Editors' Choice". It is the best copy program available, for both 5.25 and 3.25 drive copying. *** Diversi-Key *** Diversi-Key is a keyboard macro program for the Apple //GS that will work with any program that allows interrupts. This includes programs that run under Pascal, ProDOS, or DOS 3.3. Diversi-Key works with Appleworks 2.0, as well as most other programs. Diversi-Key sends macro keystrokes as if you had typed them at the keyboard, so you don't need to modify your programs to work with Diversi-Key. Diversi-Key allows you to add an almost unlimited number of custom functions to any program. Diversi-Key includes a flexible way to program the mouse to work with any program, as well as date and time macros, nested macro calls, nested repeat, IF, and WHILE conditional loops, and much much more. *** How to Order *** To order, please send your check to: DSR, Inc. 34880 Bunker Hill Farmington, MI 48018-2728 The cost of our programs is as follows: Diversi-DOS $30 Diversi-Copy $30 Diversi-Cache $35 Diversi-Key $45 We only sell our programs by mail-order, and will notify you of future program updates which you may purchase for $5 each. Diversi-Key(tm) By Bill Basham Copyright 1987 DSR, Inc. Version 0.3 (test) INSTRUCTIONS PLEASE COPY THIS DISK AND GIVE IT TO EVERYONE YOU KNOW! It is legal to copy and distribute this disk. However, to legally use the Diversi-Key program on this disk, you must send payment within 2 weeks. Please send $45 directly to: DSR, Inc. 34880 Bunker Hill Farmington, MI 48018-2728 You will receive a user support number, and a new disk with the latest version of Diversi-Key. Your honesty will help us distribute future programs in this same, low-cost way. ******** INTRODUCTION ******** Diversi-Key is a keyboard macro utility for the Apple //gs, which can be used to automate the keyboard input for most programs which run on the //GS. You install Diversi-Key permanently into the //gs expansion memory, where it stays available while you run other programs (such as Appleworks). Your other programs run normally, until you activate Diversi-Key by holding down the "option" key on the //gs keyboard. While holding down the option key, the next keys you press are interpreted as a "Macro" call. When you call a macro, Diversi-Key takes over your keyboard, and rapidly types a pre-defined sequence of keystrokes for you. You'll find that Diversi-Key greatly increases the power and utility of your other programs. When you hold down the option key, your program will pause temporarily, and resume when you let the option key up. You can press the option key to stop the program any time, i.e. to read a screen message which is scrolling by. Whenever the option key is down, you will see an inverse "K" in the upper right corner of the text screen (when in text mode only). Diversi-Key requires an Apple //gs with at least 512K. The Apple //gs comes with 256K, so you must buy a memory card with at least 256K, which plugs into the //gs memory expansion slot. ******** INSTALLATION ******** Diversi-Key is installed automatically when you boot the Diversi-Key disk. You only boot this disk once, at power on. The Diversi-Key program is actually a binary file named "DIVKEY". Diversi-Key may be installed under ProDOS or DOS 3.3 with: BRUN DIVKEY Once Diversi-Key is installed, it stays in memory permanently until a power off re-boot. That is, Diversi-Key stays installed even if you reboot with open-apple-ctrl-reset. ERRORS: When you BRUN DIVKEY, you will hear a "beep" if the installation was unsuccessful. The usual reason for this is that you tried to install Diversi-Key again, when it was already installed. You also get this error if you don't have a //gs memory expansion card, or if there is no memory available to install Diversi-Key. If this occurs, try installing Diversi-Key from a power-off boot. Note: To avoid the beep, POKE 0,0. NO RESPONSE? If Diversi-Key ever stops working, particularly after booting a new program, try pressing the "flush" key sequence: open-apple_control_delete (Flush key sequence) The Diversi-Key disk contains a pre-defined set of macros in a file names "MACRO", which are installed when you boot the DIversi-Key disk. You can also install them from BASIC with: BRUN MACRO The Diversi-Key program comes on a 5.25 ProDOS floppy disk. We recommend you boot this disk when you power on, to install Diversi-Key. You can then boot from the 3.5 drive with "PR#5". You can also use the Apple //gs system utility program to transfer all of the Diversi-Key files to a newly formatted 3.5 inch disk. Note: When using Diversi-Key with Diversi-Cache, you should install Diversi-Cache FIRST. ******** COLD REBOOT ******** You can remove Diversi-Key by turning the power switch off for 10 seconds or so, but this will eventually wear out the switch. You can simulate a power-off re-boot as follows: 1. Hold OPEN-APPLE_SHIFT_CONTROL keys down (3 keys). 2. Press and release RESET key. 3. Wait for 2 beeps. 4. Release OPEN-APPLE_SHIFT_CONTROL keys. This will remove Diversi-Key, and clear your Ramdisk (if any). ******** CALLING MACROS ******** Macros in Diversi-Key are numbered from 1 to 9999. There are two different ways to call the same macro. You can call a macro by number by holding down the option key, and entering the macro number on the numeric KEYPAD. This is called a "Keypad Macro". You can also call a macro by holding the option key down, and pressing any keyboard key. This is called a "Keyboard Macro". ******** KEYPAD MACROS ******** To call a keypad macro, hold the option key down and type the macro number on the numeric keypad. The macro is triggered when you press the keypad key, or let up the option key. Press the keypad key if you make an error. Diversi-Key displays a keypad macro as [nnnn], where nnnn is a number from 1 to 9999. Some keypad macros are: [0124], [0001], [9047]. ******** KEYBOARD MACROS ******** Triggering a keypad macro requires more than one keystroke, and numbers are hard to remember. To get around these problems, you may also trigger macros with single-keystrokes on the KEYBOARD. You do this by holding down the option key, and pressing any keyboard key, that is, any key not on the numeric keypad. The macro is triggered immediately when you hit the keyboard key. Be sure to let up the option key, to allow the program to continue after the macro is completed. Diversi-Key displays a keyboard macro as: [k], where "k" is any keyboard key. Here are some keyboard macro examples: [N], [$], [1]. Note that [1] is a keyboard macro triggered by pressing "1" on the keyboard. [0001] is a keypad macro, triggered by pressing "1" on the numeric keypad. There are 96 possible keyboard macros, which correspond to keypad macros numbered from 0 to 95. Each keyboard macro corresponds to its ASCII equivalent keypad macro. For example, the "A" key is an ASCII 65. Therefore [A] is the same as [0065]. Note that lowercase keyboard macros are converted to uppercase. That is, [a] is the same as [A]. For keyboard keys with ASCII values from 96 through 127, subtract ASCII 32 to find the keypad equivalent (converts to lowercase). Keypad macros [0096] to [0099] have no keyboard macro equivalent. ******** REDEFINING THE KEYBOARD ******** You can re-define the entire keyboard by entering: [xx/] where xx=0..99 That is, hold the option key down, enter a number from 0 to 99 on the numeric keypad, and press the numeric keypad "/" key. When you do this, the keyboard macros will now correspond to keypad macros [xx00] to [xx95] instead of [0000] to [0095]. For example, when you enter [02/], then [A] triggers macro [0265] instead of macro [0065]. You can use this feature when you switch programs, since your macro definitions will be very specific to each program. For example, you might enter [00/] for running Appleworks, and [01/] for programming in BASIC. Thus, you can keep up to 100 sets of keyboard macro definitions in memory at one time, in each 32K macro file. ******** SPECIAL MACROS ******** Diversi-Key contains 100 pre-defined "special" macros, which are always available, and cannot be modified. You call a special macro by holding the option key down, and entering a number from 1 to 99 on the numeric keypad. Then, hit the keypad "." to trigger the special macro (instead of ). Special macros are displayed as follows: [nn.] where nn=0 to 99 Special macro [00.] calls the "control panel". If you hold the option key down, and hit the keypad "." (without entering a number), the effect is the same as pressing OPEN-APPLE_CONTROL_ESCAPE. Other special macros functions are described throughout these instructions. For a list of all special macros, see the reference section. ******** BOOTING PRODOS FROM 5.25 DISKS ******** The ProDOS boot routine from 5.25 floppy disks fails if interrupts are active, as is the case with Diversi-Key. If you boot your 5.25 ProDOS disks with control-open-apple-reset, you won't have a problem. However, to boot a ProDOS 5.25 disk with PR#6, you must first enter special macro [10.] to de-activate Diversi-Key. When the disk finishes booting, press ctrl-open-apple-delete to re-activate. This problem does NOT occur with 3.25 disk, hard disks, or DOS 3.3 disks. ******** DEFINING A MACRO ******** You can define a new macro, or edit an existing macro definition at any time. To define a keypad macro, enter the macro number on the keypad, followed by the keypad "=": [nnnn=] where nnnn=0..9999 To define a keyboard macro, hold the option key down, press the keypad "=", followed by the keyboard key you want to define. [=k] where k is any keyboard key When you enter macro define mode, the current definition for this macro, if any, will appear on the top line of the screen. The macro definition begins with: [nnnn=k] where nnnn is keypad macro number you are defining, and k is its keyboard macro key equivalent (if any). For example: [0065=A] You define the macro by typing it on the keyboard. When finished, press the keypad key to accept, or the keypad key to cancel. Note that the first time you press it clears any definition you have typed, if any. Press again to exit macro define mode without changing anything. While defining a macro, you can call another keyboard macro by holding the option key down when you press the keyboard key. The status of the open-apple key (up or down), is saved in the macro definition, which is especially useful with Appleworks. During the macro definition, the following keypad keys have special functions: Keypad Key Function * Delete last character entered - Move cursor back 1 + Move cursor forward 1 Cancel definition Accept definition = End of macro definition, comments follow (optional) / Enter special macro functions The keypad "/" key is used to enter keypad macro calls, special macro calls, and all the other special macro functions described later. To call keypad macros enter: /nnnn where nnnn is keypad macro number 1..9999 To enter a special macro call: /xx. where xx is special macro number 00..99 ******** SCREEN DISPLAY DURING MACRO DEFINITIONS ******** As you type your macro definition, each character is displayed on the top line of the screen. If you hold the open apple key down while typing a character, the character appears as {k} where "k" is the character. Open-Apple A is shown as {A}, for example. Other display features are as follows: [k] keyboard macro call [nnnn] keypad macro call [xx.] special macro call control key / .. {A} open apple key down | end of macro, beginning of comments The arrow keys, tab, escape, delete, and return are printed as follows: Combinations of keys produce the following, for example: {} means open-apple- pressed [] call keyboard macro key Other special functions are displayed between [ ] brackets as described later. ******** PRINTING MACRO DEFINITIONS ******** Diversi-Key has a very flexible way of displaying the definitions in your current macro file. It types the definitions as a macro! You can use this feature to type a list of all your macro definitions into a word processing file. For example, to see all the built-in macro definitions, boot Appleworks and enter the word processor with an empty file. Hold the option key down, and press the keypad "-" key twice: This will type in the definitions for macros 1 to 9999 into your word processor, regardless of which word processor you are using. In the following display options, the "-" key is the one on the keypad: -- Displays all macro definitions -nnnn- Displays all definitions starting with keypad macro nnnn nnnn- Displays keypad macro nnnn only -k Displays keypad macro "k" -<@> <@> is ctrl-@ / Displays all current keyboard macros Note: Diversi-Key may pause for up to 12 seconds when displaying macros, as it searches for undefined macro numbers. Comments: You can put comments at the end of your macro definitions by pressing the keypad "=", followed by the comment. When displaying comments, i.e. with keypad --, Diversi-Key sends these comments as actual keystrokes. That is, a in a macro definition is sent as the 5 characters, "", during display. A in a comment, is sent as a real single keystroke carriage return, during display only. This allows you to send formatting commands in comments, to make them easier to read. For example, the built-in comments all start with space, to indent them on the next line. ******** FLUSH: CTRL_OPEN-APPLE_DELETE :THE PANIC BUTTON! ******** If you trigger the wrong macro, or hit keypad -- by mistake, Diversi-Key may go merrily along typing bad keystrokes for some time. Fortunately, you can stop Diversi-Key at any time by typing the FLUSH key sequence. To do this, hold down the control and open-apple keys, and then press the delete key. Try this whenever Diversi-Key seems to be acting "stangely", i.e. not working. ******** MACRO FILES ******** Diversi-Key macro files are saved on disk as binary files. You then BRUN the file to load it into memory for use. The Diversi-Key disk contains a standard file named "MACRO" which contains the pre-defined macro definitions for Appleworks (and other programs). To load this file, enter: BRUN MACRO When you do this, the macro definitions on disk in the MACRO file will replace the current macros in memory. However, you may keep up to 10 different macro files in memory at once, each with up to 9999 macros in 32K memory. Macro files in memory are numbered from 0 to 9. Normally, you will only use file #0. To switch to a new macro file number, hold the option key down, and press the keypad keys "=+n", where n is a keypad digit from 0 to 9. For example, to load a second macro file named "MAC2" and still preserve the exisiting macros, enter =+1 (keypad keys with option key down) BRUN MAC2 To switch back to the original macro file, enter "=+0" (keypad-option key down). Finally, to release the memory allocated for the second macro file, if necessary, enter "=-*1" (keypad-option key down). We anticipate that you may someday buy commercial programs with custom Diversi-Key macro files included. ******** SAVING MACRO FILES ******** You can save your current macros in a file, either under ProDOS or DOS 3.3. To do this, you must first enter BASIC, and get to the Applesoft prompt, which is a: ] One way to do this is to choose "BASIC.SYSTEM" from the //GS program launcher or desktop. When you see this prompt, enter special macro [1.][2.]. That is, hold the option key down, and press the 4 keypad keys "1.2." without letting the option key up. Diversi-Key will type the word "BSAVE" for you, and wait for you to enter a file name. Type the name of the macro file you want to save, and hit . Diversi-Key will finish the BSAVE command for you. You may now reboot. Under ProDOS, you can return to the launcher by typing "BYE". WARNING!!!! Never enter [1.][2.] while executing a program. Doing this will crash the program (and possibly the whole system). Be sure you see the Applesoft prompt "]" before entering [1.][2.]. ******** CONVERTING TO SYSTEM FILES ******** You can convert your macro files to system files, in order to load them from a menu manager program, as follows: First CATALOG your disk and note the length of the MACRO file. BLOAD MACRO,A$1000 POKE 4098,0 CREATE SMACRO,TSYS BSAVE SMACRO,A$1000,Lxxxxx where xxxx is the length from the CATALOG You can do this with any macro file, not just "MACRO". +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Advanced Features +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++ TIME AND DATE ++++++++ As you know, the Apple //GS contains a built-in clock, which Diversi-Key can read. Special macros [77.] through [99.] may be used to print the time and date in almost any format. See the special macro reference list towards the end of these instructions for a description of each special macro function. For example, to print the date, define a macro which contains the following special macro calls: [99.] [93.],19[94.] To print the current time, use the following in a macro definition: [95.]:[96.] [91.]M ++++++++ COUNTER ++++++++ Macros [70.] through [74.] allow you to print an incrementing counter, up to 8-digits. The counter starts out at "1". Macro [70.] prints the current counter, and increments it. You may set the counter directly from the keyboard by entering option-keypad nnnn+, shown as [nnnn+] in the reference. To set the counter to 210, enter 210+ (on keypad, option key down) You can also set the counter from within a macro, with special macro function /C (/ is the keypad "/" key). During a macro definition, enter: /Cnnnnnnnn where nnnnnnnn is 0 to 99999999 See the special macro function reference section below for more information. ++++++++ KEYBOARD INPUT DURING A MACRO ++++++++ Three different special macro functions allow you to stop in the middle of a macro, and enter keystrokes directly. They are the /P, /K, and /S functions. When you are defining a macro, enter /P to pause the macro execution at that point. When you execute the macro, Diversi-Key will stop when it hits the /P function. It continues as soon as you press any keyboard key. The keyboard key is ignored. /K is the same as /P, except the key you type is sent as part of the macro. /S lets you type a series of keystrokes from the keyboard, in the middle of executing a macro. The macro continues when you hit . The keypress is NOT sent. /Sk (where "k" is any keyboard key) is the same as /S, except the macro will continue when you press the "k" key, instead of the key. ++++++++ DISPLAYING MESSAGES (PROMPTING) ++++++++ Special macro [15.] puts a message on the top line of the screen, or [16.] puts the message on the bottom line (text mode only). Macro [14.] removes the message. You define the message with the /D (display) function in a macro definition. The display message may be up to 79 characters (80-column screen) or 39 characters (40-column screen). You end the display message with open-apple delete, {}. Control keys in a display message are displayed as their corresponding mousetext (or flashing) characters. {} keys (open-apple down) in a message are shown as inverse characters. The display message overwrites whatever is on the screen. The character in a message will skip over one screen character, i.e. not overwrite it. An example use of a display message is as follows: /D {H}{i}{t}{ }{a}{n}{y}{ }{k}{e}{y}{}[15.][Pause][14.] This displays "Hit any key" in inverse letters on the top line of the screen, waits for a keypress, and removes the message (try this in 80-column mode for correct inverse lowercase). ++++++++ REPEAT FUNCTION ++++++++ The repeat function allows you to repeat part of a macro from 2 to 253 times. You mark the beginning of the section to repeat with: /Rnnn where nnn=2..253 Then, enter the section you want to repeat. Mark the end of the repeat section with the /E function. For example, the following will type "HI " 5 times: /R5HI /E If you enter this as macro definition [] or [0013], the screen display shows this: [0013=][A-Repeat:005]Hi [End-A] The "A" in the Repeat and End functions signify nest level "A". Diversi-Key allows you to nest Repeats, as long as each Repeat has a corresponding End. An example of this is: [0013=][A-Repeat:002]Hey [B-Repeat:005]Hi [End-B][End-A] When you execute this macro, it prints: Hey Hi Hi Hi Hi Hi Hey Hi Hi Hi Hi Hi ++++++++ LIST FUNCTION ++++++++ The /L (LIST) function allows you to call a different macro each time it is executed. The format is: /Lxxx,nnnn where "nnnn" is any starting keypad macro number 0..9999, and "xxx" is the number of keypad macros in the list. For example /L3,1000 is displayed as: [List:3,1000] The first time this function is executed, it calls macro [1000]. The next time, it calls [1001], then [1002]. Since there are 3 macros in the list, it then goes back to [1000] again. Macro [76.] sets a flag to reset the next list function executed, to the first macro in the list (sets list counter to 0). The "/Z" (Zlist) function "zeros" all list counters until its corresponding "End" statement. ++++++++ IF/WHILE FUNCTIONS ++++++++ The IF/WHILE functions are for advanced programmers with assembly language experience. The format of these functions is: /Ixx/xxxx=yy (IF) /Wxx/xxxx=yy (WHILE) Values are hexadecimal digits 0..9 or A..F (uppercase), where xx/xxxx is the bank and address to test, and yy is the byte to compare it with. The "=" condition may be replaced with the following tests: = equal <> not equal <= less than or equal < less than >= greater than or equal > greater than & AND (true if xx/xxxx AND yy <>0) ~& not AND Each IF and WHILE statement must have a corresponding END statement. If the condition tests FALSE, then Diversi-Key skips to the END statement. If the condition is TRUE, Diversi-Key continues executing right after the IF/WHILE statement, without skipping anything. The WHILE statement repeats everything up to its END statement, as long as the condition is TRUE. Since the IF/WHILE functions use absolute hexadecimal locations, you'll need to know the internals of the program you are using. Some locations for Appleworks 2.0 are: 00/10F1 =0 insert / <>0 strikeover cursor 00/10F5 character at cursor 00/0014 Horiz. cursor position 00/0015 Vert. cursor position After Diversi-Key sends a character, the program may not have time to process it before the next IF/WHILE test. This is because Diversi-Key is interrupt driven. To be sure of an accurate test, then, the character sent immediately before the test must not affect the test. It is useful to have a "dummy" character to send for this purpose, which does not affect the program. In Appleworks, sending two open-apple E's, {E}{E}, has no effect, for example. You can test some of the internal variables in Diversi-Key with the IF/WHILE statements. To do this, you use an address in bank 7F, or start your comparison byte with a "?". 7F/00xx or ?xx xx = internal variable number For example, special variable #12 is the "Tick Count", which increments every 1/60th second. You can clear the tick count with [21.]. The following macro types "HI" 5 times, every 2 seconds. [0095=][A-Repeat:005][21.][B-While:7F/0012<78][Null][End-B]Hi [End-A] Note that IF/WHILE statements may be nested, just like REPEAT. The [Null] statement, entered as "/N", allows the program to continue executing during a REPEAT or WHILE loop which is not sending any keystrokes. The [Null] forces Diversi-Key to return to the calling program for one interrupt cycle. Note that the program will run very slowly while Diversi-Key is in this kind of loop. You can speed up the program execution during a "null" loop with special macro [61.] before the start of the loop. This slows down the Diversi-Key interrupt rate (and also disables type-ahead during the macro). To speed Diversi-Key back up to normal after the loop, use macro [60.]. ++++++++ SLOWING DIVERSI-KEY DOWN / PROGRAM COMPATIBILITY PROBLEMS ++++++++ Diversi-Key sends its keystrokes just like you had typed them. That is, they appear at $C000, the normal keyboard location. This is how Diversi-Key can work with any program. Unfortunately, some programs throw away keystrokes if you type too fast. This is never necessary, but many programmers are in the habit of doing it. Diversi-Key automatically corrects this problem in Appleworks 2.0, and Pascal 1.3, by patching these programs in memory when they appear. For other programs, your only hope is to slow down Diversi-Key, (unless you can figure out how to patch them). Macros [61.] through [67.] slow down Diversi-Key ([67.] is slowest), and macro [60.] restores normal speed. Note that when you slow down Diversi-Key, you lose the ability to type ahead during a macro. Diversi-Key automatically slows down when you enter the control panel, so that's why you can't type ahead there. This problem only shows up with machine language programs, so if you know some machine language, you can try to patch the problem away. Typically, the problem is caused by clearing the keyboard strobe at $C010 unecessarily, usually as follows: LDA $C010 (NOT NEEDED, CHANGE TO NOP/NOP/NOP) GETKEY LDA $C000 BPL GETKEY STA $C010 (NEEDED) You can use the //GS monitor to find references to $C010 as follows: BLOAD program CALL -151 \10 C0\<800.9600P ++++++++ USING THE MOUSE ++++++++ Diversi-Key allows you to program your mouse to send macro keystrokes. You activate the mouse with the special macro: [51.] With the mouse activated, you can send a total of 10 different macros from the mouse. When the program starts, the mouse movements will send the following macros: With mouse button up: [

] left mouse motion [] right mouse motion [] down mouse motion [] up mouse motion [] sent when mouse button goes from down to up With mouse button down: [] left mouse motion [] right mouse motion [] down mouse motion [] up mouse motion [] sent when mouse button goes from up to down You can re-assign these mouse macros with the /B (BMOUSE) and /M (MOUSE) special functions. For example: /B/ will assign the mouse button down macros to be [} through []. /M/ does the same for the mouse button up. /B1000 will assign the mouse button down macros to be keypad macro numbers 1000 to 1004, and similarly for /M1000. To use the mouse, first enter [51.] to enable it. Then, hold down the option key, and move the mouse, or press the mouse button. The mouse is only active when the option key is down. While holding the option key down, you can press the control key to enable the one way mouse function. With the control key down, mouse left-right motion is ignored. With the control key up, mouse up-down motion is ignored. If you prefer, you can use the control key to convert mouse left/right motion into up/down motion. Enter [54.] to enable this feature. You can lower the mouse sensitivity with [55.] for horizontal, or [56.] for vertical. You can enter these macros up to 255 times for minimum sensitivity (use repeat function). Macro [57.] increases the ability of the mouse to type ahead. Each time you call [57.], can typeahead one more macro call. You can increase typeahead 255 times. If you define mouse motion to do cursor movement keystrokes, then the typeahead behaves as follows: With no typeahead, the cursor moves in the same direction the mouse moves. When you stop mouse movement, cursor movement stops. If you move the mouse faster than the cursor can follow, nothing changes. With full typeahead, the mouse can get ahead of the cursor. If you move the mouse rapidly, the cursor will eventually catch up to the mouse. The cursor keeps moving after you stop moving the mouse. With typeahead, the location of the mouse on the table corresponds to the location the cursor will eventually reach on the screen. After you start moving the mouse, you can no longer trigger macros from the keyboard. You'll notice that the inverse "K" in the upper right corner disappears during mouse movements. Let up the option key for an instant to get the "K" to re-appear, and allow macro triggering from the keyboard again. This feature is included to avoid pausing the program during mouse movements. When using the mouse for a long time, you can enter [45.] to change the "trigger" key to , to avoid of having to hold down the