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(8RNEW.DISK}' ,BASIC.SYSTEM(*+'BRIDGES m/  BRIDGES.SHAPES$nm/ @Z$ 'CHECKIT% 6/ ;)CONVERTER- o o ,GET.SET.INFO5Mm) ALORES.DRAWF0m. V 'NIBMENUG n n &PRODOSQ }<n% %PROOFq m) M- )PROOF.BIN m) @,PROOF.SOURCE,Tm) i1 RESETm/ n1 *RESET.DEMOm/ * 'RESET.S;m/  ROUNDIT#m. D6'STARTUP ®3s,.STARTUP.SCREEN®09`®4SUPERGEThm. %SUPERGET.DEMOCm. V TEXT.CRUNCHm `'-TEXT.CRUNCH.S m 'TEXT.DECRUNCHm `,/TEXT.DECRUNCH.S m ,)TEXT.DEMO= m o)TOOLBOX.S m) P LG ASTARTUP$#   / XXύX?klmnÍoL) "6L'?"(0`6708" = ***)<JJH !h穖tp% ;"Z/݀>">"' 1" 7"5).莀/ ;" " 6" >" 1"6"$ "g"" !"""""IzLYL 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` ԠŬLL !"# **********************9* BRIDGES *U* BY TIMOTHY THOMAS *q(* COPYRIGHT (C) 1989 *2* BY MICROSPARC, INC *<* CONCORD, MA 01742 *F**********************PZ16494:(21):FL0d630nI2011 x22:16:I10);I;" ";:"LEFT": CHOOSE POSITION FOR CUPk A((1)351):B((1)151):P(A,B)0140 P(A,B)2:FCFC1:3X(A),Y(B):1X(X),Y(Y) GET KEYPRESS 16368,0:XXX:YYY Z(16384):Z127180 16368,0 Z155İ890 ZLZL1240< XX1:X1P(X,Y)1XX1:F1:K1E 320Y ZRZR1270 XX1:X35P(X,Y)1XX1:F1:K2 320 ZUZU1300 YY1:Y1P(X,Y)1YY1:F1:K3 "320 ,ZDZD1170 6YY1:Y16P(X,Y)1YY1:F1:K4 @768,2:769,4:772G JF1İ440:SCSC1: IF BRIDGE NEEDED TP(XX,YY)1:FCFC1:FĔ2X(XX),Y(YY):1X(X),Y(Y) ^F0:SCSC1:840 hP(X,Y)2170:IF NOT CUP r3:2X(X),Y(Y):0:1X(X),Y(Y) |FCFC1:ZZ13:768,50:769,10:772:ZZ:SCSC100:840:390& IU 22:16:" ":16368,0:10 SPACES 24:1:868:"PLAY AGAIN? (Y/N) ";:X$:X$:X$"Y"X$(121)ė::FL1:660 16368,0:::"BYE-BYE": CALCULATE BRIDGES TXX:TYY: K460,490,520,550% TXTX1:FCFC1:TX0TX1:570? P(TX,TY)1İ590:460H 570n TXTX1:FCFC1:TX36TX35:570 P(TX,TY)1İ590:490 570 TYTY1:FCFC1:TY0TY1:570 P(TX,TY)1İ590:520 570 &TYTY1:FCFC1:TY17TY16:5700P(TX,TY)1İ590:550!:0:3DDRAW BRIDGESkNZZ13:768,20:769,20:772:ZZ:SCSCBS:840:860XP(TX,TY)0:3:4(K3)X(TX),Y(TY)blINITIALIZATION AND INSTRUCTIONSv:4:15::" BRIDGES ":::18:"BY"::12:"TIMOTHY THOMAS"M:10:"COPYRIGHT (C) 1989"::18:"BY"::12:"MICROSPARC, INC"nL136:R149:U139:D138:BS1L1202:R1203:U1201:D1205X(X)(X1)84:Y(Y)(Y1)105P(41,24):SC100:X1:Y1:P(1,1)1:FL1720850C1:0:(16384)5(233)64ĺ(4);"BLOADBRIDGES.SHAPES":232,0:233,64:216,0y230,32:3:0,0:62454:0:I02798:I,0I,159:I015910:0,I279,I::"USE THE ARROW KEYS OR J, K, I AND M TO":"MOVE YOUR MAN TOWARD THE GOLDEN CUPS.":W"AS YOU MOVE, THE PATH BEHIND YOU DIS-":"APPEARS. EACH STEP YOU TAKE COSTS YOU":"ONE POINT.":"TO RECROSS THE PATH YOU LEAVE, ONE OR":"MORE BRIDGES, EACH COSTING YOU":"POINTS, WILL BE PROVIDED.": "CUPS WILL ONLY BE PLACED ON VALID":"FIELDS, I.E. UNTRODDEN FIELDS OR":"BRIDGES.":f "THERE ARE 20 CUPS IN ALL. A HIGH SCORE":"IS 1600 OR HIGHER.":"TIP: GO THE LONG WAY AROUND TO AVOID":"MAKING PATHS THAT CUT THE BOARD IN HALF.": 22:1:"PRESS TO BEGIN ";:A$:A$:O*I770790:A:I,A:I: 173,48,192,136,208,5,206,1,3,240,9,202,208,245,174,0,3,76,2,3,96q416297,0:16301,0:16304,0>21:I140:"-";::"SCORE = ";2)SC;:26:"BRIDGE COSTS 1";:I140:"-";::7:"PRESS TO END GAME";:110%H22:9:(" "(SC),5):22:39:(" "(BS),2):OR:"CANNOT FIND BRIDGES.SHAPES":23:\\BS10ıufBSBS2:BS11BS10{pz24:1:868:"ARE YOU SURE (Y/N):";:16368,0:A$:A$"Y"A$"y"ĉ::23:1:24:" PRESS TO END GAME";: ;J^$%?. %s5#%$$-5?.5?.56>$<6>$<6>'%'%%$<6$$67o- '-->7%16.$$$$76$<6666%$$(-?@ABCDE **********************; * GET.SET.INFO *X * by Bill Tudor *u( * Copyright (c) 1989 *2 * by MicroSPARC, Inc *< * Concord, MA 01742 *F **********************P:Z2790dB%(7),M$(5) nI010:B:768I,B: xI15:M$(I):" :< ====================T Setup the Screen:n ====================t : (21): " GET_SET_INFO by Bill Tudor":" COPYRIGHT(C) 1989 MICROSPARC,INC": 7 AND 4 SPACES I140:"_";: 22:1:I140:"_";:6 34,3:35,21: -Set text screen< :T ==================f Main Menu~ ================== : (4);"PREFIX":PF$ "(4);"PREFIX";PF$ ,::"Prefix:";PF$: 6" 1. Enter Filename": 8 SPACES @" 2. Catalog disk": J" 3. New Slot & Drive"] T" 4. Enter new Prefix"| ^" 5. Quit Program" h:" Enter Selection:< >": 6 SPACES r35,24:24:1:868 |"Enter value above or Esacpe to EXIT";:35,21 13:24:Q$ Q$(27)Q$"5"9 Q$"1"Q$"5"ĺ(7);:390W Q$:Q(Q$):6Q:8:">";~ Q650,820,490,950,740:(7);:390 : ==================  New Slot & Drive: ================== : 15:5:"Slot(1-7):";:868 SL$ SL$(27)300/ SL$"1"SL$"7"ĺ(7);:500Q SL$;:15:20:"Drive(1-2)?";Z DR$m &DR$(27)490 0DR$"1"DR$"2"ĺ(7);:540 :DR$; D(4);"PREFIX,S";SL$;",D";DR$ N280 X: b================== l Get the Filename:v==================:"PN$"",3150<PN$""300F1050L:_=============s Quit Program:=============:35,24:24:1:868:"Quit?(Y/N)";Q$:Q$"Y"Q$"y"Ĺ35,21:30034,0::: ============= Catalog Disk:& =============,*:24J>35,24:24:1:868sH"Use to pause listing";R35,21:3\(4);"CAT"f35,24:24:1:868p"Press RETURN to continue ";:35,21zQ$:300:================== Get Prefix:'==================-:8PN$""B3150RPN$""300^PF$PN$g290m:============== Get File Info:==============:(4);"VERIFY";PN$$:."File:";PN$85:1BT(48824):-File typeL"File Type :";TFV"Aux. Type :";(48825)256(48826);c`T6ĺ" (Load Address)";jT4ĺ" (Record size)";t(48827)15ĺ" (Total Blocks)";~B(48823):-Access Byte"File Access:";B;3040B%(0)1B%(1)1B%(6)1B%(7)11210(",locked";:1220:",UNlocked";]B%(5)1ĺ",Bckp needed":1240t",NO Bckp needed""Blocks Used:";(48828)256(48829)H$((48833)):(H$)1H$"0"H$M$((48832)):(M$)1M$"0"M$B(48830):3040MMB%(5)2B%(6)4B%(7), YY(48831)G(YY2)YY2MMMM8VYY(YY2)(DDB%(0)2B%(1)4B%(2)8B%(3)16B%(4)2"Mod. Date :";MM;"/";DD;"/";YY<"Mod. Time :";H$;":";M$F:P================Z Provide Options:d================n:`x11:1:958:" -----------------------": 8 SPACES, 23 DASHES" Select Option to Change": 8 SPACESS1:14:958(48827)15S514:I15SIĞ:11:M$(I)::147011:M$(I)35,24:24:1:958J"Type # or use arrows then press Return ";:35,21a(48827)15155021:8:"";(7);:Q$Q$(13)Q$(27)152030049168,0:Q$Q$"0"Q$"6"S(Q$):1440"Q$(13)1600',35,24:24:1:868:35,21F6S1720,1890,2000,2250,300h@Q$(11)Q$(8)SS1:1640JQ$(10)Q$(21)SS1:1650TQ$(27)300^(7);:1550hS0S5rS5S1|1440:============== New File Type:==============:)12:958/^"Code Type Code Type Code Type Code Type"" 0 NON 15 DIR 239 PAS 252 BAS"" 1 BAD 25 ADB 240 CMD 253 VAR"" 4 TXT 26 AWP 250 INT 254 REL"" 6 BIN 27 ASP 251 IVR 255 SYS"FP$"Enter File Type (0-255):":X3:3340VX$""1400rT(X$):T0T255271048824,T&25700::=============D New Aux_Type:N=============X:bP$"Enter Aux Type (0-65535):":X5:3340 lX$""1420vAX(X$)1AX0AX655352710ZX(AX256):48826,X:48825,AX256Xd2570j:================ New Access byte:================:12:1:958" Code Locked Needs Backup": 6,3,2,1 SPACES6" 1 Y N": 8,7,9 SPACESh" 33 Y Y": 7,7,9 SPACES" 195 N N": 6,7,9 SPACES " 227 N Y": 6,7,9 SPACESP$"Enter Access Code (0-255):":X3:3340  X$""1400*AC(X$)-4AC0AC2552710?>X(AC4):B0JHI13XRX1(X2)i\X1X2B1tfXX1:pB2710z48823,AC:AC(AC32)AC2(AC2)Ĺ49045,322570:============== New Date/Time:============== :.P$"Enter DAY (1-31):":X2:3340>X$""1420KDD(X$)`DD1DD312710f:P$"Enter MONTH (1-12):":X2:3340 X$""1420 MM(X$) MM1MM122710$ :. P$"Enter YEAR (0-99):":X2:33408 X$""1420B YY(X$)L YY0YY992710#V :I` P$"Enter HOUR (0-23):":X2:3340Yj X$""1420ft HR(X$){~ HR0HR232710 : P$"Enter MIN. (0-59):":X2:3340 X$""1420 MN(X$) MN0MN592710 48832,MN:48833,HR YYYY2:MM7MMMM8:YYYY11 48831,YY:48830,MM32DD7 :R =====================n ProDOS SET_INFO Call: ===================== : 35,24:24:1:868 "Press Return to change; Escape to Exit"; 49168,0:Q$:Q$(13)1400( 24:1:868:"Changing file...";/2 48820,7:768G< 1:868:"Done! ";hF "Press Return to continue";pP Q$Z 35,21:1050d :n ===============x Invalid Option: =============== : 35,24:24:1:868 (7);"INVALID ENTRY; Press Return";# Q$:35,21:1400) := ==============R Error Handler:f ==============l : EC(222):EL(218)(219)256 35,24:24:1:868 (7);  EC16EC255ĺ"Syntax Error";:2860! EC6ĺ"File/Path not found";:2860&! EC8EC3ĺ"I/O Error";:2860L!" "Error in line ";EL;",code ";EC;g!, "; Press Return";:Q$~!6 3288:35,21:300!@ :!J ===================!T Set_Info/Menu Data:!^ ===================!h :"r 169,195,32,112,190,144,3,76,9,190,96"| " 1. NEW FILE TYPE "8" " 2. NEW AUX TYPE "V" " 3. NEW ACCESS CODE "w" " 4. NEW MOD. DATE/TIME "" " 5. BACK TO MAIN MENU "" :" ==================" Form Bit Array" ==================" :" I07# B2(B2)B%(I)0:3070# B%(I)1*# B(B2)0# 6# <# :T#& ==================l#0 Input a Pathname:#: ==================#D :#N 16:1:"Path:";PN$;:958#X Q$#b Q$(27)PN$"":#l Q$(13)ı#v Q$(8)Q$(127)3260 $ Q$"["Q$"@"3240$$ Q$":"Q$"-"3240L$ Q$"`"Q$"{"Q$((Q$)32):3240]$ (7);:3160r$ (PN$)643230$ PN$PN$Q$:3150$ PN$""3230$ (PN$)1PN$"":3150$ PN$(PN$,(PN$)1):3150$ :$ ==================% Get a Value:% ================== % :8% 35,24:24:1:868]% "Press Escape to Exit ";:35,21g% X$""%* 20:1:P$;X$;:868%4 Q$%> Q$(27)X$"":%H Q$(13)ı%R Q$(127)Q$(8)3450%\ Q$"0"Q$"9"3440%f (X$)XX$X$Q$:3370&p (7);:3380!&z (X$)133601& X$""3440L& X$(X$,(X$)1):3370 :V115::T(9):S%(9)181:Y019:XY19:20:X,39Y:39X,39Y:39X,Y:X,Y:Y,X:39Y,X:39Y,39X:Y,39X:X,Y:D12E4:::/ (((1.5X(S%18))(1.5Y(S%18))(X(S%V)))S%)(T.4)(((S%X25)(S%Y25)((XV)S%))S%)(T.3T.7)((((VX25)(VY25)((YS%)V))S%)(T.6)):HIJKLMNOPMAY 1989 DISK (VOL 10/NO 5) 9 PROOF THE SPREADSHEET ANALYZER BRIDGES INVESTOR FILE COMPRESSOR TEXT CRUNCHER RESET MAGIC FRACTION PRINTER GET SET WITH PRODOS IIGS TOOLBOX FUNDAMENTALS CHECKIT 5 BRIDGES RUN BRIDGES TEXT CRUNCHER RUN TEXT.DEMO RESET MAGIC RUN RESET.DEMO FRACTION PRINTER RUN CONVERTER CHECKIT RUN CHECKIT @ This disk is a double-sided disk. All of the programs that will run under ProDOS are on the ProDOS formatted front side of the disk, and all that will run under DOS 3.3 are on the back side of the disk. Some programs will run under both operating systems and are included on both sides of this disk. You're currently using the ProDOS side of the disk. @ Before using the programs on this disk, you should make a work disk for each program. This can be done by first making a complete copy of the disk with one of the following programs: * COPYA (DOS 3.3 System Master) * FILER (ProDOS Utilities Disk) * The Apple IIc or Apple IIGS Utilities Disk * Any Disk Copy Program Then boot the copied disk and delete all of the files that are not related to the program by using the DELETE command. The System Utilities program also has an option to DELETE files. @ You will not be able to delete the titles that we've placed in the catalog to separate files. However, these will not interfere with the operation of the programs. The screen displays that follow show the files needed to create working copies of each program. @ To create a work disk for PROOF: THE SPREADSHEET ANALYZER, remove all but the following files from a copy of this disk: PROOF PROOF.BIN These programs are included only on the ProDOS side of this disk. These programs are not included as an option in the program menu because they require special instructions. See the documentation for details. @ To create a work disk for BRIDGES, remove all but the following files from a copy of this disk: BRIDGES BRIDGES.SHAPES These programs are included on both the DOS 3.3 and ProDOS sides of this disk. @ To create a work disk for INVESTOR FILE COMPRESSOR, remove all but the following file from a copy of this disk: PRICE.FILE.COMP This program is included only on the DOS 3.3 side of this disk. This program is not included as an option in the program menu because it requires special instructions. See the documentation for details. @ To create a work disk for TEXT CRUNCHER, remove all but the following files from a copy of this disk: TEXT.DEMO TEXT.CRUNCH TEXT.DECRUNCH These programs are included on both the DOS 3.3 and ProDOS sides of this disk. @ To create a work disk for RESET MAGIC, remove all but the following files from a copy of this disk: RESET.DEMO RESET These programs are included on both the DOS 3.3 and ProDOS sides of this disk. @ To create a work disk for FRACTION PRINTER, remove all but the following file from a copy of this disk: CONVERTER This program is included on both the DOS 3.3 and ProDOS sides of this disk. @ To create a work disk for GET SET WITH PRODOS, remove all but the following file from a copy of this disk: GET.SET.INFO This program is included only on the ProDOS side of this disk. This program is not included as an option in the program menu because it requires special instructions. See the documentation for details. @ To create a work disk for IIGS TOOLBOX FUNDAMENTALS, remove all but the following file from a copy of this disk: TOOLBOX.S This program is included only on the ProDOS side of this disk. This program is not included as an option in the program menu because it requires special instructions. See the documentation for details. @ In addition, we've placed a copy of the CHECKIT program on this disk. CHECKIT is a utility published in every issue of Nibble that aids in typing in programs from the magazine. See the Typing Tips in the latest issue of Nibble for details on using CHECKIT. We have also included the One- and Two-Liners on this disk. @ The source code files for the major assembly language programs have been included on this side of the disk. These files are included expressly for experienced programmers. These files cannot be used unless you own the appropriate assembler. WARNING: Do NOT attempt to run the following source code files: PROOF.SOURCE (S-C) TEXT.CRUNCH.S (MERLIN) TEXT.DECRUNCH.S (MERLIN) RESET.S (ORCA/M) TOOLBOX.S (APW) @ # RSTUVWXYZ[\]^_`abcdefghijklmnopL !C_" %k"l" (#M8( % ) L*"m"n" (_7, )7(P0 ( @X p 8  u"!_"f"0 ~&f"0 %o"p" (,) &q"r" ( %L*")0I0hx H( + %Щ ߩu"L! )L! 8'  )ɀ)4,- U JNT) u"Ls"t" ( !` ^"M)Fi/ b"3 h"i"j" e" iL X>"L;"ίΠ`v""""""*$ Fk%YeQP!/RB}QBiBB}\ }FEL,#> ȏ6 . ) ɘ"    L:#:#ŠϠĠԠ  m# m# J Qڨ)̰}] нȱ ̀𩠙 i V N c ɘ\   VG+ #X ɛ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@)@qvȱ@Hȱ@Ah@@cqe J) LL LJiB LJ) BxNhHHHHL(  ްƠx@BEOD  ް(`( C)CJJJl`B g-`J,~@~@}J@` ߩ%S @ ~`E hhhߺ0 h ߐ( ߐ ߐ  0 HϭߍLпllllhh8` Q)T'P#) ɺiL? )?      `l@Hȱ@IױHXATȱH ɯȩ׍̎5H)/@a)_ .0 :A[8@`,뎎׮Б` L ` @>O)I38 I`aם`K8`@Nȱ@O@ IiNȽבN)/ȩ/N`@[ WHJjjjhA D'KI؍0JHi 뎁`C8` @ 3N@) K莭 ⭪i`0 ]; 뮁ٝ٘ 0 W,0 .H hȑNWȮّNW8`ٍّNΨ0NN` G8`F@ 0 H LK8`6 7I8`FHGH hGhF܌ բFܽܕF芝ܝ 밶67 8܅I m9IHHyHȘI Lܝ` @_@ g@Ю׍O)mיOʈ@mȱ@_ȱ@iklbJtKuO)5OI0ܢܽ eL'A* 7`aFG (CD Lz܅IN mAIH` pm mI0LM AOHJFKG 밳JK 밨C%܈@" T)Ii)܍N*܍A'ܮ( 4 䭐 $H %HFFHGHG 됬`R8`)` AHO` 'Q'܅IHHOOЍO@`8 ` ͉% ΉQ8`܅I `L܍MN h8D`F` alH)HFȍJHGK $%܍&܍!ܢ8* J8` L ܝ:)I 'ܝ6`B8iNFLGM`B܅IH3H ( )ȱHΨ`Ί8AeHI SB60I ٙGٙEFJCʈ h猪`8m0`,0H hi PȽΨhٍ0GF8yאFG  $0 K01 E8`1ݺ00 ] 0ʩ 谼 谷`12)1`0`Ȏi 0U`)8`Ψ` W |G 4A)H ܝʈh٭0٭)ܝ٭*ܝ٥F٥G٭'ܝ٭(ܝ`)َ 8ʈ` 0ٝ)i `8`R ꍌvw zNمFمG < Ό0 FGL鮁0 ٭w٭vٽ8`H8`  ,v w 8` vw `ٽJJJJ`H͌hn)NjNjNjN. GH͌ z;٭ *Nۙ۰ڙک `Z8` G# ,`w .w .w .w8۰*Jv۩ ٰvw`JJJJ;i z묁͖ zٍ0  `H8` `ٍyٍiB0H0FG h0`FG `ϩBxED0C ް(`(8`ؑ@`M8`8@ؐʈI묂)v8vv L} LةC8`؍)@ i)v8vyJ ^ ؅F Ls) +%J(a .FإGؐ.` .JHIH IL3FHGI ҭJjHIHB>IؙJJ [: IL}HIHI`JKJK`FHIG ( Ȣ؝}؈JL)eKM`)` J vJ͛ $0 ΊJFJL8`JGBJ T FإG`BH TFإG`,H hHB؅F  ؅GxDE؍00C ް(`(8` zL+J  :"L zH  : 9ؙ` @ P8`K8`B8` H؈OJJJJحm) ) )Ю ЪG `F $ ᭔ع+ؠ 6H  Rh8` 䮁ٽ ٬ؠ@` ( H )8`)i п` H h)N$% LL L L 6 &pJ덟 )@።NJOK 6iKKΞΞ IJΟ JФ̭JjHFIH HIGxKE ް((H hH h8`8@ȭ@L6쬂8NNO 8 ؍JL`RΞʱLN1MOMEKP/MEKΞL;L-M O,p莝eNNO(`JNKOL 6/ &P L8 } [ؑJ`L@ȱ@ `@Nȱ@O`؝}}vIvؐ` jzؽ}؝v j ) j؝zv؈` ` H Th)N@ ;; L  6$ )bJ ] ) H 8hL )  )حJjIwHIvH؊ PLKΞʱNLMO MЈMEKݸP%MEKΞL( O, PeNNO J(` C  7 2JvHIwHI؊ LI  .` A Hv ع Hw ؙ؊ؠIhHIhH  iع `  عiعi` )؍0CGHFHBFGx ް(8hFhG`@4͔ L @Ai ׭2` . R#ع؍0 ]讁)`.@+ i 8` L )߹0 )p )@ ) ȩ ؝H0JK 방 LMJKFG 嬂؍b؍c؝d ؝_ vO) vO )حI͖ z`H@h`h``N8`  ) ;⬂Ȣ؝z@zݚ@ʈLJ KIJHȢݚ h魚)Jn 8 δ ؍ ؍ \H8 ع)ꭱJJJJ Ȣ؝I؈ 6h(8H = h(8Hh(`ؑ@`@ȱ@ ` B@8ZO h鮁ٍٍٍoHٍn8bhcOJJJJO)O@` %I -m) 0@O)N8` @LL =@ /ȹP8` i` =ם0 /B =)( ȹ`8m8m@8` G8`F Pm)@N8`O)@J /טyרםOO)׍O`a 밑 LȹL@ȅH@IL,0` G קּ= ]H.m)N 0 H`aO)@LP8` \᮰ ֩OCDC z L䬁yٙ٭yٙ٩`K GE`FaG 6%&N    ܮ `J HH hh` 0 @ LGL r`̴Yܝ ݝ0̴ȩFG   0` ܅F݅G ` { rͬ 밽܅F݅G ` {* r% L`L뮰HH hFhG܍ݍ 8 `FHGH  hGhF`ݹܙ݊`@Bɼ>K@J5 {9X(K {XXK تKo`V8`no` D on {I9XX`)HJJJh`OeNeO࿰ {9XАO`@ȭ@` ON aNJKO`HхhꭋILhH),fx8 (8` ԍ`@Ae J m00[roIIJK,-NOPQRSu' @   !"#$Ԡ͠(C)1983-87APPLELKL`BLL ެެެެެެެެެެެެެެެ(C)APPLE'83xLLM Mh@8nЍLޭ 0J @,,LRP׽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&MIKErstuvwxyz{|}~  ************************? * PROOF *^ * BY RICHARD R. HIATT *}( * COPYRIGHT(C) 1989 *2 * BY MICROSPARC, INC. *< * CONCORD, MA 01742 *F ************************W P24576:::D$(4):D$"PR#3":40)"PROOF":35:"BY RICHARD R. HIATT":36:"COPYRIGHT(C) 1989":35:"BY MICROSPARC, INC."x ZI848857:J:I,J::D$(4) dM$(16),VL$(16),SL%(16),DR%(16),V$(8),K$(34):I034:K$(I): n130 x140 848::10:"The disk in the current drive must have the file PROOF.BIN":c J0:I1638416483:JJ(I)::J11406ĺD$"BRUN PROOF.BIN":216,0 ER16396:ECER3:LNEC3:PLLN3:NF0:EE768:VB20480:LD48944:DS48700:216,0:CL(X)X26(X26.01):CH(X)(X26.01)` L(X)X256(X256):H(X)(X256):D(X)(X)256(X1):L1(X)X16(X16):H1(X)(X16):DV(X)128(X1)16SL%j 1970 INPUT ROUTINES GENERAL ALPHANUMERIC CG1:F 2120:37(K$(Q)))"Escape: "K$(Q):9:V$(0);:CGĺ" (If there is no additional input before Return is pressed,":"the main directory will be cataloged.)";v :PW1:ML63(VL$):P858:12:VL$"/";:260 CD1:ML2:260 NQ1:ML1:"? (Y/N) ";:260 NB1 Q$"":T0:SH0 CR$:Q(CR$):QQ32(Q96):CR$(Q):L(Q$):Q13L0ML0CG0270& Q27ML0NB0::E "Q27PW1PW0:CG0:::t ,Q13ĺ:NB0:CG0:CD0:PW0:NQ0:Q(Q$): 6LMLQ8270 @Q8L0360 J(8)" "(8);:L1260 TPWK((Q$,1)):TT(K47):K47SHSH1:T(PSH)^LL1:Q$(Q$,L):270 hNB(Q48Q57)270:rNQ(Q89Q78)270F|PW410^CD(Q65Q90)270wCR$;:Q$Q$CR$:270T0(Q65Q90)270Q47LML1ĹPSH,T:SHSH1:T0:400(Q46(Q47Q58)(Q64Q91))T15TT1:400270P(16384):P128450"16368,0:: SELECT SLOT/DRIVEVS9::2:LN:22:LN:2120:1:12)"Escape: "K$(28):6:18:K$(32):::18:"Slot Drive Volume"23:"Use arrow keys to select choice and press Return"34,9:35,199:J0:C1:K14:NDK1KND1P::CJ1:IJ1K2:20:M$(I)::VVS1:20:M$(K1);:640d450:P141650xP155C0:650&PP137:P1P25300P610,570:IC1:IJJ0JJ1:KK1DIJ530NIJ1520XV:20:M$(C);:VV1(V7):CI:640%bIC1:IKKND1KK1:JJ12lIK530UvV:20:M$(C):VV1(V19):CIqV::20:M$(C);::53034,0:35,24:36,0:::Cġ MENU DISPLAY/SELECT:2120:37(K$(T)))"Escape: "K$(T):I1K1:V$(I)K$(IQ)::V2:880JV22:880:"Use arrow keys or numbers to select choice and press Return"kVS12K:S20:VS2:S:K$(Q)J0:VVS1:V:I1K1:S:I". "V$(I)::C1:780450:P141ė:QC:P155C0::790QP176:QJQKIQ:770QP138:Q0Q1720&QQ(Q0):ICQ:IKIJ720GV:S:C". "V$(C):VVSI:CIi V:S:C". ";::V$(C)::720wT0ġ: ::10:23)"Do you really want to quit";:240:Q$"N"ı*:54:2120:15)"Escape: Return to Analyze Menu":"Analyzing:";:20:H1ĺ"Column "C$;:32:"From Row "R1" to "R2;:840b>"Row "R;:30:"From "C$;:38:"to "C1$;vHDEĖ53:"Not";R57:"Displaying empty cells"\V3:880:V22:880::34,4:HCĺD$"PR#1"fpV:LN:z UTILITY ROUTINESC(80(V$(0)))2:C0C0225K$(15);:ML0:250:FV$(0)K$(16)WPL:PL:900v::10:C)V$(0):920:::ICL(Q):JCH(Q):Q$(I64):J0Q$(J64)Q$900:10:C)V$(0):(EE)255ĉ:::D$"PR#0":D$"PR#3"::: READ DATA ROUTINES) CHOOSE A COL<"From";:1060G"To";q$" What Column? ("S$"-"T$") ";:230:.I(Q$):J(Q$)64:I1I((Q$,1))64:J26JI8B GET A ROWL"From";:1120V"To";`" What Row # ("I"-"J") ";:ML3:250:j CHOOSE A COLUMN?tQNC:970:S$Q$:QMC:970:T$Q$i~1060:1070:CJ:JNCJMCİ940:1150 CHOOSE FROM-TO ROW::INR:JMR1100:R1Q::IQ:JMR1110:R2Q:R1R2R1NRR2MRİ940:1170 DO COL C FROM R1 TO R2;26,C:27,L(R1):28,H(R1):29,L(R2):30,H(R2):255,56KEC:1000:^ CHOOSE A ROWINR:JMR:1120:RQ:QIQJİ940:1250 CHOOSE FROM-TO COLUMN:QNC:970:S$Q$:QMC:970:T$Q$1040:1070:C1J:QJ:970:S$Q$:1050:1070:C2J:C1C2C1NCC2MCİ940:1270% B DO ROW R FROM C1 TO C2p26,L(R):27,H(R):28,C1:29,C2:255,56(ER:1000:2 ANALYZE SELECTION<K5:Q5:T4:680:HCFHC0:"Do you want hard copy";:240:Q$"Y"HC1)PDE0:234,DE:"Display empty cells";:240:Q$"N"DE1:234,DETZ231,HC::C1410,1450,1480,1480:1340xd:34,0:HCĺD$"PR#0":D$"PR#3"~nx COLUMN1140:QC:970:C$Q$:8201220:HCİ15801380 ROW1250:QC1:970:C$Q$:QC2:970:C1$Q$:8201310:HCİ1580!1380aK3:T17:Q18:680:H4C1NC:C2MC:R1NR:R2MR:H3C:1500yHHC:1170::1270QC1:970:C$Q$:H2QC2:970:C1$Q$RR1:CC1:820:H21550CC1C2:HCQC:970:2:27:Q$;:4::1220:HCİ1580::13805RR1R2:HCĢ2:24:R;:4::J1310:HCİ1580Y":::1380t,(34)0ĺ:CC2:RR2:6PL:PL:PL:24:K$(15)" ";@450:P141P1551600J:P155Ĺ34,0:T^ GET ACTIVE DEVICES/VOLUME#h2:LN:22:LN:V$(0)"Checking Drives/Volume":990SrIVBVB255:I,0::10,DV:16387:DV1680z|QL1((VB)):QV$(0)K$(33):950VL$"/":I1Q:VL$VL$((VBI))::ND0:PVBVB25016:K(P):QL1(K):Q1710=:NDND1:VL$(ND)"":I1Q:VL$(ND)VL$(ND)((PI))::QH1(K):Q%Q8:SL%(ND)Q8Q%:DR%(ND)Q%1tM$(ND)(SL%(ND))" "(DR%(ND))" "VL$(ND)|: SELECT SLOT/DRIVETDV:DV0:1640:DVT:NDV$(0)K$(12):950Q29:480:SL%SL%(C):DR%DR%(C):DVDV(DR%):D$"PREFIX,S"SL%",D"DR%:# ENTER PATHNAME1640::V$(0)K$(22):Q4:2:LN:22:LN:1:210:2:LN:22:LN:PSH,T:(Q$,1)"/"Q$(Q$,L1):SHSH1T$VL$"/"Q$:T$((T$))T$:804,0:807,0:V$(0)"Checking pathname":990:T$T$:16390:Q(804)::Q17901 Q(3):T(Q68)2(Q70)::V$(0)K$(29T):950i Q27V$(0)"That is not a spread sheet file":950 (807)2V$(0)"That is not a sapling file":950!NF0:V$(0)"Finding key block of the file, loading it and scanning file dimensions":990:11,2:12,0:I1:K1A!II1:ISHĺ"Something wrong here":920:!&L(PI):T$(Q$,K,L):227,1512(ISH):KKL1:10,DV:T$T$:16393:ISH1820"01000:NF1:MC(27):NC(26):MRD(30):NRD(28)::2:LN:22:LN:2120:1:53:"Escape: Return to main menu":":8:15)"File Parameters"::30:"Col"13)"Row""DQNC:970:15)K$(10);:31:Q$;:47:NR:QMC:970:15)K$(11);:31:Q$;:47:MR::23:930:"N SELECT FILE OPTIONS"XK4:Q21:T4:680:C1İ1760:"bC11730,1900:1880 #l6:K3:Q25:T28:680#v19600#C1930,1940:216,0:M#K33:D$"CATALOG":930:#1640:K34::V$(0)"Complete pathname":Q28:2:LN:22:LN:1:200::L1930#T$VL$"/"Q$:D$"CATALOG"T$:930:#216,0:848::V$(0)K$(K):950::1900$:::DV16H1((LD)):8:10)"You may replace the program disk with an Appleworks data disk":14)"or/and put data disks in any other drives available."(%QH1(DV):DR%Q81:SL%Q8(DR%1)::13)"After selecting Slot/Drive/File, please leave the disk":21)"in that drive until finished analyzing."%:21)"Current slot = "SL%". Current drive = "DR%".":920::SS%SL%:DD%DR%:DV%DV% MAIN MENU%K3:T0:Q1:680:C1NF0V$(0)"You must "K$(2)" First":950:2010%EE,0::Q1880,1340:2010'&104,168,104,166,223,154,72,152,72,96 c&End Program,Main Menu,Select a File,Analyze the File &Return to Main Menu,"Analyze:",A Column,A Row,A Block,Entire File & "Minimum","Maximum"'No disks in active devices,That is not a spread sheet file,That is not a sapling fileI' Press Return to Continue,Input error'*Return to Analyze Menu,"Analyze:",By Rows,By Columns (4Select File Menu,Enter pathname for file,Change slot/drive,Catalog disk,"Catalog:",Main directory,By pathname,Return to Select file Menu(>I/O error,Path to file's subdirectory is bad,File not found in specified directory,Select slot/drive,No disk in active drive,Pathname not found(H1:1:"PROOF (C) 1989 by MicroSPARC, INC.";:L@LILILELA@L@L HL.HFFF JJIIIIPI` C` C D 4DLD 2Dɀ+逅e8 D I 4D D A I 4D` C8` C D 4DH8h 5E I 2D 5E= I8ɀ 逆e 5E I 4Dʅ >E A I D 4D` CHhІЂȱH NC I0HC Iȱ  h  8*H?C IhʥC Ii IC IH 5C IhʽC I L !D``  oH`i` C ~B oHL\B`8܅ 8઩ ITC`8 eઽC I`8諾C I`8 C I`Hi Ihi I`ȱe Bȱeȱe $`Р̨̠֨ީ 2D 2D` F R- F` 2D`ɀ 4D ȱi I`8e`i`H Eh  F F`堠` D8`  DLD D B +C L`hhhh` D I%7 .H [}D ɀɍɛ"H Xh` pE8`  DLD pE B +C L` LD`` FʆFPF F F F ȱ  3)'! ȱ ȱ`i'й e І` F FF PF F CȄȱȱ` 2D 2D 2Dɀɀ 4D逪e 2D 4DFRF F F FF혈` F F ` `` X=G ɀɛ ɍ XLFhH"H`ŠӺ卍Ӡ卍卍䬠O I`0AH>HFHܩ 0 `VH I` 4 I I` Dȱ H ^H`Aɀ=@;@0i Iy)ș>`?8 JH8`80 Iy8ȹ)JJJJ`E<ʽ190ʽ9(9LbIʽ0 `i +.8/ ʽ89ʈ1`9 iݩ0ʽiI I` 8` ` I `   `!* *PROOF.BINSOURCECODE**BYRICHARDR.HIATT**COPYRIGHT(C)1989* *MICROSPARC,INC.*!*CONCORD,MA01742*"!*#)P1.EQ$00,01MAINFILEPOINTER&3P2.EQ$04,05POINTERTOSSBUFFER =CROW.EQ$02,03CURRENTROWGLEN.EQ$03QHBM.EQ$06[HBS.EQ$07eTBP1.EQ$08oBC.EQ$09yDVC.EQ$0A$KBP.EQ$0B,0CKEYBLOCKPOINTERNFLG.EQ$18C.EQ$1ACOLTOSEARCHR1.EQ$1B,1CFROMROW1R2.EQ$1D,1ETOROW2R.EQ$1A,1BROWTOSEARCHC1.EQ$1CFROMCOL1C2.EQ$1DTOCOL2TEMP.EQ$E0RFCL.EQ$E1DCML.EQ$E2TYPE.EQ$E3PROT.EQ$E4CCOL.EQ$E5CURRENTCOLUMNCLLEN.EQ$E6HDCPY.EQ$E7#X1.EQ$E8-Y1.EQ$E97QPTR.EQ$EAAPCTR.EQ$FFKRCTR.EQ$E2,E3UCC.EQ$18COLUMNCOUNT_MNCOL.EQ$1AiMXCOL.EQ$1BsMNROW.EQ$1C,1D}MXROW.EQ$1E,1FSAV.EQ$19WNDTP.EQ$22CH.EQ$24CV.EQ$25FLSH.EQ$32%VI.EQ$83,84POINTSTOINTVAR(0)FBUF.EQ$100SBUF.EQ$2E0ABUF.EQ$2F0EFLG.EQ$300YSAV.EQ$301XSAV.EQ$302FPARM.EQ$320 VBUF.EQ$5000DBUF.EQ$5200MLI.EQ$BF00'LAST.EQ$BF301TABV.EQ$FB5B;PRID.EQ$ED24ECOUT.EQ$FDEDOCROUT.EQ$FD8EYPRBLNK.EQ$F948cPRBL2.EQ$F94AmHOME.EQ$FC58wKBD.EQ$C000STRB.EQ$C010TWEEK.EQ$C030'TOFAC.EQ$EAF9PUTANUMBERINFAC FOUT.EQ$ED34FACTOSTRING* -.OR$4000.TA$3000* -*JUMPTABLE* -JMPINSTAL JMPGAD JMPGFOJMPSERCH JMPROWS JMPCOLS !JMPDRLN+JMPPLINK5*-?INSTALLDA#PARMSISTADFB+1SLDA/PARMS]STADFB+2gLDA#FPARMqSTAFDFB+1{LDA/FPARMSTAFDFB+2LDA#APARMSTAADFB+1LDA/APARMSTAADFB+2LDA#VBUFSTAAPARM+2LDA/VBUFSTAAPARM+3RTS* - *DOROWRFROMCOLC1TOC2* -ROWSJSRINITLDAC1FIRSTWANTEDCOLSTACCOLCAN'TBEZERO %DECCCOL /LDAR 9STACROW CLDAR+1MSTACROW+1W.1LDA(P1),YYISZEROaCMP#$FFENDOFFILE?kBNE.3NOu.2RTSYES.3JSRRWNUMGETROWNUMBERCMPR+1HIOFFIRSTROWBCS.5MAYBE.4JSRNXTRWONTONEXTROWLDA#$01CUEUP#JSRADDAHIBYTEOFROWLENGTHBCC.1ALWAYS#.5BNERESTWANTEDROWISBLANKTXALOWBYTEOFROW CMPRBCC.4NOTTHEREYETBEQFNDRFOUNDTHEROW2RESTJMPPERROWNOTTHEREBUTPRINTITANYWAY FNDRLDX#$00USEASCOLCTR .1JSRADD1NEXTBYTE.2LDA(P1),YCMP#$FFENDOFROW?,)BEQRESTYES,BUTPRINTTHERESTANYHOW3.3CMP#$80BLANKCOLS?=BCC.5NO,THEITEMLENGTHGSBC#$80YES,INCX/ A.HS00K.AS-/>=/ U.HS00_.AS-/<=/ i.HS00sOP.AS-"=><,^)-+/*("}OP4.AS-/-/.HS00.00.00 .AS-/+/.HS00.00.00.AS-/.../ .HS00VFMT.AS-/FDCPA/LFMT.AS-/LRC/PFMT.AS-/LVN/* -RWNUMJSRADD1LDA(P1),YLOBYTETAXSAVEINX JSRADD1 LDA(P1),YHIRTS* -'INITLDADVC1STAPARMS+1;INIT1LDY#$00 ESTYP2 OLDA#$02 YSTABCcLDA/DBUF mSTAHBM wSTAHBS INCHBS INCHBS STAP1+1 INCP1+1 LDA#$2D STAP1 JSRRD2RTS* -*SBRNXTROW* -NXTRWJSRADD1NXT1LDA(P1),Y CMP#$FF BNE.1RTS!.1CMP#$80+BCSNXTRW 5JSRADDA?BCCNXT1ALWAYSI* -S*PRINTLABEL]* -gPRLBLLDXCLLENqBNE.2ALWAYS {.1INYLDA(P1),YCLC ADC#$80JSRPCOUT .2DEX BNE.1RTS* -$*UPDATE&(MAYBE)GETMOREDATA* -ADD1LDA#$00 ADDASECADCP1ADD+1 STAP1BCS.1PAGEBOUNDARY? RTSNO %.1LDAP1+1YES,INCHIBYTE /ADC#$00 9STAP1+1CCMPHBSINTOSECBUFFER?MBCS.2YESWRTSNO,ITSOKa.2STXXSAVBETTERSAVEkSTYYSAVREGISTERSuLDAP1SAVETHELO PHABYTELDA#$00FIXMAINSTAP1POINTERFORLDAHBMMOVE STAP1+1LDAHBSANDSECALSO STAP2+1JSRMOVESECTOMAINPLA STAP1INCBCNEXTBLOCK LDYBCCPYTBP1ISTHEREONE?BCS.3NO DEYYES"JSRBLKPMSETREADBLKPARAMS)JSRRDBLKBUFFERPARAMSSHOULDBEOK).3LDAHBMAGAIN 3STAP1+1=LDXXSAVRESTOREREGISTERS GLDYYSAVQCLCFORLUCK[RTSe* -*oCONT.AS-/PressReturntoContinue/ y.HS00* -ZEROLDX#$04 LDA#$00.1STAABUF,XDEX BPL.1RTS* -2*PRINTCELLIDWHENDOINGROWRFROMC1TOC2* -CCELL1LDXQPTRPRINT?BEQCCELLJSRINCCOLSECRTSCCELLLDXHDCPYHARDCOPY?#BEQ.5NO -LDXKBD 7BPL.2 ASTXSTRB KBNE.6U.5JSRKEYBDFULLSCREEN?_.6CPX#$9BUSERWANTSOUT?iBNE.2NOsJMPBASE2}.2JSRINCCOL STARFCL JSRPRCOLPRINTCOLLETTERSLDXCROWLOBYTEUSERROWLDACROW+1HIBYTEJSRPROWPRINTROWNUMBERLDA#$BAPRINTCOLONLDX#2ANDSPACEJSRPRBLNK+4CLCRTS* -#*INCCOLUMNANDCHECKFORLAST* - INCCOLINCCCOL LDACCOL CMPC2 'BCCRX 1BEQRX;* -E*RETURNSTOBASICO* - YBASICPLAcPLA mBASE2PLAwPLA RXRTS* -*PRINTEMPTYROW* -PERJSRCCELL1 BCS.1JSRCRRTN .1BEQPERALWAYS,LETCCELLBNEPERDETERMINEEXIT* -KEYBDLDACVFULLSCREEN?CMP#$15BCC.5NO,RETURN STYYSAV JSRPLINK LDA#$17!JSRTABVVTAB24 +LDX#05.1LDACONT,X ?BEQ.3 IJSRCOUTSINX ]BNE.1g.3LDAKBD qCMP#$80 {BCC.3 STASTRBCMP#$8DCRBEQ.4CONTINUECMP#$9BESCBNE.3KEEPWAITINGLDX#0USERWANTSOUT#STXWNDTPRESTOREFULLWINDOW.4PHASAVEREGISTERJSRHOMECLEARSCREENPLATAXFLAGPOSSIBLEOUT LDYYSAV .5RTS* -$*PRINTCELLIDWHENDOINGCOLC* -"%RCELL1LDXQPTRPRINTEMPTIES?/BEQRCELL9JSRINCROWCSECMRTSWRCELLLDXHDCPYHARDCOPY?aBEQ.5NO kLDXKBD uBPL.2 STXSTRBBNE.6ALWAYS.5JSRKEYBDFULLSCREEN?.6CPX#$9BUSERWANTSOUT?BNE.2NOJMPBASE2.2JSRINCROW LDACCOL STARFCL JSRPRCOLPRINTCOLLETTERSLDXCROWLOBYTEUSERROWLDACROW+1HIBYTEJSRPROWPRINTROWNUMBERLDA#$BAPRINTCOLON LDX#2ANDSPACEJSRPRBLNK+4CLC)RTS3* - =*INCROWANDCHECKFORLASTG* -QINCROWINCCROW [BNE.1eINCCROW+1o.1LDAR2+1yCMPCROW+1 BNE.4 BEQ.3.2JMPBASIC .3LDAR2 CMPCROW BCC.2 .4RTS* -*MOVE2PAGES* -MOVELDX#$02 LDY#$00.1LDA(P2),YSTA(P1),YINY BNE.1 #INCP1+1 -INCP2+17DEX ABNE.1KRTSU* -&_*CASCADETOFINDFILE&KEYBLOCKi* -sSERCHLDADVC}STAPARMS+1LDY#2SETUPPOINTER!.1LDA(VI),YTOSERCHSTRINGSTALEN,YFROMBASICDEYT$=T$:CALLBPL.1LENASWELLLDXP2SUBTRACT1DEXFROMSTR$STXP2POINTERTOCPX#$FFALIGNWITHP1BNEGOLATER DECP2+1!GOLDA#VBUFSETUPMLIPARMS$STAPARMS+2&POINTERTOBUFFER STAP1 LDA/VBUF STAPARMS+3 ' STAP1+11 LDAKBPKEYBLOCKTO; STAPARMS+4STARTSERCHE LDAKBP+1O STAPARMS+5Y JSRRDBLKc * -'m *FINDASPORSUBDIR,POKEDINTYPEw * - FNDSLDY#2 LDA(P1),YSETUPFOR STAKBPNEXTINDEX INYBLOCK LDA(P1),Y STAKBP+1 LDA#4 STAP1 LDX#$0DENTRIES/BLOCK .1LDY#0FIRSTBYTE LDA(P1),Y BEQ.3DELETEDENTRY AND#$0FNAMELEN!STATEMPSAVEIT !LDY#$10ENTRYTYPE!LDA(P1),YBYTE!!CMPTYPERIGHTTYPE?+!BNE.3NO5!LDATEMPLENGTHRIGHT? ?!CMPLENI!BNE.3NOS!TAYCOMPARENAMES]!.2LDA(P1),Yg!CMP(P2),Yq!BNE.3DIFFERENT{!DEY !BNE.2!LDY#$11FOUNDIT!LDA(P1),YSAVEKEYBLOCK!STAKBPFORNEXT!INY!LDA(P1),YROUND!STAKBP+1ANDRETURNTO!INY!LDA(P1),Y !STATBP1 !LDATYPE !CMP#$1B !BEQRDKB"RTSBASIC".3LDAP1INCPOINTER"CLCFORNEXT%"ADC#$27ENTRY /"STAP1 9"BCC.4 C"INCP1+1 M".4DEXW"BNE.1MOREa"LDAKBPTESTENDOFk"CLCINDEXu"ADCKBP+1 "BNEGO "BCSGO"RTS"RDKBLDAKBP"STAPARMS+4"LDAKBP+1"STAPARMS+5"LDA#VBUF"STAPARMS+2 "STAKBP"LDA/VBUF"STAPARMS+3"STAKBP+1#JSRRDBLK #* - #*FINDMIN&MAXCOLS&ROWS#* -)#SCANJSRINIT13#LDY#$FFINITVALSFOR=#STYMNCOLMIN&MAXG#INYCOLUMNSQ#STYMXCOL[#STYCCZEROVALSe#INYo#LDA(P1),Y#OFFIRSTy#STAMNROWROW,LOHI#INY#LDA(P1),Y#STAMNROW+1#.1LDY#$00BEGINPROCESS"#LDA(P1),YHIBYTEROWOFFSET#CMP#$FFEOF?#BNE.2NO #RTSYES#.2JSRADD1#LDA(P1),YROWLOBYTE#STAMXROW #JSRADD1#LDA(P1),YROWHIBYTE$STAMXROW+1$STYCCSTARTCOLCT$LDX#$01LOWCOLINX #$JSRADD1-$LDA(P1),YROWSTART*7$CMP#$80ROWSTARTWITHMISSINGCOLS?A$BCS.3YESK$STXMNCOLNO,MINCOLIS1U$.3LDA(P1),YFIRSTDATA_$CMP#$FFENDOFROW?i$BEQ.5YESs$CMP#$80MISSINGCOLS?}$BCS.4YES $INCCC $JSRADDA$BCC.3ALWAYS!$.4SBC#$80#OFMISSINGCOLS$TAXSAVEINX$CLCANDADDTO$ADCCCCOLCT $STACC$INX $JSRADD1$BNE.3ALWAYS$.5CPXMNCOLNOWCOMPARE $BCS.6 %STXMNCOL %.6LDACC%CMPMXCOL '%BCC.71%STAMXCOL;%.7LDA#$01 E%JSRADDAO%BCC.1ALWAYSY%* -c%*READFIRST2FILEBLOCKSm%* -w%RD2LDY#$00%LDA#DBUF%STAPARMS+2%LDA/DBUF%STAPARMS+3%.1JSRBLKPM%JSRRDBLK %CPY#$01 %BEQ.2%INCPARMS+3%INCPARMS+3%INY %BNE.1 %.2TYA&DEY &RTS&* -!&*STUFFBLOCK#INTOPARMS+&* -5&BLKPMLDA(KBP),Y?&STAPARMS+4I&INCKBP+1S&LDA(KBP),Y]&STAPARMS+5g&DECKBP+1q&RTS{&* -&*READBLOCK&* -&RDBLKJSRMLI&DFB.HS80 &BCSWHAT&RTS&PARMS.HS036 0&WHATSTAEFLG&STYEFLG+1 &JSRHOME &LDY#$00&.1LDAEMG1,Y &BEQ.2 'JSRCOUT'INY 'BNE.1%'.2LDAKBD /'CMP#$80 9'BCC.2 C'STASTRB M'CMP#$9B W'BEQ.3 a'CMP#$8D k'BNE.2 u'JSRHOME'LDYEFLG+1'JMPRDBLK '.3PLA 'CMP#$D8 'BNE.3'PHA 'LDA#$22'PHA 'LDA#$FF 'STAEFLG'RTS'EMG1.AS-/Diskreaderror/ '.HS8D8D(.AS-/THEREIS:/ (.HS8D8D#(.AS-/1.Nodiskinthedrive/ (.HS8D8D*)(.AS-/2.ADOS3.3diskinthedrive/ 3(.HS8D8D&=(.AS-/3.Abadblockinthefile/G(.HS8D8D8D=Q(.AS-/Iftheproblemcanbefixed,dosoandkeyReturn/ [(.HS8D8D3e(.AS-/ElsekeyEsctoreturntotheMainMenu/ o(.HS8D00y(*-(DRLNLDX#$4F(.1LDA#$AD (JSRCOUT(DEX (BNE.1(JSRCRRTN(RTS(*- (*SIGNAL(* -(SOUNDSTXX1 (STYY1(.1LDATWEEK ).2DEY )BNE.3 )DECY1 #)BEQBACK -).3DEX 7)BNE.2 A)LDXX1 K)BNE.1U)* -_)PLINKLDA#$10 i)TAY s)TAX})STABACK+4)B1STXBACK+1)STYBACK+9)BNESOUND)BACKLDA#$04)CLC )SBC#$0A )BMI.1)TAX )LDY#$0A )BNEB1 ).1RTS)* -)MSGLDAMSGT,X *BEQ.1*JSRPCOUT*INX'*BNEMSGALWAYS 1*.1RTS;** -E*MSGT.AS-/.0/ O*.HS00Y** -c**PRINTAREALNUMBERm** -+w*PREALLDA#ABUFLOBYTEOFPOINTERINA*LDY/ABUFHIBYTEINY*JSRTOFAC *JSRFOUT*JSRINTGR*JSRSTROUT*RTS** -**NMBRVALUESUBROUTINE** -*NMBRJSRZERO *LDX#$07 *.1INY*LDA(P1),Y+STASBUF,X +DEX +BPL.1 !+STYYSAV ++JSRCNVT5+JSRPREAL ?+LDYYSAVI+RTSS+* --]+*CONVERTSPREADSHEETFPTOAPPLESOFTFPg+* -q+CNVTLDY#$00{+LDASBUF,YFIRSTSSBYTE +BEQOUT +CMP#$80 +BEQOUT!+CMP#$40#ISBIGORLITTLE?+BCCSMALL#'SLESSTHAN2&+BIGSBC#$40DOTHECHARACTERISTIC+TAX+LDA#$82APSFTFP2.000+CLC+.1DEXADD$10FOREACHX +BMI.2 +ADC#$10+BNE.1ALWAYS",.2STAABUF,YNOTFINISHEDYET',JSRBYTE2BYTE2ISHALFC,HALFM,CLC%,ADCABUF,YCNOWDONE/,STAABUF,Y9,MANTTXADEALWITHMANTISSAC,AND#$0FMASKOFFCHALFM,INYW,STASBUF,Ya,LDY#$03DIVIDEBY2k,.1LDX#$07BYROLLINGTHEu,.2ROLSBUF,XWHOLETRAIN,DEXLEFT3TIMES ,BNE.2,DEY ,BNE.1,LDY#$04COPYMANITISSATO,.3LDASBUF,YAPSFTBUFFER,STAABUF,Y,DEY ,BNE.3 ,OUTCLC,RTSATLAST,SMALLSTASBUF,Y ,LDA#$3FHOWMUCHTODECC?-SEC -SBCSBUF,Y-CMP#$08TOOMUCH?-BCC.2NO)-CLC 3-LDX#0=-JSRMSGPRINTUNDERFLOWG-SEC Q-.1RTS [-.2TAXe-SECo-LDA#$82FP2.000 y-.3DEX -BMI.4SUBTRACT$10XTIMES -SBC#$10-BPL.3ALWAYS"-.4STAABUF,YBUTNOTDONEYET-JSRBYTE2-CLC-ADCABUF,Y-SEC -SBC#$10-STAABUF,YCISDONE-CLC-BCCMANTALWAYS-* -".*SBRBYTE2SHIFTCHALFRIGHT.* - .BYTE2INY#.LDASBUF,Y-.TAX 7.AND#$F0A.LSRK.LSRU.LSR_.LSRi.DEYs.RTS}.* -.INTGRLDX#$08.LDAFBUF+2,X .CMP#$45 .BNERTN.DEX.LDAFBUF+2,X .CMP#$31 .BEQPOS .CMP#$39 .BNERTN.DEX..1LDAFBUF+2,X .CMP#$39 /BNERTN/DEX /BPL.1 '/LDAFBUF 1/CMP#$39 ;/BNESIMPE/JMPNINES O/POSDEXY/.1LDAFBUF+2,X c/CMP#$30 m/BNERTNw/DEX /BPL.1/FXXLDX#$0A /LDY#1/.2LDAFBUF,X/STAFBUF,Y /BEQRTN/INX/INY /BNE.2 /RTNRTS /SIMPCLC /ADC#1/STAFBUF 0BNEFXX 0NINESLDX#$0B0LDAFBUF,X+OR-?!0INX +0CMP#$2B 50BEQ.4+?0INXI0LDAFBUF,XS0SEC ]0SBC#1 g0CMP#$2F q0BNE.1{0DEX0LDAFBUF,X0SEC 0SBC#10STAFBUF,X0INX 0LDA#$390.1STAFBUF,X0INX 0.2LDY#40.3LDAFBUF,X0STAFBUF+1,Y0DEX0DEY 1BPL.3 1LDA#$31 1STAFBUF%1RTS /1.4INX91LDAFBUF,X C1CMP#$39 M1BEQ.6W1CLC a1ADC#1k1STAFBUF,X u1.5INX 1BNE.21.6LDA#$301STAFBUF,X1DEX1LDAFBUF,X1CLC 1ADC#11STAFBUF,X1INX 1BNE.51*-,1*COUT'SDECPCTR,CROUT'SRESTORETO721*-2STROUTLDY#0 2.1LDAFBUF,Y 2BEQ.2 2EOR#$80)2JSRPCOUT32INY =2BNE.1 G2.2RTSQ2CRRTNJSRCROUT [2LDA#$38 e2STAPCTRo2RTSy2PCOUTJSRCOUTPRINTCHAR2LDAHDCPYHARDCOPY?2BEQ.1NO2DECPCTRCOUNTER2BEQCRRTN 2.1RTS2*-2*GETACTIVEDEVICES2*-2GADLDADVC2STAAPARM+1 2JSRMLI2ADFB.HSC5.00.002RTS3APARM.HS02.00.00.003*-3*GETFILEINFO#3*--3GFOLDY#273.1LDA(VI),YA3STAFPARM,YK3DEY U3BNE.1 _3LDA#$0Ai3STAFPARM s3JSRMLI}3FDFB.HSC4.00.00 3STALEN3RTSn<ۅ=o>? o`<=p>r? o6p7p8 p9 p0e MLԍoRp-p{pCpBpp? ,o<=o>? oo? oS XPQ BCp? ,<=o>? o? oI`ܥݥ>? ߥ<= ⦃ +܅݅`SVKV67890201236p ō  L  r RQvPu ALREI`I` **********************; * RESET.DEMO *X * BY KENN SCRIBNER *u( * COPYRIGHT (C) 1989 *2 * MICROSPARC, INC. *< * CONCORD, MA 01742 * F **********************P:(21):340Z180 d(4);"BRUN RESET". n216,0:SV:***INITIALIZE RESET VECTOR***h x340::12:"YOUR RESET VECTOR HAS NOW BEEN CHANGED!"x RE190:150 140:***INFINITE LOOP, PRESS RESET*** LNUMRE:LNUM0LNUM(256256)LNUM 14:5);"YOU'LL NOW EXECUTE LINE #";LNUM:9);"WHEN YOU PRESS RESET." X 340:"CANNOT FIND RESET. INSERT DISK AND TRY AGAIN": RE230: ***CHANGE LINE TO 5000 ON RESET*** 340:12:"NOW WE'LL CHANGE THE RESET LINE NUMBER." 150 220: ***INFINITE LOOP, PRESS RESET*** , 340:12:4);"NOW RESET DURING A GET STATEMENT."^ RE270: ***CHANGE RESET LINE NUMBER AGAIN***g 150 :"GO AHEAD AND RESET YOUR COMPUTER NOW...";:A$:260 340:12:5);"NOW RESET AN INPUT STATEMENT." RE310: ***CHANGE RESET LINE NUMBER TO 310*** "150G ,:(4):"TYPE SOMETHING IN, THEN RESET...";A$:300 6340:12:" NOW I'LL DISABLE RESET MAGIC AND QUIT." @23:"PRESS RETURN TO CONTINUE ";:A$:A$;:KV J:23: T:"RESET MAGIC BY KENN SCRIBNER":"(C) 1989 MICROSPARC, INC":************************** * RESET.OBJ SOURCE CODE * * BY KENN SCRIBNER * * COPYRIGHT (C) 1989 * * MICROSPARC, INC. * * CONCORD, MA 01742 * ************************** * * * ORCA/M 4.1 Assembler * ORG $6EC7 KEEP RESET RESET START ;............................................................... ; ; Program EQUates. ;............................................................... CSWL EQU $36 ;monitor character output hook KSWL EQU $38 ;monitor character input hook VBL1 EQU $3C ;temporary storage location VBL2 EQU $3D ;temporary storage location VBL3 EQU $3E ;temporary storage location VBL4 EQU $3F ;temporary storage location A1L EQU $3C ;source starting address for MOVE A2L EQU $3E ;source ending address for MOVE A4L EQU $42 ;destination address for MOVE LINNUM EQU $50 ;ASoft line number in progress CURLIN EQU $75 ;ASoft line number in progress VARPNT EQU $83 ;pointer to ASoft variable data TXTPTR EQU $B8 ;current ASoft token's address ERRPOS EQU $DC ;temporary storage for TXTPTR INBUFR EQU $200 ;DOS command input buffer RSTVCTL EQU $3F2 ;reset vector low byte RSTVCTH EQU $3F3 ;reset vector high byte RSTVCTV EQU $3F4 ;reset vector power-up validation byte ERROR EQU $D412 ;ASoft error handler, errnum in xreg STKINI EQU $D683 ;restore ASoft's stack pointer STXTPT EQU $D697 ;reset TXTPTR to beginning of program NEWSTT EQU $D7D2 ;execute ASoft program from TXTPTR GETLIN EQU $D941 ;find line in LINNUM in memory PTRGET EQU $DFE3 ;find/create simple variable in memory GIVAYF EQU $E2F2 ;convert integer in A,Y to floating pt. GETADR EQU $E752 ;convert floating pt. number to integer MOVFM EQU $EAF9 ;unpack variable data and move to FAC MOVMF EQU $EB2B ;pack FAC data and move to variable SETHMEM1 EQU $F28E ;calculate and set HIMEM from LINNUM MOVE EQU $FE2C ;monitor memory move routine ;............................................................... ; ; ProDOS and BASIC.SYSTEM EQUates. ;............................................................... DOSCMD EQU $BE03 ;execute DOS command stored at $200 ERROUT EQU $BE09 ;BASIC.SYSTEM error handler VECTOUT EQU $BE30 ;BASIC.SYSTEM output link VECTIN EQU $BE32 ;BASIC.SYSTEM input link GETBUFR EQU $BEF5 ;reserve x pages above HIMEM, x in areg KVERSION EQU $BFFF ;ProDOS Kernel Version ;............................................................... ; ; DOS 3.3 EQUates. ;............................................................... CONNECT EQU $3EA ;DOS 3.3 I/O vector reconnection routine MAXFILES EQU $A258 ;DOS 3.3 MAXFILES command CLOSE EQU $A316 ;close all open DOS 3.3 files ;............................................................... ; ; Set up SV variable. ;............................................................... LDA #>SETUP ;variable data high byte STA VBL1 ;store it for subroutine LDA #SVVBL ;variable name's location high byte STA VBL3 ;store it LDA #REVBL ;NOTE: this overwrites any previous STA VBL3 ; RE values! LDA #RST STA A1L+1 LDA #END STA A2L+1 LDY #$00 JSR MOVE ;move program ;............................................................... ; ; Set up KV and SV, kill vector and set vector for ProDOS version. ;............................................................... LDA FIX1+1 ;get high byte of set routine STA VBL1 ; (corrected for BASIC.SYSTEM move) LDA #KVVBL ;find variable's name STA VBL3 LDA #SVVBL ;find variable's name STA VBL3 LDA #RST STA A1L+1 LDA #END STA A2L+1 LDY #$00 JSR MOVE ;move program LDA #$96 ;get high byte of kill routine STA VBL1 LDA #KVVBL ;find variable's name STA VBL3 LDA #SVVBL ;find variable's name STA VBL3 LDA # $FDF0, or COUT) LDA #$FD STA VECTOUT+1 LDA #$1B ; (character input --> $FD1B, or KEYIN) STA VECTIN LDA #$FD STA VECTIN+1 CLSFILE LDX #$00 ;have BASIC.SYSTEM close all open files CLSLOOP LDA CLSCMD,X ;(we have BASIC.SYSTEM CLOSE files... BEQ CLSALL ;...rather than the ProDOS MLI 'cause... STA INBUFR,X ;...BASIC.SYSTEM does some other... INX ;...housekeeping the MLI doesn't) BNE CLSLOOP CLSCMD DC H'C3 CC CF D3 C5 8D 00' ;"CLOSE", with carriage return and $00 CLSALL JSR DOSCMD BCC READVBL LDA #$15 ;FILE(S) STILL OPEN error JMP ERROUT RSTDOS33 JSR CONNECT ;reconnect DOS 3.3 JSR CLOSE ;close all open files READVBL LDA # OUTPUT  ******* 8/08/86 *******;* ProDOS STARTUP *X* BY OWL *u(* COPYRIGHT (C) 1987 *2* BY MICROSPARC, INC. *<* CONCORD, MA 01742 *F***********************P16384Z::D$(4):(21)d9704 n ********** GET HI-RES SCREEN AND SET DISPLAY SWITCHESf x11:3:"MICROSPARC PRESENTS NIBBLE SOFTWARE" 15:13:"PLEASE WAIT..." D$"BRUN STARTUP.SCREEN" G(16297)(16300)(16301)(16304) ********** READ INFO FROM NIBMENU TEXTFILE 11203 P$(20): P$ = PROGRAM NAME a S$(300):S$ = LINES OF TEXT INSTRUCTIONS RC$(20): RC$ = COMMAND USED TO RUN PROGRAM MP$(20): MP$ = PROGRAM NAME TO APPEAR IN MENU D$;"OPEN NIBMENU" D$;"READ NIBMENU" A$: A$ = DISK NAME? NA$"NIBBLE "A$:22:20((NA$)2):NA$:1j NP: NP = NUMBER OF PROGRAMS ON DISK I1NP:P$(I):I MM: MM = NUMBER OF VALID MENU ENTRIES "I1MM:MP$(I):RC$(I):I ,S$ 6I0 @II1:768,S$(I) J(S$(I),1,1)"#"350 T320# ^D$;"CLOSE"` h(1101)6İ1080: ********** UPPER/LOWER CASE ROUTINE r ********** FIRST TEXT SCREEN |::3 "Thank you for ordering the Nibble":A$;"!": "The programs on this disk are:": Z1NP:5:P$(Z):Z 1030:FLAG$"ESC"ī600O  ********** CYCLE THRU NIBMENU TEXT SCREENSW A1` :3 S$(A)"@"İ1030::3:((FLAG$"ESC"))490:600 S$(A)"#"510 S$(A) AA1:460  ********** LAST TEXT SCREEN BEFORE MENU :3!6:"Thanks again for your order !"+12:S6:"ALL PROGRAMS ON THIS DISK ARE"{&6:"COPYRIGHT (C) 1988 BY NIBBLE"06:"MICROSPARC, INC. CONCORD, MA"::17:5:"UNAUTHORIZED COPYING IS ILLEGAL"D1030N ********** SET UP MENU XMEMM2:X$(0)" ":X$(1)"-->":Vb1:1:"Selection: : Instructions"l3:"----------------------------------------";v5:20((A$)2):A$I1ME2:61I:8:I". "MP$(I):61(ME1):8:ME1". Catalog Disk"61ME:8:ME". Quit"B21:"----------------------------------------"23:1:"Type number or use arrows, then ";:PX10:SX4:SL1 ********** SELECT CHOICENSL:OSSL:780:Z0:24:868/1:12:SL:49168,0:16384,128::Z$((16384)128):Z$"1"Z$(ME)SL(Z$):NOS:780:700Z(Z$(21)Z$(10))(Z$(8)Z$(11))10(Z$(13))20(Z$(27)):Z950Z20ī380SLSLZ(Z10):SLSLME(SLME)ME(SL1)NOS:780:Z10700800 ********** PRINT POINTER SUBROUTINE% 61N:SX:X$(SLOS);:H ********** SELECTION ROUTINEa SL(ME1)İ860:600*SLMEİ900:SL1:780:68042:1:" "::2:1:RC$(SL):> ********** EXECUTE A VALID MENU CHOICEH49168,0::1100:D$;RC$(SL)&R ********** CATALOG SELECTED C\:49168,0::D$;"CAT":mf24:7:"Press to continue";p49168,0:49152,128:z ********** QUIT SELECTED22::958:"Do you really want to quit? (Y/N)";:49168,049168,0:49152,1280(49152)249(49152)217Ĺ49168,0::1100:6j ********** SOUND BUZZER FOR WRONG KEYSTROKE EQ110:EY(16336)(16336):EQ: ********** ERROR HANDLING ROUTINE:(1101)6ė:D$"PR#A$300"5(222)6(222)8Ģ19:(7);"Disk Error. Please insert Nibble disk":1010g19:(7);"An error #"(222)" has occurred. "23:"Press to continue ";:958:49168,0:49152,128:600 ********** WAIT FOR KEYSTROKEFLAG$""623:" for next page or for menu";:49168,0:49152,128T(49152)155FLAG$"ESC"Z$. *********** ATTACH UPPER/LOWER CASE ROUTINE8I013:ML:768I,ML:I:D$"PR#A$300":B ********** DETACH UPPER/LOWER CASE HANDLER L(4);"PR#0":0V ********** INSTALL INPUT-ANYTHING ROUTINEK`X768839:A:X,A::xj ********** INPUT-ANYTHING ROUTINE DATAt 32,190,222,32,227,223,36,17,208,5,162,163,76,18,212,133,133,132,134,165~ 184,164,185,133,135,132,136,32,44,213,173,0,2,201,3,208,3,76,99,216Z 169,0,133,13,133,14,169,0,160,2,32,237,227,32,61,231,32,123,218,165 135,164,136,133,184,132,185,32,183,0,96,0 ********** UPPER/LOWER CASE ROUTINE DATA 216,201,225,144,6,201,251,176,2,233,31,76,240,253,0  c` ` v`` ` v` `ݥ``8 ``+p|~p|*U*U*U*U*U*S( @?p~px|xժժժժժ pgBT* @?p~px|ЪժժժՊ @?~|>xaFaFF?p- U @?`p~?pxԊԪ"- U*U*U*uP*U*U*U*U*U }<_/" p@Pgp{?"dydw!<MժժժժժժdpO|`*U*U*U*U*U*p|~p|(U*U*U*U*U*S* @?p~px|ժժժժժ toBT* @?p~px|xժժժՂ `~}?~|C~axGFx- U @?`p~pp[(U*UA*U*uԪժժժժՊ @ [ժժժժժժdpO|`*U*U*U*U*U*p|~p|(U*U*U*U*U*S* @?p~px|ժժժժժ dOBT* @?p~Ap||xժժժՂ `|y #L ~`xCc- Uy(U*U P*U* > @p{?" NԪժժժժժ@ [ժժժժժժdpO|`*U*U*U*U*U*p|~p|(U*U*U*U*U* `AB@* @?p~px|ժժժժժ n_?BU* @?p~p|ժժժp}{  3 00C1c. Uz*U*U*U*U*U L @@ " NԪժժժժժtժժժժժժdpO|`*U*U*U*U*U*pp~p|(U*U*U*U*U* `AB@* @?p~px|ԪժժժժN?8` |1U* @?`p~p|ժժժpys # 3 00F1c- Uz*U*U*U*U*U 49N/ p<@Pg@ OorEc{yMԪժժժժժLժժժժժժf~p*U*U*U*U*U*@?@p~p||(U*U*U*U*U* pcBP* @?p~px|Ԫժժժժ_?<< p|G?1U* @?`p~p|ժժժx{w<|sxο+* Tw@*U*U*U*U*U QA"$"p E@_(@ "  Mժժժժժժtժժժժժժf~p*U*U*U*U*U*@?p~Ap||x U*U*U*U*U* pcBP* @?p~px|ԪժժժՊ?~x 0 FA F11U @?`p~p|ժժxsgD(i2"lower-UPPERCase Conversion ON"<768,"YOUR CHOICE -->";A$F:A$P::Z768,"A OR B :";A$," B OR C :";B$d:A$,B$nFLAG1ĀxT16000:FLAG1 818,234:819,234 : "lower-UPPERCase Conversion OFF"B 60ȥGL`=I`H h ` `=L`H8 h |` ` `L `??";:16368,0:C$:CH(C$):CH1CH3360 rCH430,500 |::23:6 XX(0)::::13:"PRESS ";:16368,0:A$:350< T ** COMPACT TEXT **Z w LM240:750:ADRBUF:110 230 :"PLEASE PRESS RETURN TO SEE THE":"UNCOMPACTED TEXT -->";:A$: 670: :"PLEASE PRESS RETURN TO SEE THE":"COMPACTED TEXT -->";:A$:/ 710:AC1:TX0:3905  AC1TX1ė:10:"YOU HAVEN'T COMPACTED ANYTHING, SO THEREIS NOTHING TO UNCOMPACT! PLEASE CHOOSE ONE OF THE FIRST TWO OPTIONS BEFORE THISONE.":390 270:670::15::"PLEASE WAIT"::::T$"":ADRBUF$TX1580:&T(ADR):T0570X0T$T$(T):ADRADR1:550e:T$:390mDI1zNA$(I)""XT(ADR):T0630bT141II1:ADRADR1:590lA$(I)A$(I)(T):ADRADR1:600vJ1I1:A$(J)::390 ** PRINT ASCII **QA1BUF(BUF256)256:A2(BUF256):A3(8):A4(9):310:Wq** PRINT CRUNCHED **wA1COM(COM256)256:A2(COM256):A3(6):A4(7):310:** INPUT ROUTINE **:5"PLEASE TYPE UP TO "LM" CHARACTERS."T$"":CHAR0: A$:A(A$):A13810K(T$)0780Q _*A8860x4(T$)0Č64477:780>(T$)1T$"":CHAR0:850HT$(T$,(T$)1):CHARCHAR1R(8)" "(8);:780\A32Č64477:780fCHARLMČ64477:780!pT$T$A$:CHARCHAR1:A$;:780'z@** SETUP PROGRAM **FQ1040A$(101):D$(4):BUF8192:COM16384:I13:M$(I)::::A$"NIBBLE TEXT CRUNCHER DEMONSTRATION":T$"** COPYRIGHT 1989 BY MICROSPARC, INC. **"]10:4:A$:12:13:"BY HOWARD HUANG":15:T$:23:5:"":16384,128:16368,023:868:12:868:I18:11I:868:10I:4:A$:14I:868:15I:T$;:34,3:35,21::D$"BLOAD TEXT.CRUNCH":D$"BLOAD TEXT.DECRUNCH":( COMPRESS TEXT,UNCOMPRESS TEXT,QUIT.G** ONERR ROUTINE **MER(222):ER4Z$"DISK IS WRITE PROTECTED."ER6Z$"CAN'T FIND DISK FILE.":::Z$:$ER8Z$"DISK I/O ERROR.".ER9Z$"NO MORE ROOM ON YOUR DISK." 8ER10Z$"THE DISK FILE IS LOCKED."mBER4ER7ER10Z$"ERROR #"(ER)" IN LINE "((218)(219)256)"."L:17::"ERROR!"::(7)(7)V12:21(Z$)2:Z$`19:958:9:"PRESS TO RETRY":MENU1Ė15:" FOR MENU"jZ$:Z$(32)ĺ::+tMENU1Z$(27)Č3288::350<~(7);:1120   򠽠űð 򠽠űô 򠽠űø 򠽠űà 卍 󺍪Ǡűȱ̠ Ȳ̠ ȱ̠ Ȳ̠ 򍍪 庍ǠŰ Һ Ȳ 婺Р 占à ЍÍà ЍӠ ЍĠ 덠Ġ Ѝ ȱ 婺Р 占à ЍÍà ЍӠ ЍĠ 덠Ġ Ѝ̭ ̭ ̭ Ѝ 򺍍̠ ԍ̠򫱠 Ѝ ̠ ԍ̠򫲠 Ѝ Һ Ȳ 婺Р 占à ЍÍà ЍӠ ЍĠ 덠Ġ Ѝ ȱ 婺Р 占à ЍÍà ЍӠ ЍĠ 덠Ġ Ѝ̭ ̭ ̭ Ѝ 򺍍̠ ԍ̠򫱠 Ѝ ̠ ԍ̠򫲠 Ѝ Һ ح ح 덠ĠƠ 占Ѡ 쩍Рۤݠ ԍӠ 婍̠ ̠ ٠٭ ۤݬ٠ ̬̩ؠ ح獠٠ ٠ ԍۤݬ٠ Ȭȩ ؠ ፠٠ ԍۤݬ٠ Ȭ̩ؠ ح獠٠ ԍۤݬ٠ ̬̩ ؠ ԍӠ ĠƠ 占Ѡ 쩍Рۤݠ ԍӠ 婍̠ ̠ ٠٭ ۤݬ٠ ؠ ̬̩ ح獠٠ ۤݬ٠ Ȭ̩ ؠ 򭱍 Һؠح Ġ 占 ٠٭ ̠ 򍍪 Һؠ ؠ ح獠Ġ 占à Ѝà à Ӡ 占à ̠̠ Ԡƍ