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}' .ANIMATE.SHAPESPϴ ȴ APPLE.SIGN =ϴ /,BASIC.SYSTEM (ϴ +'CHECKIT" ϴ ϲ DAY.OF.WEEK*gϴ +/DEC.FORMAT.DEMO+ ϴ V1 *FAST.INPUT1Eϴ 2 *IDENTIFIER4vϴ Ǵ3 IDENTIFIER.BIN7ϴ ( ,IDENTIFIER.S8ϴ MOVE.SHAPE>ϴ ,'NIBMENU? Ҵ! Ҵ! &PRODOSI }<ϴ %SAVERiϴ h. )SAVER.ASMm+ϴ  )SAVER.MACϴ SHAPESϴ ` SNOWFLAKESϴ ,'STARTUP ϴ p.STARTUP.SCREENC ϴ 9`4#TCCX;ϴ U +VIRT.MACS.Sϴ )-VIRT.MEM.DEMO ϴ ,VIRT.MEM.OBJϴ @- *VIRT.MEM.S!N?ϴ '  ! *************************A * ANIMATE.SHAPES *a * BY DAVID HARRIS *( * COPYRIGHT(C) 1990 *2 * MINDCRAFT PUBL. CORP. *< * CONCORD, MA 01742 *F ************************* P: Z: ** MAIN LOOP ** d(21)# n150: INITIALIZE; x270: DRAW MESSAGEI B$:::O :g : ** INITIALIZE **m :z 3:720 (24576)2ĺ(4);"BLOAD SHAPES,A$6000" 232,0:233,96 1:0 SCREEN0 X50:Y50:X1X:X2X:Y1Y:Y2Y:VECT0: NULL INITIAL VALUES :1X1,Y. :1X1,Y4 : :T : ** DRAW MESSAGE **Z :j "LOOP1189 ,230,32(SCREEN1) 61X11,Y1 @VECT10ēX,Y:230,32(2SCREEN):X,Y:230,32(SCREEN1) JX1X2:Y1Y2 TVECT ^440: MOVE hX2X:Y2Y rVECT10ĕ1X1,Y:390+ |2X,Y@ 16300SCREEN,0T SCREEN1SCREEN^ LOOPd j :| : ** MOVE ** : DIRVECT:DIR10DIRDIR10 DIR1YY1 DIR2YY1:XX1 DIR3XX1 DIR4YY1:XX1 DIR5YY1 DIR6YY1:XX1+ DIR7XX1B DIR8YY1:XX1H &N 0:g :: ** LETTER DATA **m D:{ N ** N ** X 15,15,15,15,15,15,15,15,15,15,2,1,1,1,1,1,1,1,14,14,15,14,15,14,14,14,11,11,11,11,11,11,11,11,11,4 b ** I **! l 2,14,13,13,16,15,15,15,15,15,15,16,13,13/ v ** B **  2,1,1,1,1,1,2,12,15,15,15,15,15,15,15,15,2,1,1,1,1,1,1,11,13,13,14,15,15,16,17,17,3,3,14,15,15,16,17,17  ** B ** 2,2,2,2,2,1,1,12,15,15,15,15,15,15,15,15,2,1,1,1,1,1,1,11,13,13,14,15,15,16,17,17,3,3,14,15,15,16,17,17' ** L **_ 2,2,2,2,2,1,1,12,15,15,15,15,15,15,15,15,13,13,13m ** E ** 2,1,1,1,2,1,1,12,15,15,15,15,15,15,15,15,2,1,1,1,1,1,1,11,13,13,6,6,5,15,13,6,5,5,15,13,13 2,2,2:(222)6ė:"THE FILE SHAPES":"MUST BE ON THIS DISK":O:"ERROR #"(222)" IN LINE "(218)256((219): Y13:"";A$(Y):::Y13:10Y:(42(A$(Y)))2:A$(Y)::49167,0::A$"":B$"":X120:A$A$"A@":B$B$"@A"::R01:10:A$:14:A$:Y02:AY2(Y2):11Y:1; (65A);:40:(64A);::856:10:B$:14:B$:Y02:AY2(Y2):11Y:1:(64A);:40:(65A);::856:R(49152)128:R::16368,0 !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#$%&'(). ********** NIBBLE PRD DISK **********[ * CHECKIT * * COPYRIGHT 1988 BY MINDCRAFT PUBL.CORP. *( * CONCORD, MA 01742 *2 *************************************' <:::"CHECKIT":"COPYRIGHT 1988 BY MINDCRAFT PUBL. CORP."0 F90\ PI0377:ML:CSCSML:::CS48127100 Z:"ERROR IN DATA STATEMENTS!":"PROBABLY LOCATED ON OR BEFORE LINE ";(123)(124)256: d216,0:768,0:H(3):H(0)1:H(1)16:H(2)256:H(3)40969 n6:"ARE YOU ENTERING A HEXADECIMAL":"FILE?";:A$:16368,0:A$d xA$"N"A$(110)İ370:34218,128:210 A$"Y"A$(121)110 768,1:10:958:"WHAT IS THE STARTING ADDRESS OF THE":"FILE (IN HEX)";:H$:290:AH2 A736A39424ĺ:"INVALID ADDRESS. PLEASE DOUBLE-CHECK":"AND RE-ENTER":350:140| 13:958:"WHAT IS THE LENGTH OF THE FILE":"(IN HEX)";:H$:290:BH B1B32000ĺ"INVALID LENGTH. PLEASE DOUBLE-CHECK":"AND RE-ENTER":350:160 :::34,1:2:"INSTALLING CHECKIT..."x A6144İ320:5799,(A256):5798,A256(5799):5801,(B256):5800,B256(5801):5802,0:230: ABOVE $1800 SOMEWHERE A6144İ370:34215,(A256):34214,A256(34215):34217,(B256):34216,B256(34217):34218,0:210: BELOW $1800 SOMEWHERE' (48896)76Ĺ56,0:57,133:1002:250B (4);"IN#A$8500":250l (48896)76Ĺ56,0:57,22:1002:250 (4)"IN#A$1600":250 :::34,1:2:"CHECKIT INSTALLED" (768)1ĺ:"ENTER THE MONITOR BY TYPING":" CALL -151"  Y"H0:L(H$):L1L4300:I1L:D((H$,I,1)):HHH(LI)(D48(D58D47)55(D64D71)):_,t6 $1600 VERSION@I0377:ML:5632I,ML:I:C5632JI018:ML:CML,(CML)111:T^21:"PRESS RETURN TO CONTINUE ";:CH$:CH$:16368,0:h $8500 VERSION5rI0377:ML:34048I,ML:I;| 216,32,27,253,201,154,240,31,201,141,208,26,134,224,32,178,133,32,251,218,32,128,254,56,165,8 229,9,32,218,253,32,132,254,166,224,169,141,96,32,106,134,44,170,133,16,43,169,1,133,6,169_ 8,133,7,160,0,177,6,133,251,200,177,6,133,252,240,63,200,177,6,32,79,134,200,177,6,32 79,134,165,251,133,6,165,252,133,7,208,221,173,167,133,133,7,173,166,133,133,6,160,0,177,6& 32,79,134,230,6,208,2,230,7,230,251,208,2,230,252,165,251,205,168,133,165,252,237,169,133,144 227,162,0,189,171,133,32,237,253,232,224,7,144,245,44,16,192,32,128,254,164,8,166,9,32,64 249,32,251,218,32,132,254,169,152,96,0,0,0,0,0,20,15,20,1,12,58,32,32,106,134,133> 6,169,2,133,7,160,0,177,6,201,176,144,73,201,186,176,69,177,6,44,170,133,16,53,201,210 208,4,166,251,240,61,201,162,208,8,72,169,1,69,251,133,251,104,201,160,208,6,166,251,208,25 240,26,201,191,208,19,132,226,160,0,185,117,134,32,79,134,200,192,5,144,245,164,226,176,3,32o 79,134,200,196,224,144,188,96,166,224,104,104,169,141,96,132,226,136,177,6,201,160,240,249,201,186 240,8,201,176,144,36,201,186,176,32,164,226,200,177,6,201,197,208,23,200,177,6,201,205,208,166 169,210,32,79,134,169,197,32,79,134,169,205,32,79,134,96,164,226,177,6,24,144,135,162,8,10 38,8,38,9,144,14,72,165,8,73,33,133,8,165,9,73,16,133,9,104,202,208,232,96,169,0 133,8,133,9,133,251,133,252,96,208,210,201,206,212 16,41,44,73,79,92,97,106,123,128,135,180,203,246,249,261,316,321,326  "ENTER DATE: MM,DD,YYYY";:13:"";M,D,Y:AY1:DYA(A4)(A100)(A400):E(12):I112:E(I):I:E(2)E(2)(Y4(Y4))(Y100(Y100))(Y400(Y400)):I1M:DYDYE(I):Ie DYDYE(I1)D:GDY(DY7)7:I0G:N$:I:N$;"DAY":31,28,31,30,31,30,31,31,30,31,30,31:SUN,MON,TUES,WEDNES,THURS,FRI,SATUR::"ANOTHER DATE? (Y/N) ";W$::W$"Y"Ĭ,-./0' ******************************M * FORMATTER *s * BY SILVIO BALESTRINI *( * COPYRIGHT(C) 1990 *2 * MINDCRAFT PUBL. CORP. *< * CONCORD, MA 01742 * F ******************************) PPART ONE: FORMATTER DEMO< ZX121.5:X2430B de n8)"EXAMPLES USING FORMATTER" x8)"------------------------" :"RUNNING TEXT:": " THE CUBE OF ";:FXX1:FT6.2:570 " IS ";:FXFX3:570:", AND"3 "THAT FOR ";:FXX2:FT0:570:" IS ";:FXFX3:FT.3:670:"."P :"CONVERSION TABLE:":y " INCHES CENTIMETERS MILES" " ------ ----------- ---------" I110 FT7:FXI:520 FT13.2:FXFX2.54:520 FT15.3:FXI125280:620: I  :%  IDENTIFIERS:A  FX = VALUE TO FORMATd " FT = FORMAT SPECIFICATION , DIGIT PART = FIELD LENGTH 6 DECIMAL PART = DECIMAL PLACES @ TEMPORARY VARIABLES: J T1, T2, T3, T4, T5, T6, AND T7  T IF FT = 10.2 AND FX = 66.666,G ^ 1. PRINT "D = ";:GOSUB 1400 PRODUCES ` h D = 66.67 r 2. PRINT "D = ";:GOSUB 1450 PRODUCES | D = 66.67  3. PRINT "D = ";:GOSUB 1500 PRODUCES  D = 6.67E+01  4. PRINT "D = ";:GOSUB 1550 PRODUCES /  D = 6.67E+01C  IF FT = 10.0,q  PRINT "D = ";:GOSUB 1400 PRODUCES  D = 67 (NO DECIMAL) :  SAVE THE FOLLOWING  PORTION OF THE PROGRAM  WITH THE COMMAND: "SAVE FORMATTER.SET":2 FORMATTER -- DECIMALE(FX)5E8630W590:T7(FT)f&T4T76000(" -",1(19T7T4),T7(T4T6))(((T3)"."),1,(T4T1T6))(((T2T31)10T1),2,T1);:: 19 BLANKS:(FX)5E8670D590:T7T4:560NT1((FT(FT))10.5):T1T1(T18)(T18):T2(FX).510T1:T3(T2):T6FX510(T11):T41(T10)T6T1(.4343(T3.5))(T21):X("*BAD*FIELD*BAD*FIELD",T7);:b:l FORMATTER -- EXPONENTIALv700:T4T15(T10)(FX0):T4FTT7FT:600(" -",1(19(FT)T4),FT(T4(FX0)));:FX0ĺ("0.0 ",T16);:: 19 & 12 BLANKS, RESPT5(.43429448((FX))):T2((FX)10T5.510T1):T3(T2)1(((T3)"."),1,(2T1(T10)))(((T2T31)10T1),2,T1)"E"(432(T50))("0"((T5)),2);:EFX0ĺ"0.0";:UFX0ĺ"-";c700:650T1((FT(FT))10.5):T1T1(T18)(T18):23" *************************C * FAST.INPUT *d * BY MARK J. YANNONE *( * COPYRIGHT(C) 1990 *2 * MINDCRAFT PUBL. CORP. *< * CONCORD, MA 01742 *F *************************a PA$"":X768790:Y:X,Y::51,128:162,0,32,106,253,160,2,138,145,105,200,169,0,145,105,200,169,2,145,105,76,57,213g Zs dD$(4) nL$(500) x240 D$"OPEN FILE" D$"READ FILE" X1500 768 L$(X)(A$,1) (4)"CLOSE FILE" Y1X L$(Y)  / (222)5XX1:190D "ERROR #"(222)56! *************************A * IDENTIFIER *a * BY JIM FERR *( * COPYRIGHT(C) 1990 *2 * MINDCRAFT PUBL. CORP. *< * CONCORD, MA 01742 *F *************************: P:D$(4):L1$"IDENTIFIER BY JIM FERR":L2$"COPYRIGHT(C) 1990 MINDCRAFT PUBL. CORP."H ZL1$:L2$j d GET DESCRIPTIONS INTO ARRAYw nID$(15) xX015:ID$(X):ID$(X):X D$"BRUN IDENTIFIER.BIN,A768" GET RESULT FROM IDENTIFIER ID(937) :"ID=";ID;". IDENTIFIED AS:"::ID$(ID);"." [ UNKNOWN OR NON-APPLE,APPLE II,APPLE II PLUS,APPLE III ORIGINAL APPLE IIE,ENHANCED APPLE IIE,ORIGINAL APPLE IIC APPLE IIC W/ 3.5 ROM,APPLE IIC W/ MEM. EXP. APPLE IIC W/ REV. MEM. EXP.,APPLE IIC PLUS- APPLE IIGS W/ ROM 00,APPLE IIGS W/ ROM 01Y APPLE IIGS W/ ROM 03,NEWER APPLE IIGSu NEWER THAN APPLE IIGS `8 a8?*4 43%2+-,+ɭ Ɋ````````` ` `0 (   ` ` ```9:;<= ύǠ Šՠ  øΠՠð ͍ҠĠ čĠ Ӡ 򮍪 ĠΠ ͍à 占ҠűƠ 宍ӠĠ 䮍àנ Ġ³Р ɍѠР ɍѠҳРŠĠðѠ͠ РѠIJŠ 占РŰѠײŠ 占ŠĠ͠Ơ ㍠Ѡò ͍РƍѠñ ㍠РѠó 𮍠РѠô 𮍠РѠӠ ŠĠҳ±ōРčѠӠ РŠĠ 􍪍 ɍӍĠ 占Ӎ ɍӍӠ ӍIJŠ 占ӍײŠ 占Ӎñ ㍠Ӎò ͍Ӎó 𮍠Ӎô 𮍠ӍӠ Ӎנà 占 ōР  ò  ҠűƠ  ؠ؍٠ٍР  ō٫ ŠҠ 󍪍٠ ѠͰ РѠͰ РѠͰ ŠӠ ӍͰӍͰӍͰӍӠӍҠӍ 卪Ġ  􍪍נ ؠנ٠נ' ******************************M * MOVE.SHAPE *s * BY DAVID HARRIS *( * COPYRIGHT(C) 1990 *2 * MINDCRAFT PUBL. CORP. *< * CONCORD, MA 01742 * F ****************************** P:3 ZL0100 dA:768L,A7 nL[ x 1,0,4,0,14,101,214,191,77,4,0m 232,0:233,3w 1:0 X52505 1X,100 D1100:D 1X,100 X@ABCDEFGHAUGUST 1990 DISK (VOL 11 /NO 8) 8 VIRTUAL MEMORY THE SHAPE OF THINGS TO COME SCREEN SAVER TIME CARD CONVERSION FAST INPUT ANYTHING DECIMAL FORMATTER WHICH APPLE II? CHECKIT 5 VIRTUAL MEMORY RUN VIRT.MEM.DEMO THE SHAPE OF THINGS TO COME RUN ANIMATE.SHAPES DECIMAL FORMATTER RUN DEC.FORMAT.DEMO WHICH APPLE II? RUN IDENTIFIER 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 VIRTUAL MEMORY, remove all but the following files from a copy of this disk: VIRT.MEM.DEMO VIRT.MEM.OBJ These programs are included only on the ProDOS side of this disk. @ To create a work disk for THE SHAPE OF THINGS TO COME, remove all but the following files from a copy of this disk: MOVE.SHAPE ANIMATE.SHAPES SHAPES These programs are included on both the DOS 3.3 and ProDOS sides of this disk. @ To create a work disk for SCREEN SAVER, remove all but the following file from a copy of this disk: SAVER 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 TIME CARD CONVERSION, remove all but the following file from a copy of this disk: TCC 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 FAST INPUT ANYTHING, remove all but the following file from a copy of this disk: FAST.INPUT This program is included on both the DOS 3.3 and ProDOS sides 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 DECIMAL FORMATTER, remove all but the following file from a copy of this disk: DEC.FORMAT.DEMO This program is included on both the DOS 3.3 and ProDOS sides of this disk. @ To create a work disk for WHICH APPLE II?, remove all but the following files from a copy of this disk: IDENTIFIER IDENTIFIER.BIN These programs are included on both the DOS 3.3 and ProDOS sides of this disk. @ 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. This disk also has the One- and Two-Liner programs. @ 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: VIRT.MEM.S (Merlin 8/16) VIRT.MACS (Merlin 8/16) SAVER.ASM (ORCA/M) SAVER.MAC (ORCA/M) IDENTIFIER.S (Merlin PRO) @ # JKLMNOPQRSTUVWXYZ[\]^_`abcdefghL !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&MIKEjkl ,@ < Screen SaverK 0 )[)  KE""F8""," 4"4" kH  h H) :hJJJJ 90 €0123456789ABCDEF)`)` Ⱦȹ `l .( )`I  (0_ ,9 8.:A[ (&耬) )ရ 0`` " H h`BHBh` Nibble Screen Saver Thomas Dorris Enter name to save screen as: (Include prefix and subdirectory (....................................... Press [SPACE] to view screenPress [ESC] to abort to accessories -Error code $ has occurred!Press any key to abortB  +KHH 8 Y Y F5 - % ɠ Y0hh )+k*      #&5:F"W"cjm4u4  !l/iBBB"nopqrstuvwxyz{|}~ ********************************** * * * SAVER.ASM Source Code * * by Thomas Dorris * * * * Copyright (c) 1990 * * MindCraft Publ. Corp. * * Concord, MA 01742 * * Orca/M Assembler * ********************************** MCOPY SAVER.MAC KEEP SAVER * * Global equates * keep 'rampatch' org $9c00 COL80CLR GEQU $E1C00C ;Sets 40 column mode OS_ID GEQU $E100BC ;1 for ProDOS 16 SCREEN GEQU $E12000 ;Super Hires screen BANK0 GEQU $000C00 ;Start Bank0 program MAIN START * * Initial data for a Classic Desk Accessory * STR 'Screen Saver' ;Title of CDA DC I4'SSSTART' ;starting code DC I4'SSEND' ;shutdown code * * * Main code block * * SSSTART PHK PLB ;Set data bank SEP #$20 STA COL80CLR REP #$30 LDA #TITLE JSR DISPLAY ;Clear screen JSR GETLINE ;Input name of file AND #$00FF ;Acc contains length BEQ SSEND ;If length=0, exit LDA #$A3 ;Display screen STA $E1C029 JSR CHCKID BEQ PRO16 JSR DOPRO8 BNE ERROR BRA CLS2 PRO16 DESTROY CREATEPARM ;Close and delete file BCC CRT CMP #$46 BNE ERROR CRT CREATE CREATEPARM ;Create new file BCS ERROR OPEN OPENPARM BCS ERROR LDA OPENPARM ;Save reference number STA WRITEPARM WRITE WRITEPARM ;Write screen data to disk BCS ERROR CLS CLOSE OPENPARM ;Close and return CLS2 JSR DSPOFF SSEND RTL * * * Error code. Displays error message and exits * * ERROR PHA JSR DSPOFF ;Set text mode LDA #ERRMSG JSR DISPLAY ;print error message PLA SEP #$20 LONGA OFF PHA AND #$F TAX LDA LST,X ORA #$80 STA $E0053A PLA LSR A LSR A LSR A LSR A TAX LDA LST,X ORA #$80 STA $E00539 REP #$30 LONGA ON WT LDA $E1BFFF ;Get key BPL WT STA $E1C010 JSR CHCKID BNE CLS2 BRA CLS ;Close if opened and exit LST ASC '0123456789ABCDEF' DSPOFF LDA #$1 ;Go to text mode STA $E1C029 RTS CHCKID LDA OS_ID AND #$00FF CMP #$1 RTS * * * Clears screen and displays message block * * DISPLAY LDX #$3FE STA LOADADR+1 STA LDADR1+1 LDA #$A0A0 CLEAR STA $E00400,X ;Store space DEX DEX BPL CLEAR LDY #$FFFE INCRY INY INY LOADADR LDX TITLE,Y ;Get screen address BEQ DISPDONE ;If zero, end of data INCRX INY INY LDADR1 LDA TITLE,Y ;Get character BEQ INCRY ;If zero, get next line ORA #$8080 STA $E00400,X INX INX BRA INCRX DISPDONE RTS * * * Input line. Ignores all but alphanumeric keys * * GETLINE LDA #NAME-STRT8+START8 ;location of P8 path STA ZPG2+1 INC A STA ZPG1+1 SEP #$20 ;8-bit accumulator mode LONGA OFF GETKEY1 LDX #0 GETKEY LDA #$2E STA $E00528,X JSR WAIT ;Get key and mask AND #$7F CMP #$60 ;Convert to upper case BCC UPPER EOR #$20 UPPER CMP #$8 BNE NTBKSP BKSP LDA #$AE ;delete cursor STA $E00528,X DEX ;Decrease counter BPL GETKEY BMI GETKEY1 NTBKSP CMP #$5F ;If delete, do backspace BEQ BKSP CMP #$20 ;If SPACE,screen display BEQ SCNDIS CMP #$1B ;If ESC, exit BEQ ESC CMP #$0D ;If return, done BEQ KEYDONE CMP #$2E BCC GETKEY ;Check for period and slash CMP #$3A BCC KEYOK CMP #$41 ;Check for alpha-keys BCC GETKEY CMP #$5B BCS GETKEY KEYOK STA BUF+1,X ;Store key in buffer (P16) ZPG1 STA NAME+1,X ;Store key in buffer (P8) ORA #$80 STA $E00528,X ;Display on screen CPX #38 BEQ GETKEY INX BRA GETKEY SCNDIS LDA #$A3 STA $E1C029 JSR WAIT LDA #1 STA $E1C029 BRA GETKEY ESC LDX #0 KEYDONE TXA STA BUF ZPG2 STA NAME REP #$30 LONGA ON RTS WAIT LDA $E1C000 BPL WAIT STA $E1C010 RTS * * * Swap bank 0, execute, & swap back * * DOPRO8 JSR SWAP ;Swap in Bank0 code JSL BANK0 ;Execute PHA JSR SWAP ;Replace original data PLA RTS SWAP LDX #END8-START8-2 ;length of Bank0 code SWAP1 LDA START8,X PHA DC I1'$BF,0,8,0' ;=LDA BANK0,X STA START8,X PLA DC I1'$9F,0,8,0' ;=STA BANK0,X DEX DEX BPL SWAP1 RTS * * * Title screen data * * TITLE DC I2'$00B' ASC 'Nibble Screen Saver ' DC I2'0' DC I2'$08E' ASC 'Thomas Dorris ' DC I2'0' DC I2'$380' ASC 'Enter name to save screen as: ' DC I2'0' DC I2'$028' ASC 'Include prefix and subdirectory ' DC I2'0' DC I2'$128' ASC '....................................... ' DC I2'0' DC I2'$3A8' ASC 'Press [SPACE] to view screen' DC I2'0' DC I2'$0D0' ASC 'Press [ESC] to abort to accessories ' DC I2'0' DC I2'0' * * * Error message data * * ERRMSG DC I2'$12D' ASC 'Error code $ has occurred!' DC I2'0' DC I2'$2AD' ASC 'Press any key to abort' DC I2'0' DC I2'0' * * * ProDOS information * * BUF DS 40 ;File name HNDL DC I4'START8' OPENPARM DS 2 ;Room for reference # DC I4'BUF' ;Filename pointer DC I4'HNDL' ;IO buffer handle CREATEPARM DC I4'BUF' ;Filename DC I2'$C3' ;Access type DC I2'$C1' ;File type DC I4'0' ;Aux type DC I2'1' ;Storage type DC I4'0' ;Date stuff WRITEPARM DS 2 ;number location DC I4'SCREEN' ;super hires screen DC I4'32768' ;Length of screen data DC I4'0' ;Room for amount written START8 ANOP * * * ProDOS 8 equates * * MLI EQU $BF00 ;ProDOS 8 MLI call BITMAP EQU $BF58 ;areas available for ProDOS MLIACT EQU $BF9B ;Bit 7 tells if active ZPAGE EQU $FA ;Used as pointer CCREATE EQU $C0 CDESTROY EQU $C1 COPEN EQU $C8 CWRITE EQU $CB CCLOSE EQU $CC * * * ProDOS 8 main routine * * OBJ $800 STRT8 ANOP OPNBUF DS 1024 PHD ;Save direct page PEA $0000 PLD PHB PHK PLB LDA ZPAGE ;Save zero page usage PHA LDA ZPAGE+2 PHA LDA #SCREEN ;Set up pointer to screen STA ZPAGE LDA #^SCREEN STA ZPAGE+2 LONGA OFF LONGI OFF SEC XCE SEP #$20 LDA BITMAP+1 STA MAPBYTE STZ BITMAP+1 JSR MLI ;Destroy file DC I1'CDESTROY' DC I2'DESTPARM8' BEQ DESTOK CMP #$46 ;FILE NOT FOUND BNE EXIT DESTOK JSR MLI ;Create file DC I1'CCREATE' DC I2'CREATEPARM8' BNE EXIT JSR MLI ;Open file DC I1'COPEN' DC I2'OPENPARM8' BNE EXIT LDA OPENREF STA WRITEREF STA CLSREF MOVEMORE LDY #0 MOVE LDA [ZPAGE],Y STA WRTBUF,Y NOINC INY BNE MOVE INC ZPAGE+1 JSR MLI ;Write next segment DC I1'CWRITE' DC I2'WRITEPARM8' BNE EXIT LDA ZPAGE+1 CMP #$A0 BNE MOVEMORE LDA #0 ;Load Acc with no error EXIT STA ERROR8 JSR MLI DC I1'CCLOSE' DC I2'CLOSEPARM8' LDA MAPBYTE ;Restore original bitmap STA BITMAP+1 LONGA ON LONGI ON CLC XCE REP #$30 PLA STA ZPAGE+2 PLA STA ZPAGE LDA ERROR8 AND #$00FF PLB PLD RTL * * * ProDOS 8 parms * * WRTBUF DS 256 ERROR8 DS 1 MAPBYTE DS 1 NAME DS 40 DESTPARM8 DC I1'1' DC I2'NAME' CREATEPARM8 DC I1'7' DC I2'NAME' DC I1'$C3' DC I1'$C1' DC I2'0' DC I1'1' DC I2'0' DC I2'0' OPENPARM8 DC I1'3' DC I2'NAME' DC I2'OPNBUF' OPENREF DC I1'1' WRITEPARM8 DC I1'4' WRITEREF DC I1'1' DC I2'WRTBUF' DC I2'256' DC I2'0' CLOSEPARM8 DC I1'1' CLSREF DC I1'1' OBJEND END8 ANOP END **************************************** * SAVER.MAC * * by Thomas Dorris * * Copyright(c) 1990 * * MindCraft Publ. Corp. * * Concord, MA 01742 * **************************************** MACRO &LAB ASC &A &LAB DC C"&A" MEND MACRO &LAB STR &A &LAB DC I1'L:&A' DC C"&A" MEND MACRO &LAB CLOSE &DCB &LAB JSL $E100A8 DC I2'$14' DC I4'&DCB' MEND MACRO &LAB CREATE &DCB &LAB JSL $E100A8 DC I2'$01' DC I4'&DCB' MEND MACRO &LAB DESTROY &DCB &LAB JSL $E100A8 DC I2'$02' DC I4'&DCB' MEND MACRO &LAB OPEN &DCB &LAB JSL $E100A8 DC I2'$10' DC I4'&DCB' MEND MACRO &LAB WRITE &DCB &LAB JSL $E100A8 DC I2'$13' DC I4'&DCB' MEND l-,.,.$5.$,6%,6%$5.---5----,-%-,-,,%--,%--,%-$<<<'?????>7?7?>?77??77?>7677?oI)--%-%--,%-%-,-,,%---o-%5%5%,6%$5.$5.$,6,.,.-5----,-%-,-,,%--,%--,%-$<<<'?????>7?7?>?77??77?>767o ---,-,-%-,-,%-%%-,--;232,0:233,96:24576,1:24577,0:24578,4:24579,0:3P(49152)176:P64(P(P10)10(P0))::A2458024595:A,((1)20)5:A:24596,0:Y27:Y:X064P:X:1140,96:X:Y:2 ******* 8/08/86 *******;* ProDOS STARTUP *X* BY OWL *u(* COPYRIGHT (C) 1987 *2* BY MINDCRAFT PUBL. *<* CONCORD, MA 01742 *F***********************P16384Z::D$(4):(21)d9703 n ********** GET HI-RES SCREEN AND SET DISPLAY SWITCHESd x11:3:"MINDCRAFT PRESENTS NIBBLE SOFTWARE" 15:13:"PLEASE WAIT..." D$"BRUN STARTUP.SCREEN" G(16297)(16300)(16301)(16304) ********** READ INFO FROM NIBMENU TEXTFILE 11201 P$(20): P$ = PROGRAM NAME _ 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$:1h 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"ī600M  ********** CYCLE THRU NIBMENU TEXT SCREENSU A1^ :3 S$(A)"@"İ1030::3:((FLAG$"ESC"))490:600 S$(A)"#"510 S$(A) AA1:460  ********** LAST TEXT SCREEN BEFORE MENU :36:"Thanks again for your order !")12:R6:"ALL PROGRAMS ON THIS DISK ARE"{&6:"COPYRIGHT (C) 1990 BY NIBBLE"06:"MINDCRAFT PUBLISHING CORP."56:"52 DOMINO DR, CONCORD MA 01742"::17:5:"UNAUTHORIZED COPYING IS ILLEGAL"D1030$N ********** SET UP MENUJXMEMM2:X$(0)" ":X$(1)"-->":b1:1:"Selection: : Instructions"l3:"----------------------------------------";v5:20((A$)2):A$I1ME2:61I:8:I". "MP$(I):61(ME1):8:ME1". Catalog Disk"861ME:8:ME". Quit"l21:"----------------------------------------"23:1:"Type number or use arrows, then ";:PX10:SX4:SL1 ********** SELECT CHOICENSL:OSSL:780:Z0:24:868Y1: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:Z107008002 ********** PRINT POINTER SUBROUTINEO 61N:SX:X$(SLOS);:r ********** SELECTION ROUTINE SL(ME1)İ860:600*SLMEİ900:SL1:780:68042:1:" "::2:1:RC$(SL): > ********** EXECUTE A VALID MENU CHOICE,H49168,0::1100:D$;RC$(SL)PR ********** CATALOG SELECTED m\:49168,0::D$;"CAT":f24:7:"Press to continue";p49168,0:49152,128:z ********** QUIT SELECTED22::958:"Do you really want to quit? (Y/N)";:49168,0(49168,0:49152,128Z(49152)249(49152)217Ĺ49168,0::1100:` ********** SOUND BUZZER FOR WRONG KEYSTROKE EQ110:EY(16336)(16336):EQ: ********** ERROR HANDLING ROUTINE:(1101)6ė:D$"PR#A$300"_(222)6(222)8Ģ19:(7);"Disk Error. Please insert Nibble disk":101019:(7);"An error #"(222)" has occurred. "23:"Press to continue ";:958:49168,0:49152,128:600  ********** WAIT FOR KEYSTROKEFLAG$""`23:" for next page or for menu";:49168,0:49152,128~(49152)155FLAG$"ESC"$. *********** ATTACH UPPER/LOWER CASE ROUTINE8I013:ML:768I,ML:I:D$"PR#A$300":B ********** DETACH UPPER/LOWER CASE HANDLER *L(4);"PR#0":ZV ********** INSTALL INPUT-ANYTHING ROUTINEu`X768839:A:X,A::j ********** 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,216 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ժժժժժRT* @?p~px|ЪժժժՊ dOE U @?`p~?pxԊԪ `|yg~0 cFc& U*U*U*@@ @%P*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|ժժժժժ `AFT* @?p~px|xժժժՂ n_?E U @?`p~ppp}{c0 cFc&(U*UA*U*uԪժժժժՊ @ [ժժժժժժdpO|`*U*U*U*U*U*p|~p|(U*U*U*U*U*S* @?p~px|ժժժժժ `AFT* @?p~Ap||xժժժՂ N?p1 U4pysc'C&0.cFc&(U*U P*U* > @p{?" NԪժժժժժ@ [ժժժժժժdpO|`*U*U*U*U*U*p|~p|(U*U*U*U*U*R@* @?p~px|ժժժժժ pcFU* @?p~p|ժժժ _?@>|. U5x{w cY#8X03X0FC30%*U*U*U*U*U L @@ " NԪժժժժժtժժժժժժdpO|`*U*U*U*U*U*pp~p|(U*U*U*U*U*R@* @?p~px|Ԫժժժժ pcFU* @?`p~p|ժժժ ?~ GC@F- U5xsg`c00@` 80 @ @TU9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/  TU9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/4 @ @> @ @ WE9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/   WE9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/4 @ @> @ @ TH9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/   TH9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/4 @ @> @ @ FR9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/  FR9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/4 @ @> @ @VTOTALS ->SAT / SUNSA9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/ /SA9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/ /SU9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/ /SU9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/ /JTOTALS -> ADJ USTMENTS ->KD@D@D@D@4D@D@ MO9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/  !MO9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/4 @ @> @ @"TU9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/  #TU9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/4 @ @> @ @$WE9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/  %WE9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/4 @ @> @ @&TH9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/  'TH9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/4 @ @> @ @(FR9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/  )FR9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/4 @ @> @ @V+TOTALS ->-SAT / SUN/SA9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/ /0SA9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/ /1SU9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/ /2SU9N@$@$@9N@$@$@P(@9N@$@$@9N@$@$@4(@/ /3J4TOTALS -> 6ADJ USTMENTS ->KD@D@D@D@4D@D@\8GRA ND TOTALS ->Ԡƍ 󍪽 ㍠ݱݲ㍠ݱݲݱݲ㍠ݱ፠ݱ፠㍠፠ݱ፠ݱ㍠ݱݱ􍠼㍠ᠣݱ͍㍠ݲ󫷠 占ᠣݱ󍠼㍠獠栢ݱݱ占ݱ덠Ԡ΍  *************************?* VIRT.MEM.DEMO *^* BY DR. JOHN R. VOKEY *}(* COPYRIGHT(C) 1990 *2* MINDCRAFT PUBL. CORP. *<* CONCORD, MA 01742 *F*************************P860Z=================== d Print Using Sub, n===================Q xX0ĺ" 0.00";:: For Speed Q$" "((X10ND%.5)):P%(Q$)((Q$)0) X%FW%P%(P%ND%1)(ND%2)(P%ND%1) X$"":X%0āQ1X%:X$X$" ":N X$X$(Q$,1((Q$)0),(P%ND%)(P%ND%)(P%ND%))(("0.0000000000",1,ND%1),1((ND%1)P%),1(ND%P%2)(P%ND%2))| X$X$(Q$,ND%(P%ND%)(P%1)(P%ND%)) (X$,FW%);: ================== Display Matrix ==================' 19:10:"";:6:9:CC1C2:(" "(C),6)" ";::o 8:RR1R2:(" "(R),4)" I";:CC1C2:XX(C,R):120:::710 ================== Highlight Item ================== IRR18:(ICC1)89::XX(IC,IR):120: ================= " Poll Keyboard& ,================= 6(16384)128310:K(16368)128:K13350:K8390:K21430:K10470:K11510:K113K81630:K71K103550:310 @============== J Return Key T============== ^19:1:"New value: ";X$:710:X$""310:X(IC,IR)(X$):2706 h==================L r Left Arrow Keyd |================== IC0310:670:ICIC1:ICC1270:C1C11:C2C13:220 ===================  Right Arrow Key ===================&IC99310:670:ICIC1:ICC2270:C2C21:C1C23:220C=======================^ Down Arrow {=======================IR99310:670:IRIR1:IRR2270:R2R21:R1R11:220===================== Up Arrow =====================CIR0310:670:IRIR1:IRR1270:R1R11:R2R21:220Y================m G Key (Goto)================&19:1:"Row: ";R$:710:R$""310:R(R$):R0R99550019:1:"Row: "R", ";:"Column: ";C$:710:C$""550:C(C$):C0C99560%:R1R:R190R190;DC1C:C196C196^NR2R19:C2C13:IRR:ICC:220tX================b Q Key (Quit)l================v======================== Unhighlight Item Sub========================(IRR18:(ICC1)89:XX(IC,IR):120:C=====================\ Erase Message Subw=====================19:1:868:=============== ON ERR Trap===============ERR(222):=================== Free Memory Sub! ===================;X(0):X0XX65536l 24:35:(" "((X102.4)10),5);:6:r*:4======================================> InitializeH======================================R: \750: Set ON ERR Trap+f Set 40-Column Text ScreenGp(14)(21):::D$(4)|zLINE$"----------------------------------------" Draw Main Screen Display12:"Virtual Memory Demo":14:"by John R. Vokey":"Copyright (c) 1990 MindCraft Publ. Corp."::LINE$:34,5;23:LINE$;:35,22:2039,("K")128:790D3:^ Get and Set PrefixzD$"PREFIX":"";PREFIX$ Attempt to Load and Execute Virtual Memory PatchERRĺD$"-VIRT.MEM.OBJ"ERRĺ"VIRT.MEM.OBJ not found":790: Update Current MemoryJ Attempt to Create Virtual Array on /RAM disk19:1:"Creating 50 kilobyte virtual array...":PTH$"/RAM/TEST"ERRįPTH$,X(99,99):24:"Path: "PTH$; If that fails, try the Prefix diskERRĭTRYPTH$PREFIX$"TEST":TRYERR:ERR0:1020= If that fails also, Stopm$ERRĺ"Virtual array could not be opened":.790: Update Current Memory8 Set up Matrix DisplayB:" R/C I":LINE$;:34,7:18:1:LINE$:20:LINE$;9L21:9:"Arrow Keys - Move Cursor":" G-Goto -Change Q-Quit";mVR10:R2R19:C10:C2C13:FW%8:ND%2:IR0:IC0` CLEAR out some unneeded variablesjLINE$,TRY:790t220: Allow user to play with array~======== Quit========+ Attempt to STORE current block to diskU19:1:"Storing array...";:ERRįXERRİ710:19:1:"Insert "PTH$" ";ERRĴ(16384)2411210:16368,0:710:ERR0:1190::BL@t L <8B=G?BC ,L A A A A A A A AҮ A A A`hh,0) HH`hh 'HHLɨL1CɽLYCɷLCL `E L? ELLȱLhhћ Ȋћሱȱ 'Feei 'F є78eȱeȱi  7G F8񔅃񔅄 Gee` Lȱ 7G ~G ` L4C Ll lk ȑBen? ,mmnn( kkl ` LaC { lݠGGG ޅ }Lޢ `E EL GG Gii Ӡȥ8囑ȥ圑ȩȥhihiȑȊ 'Fȑȩ GGG ^ȑ G GGGGGGGGGGGG G.'ˍG GGG G WELFL ff jF GGGGG荵G GL/G L4E ~Gmn`  } }$%Lީ 8(`SHHHHH hhhHH ,Ƅ hh)klnmŁћȱeȱe`FfeeeFffffڥLԭEJپھ p1J GGGGtG⍵G G GGGG`L jFGGG 8GGݍG GGGG GGG荵G G$ GȭGȭGȭGȭGH ~GhT` jF GȱGȱGȱGȱGݍG G GGG荵G G`G GL Giei`iLG GL  Ԯͮ Ү é ̮ Ю Ĭ 򩍍 󍪽 íҠ¸ؠōҠĶÍРŶҠĴҠҫĠű¸Ġűō͠ōԠ·Ǡ͠àŰčҠùРǠԠ±Ԡűàč٠ŰčٲŰƍԠƷĹԠųԠΠijųĠčҠˠ͠ƍǠӠ¸̠ķ͠ αŰƍҠű͠ŰԠҠĶÍҠƵŠŠҠ 孭򭭭̠Í̠̍ō̠̍̍ŠŲÍ̠ӲƸÍȠƍʠƹԠčč îͭ͠ŷԠŰ̠ŸҠƵĠ ĠĵŠƹŠƹ 믲РƵ֠ŴҠŴĠƹðôøōÍ 􍪽 占꠻ 占砤俍𫱍ᠨ٠ ٍ堺젺 􍺳𫱍𫱍ͫ󠺱占ᠣҍ㠺Ԡ 򍺱ԫ ̍㠻 㠣 占 򮍍占̫̍፠፠򠣤ƍ䠣㍠ᠣ썠젺Ь؍Ь؍̠ ̫堺ҫ̫̍Ӳ ᠨ̩٠˿堻 Ƞ 堺 ᠨ̩٠ 𠣾 忍㠺 𠣾䫤󠺲 㠻 ᠨٍ̩ʠ ̠ ̫𠺱 占 占̫̫̍̍̍ԫ̫ҫŠ 宍ûԠ ҍԫҫ â Ү 쮢 ㍍堺Ġ 頺 𠣤Ű 占㠺䠣ƍԍᠨٍ堺󍍠捠ܠ  𠣾͠ Ϳ堺 ᠣͫ 􍺱 Ҡ ԍԍŠ 堺Ҡ 󿍠堺Š Ҡ 堻 ͍Р 񠺱 Ԡ α ٲ 㠺 占Ġ嬠􍍺 퍠ᠨҩ٠ Ǡ Ǡ Կ񠺳 占Ġ嬠􍍺 ᠨҩ٠ ͠ 俍 ҠҠ ᠻ ëᠻ 占ëҩ٠ Ϳ㠺 Ҡ ፠ҩ٠ͿҠ 卺ҩٻ򫱍ҩٻ 󿍠񠺳 荠߱ 󍺳㍠ë 荠ë㠣͠ 堺 ͠ 젺 占 ة 򫱠 ԍ߱ ͍ҩٻ͍٠ ſٍԩٍ㠺 덠堺 䍠堺㠻 ᠣ 占䍠ᠣ덠㠣䫱㍠ 䍠ᠨԩٍ䍠䍠ᠨԩٍ䫱䫱ᠨԩٍ㠣䫲٠ 俍ٍ 占堺 ፠젺堻 덠䲠 덍㍠㠨ԩٍԍ㠨ԩٍԫᠻ ፠㍠Ԡ 占ԍԍԫԫԫԍ Ԡ 卺Ԡ 婍ᠨҩ٠ 쿍񠺲 占占Ҡ ҧ ͍ҩٻ͍堻 ፠堻 占Ԡ 占堺󍺳͠ ፠𠺱Ԡ 占堺 ҍҍԠ « 򿍠堺 󠺳 ᠣ ᠨҩٍᠣᠨҩٍ㍠ᠨҩ٠ Ҡ 占ҫ﫱㠨ҩٍᠨҩٍ𫱍č䍠ī䫱Š Ġ 썠čī𫱍ī 󠺴 㠣󠺴«Ԡ忍堺󍺵͠ ፠𠺱Ԡ 占̠ Ҡ 獠 占ëٻ荠ë占͠῍Ǡ 獠͠ à򿍠ˠ ͠Ҡ ˠР Ǎ堻 Р 翍͠ ٲ 󠺱 占Ġ 򍺱ٍ蠻 荠᲍㠣፠㠣덠𫱍Π  ͻҩ٠ 젺  ͫҩٍ 㠻 占Ҡ 占ᠨҩ٠ 𫱍ҫᠨҩٍҩ٠ 퍠ͻҩ٠ 婍占ᠻ 퍠㍠㠣 ᠻ 퍠㠣ᠨҩ٠ 퍠򫱠 ፠ᠨҩ٠ 퍠 ߱ ͠ 卍ᠣ ōᠨҩٍ젺뻨ҩ٠ Ӎ ͍ҩٻ͍٠ 捠堻 占嫱Р ᠨԩ٠ 荠ᠨة٠ 占ᠨԩٍ堺፠덠ᠣᠨԩ٠ 堺ԫ堺占٠ 占Ի󫱍Ի󫱍Ի󫱍Ż󫸍Ż󫱰㠺𠣱 򿍠堺 荠󫴠 占占堺 荠󫶍𠣢֢֧썠堺󫵍𠣢堺Ġ č䠻 ᠣ 荺ԍ㍠ 占ᠻ ፠󫲍󫳍󫴍󫵍 㠺򍺵񠺷 堺𠺴卍čč Í堻 ͍ԍ֍Íҍ֠٠ԍٍÍٍҠ𠣧֍ƻЍ΍֠𠣧čǍ֍ҍ֠Ǎ͍͍Π፠ᠣԍĠͫ㍠Ǎ㠣ٲ 占 덠ǍٲǍǍ፠Ѝ፠͠፠፠͍ԍ͍፠˫؍፠˫؍፠˫؍˫؍˫؍˫؍ë˫؍ë˫؍ ԍ𠣧͍͍ӍЍ䠣ƍǍٲ«Рҍҫī͍čIJ͠ᠨҩٍٍ͍ͫҩٍIJ٠ᠨҩٍ㍠ҍᠨҩٍҫЍIJ㠻 IJ߱ 䍺ػ؍젺̠ ᠣ؍젺 򍺳򫱍㠺㍠䍠䫱䫲堺 IJ Ҡ ֠ 忍񠺱 占Ҡ 俍񠺱 占ī ī堻 ᠣ ҍ٠ 󫱍󫲍󫳠 ͫ󫴍 占󫵠 ͍󫱠 󫱠󫱍ԍ䍠 䲠󫲍 ˍ堺󫲠 󫳠 덠񠺲 덠㠻 占㠣렻 󫳍㠣󫴍󫴍󫵍ᠻ ፠󫲍󫳍 㠺𠣵 ῍򍺳٠ Ӎ󫲻ԩٍ󫳻ԩٍ󫴻ԩٍ󫶻ԩٍ󫷻ԩٍᠣᠻ 占堻 占ᠻ 占 占岠ٍԩٻ󫲍ԩٻ󫳍ԩٻ󫴍ԩٻ󫴍ԩٻ󫵍ᠻ 󫲍󫳍 占 占ԍ፠ٍᠨԩ٠ 荠㍠㠣᲍㍠Ԡ ㍠ԍԫ㠣ԫ 占Ԡ 占٠͍㍠㠣ٲᠪư 占̠ 卍󠱍󠲍⠷⠤óč㠢֢⠱⠤󠱷⠲⠳󠵍⠴⠱렻 ŵ䍠栻