@L `}/j5  $% l0?$)$$Hȱ$ ShL$ `e$$%` h?/ `  !I PR@1 YL I`! S S) H$ЙH 0}Џ$%`@ $% CC$$%e%dU$% ]0%$% DDmLp   % J)Lz J  (( o L (y/)  [L< ( yL Z 0o Tya y }4IB [y32C/10m?4 V V  wLL a ` V y/})23LzA! ߰")-݈ y" $zzG@LL 08` k")};1k0 -G$Ș݈ SL! 9 y8(()(0˥)Nk`$GȘ݈LS )L ݈ L GzȘ} ݈LL )W>Z   HH)H o h  yhy00hy11/ V  }L> L JJaHJJJh) yLT J u (`  IBLH % 6h HHGH`LdJ })LJJLw!,"!,/@F  L! ! 0E^  }^ E E7EȩEdE/EȩE / ! Vΐ )L   mx n wym }?x7x?4 ( ) w y32 R V LL n w ) V  L y / o   }E` , ny/) / V Ly/) 0BM݌L݋ ML  N݈ L }NLML [ fEqEHȱEqEh 3Gȹ G KLL GzɛL  L}FREE SECTORSy /H) *Gȩ GȽ4G GȌyh%*J >G<-+=!*?%% &%z3%$$HEL{*DIR*LOC.CLR.LOA-VER%INI+UNL.FMS.SAV,MODg%CARR*REN?,FME.H"}EAP)BAC_%BONo1DEL.FMD.SUM(RUNm*BOF|1COP3&FMQ.TYP.)EXE$ 1Y5P" O."8""@R'S15%#}0i5i5501ȊԢx5"JFJPWy"HH *5")IAY54 4> 4,0$}L#N #L|*J #L*J #14"4`J # 1Lk*v} 4 *%H$H`)?4 $ 4 #$0 %} 2 4 $ y$, L$LL-19" !"H "H` $ $Ѻ Ѻ걺 2ȱ 4ɛL"ȱH&}H 2e滠滱 u2`> 8e滐`+"`e` y$ 2" 2Execute: W. /p O. '}/ 1L"*ԆՎ l$ 2 \*L#L)4 % HJJJJ 3. 4h 3 3XFHSEX; 4L4(}"݅pq y$ 2ݹp` %ݱp 3`,5 2`N5 l$ /0 / 1 l$L$$8n" }$ 2pq y$I eppq> )}4pq 3 3p,"0 ' 4 3L& 3`p8pqŠ 2ݑpȥpȄ(` /5D . 5 - #( l*}$ / #(莉5 2Reading: . .ii e֥iש 0( . `1,P3 1S / / 1&+}& 5$?♵5 -8tu E( rȥs(0 O. .Еߥ .8 ' 0( 2Writing: rȱsr* / /,} ,` / 1rs8 E($0 O. . .C .L'5  e . 'Lx&,5PJC`,50 2I-}nsert ( 2sourceL' 2destination 2 & hit key ! #ڭ ҍ5L25`5օtׅu` S2tu /.} 1HrettIseuu(` (x / / O.L1`$0'5 / S2 1XY O./}8` W.r n( (errstuvw 2LEN: vw 3u 3 2 SUM: st 3rL3 W.$0 * n( ( 4LB)0}N` W.ʆ n( ($0,F (!$0բ 2No COM-File !LO. (8ԨՐυلإ5 * 1}2# 2RUN: E* 3 2INIT: E*L^) * 3 2. ԥ 3- 4֥ 3 2 LEN:إ 3 (L)إL^) 2}( ( 3L3 1 y$T 4T l y$l 2l *" 4 3 * $ $ 4 2 *ݥURL4` 3}, /$0"I" 1 n+,"0e+Di5Ei Q2 1 2 V/8," 24}LV+ԩ 3: 4 4I 4L+ 2D5:1 4 2: $;0+ 2SINGLE 2 DENSITY 2 RAMDISKL* 2ENH5}ANCEDp 2DOUBLE 2QUAD }/5,5$ 1 O.$0 `DOS.SYS8f5ȩU5ȩP5婿t"Y56}L, / - l$ / /X,L. /,55 5.5 橛5L/LL$ }/ l$ 2 2刄t( 287}$, 2RUN : y-ft 2INIT: y-ft 1 -$tP`$tPF$6ee8}ȄԄՠ$0֩ /$0 q- /8ਥi S2 L15 4ɛ 2` y$ 2 " 2Load: W.9} /$莞 1 -5 lL"0L2`")i"` 1 . / Q2 1'  Q2 1٠:}0 V/ .L.L2 BLVhihi / -i(i( -8((((.. . `1 1 - .;}`5  e`,,,,"H 0hZ,!,#,$/ /$0 $0ZL/ -/L. / /L11/2/5<} 5 H.5h5ک5`5c/d/ 5? $08`$0`45 [2519 5=}55 /$05455 /5ED` *50 4`5008f [2R0/@ 2.>}/ȱ 280@0  eiȱ/\FȢɛ  o- *  D.8;+"/+ȱ0"?}LL$V ȱ+F/ڊ u2 80 ? 00 0/+$0Wy`5 ` 2Sure ? 1Q`$O 2es, @}o or bort? 81YN 4(` 'ɛ)YN A 2AL"` * 4 `)  ӆiA}j O.+ /  /$0Ș,J, 1B V0`1 O.:>ݩ,".U * 2 is locked !Unlock file? 1ݐ`B}$ 1УԢ5 )p O. * * 2# 4 3L"IH`:;:` ,ɛ`` u2` *C}hihi 4eiHH` ," 4 2 8`0:` 3` 2iԥiդ o$ԥ(`LL$ 2ԍ2Ս2D}Ԇՠ+22ȱ.6'`0#: AG6  &&`8`芄  (` }$ 2 2 3 E}2=' 38nɛL4ԥ 3 2=.݆ކ&բuݕت 3ߊ, 3HJJJJ 3h) 0:i,  F}4,500 BHI V,L2,"p:ɛUR.* t4 t4^ 81 t4( $x0Nhh`S8R^`倈G}HH`p@BDE-HI V0H-` O. 4L2L"ȱ 4ɛ`D1:*.*pB 5H}0#452"/ $/38%by("arth&"ruchhaeuserc -2eitershan#omputertechnikI"L2L"ȱ 4ɛ`D1:*.*pB 5[From hufnagel Thu Dec 1 09:16:15 1994 Return-Path: Received: by zippy.sonoma.EDU (4.1/SMI-4.0) id AA23081; ThJ}u, 1 Dec 94 09:16:14 PST Date: Thu, 1 Dec 94 09:16:14 PST From: hufnagel (Michael Hufnagel) Message-Id: <9412011716.AA2308K}1@zippy.sonoma.EDU> To: kendrick Subject: here Status: RO >From KENDRICK@sonoma.edu Thu Dec 1 08:26:00 1994 To: bob@zL}ippy.sonoma.EDU, LYLEM@sonoma.edu, HUFNAGEL@sonoma.edu, comp-sys-atari-8bit@cs.utexas.edu Subject: Recursion in ActM}ion! This seems to do it! (STACKTST.ACT/.C/.BAS) The following file is the C code I first came up with when I was thinN}king of how to go about adding a local-variable stack to Action! so that PROCedures and FUNCtions can be made to do recursioO}n. I tested it out in Think C++ on a Macintosh but didn't trust it since, well, C handles this by itself, so all I couldP} be doing is wasting memory! But never fear, two files follow this: -----------------begin-stacktst.c-------------------Q}--- /* StackTst.c: Stack Test program for adding recursion to Action! */ #include "stdio.h" int sp; int stack[1024]; R} void overflow() { printf("Overflow\n"); } void underflow() { printf("Underflow\n"); } void init() { sp=0;S} } void push(int x) { stack[sp]=x; sp=sp+1; if (sp>1024) overflow(); } int pop() { if (sp==0) underflT}ow(); else { sp=sp-1; return(stack[sp]); } } /* -- */ int factorial(int n) { int m; if (n<=1) m=U}1; else { push(n); m=factorial(n-1); n=pop(); m=m*n; } return m; } void main() { prinf("6!=%d\n",fV}actorial(6)); } /* By Bill Kendrick 11/29/1994 */ /* See STACKTST.ACT... */ -----------end---------- Well, since IW} didn't trust it, I started writing another text program in QBASIC on an IBM. Of course, at first I started out writing theX} thing with "SUBS" and "FUNCTIONS"! Duh! QBASIC probably uses a stack for local variables too! So I started over and jusY}t used GOSUBS and passed variables to my GOSUB'd functions via "x" and "n" variables. The code looks much more drawn out tZ}han it needs to be in a higher level language, but for you Atari BASIC and TurboBASIC XL users, you may find this useful no[}netheless. BTW: This seems to work too! :) ----------begin-stacktst.bas------- 1 ' StackTst.Bas 2 ' by Bill Kendrick 11\}/29/1994 3 ' Test of StackTst.c code in (Q)BASIC without using real 4 ' FUNCs. 5 DIM stack(100) 6 GOTO 1000 10 ' pus]}h 11 stack(sp) = x 12 sp = sp + 1 13 RETURN 20 ' pop 21 sp = sp - 1 22 x = stack(sp) 23 RETURN 100 ' factorial 1^}01 IF n <= 1 THEN 102 m = 1 103 ELSE 104 x = n ' \ push(n) 105 GOSUB 10 ' / 106 n = n - 1 ' \ 107 _} GOSUB 100 ' > m=factorial(n-1) 108 m = x ' / 109 GOSUB 20 ' \ m=pop() 110 n = x ' / 111 m `}= m * n 112 END IF 113 x = m ' return(x) 114 RETURN 1000 ' main 1001 n = 6 ' \ 1002 GOSUB 100 ' > pria}nt factorial(6) 1003 PRINT x ' / 1004 END ----------end---------- Finally, after this last sucessful trial, I camb}e up with the following Action! code, based on the C code above. I ran it, got "720" as a result (6!=720), screamed and juc}mped up and down; proceeded to tell the person on the other line what had just happened (giving her a breif description of d}recursion and factorial), then apologized and asked her to repeat what she was saying a moment before. ANYWAYS, I hae}dn't booted any DOS with the thing and was planning on using SIO2PC's Print-Thru and Atari's built in P:rinter device to maf}ke a copy of the thing as a file on my PC, but accidentally hit "D" for DOS instead of "E" for editor in Action!'s monitor g}and poof it was gone and I was enjoying the OS's Self-Test menu . The following is obviously not my ORIGINAL code , AND IS NOT IDENTICAL to the C code! This gives you a menu letting you chose between FACTORIAL, FIBONACCI, and ACKERMAi}NN recursive functions. ACKERMANN has not been tested, and when doing FACTORIAL and FIBONACCI, remember that I used INTs, sj}o when it calculates values over 32767 or below -32768, the variable will have over-/under-flowed and answers will be wrongk}, but hell, at least it works for INTs! :) ----begin-stacktst.act----- ; STACKTST.ACT ; Local variable stack handler fl}or ; Action! test program. ; By Bill Kendrick 11/29/1994 DEFINE STACKSIZE="200" DEFINE LARGESTTYPE="CARD" m} ; Type mismatches don't create errors, ; so use the largest (2-bytes) available Cn}ARD SP ; Stack pointer LARGESTTYPE ARRAY STACK(STACKSIZE) ; Stack storage space PROC OVEo}RFLOW() PRINTE("OVERFLOW") ; Display error PRINT("STACK POINTER ABOVE ") PRINTCE(STACKSIZE) BREAp}K() ; and abort program RETURN PROC UNDERFLOW() PRINTE("UNDERFLOW") PRINTE("STACK POINTq}ER BELOW 0") BREAK() RETURN PROC INIT() ; All we need to do here is reset the SP=0 r} ; stack pointer either before a RETURN ; recursive function's calleds} or at ; program start. PROC PUSH(LARGESTTYPE V) STACK(SP)=V t} ; Store value SP=SP+1 ; Increment stack pointer IF SP>=STACKSIZE-2 THEN ; u}Test for overflow OVERFLOW() FI RETURN LARGESTTYPE FUNC POP() LARGESTTYPE V IF SP=0 THEN v} ; Test for possible underflow UNDERFLOW() ELSE SP=SP-1 ; Decrement stack pointew}r V=STACK(SP) ; Retrieve value FI RETURN(V) ; ---------------------------------- INT FUNx}C FACTORIAL(INT N) INT M ; Temporary variable; its value is y} ; RETURN'd IF N<=1 THEN ; 1!=1.. M=1 ELSE PUSH(N) ; Pz}ush before recursion M=FACTORIAL(N-1) ; Call function for N-1, store in M N=POP() {} ; (Get old N after last recursion was ; returned from) M=M*N |} ; Multiply.. FI RETURN(M) ; ..and return value INT FUNC ACKERMANN(INT X,}}Y) INT R R=0 IF X=0 AND Y>=0 THEN R=Y+1 ELSEIF Y=0 AND X>0 THEN PUSH(X) PUSH(Y) R=ACKERMANN~}(X-1,1) Y=POP() X=POP() ELSE PUSH(X) PUSH(Y) R=ACKERMANN(X,Y-1) Y=POP() X=POP() PU}SH(X) PUSH(Y) R=ACKERMANN(X-1,R) Y=POP() X=POP() FI RETURN(R) INT FUNC FIBONACCI(INT N) INT R1,}R2 ; Temporary variable; its value is ; RETURN'd IF N=0 O}R N=1 THEN ; FIB(0)=0,FIB(1)=1 R1=N R2=0 ELSE PUSH(N) ; Push bef}ore recursion R1=FIBONACCI(N-1) ; Call function for N-1, store in M N=POP() PUSH(R1) } ; Push before recursion PUSH(N) ; Push before recursion R2=FIBONACCI(N-2)} ; Call function for N-1, store in M N=POP() R1=POP() ; (Get old N after l}ast recursion was ; returned from) FI R1=R1+R2 RETURN(R1) } ; ..and return value PROC MAIN() INT A,B,RESULT INIT() ; Init Stack PRINTE("}1=FACTORIAL") PRINTE("2=ACKERMANN") PRINTE("3=FIBONACCI") A=INPUTB() IF A=1 THEN PRINTE("Factorial") } ; Title/instructions: PUTE() ; (blank line (PUT End Of Line)) PRINTE("Enter '}A' and I will") PRINTE("show you 'A!'.") PUTE() PRINTE("Enter '0' to quit.") DO PUTE() PRIN}T(" A=") ; Prompt (no EOL after) A=INPUTI() ; Read integer RESULT=F}ACTORIAL(A) ; Call function PRINT("A!=") ; Display results PRINTIE(RESULT) } UNTIL A=0 OD ; Quit when A=0 ELSEIF A=2 THEN PRINTE("Ackermann") ; Title/ins}tructions: PUTE() ; (blank line (PUT End Of Line)) PRINTE("Enter 'A' and 'B' and I") } PRINTE("will show you") PRINTE("ACKERMANN(A,B).") PUTE() PRINTE("Enter '0' to quit.") DO PUTE(}) PRINT(" A=") ; Prompt (no EOL after) A=INPUTI() ; Read integer } PRINT(" B=") ; Prompt (no EOL after) B=INPUTI() ; Read integer } RESULT=ACKERMANN(A,B) ; Call function PRINT("ACKERMANN(A,B)=") ; Display results PRINTIE(}RESULT) UNTIL A=0 OD ; Quit when A=0 ELSEIF A=3 THEN PRINTE("Fibonacci") }; Title/instructions: PUTE() ; (blank line (PUT End Of Line)) PRINTE("Enter 'A' and I }will show") PRINTE("you FIBONACCI(A).") PUTE() PRINTE("Enter '0' to quit.") DO PUTE() PRINT}(" A=") ; Prompt (no EOL after) A=INPUTI() ; Read integer RESULT=FI}BONACCI(A) ; Call function PRINT("FIBONACCI(A)=") ; Display results PRINTIE(RESULT) } UNTIL A=0 OD ; Quit when A=0 FI PRINTE("Bye!") RETURN -----end----- Final notes: With} the C code, you are restricted (unless you can get C to ignore type mismatches) to using INTs (or whatever you make your }stack out of); oh, wait, perhaps I'm wrong. It has been a while. Well, anyways, don't TRUST any code you make using that (w}hy would you use the C one is beyond me ) until you have TESTED it thoroughly. In BASIC, you should be restricted to} "reals"/"floats"/whatever you want to call them. This of course includes INTs because BASIC handles conversion to/from f}or you (this is in QBASIC; Atari BASIC / TurboBASIC XL don't actually have any other type other than INTs). In Action!, }CARD is the largest type (2-bytes) and everything else is as big or smaller (INT=2 bytes, addresses=2 bytes, BYTEs=1 byte, } CHARs=1 byte, POINTERs=2 bytes, etc.). Be warned not to try to do recursion with CHAR ARRAYs (strings) or any other type }of array, or with records without being careful, and perhaps rewriting some of the PUSH/POP code. Also, I'm sure you could} do something like this as well: PROC PUSH(BYTE many, CARD a1,a2,a3,a4,a5,a6) ; I think Action! handles } ; only 8 params max. ... PROC POP(BYTE many, CARD POINTER a1,a2,a3,a4,a5,a6) ; not FUNC }any more to pass more than one value at a time to/from the stack. Well, that's it! Have fun! Has anyone found an easier}/better way to do recursion in Action! !? Later! -bill! kendrick@vax.sonoma.edu ||| kendrick@zippy.sonoma.edu Willi}am (Bill) Kendrick / | \ ** New Breed Software ** NEW BREED SOFTWARE: Atari 8-bit and IBM PC software! E-mail for info! } ll) Kendrick / | \ ** New Breed Software ** NEW BREED SOFTWARE: Atari 8-bit and IBM PC software! E-mail for info! pp/ԩ-0p1(pԩ"/`8 ppppppWGppppppppppA-p!#4)/. }improvedandtunedinby34/2+3934%-3originalslowfileversionprovidedby }pq0!5,!.$)#p ȱAȱŇ) ņ ]Ŋȱ勰 }98ƋŇ'ņ!ȱ`ȱ`eȱe8冑 }凑…ňȱ剰㥄eȱ)eŅ!qȱqȱ ȥ }qȥqʼnqȱqȱ`ȥ`i膇  i` ᰭ  րL aLk8Lր } Ё`i ~ii:ȑȑ `` }ȱȥL" n`ȱȱ Lȥ Lȥ } ր``Lnx ``````Wސ`"L,` Lų`l ` L L:ɂ m } ~Ά腳 8 ɛ ,L_ՠ L_2 *km~ },`{섛Wj}MZG.QZϷ2g{Ɋظc9Hުg˾W } WŌ" ȑČ ݲLiȑČ٥H  ,hL[ K ϵ LȉȄL { m }H 8 Kh桩 栤挤ġ ϵ щLй ϵ ² *L K N Ё Ȅ }b ӵ Lȉɧ` G nLG ²L X'8ȱÐ ݲL K`  k }åлL  ؠ . ӵ qȄ梤ģ bLщȑ8ȑȑ }`ʕÍ`  Z1 2Ȅ88  @ 2 } T!]^JVookwD yceD ~<}8i$ģ%USّE +LƆȘ`8 [ E + }[~}Р`  0  LRead?  ! ² ʰ0 ӵ ѰL9 LWr }ite?  a ȩ  S:Ȍ: ?D /Ƞ 0 I`hhLh }h` 0LK:I`+H ZhLLD1H K La` ע & K  & nÎ }Lĉ v ²L ߢ &Ю vЧ̟1 vLCLEAR? Delete window? Not saved, Delete?  } Æ L ` y` L b L Km`m` K } K ϵ  ϵ ĉ *L K RUeT aT ӵ厅"! T ӵƪ } Ѱ Lߢ8嚅 ݲRLHeR8S嚅 ݲ8h8eRL88eƮ K յƮL =6 K ϵ d } = β  X Ѱ ӵLȉ`NƚL0EL㢊ܢL8INSERTREPLACE K յU ݲL²hh` } Ǝ0LO接 P L 늦LS P ݲLe` Ō . ` XRUeƍ ݲ _L[ }XߥUS ݲ [L_8eeU8R`؄(T ʥee'` GG K   }ȥȥ  `;L8 tag not setNLtag id: G9 K ʠ ׌ }LE`Š馅`ȱ ڀ莯` `Š馣` Z } N Tʎ c W   a  W c = L (é  }1 L_ vLE 欥 3` H,  =  H HL }` ` &LBoot?  ` ` Teem }Ʈm Ŏ BDEHI V0/ ŎL n0` LnHH c K` }hhL c / L9 `$ &*i0:0i Ƣ`#bcd^eopr }хȍ Li桍ƿLn }w`ces lʆ &e J Jꅆ8冨凪`ʆ ee }` 9E…¥ 9` l'&&&8儨児祂*L2&&*ń8&&L2 ` } Fj`hihiHHȱȱLڗ`膥ɠQ-ĮȐ`此į۠Ų }LnlȄ.70Q- Ġ7`eޠ Ȅ e _ 嘠ƍ iť +и }Φ +У +Ж꥾ +ȑȑȑɦȘ 9`5h{DObFIcIFPODdORTOeANDFORTINT"LSHMO }D RSHSETDXORBYTE!CARD#CHAR ELSEaEXITSFUNCAPROCBSTEPfTHEN`TYPEFARRAY@UNTILXWHILEQDEFINE&ELSEIFjMODULEWRETURNRINCLUDECPOI }NTEREiI^I^L]I^+ 8+ _0)?ʈ LACTION! (c)by Paul Lee Computer Services (PCS) April , 1985  } L r c c ! W_ u` 89ЅЅ එЊȑȥqЅȥqЅХӥ }` ඍ K LL\ Lơ    c c[8嵅嶅 c &i荙% M c }]٠ AГ  c  `F' {ө&Rፙ%A@qEg  0 Ң } c M cL!  ci 9 c c cѠLni c `Ӧd`ЦѠ ݢ }cȩa cг6 0Ц M cL! 0 Ң ච cL4ɓ  } Ї$hhLcɈ 'p⥸ KɈLơө g8hm) Lc cWL Ңee }Lȑ`H ui mh0xL ɋ))` [# ½]   c } cLɉ 6) 1Ɉ .p nL x L L ߻ LɐI $I=  c( )ɘ) ȱࠐ }P c è LK Ln Ɉ cШ F `w j   A L$a  A  } c;   ½   cLKȱ` Ln PɈL P b X  A dѠ L }ȱHh ALС F ԧ cɉɐɖ婌 ȥ $ e©  A)  } yf yb ච ½ >Ɉȱ 3 Lե ۦ ɋܩ ۦ j }    A   Ɉ  9 H A A ˫ H h*hX&Hnȱo }nohLȤH >h LɈ  L )0) 栥,,þ( ٦ɋ H } ȄhL`  Ϳ ɋ L٦Ɉ؄ චȑ 5ɋ LM L5 F ԧ ච } L½ u) / c  ` LLn HH * hHd 9    9 A h` } ` n t 6`ȱ`Ȋ` ) " 6`Ȋ`ȱ``LL8堅 }ͣL Ln L< ee`夠``PTQcRbS c … i }̪{`mLo}'p nPx LTɀɐ ɈDɆ $К< LT Хª) ̪  }  cLè ̪6` .Њ1 дL iq /ƍ cнLnǩ FƠ H ơ }E ߻栤 h ȱ ) LTLnƚ0`…8ݠ‘ȥL } 5 c c)pл)©L{Lϼ L K`LǼ LH / h `Ȑ ` < 5 }` B>)Ċ6,b&  ˫` u`  L̪`i`暙` 5Lc }) )ž) Lg ٬9c.0 & LF f cL <  e }L ٬cܩ   LL <  R6,þOɈ1ɐ+#  } p  L)ɠڥW)F   )` I ¿  L^)@К 9 }㥣 І  ½Ѐ <Ɉ"dp)ɰɘip``DɈ>) q qLD8 }񹅩 1-+ վ  3 3 ȥ LKɈEׅ J վ  } ơ Lv վ   [ ½ Lv  9   n } t 68 V < )iȱi 6  " 9L Hi h i     ½L }HšŢ`hhLWLn  "A  " t ( A 3 tH Lv     } )x88񹑹ȩ񹑹`  LɈɘ A `)pLa8A!0ĭ }̭E Ů Ṷ̊W 7hACTION! (c)by Paul Lee Computer Services6. : BLV` }  B JKIHiDiELV䄦 eRU _椤E + }`𑛊 0H8`L L² 9  P t LWError Ԇ ؠ }PIPP`/`"/ԭ` PLnH h:,'iԥiՠiɨɑԈȩDȩ:ɥɤ L }nGLʰ򅡆ԅդ800) 0 0!Ԧՠ eԆ ٰԦդ` LnLؠ L.8e膥  }'eR壐Q8SRŦQH)`h) ȭL{QI` }T`TU`TU  [L_` ` 赠`eLXYT i(`]^_`]^` } 'LE: BHILVߩ۩שөϥҦǤȆńƅĥ…ɤʥӆ 9!A } }%) )[^] 0 ӢtLӦ` е d .Eƍ ౐ LnɆéнӤ }ɩЪ >П =Ж d кƍL " Ln "줩 }L󳤙UČF0F !LnƘꤑ ²Ǧ ӵ ʰȄȱ``ō`  }昩 T L :  :ȑLLn LLn g L``)ͳ+  @ }ȳ >B>A>WRCD~ &` `i膡` }U[W'pxOɈm  g ee + cн^ ȱL2ƍ` L* HH L*]5  } M c gȱ L'LnhhL* ɁɅɦ` HHɑɑ Mhh`eHeh`Ȋ` }ѡl ) 00:0`H ha0{0`e澥ž=Lne ~ cLnɤ }e8q膉ȱ``deldErrorEOFcolorLISTdeviceTRACE & l }`DOS? !~h(`nL0EƠ` { {`L ` ~ KL# #  ~` h } L# ~ L ~Ln #L H {h  ȱʝ` LL, a\( }(EȄĠ(((Ġ ӵ ²͍ Ѱ ²R 8` 2` not foundFind? a }})H h  ` }8(ee(ČȱĢ }eL Substitute? for? m9; L200`@  g;` g9D` } 8JJJ)0`BA`W i8 c  9 9 ½I Ң !}  c c c !LnH c !h0A u L i 0  "}LBL [ 5 䠗  M  u M KLɐmLɪeM࢐^ > L/ #} 5 c cNQȝP / Λ0B࣐ .ɣɢɡ ½ 9 L j $} j jLHL L L >/LH 0h L^hLLL L^3^/ɘ L5 %}ɘ A  ` * $^ kgH ;}* memory management of this version:$0000 - $2937 Action! and DOS$2938 - $7FFF free memory for <}programs + object- code$8000 - $BFFF Action! system$C000 - $FFFF XL/XE OS (16k)Well, thats it. =}Enjoy using Action!Might it be for fast action games orany other purpose - you have it, noexcuse !!6k)Well, thats it. heeFILE VERSION OF ACTION!BY PAUL AND I.C 4/8/85H0e1:`pppppppppGcepppBvepppBeAHe!#4)/.?},oadingpleasestandby0en ȱ@}AȱŇ) ņ ]Ŋȱ勰98ƋŇ'ņ!ȱ`A}`eȱe8冑ȱ凑…ňȱ剰㥄eȱ)eŅ!B}qȱqȱ ȥqȥqʼnqȱqȱ`ȥ`i膇  i`C} ᰭ  ֠L aLk8L֠ С`i ~ii:ȑD}ȑ ``ȱȥL" n`ȱȱ E}Lȥ Lȥ ֠``Lx `````LWޠ`"L,` Lų`l `F} L L:ɢ m ~Ά腳 8 z ɛ G},L_ՠ ~L_2 *km~,`{줛Wj}MZG.QZϷ2g{ɪظc9HުH}g˾W  WŌ" ȑČ ݲLiȑČ٥H  ,I}hL[ K ϵ LȩȄL { mH 8 Kh桩 栤挤ġ ϵ ѩLй ϵ ² *LJ} K N С Ȅ b ӵ Lȩɧ` G nLG ²L X'8ȱK}Ð ݲL K`  k åлL  ؠ . ӵ qȄ梤ģ bLѩL}ȑ8ȑȑ `ʕÍ`  Z1 2Ȅ88  M}@ 2 L8ACTION! (c)1983 ACS t z~<}8i$ģ%USّE +N}LƦȘ`8 [ E + [~}Р`  0  LRead?  !O} ² ʰ0 ӵ ~ ѰL9 LWrite?  a ȩ  ~S:Ȍ: ?P}D /Ƞ 0 I`hhLhh` ~0LK:I`+H ZhLLD1H K La` Q} & K  & nÎLĩ v ²L ߢ &Ю vЧ̟1 vLCLEAR? Delete windoR}w? Not saved, Delete?  æ L ` y` L b L KmS}`m` K K ϵ  ϵ ĩ *L K RUeT aT ӵT}厅"! T ӵƪ Ѱ Lߢ8嚅 ݲRLHeR8S嚅 ݲ8h8eRL88eU}Ʈ K յƮL =6 K ϵ d = β  X Ѱ ӵLȩ`NƚL0EL㢪ܢL8INSV}ERTREPLACE K յU ݲL²hh` Ǝ0LO接 P L 몦LS P ݲLe` W}Ō . ` XRUeƍ ݲ _L[ XߥUS ݲ [L_8eeU8R`؄(T ʥee'X}` GG K  ȥȥ  `;L8 tag not setNLtag id: Y} G9 K ʠ ׬LE`Š馅`ȱ ڠZ}` `Š馣` Z N Tʎ c W   a  W c[} = ~L (é 1 L_ vLE 欥 3` H,  = \}  H HL` ` &LBoot?  ` `]} TeemƮm Ů BDEHI V0/ ŮL~^} n0` LHH c T`hhL c / L9 Lh`$ &*i0:0i Ƣ`#b_}cθd^eqoprхȍ Li桍`}ƿL膼w`ces +~L~Ld~ +~L~nLd~ +~L~Ld~*~ +~LM~I~J~K~~~a}~~`*~ n^I^L~~~~~I~J~K~`b}L,Lij0 B V`jBQDEc}JK V B VLE:ACTION! BY PAUL LEEK V B V DLjklm孳  LGd} l E: L lʆ &e J Je}ꅆ8冨凪`ʆ ee` 9E…¥ 9` l'&&&8儨児f}祂*L2&&*ń8&&L2 ` Fj`hihiHHȱȱLڧ`g}膥ɠQ-ĮȐ`此į۠ŲLlȄ.70Q- Ġ7`eޠ Ȅq}BDOS SYSB(!DUP SYSb]ISTACK TXTbACTION2 COMb8ACTION2 TXTb>ACTION1 COMb4ACTINFO COM e _ 嘠ƍ iť +иΦ +У +Ж꥾ +ȑȑȑɦr}Ș 9`5h{DObFIcIFPODdORTOeANDFORTINT"LSHMOD RSHSETDXORBYTE!CARD#CHAR ELSEaEXITSFUNCAPROCBSTEPfTHEN`TYPEFARRAYs}@UNTILXWHILEQDEFINE&ELSEIFjMODULEWRETURNRINCLUDECPOINTEREiI^I^Lࢠ]I^+ 8+ _0)t}?ʈ LbACTION! (c)by Paul Lee }Computer Services (PCS) April , 1985  L r c c ! W_ u` 8}9ЅЅ එЊȑȥqЅȥqЅХӥ` ඍ K LL\ Lơ    c c}[8嵅嶅 c &i荙% M c]٠ AГ  c  `F' {ө&Rፙ}%A@qEg  0 Ң c M cL!  ci 9 c c cѠ}Li c `Ӧd`ЦѠ ݢ cȩa cг6 0Ц M cL! }0 Ң ච cL4ɓ  Ї$hhLcɈ 'p⥸ KɈLơө g8hm)} Lc cWL Ңee𪥠Lȑ`H ui mh0xL ɋ))}` [# ½]   c cLɉ 6) 1Ɉ .p nL x L L~ ߻ L}I $I=  c( )ɘ) ȱࠐరP c è LK L Ɉ cШ F `w }j   A L$a  A  c;   ½   cLKȱ` L PɈ}L P b X  A dѠ LȱHh ALС F ԧ cɉɐɖ婌 ȥ} $ e©  A)   yf yb ච ½ >Ɉȱ 3 }Lե ۦ ɋܩ ۦ j     A   Ɉ  9 H }A A ˫ H h*hX&HnȱonohLȤH >h LɈ  L )}0) 栥,,þ( ٦ɋ H ȄhL`  Ϳ ɋ L٦Ɉ؄ චȑ} 5ɋ LM L5 F ԧ ච L½ u) / c  ` LL HH *} hHd 9    9 A h` ` n t 6`ȱ`Ȋ` ) " 6}`Ȋ`ȱ``LL8堅ͣL L L< ee`夠`}`PTQcRbS c … i ̪{`mLo}'p nPx LTɀɐ} ɈDɆ $К< LT Хª) ̪   cLè ̪6` .Њ1 дL iq /ƍ cн}Lǩ FƠ H ơE ߻栤 h ȱ ) } LTLƚ0`…8ݠ‘ȥL 5 c c)pл)©L{Lϼ L K`LǼ L}H / h `Ȑ ` < 5` B>)Ċ6,b&  ˫` u`  }L̪`i`暙` 5Lc) )ž) Lg ٬9c.0} & LF f cL <  eL ٬cܩ   LL <  }R6,þOɈ1ɐ+#  p  L)ɠڥW)F  } )` I ¿  L^)@К 9㥣 І  ½Ѐ <Ɉ"dp)ɰɘip}``DɈ>) q qLD8񹅩 1-+ վ  3 3 } LKɈEׅ J վ  ơ Lv վ   } [ ½ Lv  9   n t 68 V < )iȱi 6  " 9L }Hi h i     ½LHšŢ`hhLWL  "A  " t ( A 3} tH Lv     )x88񹑹ȩ񹑹`  LɈɘ} A `)pLa8A!0ĭ̭E Ů Ṷ̊W 7hACTION! (c)by Paul Lee Comp}uter Servicesn6. : BLV`  B JKIHi}DiELV䄦 eRU _椤E +ƣ`𑛊 0H8`L }L² 9  P t LWError: Ԇ ؠPIPP`/`"/ԭ` PLnH ~h}:,'iԥiՠiɨɑԈȩDȩ:ɥɤ LGLʰ򅡆ԅդ800) 0 0!Ԧՠ e}Ԇ ٰԦդ` LLؠ L.8e膥 'eR壐Q8SRŦQ}H)`h) ȭL{QI` T`TU`TU  [L_` ` 赠}`eLXYT i(`]^_`]^` ~ 'LE: BHILV}ߩ۩שөϥҦǤȆńƅĥ…ɤʥӆ 9!A }%) )[^] 0 ӢtL~Ӧ` } d .Eƍ ౐ LɆéнӤ ɩЪ >П =Ж d кƍL} " L "줩L󳤙UČF0F !LƘꤑ ²Ǧ ӵ} ʰȄȱ``ō` 昩 T L :  :ȑLL L}L g L``)ͳ+  @ȳ >B>A>WRCD~} &` `i膡`U[W'pxOɈm  g ee + c}н^ ȱL2ƍ` L* HH L*]5 Ș M c gȱ ~  L'LhhL* ɁɅɦ}` HHɑɑ Mhh`eHeh`Ȋ`ѡl ) 00:0`H ha0{0}`e澥ž=Le ~ cLɤ e8q膉ȱ``deldErro}rEOFcolorLISTdeviceTRACE ~L ~ H !~h(` h L# ~ HL }{ ~ {LL ~ L ~ KL# #  ~` h L# ~ L ~Ln #L H ~ {h } ȱʝL ~  ~L hL a\( (EȄĠ(((Ġ ӵ ²}͍ Ѱ ²R 8` 2` not foundFind? a})H h  ` }8}(ee(ČȱĢeL Substitute? for? m9; } L200`@  g;` g9D` 8JJJ)0`BA`W i8 c } 9 9 ½I Ң  c c c !LH c !}h0A u L i 0 LBL [ 5 䠧  M } u M KLɐmLɪeM࢐^ > L/ 5 c cNQȝP} / Λ0B࣐ .ɣɢɡ ½ 9 L j j jLHL L L >/LH }0h L^hLLL L^3^/ɘ L5ɘ A  ` * $^ kgH} `?}?LW=)Lr= U5T5LW=)L> Z0L=P:= %0L=T16[= T0P5iV5Q5iW5'=}'=L>L=S0320=Ω g0/=.=?.=/=L>W5_5V5^5-=/=.= .+=.=)/=) .,=(=(=L}>^5_53=2=^5i^5_5i_5N-=2=m+=3=i-,=L>-= -=(=L8>-= 0.=/=L= 0_5W5^5V5}'=i'=L= Z0)=P5i^5Q5i_5L5InLa?O5i)O5O5L?P)=^5i^5_5i_5La?O5ILA?()=^5ix^5_5i}_5La?O5ILa?)=^5i<^5_5i_5/=Ȍ.=T5?U5??.=?/=L?.=/=Lv?^5_5W5V5)='='=}L A_5]5^5\5^5i^5_5i_5^5_53=2=K5InL@'=`5+='=6,=2=m+=3=i-=+=L{@8+=*=8}2=*==3==*= =2=m+=3=i,==4=-=,==<=L@8(+=*=2=m+=3=i8!="=*= =2=m+=}3=i,==D=-=,==L=L@Ȍ-=-=L@-=L@\5]53=2='=L?'='=L[A_5]5^5\5^5i^5}_5i_5\5]5^5_5'=LAN5LA'=''=LA'= mX5*(mY51=0=V5m'=W5i0=mN}51=i'=LjALA(W5V5 K4^5_5W5V5`LAO5yL5yK5yM5 3  3  3  3}0/Ԍ8ij )A)A8AP5A Q5 AA K4Q5]5P5\5\5]5pp m\5*(m]5}p\5i\5]5i]5AALLC\5]5O\5]5\5]5AȑA\5i\5]5i]5Ai(AAiAA}IdLFCAiAi)A)AALB\5]5A\5]5\5]5Q5ȑP5Q51P50Q5ԭP5Ԍ0"/})R5)S5@ ``X5}}LD AM5CnM5LDACTION!D ;CM5CCLEmCDCiDCCLEC mX5}*(mY5DDDmCDiC CCL~E8CCDmCDiC)DNCNCLDEDi DDiDCL}DCLDCU5T5IL