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(*+BASKETRLMCHECKER.BINL'-CHECKER.BIN.S0L ''CHECKIT$ 6/ ϲ )FREESPACE,L, -FREESPACE.ASM2 -L# +HEX.CHECKERJ L38 NIBBLE.APPLESR9L#NIBBLE.EXPRESSS7L.. 'NIBMENUT JP P &PRODOS] }<n% PUSHPTR}L, 'STARTUP~ ®3* .STARTUP.SCREENC 9`4)TDIVE.BINL'3 +TDIVE.BIN.S!>L TDIVE.SHAPESLc1TDSCORESP*TICKET.KIT L+ TL.BOMBERL1.TL.BOMBER.LONGL16 -TREASURE.DIVE sL2 #UNCL1/? 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 :C130:16:C:"=";::26:6:" _ _":26:"| | |":C715:30:C:"|"::34,10:35,15:33,6:170:X112::32,X:" O +-- ^ \/ >":D(X2):ZD2:AXZ:BA13Q B:5:"o"::32,0:13:17:" ":B11:33,40:A1723:A:B:"o":A:B:" ":BB1::A2426:A:5:"o":A:5:" "::A715:27:A:"o":27:A:" ":A::255H)JJJJ텍h)텍H)JJJJ텍h)텍ȱH)JJJJ텦םh)צםץեHH hh J Ai ɛL XL  && HI! I h 8 ` !"#ҮΠŠŠéԠ̮Ю䬠Ԡ ٠ԧˠ ǠϠՠɠՠƠՠԠ&ԠՠķԠϠԠ,ŠΠӠΠԠҠԠ ƫ ؠ̱Ƭ ؠŠ̱%ŠӠΠԠҠ ĠưȠŠԠ ج ȠŠԠ Ġ ج ƫ ĠưנŠԠ ج ƫĠƻנŠԠ ج ƫ%ŠӠΠԠҠ ٠ ؠ ؠ ̳àϩĠưԠ ج ؠ ƬĠƻԠ ج à ؠ Ƭ à РŠ̳   Ҡ  ؠҠƹԠ ؠҠƹԠŠ&ϻŠŠԠ à Š± à±ҠİûԠР»ÿѠĻӠ!РԻϠϠԠĠҠõ Рİ)Š٠ˠӠԠ٠٠٠٠ ̴ ؠ̵̠̠ಠҠ Ҡ²Š̵ ٠à̴ ҠҠŸԠà%ҠԠŠӠؠҠŸԠ"ؠà°±²³ؠà´µ¶·ูñòàóôõö%&'()*+. ********** 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 -./01H ,@ %##Free Space\H**KL1fiigUW/UiUWMWWWU"ULWfi fmiTi)_H]H"h]h_hh_H]HHH '"i cHaH"hahchhcHaHHH '"iLZHH$ "hHHK"kKHH "ᜋkKZ zk ;[ +`HH""HH"`K " HH:""iLi)i  HH:"HH"iHH:"HH "K"i HH:"HH "K"i L=kKHH "ᜋkNr,,@ Free Space Catalog 1Volume Capacity Free.D1.D2.D3.D4.D5.D6.D7.D8.D9;8  [@g"" && & 8   *8e 8+;i (kd8d d 8k% ).4f7;ADJMgPUSgVW\UbUgWjmWrWuz}WUUWff_]]__] ca %a)c.c2a6:LRUZX[`$c$orz~ !+.28;>AFNRX^aept=  (r^Y3456789:;<=>?@ABCDEFGHI***************************** * FREESPACE.ASM Source Code * * by Alan H. Stein * * Copyright (c) 1989 * * MindCraft Publ. Corp. * * Concord, MA 01742 * * Orca/M Assembler * ***************************** KEEP FreeSpace MCOPY FreeSpace.MAC Period gequ $FFFF ;don't pass "run" code EventMask gequ $FFFF ;handle all events NDA START dc i4'NDA_Open' ;open the NDA dc i4'NDA_Close' ;close the NDA dc i4'NDA_Action' ;perform NDA actions dc i4'NDA_Init' ;startup/shutdown dc i2'Period' ;Periodicity of "run" action dc i2'EventMask' ;permitted events dc C'##' ;Name in menu item form dc C'Free Space' ;Text for NDA name dc C'\H**',i1'0' ;id field + terminator * Open NDA if not previously open. Returns ptr to NDA window on the stack, * just above 3 byte return address. DM reserves this result space before * calling NDA_Open w/JSL instruction. NDA_Open ANOP Result equ $05 ;result stack offset after jsl, phb phb phk plb ;data bank = code bank lda NDAActive ;FreeSpace window already open? beq R1 ; no, so check drives & open window jmp Ignore ; yes, so ignore **************************************************************** * Get information from disks and save it in memory for use * with Quickdraw **************************************************************** R1 ANOP lda #49 sta WindBot ;depth of window stz DiskDataOffset ;initialize offset to data add4 #DiskData,#19,DiskDataAddr ;store location of disk data * Get information for first device lda #dev_name_str sta dev_name lda #dev_name_str|-16 sta dev_name+2 bra get_vol_info * Get information for next device NextDev add4 dev_name,#4 cmp4 #dev_name_end,dev_name ;down with list of devices? bcc N1 ;yes get_vol_info volume vol_list bcc SaveIt ;volume present -- store info cmp #$11 ;device present? bne NextDev ; yes, so check for next one N1 jmp DoneWDevices SaveIt ANOP add2 WindBot,#12,WindBot ;add room for another line lda #1 ldx DiskDataOffset sta DiskData,x ;flag data good ldx #VolumeName clc lda #DiskData adc DiskDataOffset adc #2 ;past flag tay lda #16 ;# bytes to transfer (less 1) mvn VolumeName,DiskData ;transfer data add2 DiskDataOffset,#41 ;prepare for next data div4 total_blocks,#2,capacity ;divide by 2 to get K PH4 capacity PH4 DiskDataAddr PH2 #11 PH2 #0 _long2Dec ;store as ASCII string add2 DiskDataAddr,#11 div4 free_blocks,#2,free_blocks ;divide by 2 to get K PH4 freeK PH4 DiskDataAddr PH2 #11 PH2 #0 _long2Dec ;store as ASCII string add2 DiskDataAddr,#30 ;update jmp NextDev DoneWDevices ANOP ldx DiskDataOffset stz DiskData,X ;flag end of data * Open window pha ;space for result pha pushptr WindowDef _NewWindow ;create and open NDA window plx ;pop ptr (low) pla ;pop ptr (high) stx WindowPtr ;save ptr to window sta WindowPtr+2 sta Result+2,s ;save Result on stack (high) txa sta Result,s ; (low) PH4 WindowPtr _SetSysWindow ;mark this as a DA window lda #$FFFF sta NDAActive ;set "open" flag plb RTL **************************************************************** * Close the NDA if not already closed **************************************************************** NDA_Close ANOP phb phk plb ;data bank = code bank lda NDAActive ;FreeSpace window open? beq Ignore ; no, so branch PH4 WindowPtr _CloseWindow stz NDAActive ;mark FreeSpace as closed Ignore plb RTL **************************************************************** * Perform the NDA action **************************************************************** NDA_Action ANOP phb ;save data bank phk plb ;make data bank = program bank phy ;save incoming data phx cmp #1 ;take action? bne NoAction ; no, don't jsr NDA_Event ; yes, check event NoAction ANOP lda #$FFFF ;say we took action plx ply ;fix stack plb RTL * X, Y (pushed on stack) contain ptr to event record NDA_Event ANOP TheEvent equ $05 ;1 (base) + 2 (jsr) + 2 (phd) phd tsc tcd ;align DP w/stack lda [TheEvent] ;get "what" code cmp #6 ;update event? bne te1 ;not supported jsr DoUpdate TE1 pld ;restore DP RTS DoUpdate ANOP PH4 WindowPtr _BeginUpdate ;visible region = update region jsl WindUpdate PH4 WindowPtr _EndUpdate ;restore entire visible region RTS WindUpdate ANOP * Make data bank = code bank phb phk plb * Get current value of PortRect pushptr PortRect _getPortRect lda #14 ;vertical Position sta Position lda #10 ;horizontal Position sta Position+2 PH4 Position _moveTo pushptr Header _drawString * Initialize disk data location, offset from start of data lda #(DiskData|-16) sta DiskDataAddr+2 clc lda #DiskData adc #2 sta DiskDataAddr stz DiskDataOffset NextVol ANOP ldx DiskDataOffset lda DiskData,x bne ShowIt ;another volume present jmp Done ;finished ShowIt ANOP clc txa adc #41 sta DiskDataOffset ;prepare offset for next line * Move pen to next Position add2 Position,#12 lda #10 sta Position+2 PH4 Position _moveTo * Push address of volume name on stack and print it PH4 DiskDataAddr _drawString add2 DiskDataAddr,#17 ;update lda #144 sta Position+2 PH4 Position _moveTo PH4 DiskDataAddr PH2 #11 _drawText ;total capacity PH2 #'K' _DrawChar ;write K add2 DiskDataAddr,#11 lda #216 sta Position+2 PH4 Position _moveTo PH4 DiskDataAddr PH2 #11 _DrawText PH2 #'K' _DrawChar add2 DiskDataAddr,#13 jmp NextVol Done ANOP plb RTL * Startup or shutdown the NDA. On entry, A = 0 for DeskShutDown, * A is non-zero for DeskStartup. NDA_Init ANOP phb phk plb cmp #0 ;starting up? bne NDA_Init1 ;yes, so do nothing lda NDAActive ;FreeSpace window open? beq NDA_Init1 ;no, so branch PH4 WindowPtr _CloseWindow ;close the window stz NDAActive ;set "closed" flag NDA_Init1 plb RTL * The data area begins here **************************************************************** * Window parameters **************************************************************** WindowDef ANOP MainWindow dc I2'WindEnd-MainWindow' dc I'%1100000010100101' ;window frame def dc I4'WTitle' ;pointer to window title dc I4'0' ;refcon dc I'0,0,0,0' ;zoom rectangle dc I4'0' ;color table dc I'0,0' ;origin offset dc I'250,300' ;height,width data area dc i'170,300' ;ht, width max window dc I'0,0' ;vert, horiz scroll dc I'0,0' ;vert, horiz page dc i4'0' ;infor bar refcon dc I2'0' ;info bar height dc i4'0' ;frame defproc (0=standard) dc i4'0' ;infor bar defproc dc I4'WindUpdate' ;content defproc WindRect dc I'28,20,198,320' ;Content region rectangle dc I4'-1' ;At the front dc I4'0' ;Storage WindEnd ANOP WTitle DW ' Free Space Catalog ' WindowPtr ds 4 ;pointer to window WindBot equ WindRect+4 ;depth of window NDAActive ds 2 ;used as a flag PortRect ds 8 Header DW 'Volume Capacity Free' Position ds 4 ;coordinates to move to VolumeName ds 17 DiskDataOffset ds 2 DiskDataAddr ds 4 DiskData ds 371 vol_list ANOP dev_name ds 4 ;ptr to devise name string vol_name dc i4'VolumeName' ;ptr to vol name string total_blocks ds 4 ;size in blocks free_blocks ds 4 ;# blocks unused file_sys_id ds 2 capacity equ total_blocks freeK equ free_blocks dev_name_str DW '.D1' DW '.D2' DW '.D3' DW '.D4' DW '.D5' DW '.D6' DW '.D7' DW '.D8' dev_name_end DW '.D9' END KLMNOPQ  ************************? * HEX.CHECKER *^ * BY LES STEWART *}( * COPYRIGHT (C) 1989 *2 * MINDCRAFT PUBL. CORP.*< * CONCORD, MA 01742 *F ************************PZ d:F$"":D$(4):A(0)1:A(1)16:A(2)256:A(3)4096~ nL1$"HEX.CHECKER BY LES STEWART":L2$"COPYRIGHT(C) 1989 MINDCRAFT PUBL. CORP.":L1$:L2$:550 x12:1:"WHAT IS THE PATHNAME OF YOUR": "MACHINE LANGUAGE PROGRAM? (? = CATALOG)"::F$;:F$""Ą"";F$:4706 20:1:"WHAT IS THE STARTING ADDRESS?"::;:"(IN HEX) $";A$l L(A$):L2L4180:(A$,1)"0"(A$,1)"8"170 A$(A$,L1)(56(((A$,1))56)48(((A$,1))56)) A0:X1L:D((A$,X,1)):AAA(LX)(D48(D58D47)55(D64D71)): A736A39424ė::(7)"INVALID ADDRESS. PLEASE DOUBLE CHECK":"AND RE-ENTER"::"PRESS RETURN TO CONTINUE ";:Z$:(Z$(13))1180,100 L8192:A9472L34048:- LOAD AT $2000 IF ADDRESS IS ABOVE $2500 OTHERWISE LOAD AT $8500 ::"INSTALLING HEX.CHECKER MACHINE CODE") X0252:ML:LX,ML:T L8192āX07:ML:LML,(LML)101: 1014,0:1015,(L256):P(A256):6,A256P:7,P ::"PLACE THE DISK WITH"::F$::"IN THE DRIVE AND HIT RETURN ";:Z$# ::"LOADING "F$:::"USE '&' TO ENTER CHECKER"::"AND 'ESC' TO EXIT"- 290M D$"BLOAD "F$",S"SL$",D"DR$S  "216,0:62248::(7):"UNABLE TO LOAD"::F$::"CHECK DISK AND HIT:":::3)"'RETURN' TO TRY AGAIN"::3)"'ESC' TO EXIT": ,3)"'R' TO RESTART ";:Z$%6Z$(13)Z$(27)Z$"R"Z$(114)290H@Z$"R"Z$(114)Į:F$"":100ZJZ$(13)240bT:^169,186,141,4,2,169,160,162,7,157,0,2,232,232,232,224,28,208,246,165,7,72,41,240h74,74,74,74,170,189,237,133,141,0,2,104,41,15,170,189,237,133,141,1,2,165,6,72,41jr240,74,74,74,74,170,189,237,133,141,2,2,104,41,15,170,189,237,133,141,3,2,160,255,162|4,134,215,230,215,200,177,6,72,41,240,74,74,74,74,170,189,237,133,166,215,157,0,2,104$41,15,170,189,237,133,230,215,166,215,157,0,2,230,215,165,215,201,28,208,213,165,6,72,165y7,72,32,174,133,104,133,7,104,133,6,162,1,32,74,249,165,7,166,6,32,65,249,165,624,105,8,133,6,208,2,230,7,32,12,253,201,155,240,3,76,0,133,32,88,252,76,208,3160,0,132,6,132,8,132,9,169,2,133,7,177,6,162,8,10,38,8,38,9,144,14,72,165w8,73,33,133,8,165,9,73,16,133,9,104,202,208,232,200,192,28,144,223,32,251,218,32,128254,56,165,8,229,9,32,218,253,32,132,254,96,176,177,178,179,180,181,182,183,184,185,193,194195,196,197,198 31,41,57,67,92,104,128,167590&F$""530F$"?"ĺ(4)("CATALOG",74((48896)76))",S"SL$",D"DR$:"PRESS RETURN TO CONTINUE";:R$:F$""::L1$:L2$:120530D$"VERIFY"F$",S"SL$",D"DR$14022:1:"INVALID PATHNAME...PRESS RETURN PLEASE";:YY$:YY$+22:1:958:F$"":120e&4:"ENTER SLOT # ";:SL$:SL$:(SL$)2(SL$)755001:6:"ENTER DRIVE # ";:DR$:DR$:(DR$)1(DR$)2560:22:1:"PRESS RETURN TO CONTINUE, ESC TO BACK UP";:RS$:" ":RS$(13)Ė1:22:958:D550lNER(222):ER3ER2Ģ22:1:"BAD SLOT OR DRIVE NUMBERS. PRESS RETURN";:R$::22:1:958:100XER8Ģ22:1:"I/O ERROR. PRESS RETURN";:R$::22:1:958:100A$"A":(4)"PR#3":(17)(27):P13163:L20:Z14:33,4::17:4:A$;::1)"O>"1)"<"(255)3)"M":K1300::17:4:2)"O/"::S12L::S1:P:" "7 :S:P:A$:120:S:LL1:255:Z,P:10:18:14:A$:15:A$::18:"ibble":18:3:">":K117:K:3:(124)::20:" \\":33,3:K130:::255:Z:G16:G$(G)::Q116:I140:G16:GQ:I:G$(G)::K(49200):1:12:"CHUGGA CHUGGA"::1:12:" TOOT TOOT ":(7):J1150::(7):6 " ( @"," /-\ @"," ! ( !-I!"," NIBBLE \_/ !:O!"," ------+----+!--!\"," 0-00-0 0--0 0--0_\": 10,3,9,3,8,2,1,1,2,1,AND 1 SPACESUVWXYZ[\DEC 1989 DISK (VOL 10 /NO 12) 7 TREASURE DIVE FREESPACE TICKET KIT HEX FILE CHECKER UNIVERSAL NUMBER CONVERSION TWO LINE TIPS CHECKIT 5 TREASURE DIVE RUN TREASURE.DIVE TICKET KIT RUN TICKET.KIT HEX FILE CHECKER RUN HEX.CHECKER UNIVERSAL NUMBER CONVERSION RUN UNC 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 TREASURE DIVE, remove all but the following files from a copy of this disk: TREASURE.DIVE TDIVE.BIN TDIVE.SHAPES These programs are included on both the DOS 3.3 and ProDOS sides of this disk. @ To create a work disk for FREESPACE, remove all but the following files from a copy of this disk: FREESPACE PUSHPTR 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 TICKET KIT, remove all but the following file from a copy of this disk: TICKET.KIT This program is included on both the DOS 3.3 and ProDOS sides of this disk. @ To create a work disk for HEX FILE CHECKER, remove all but the following files from a copy of this disk: HEX.CHECKER CHECKER.BIN These programs are included on both the DOS 3.3 and ProDOS sides of this disk. @ To create a work disk for UNIVERSAL NUMBER CONVERSION, remove all but the following file from a copy of this disk: UNC This program is included on both the DOS 3.3 and ProDOS sides of this disk. @ To create a work disk for TWO LINE TIPS, remove all but the following files from a copy of this disk: TL.BOMBER TL.BOMBER.LONG These programs are included on both the DOS 3.3 and ProDOS sides 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. @ 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-Line winners 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: TDIVE.BIN.S (Merlin) FREESPACE.ASM (APW) CHECKER.BIN.S (MindCraft) @ # ^_`abcdefghijklmnopqrstuvwxyz{|L !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&MIKE************************************* * PUSHPTR MACRO SOURCE CODE * * BY GARY B. LITTLE * * COPYRIGHT(C) 1989 * * MINDCRAFT PUBL. CORP. * * CONCORD, MA 01742 * ************************************* ;pushptr label MACRO &lab pushptr &label &lab dc i1'$F4' dc i2'(&label)|-16' dc i1'$F4' dc i2'&label' MEND  ******* 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) 1989 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 !A E UUՊՂ"Eh:U8("E0 ??? 0 0 ??? 0 0 ??? 0 0 ??? 0 0 ??? 0 0 ??? 0 0 ??? 0 0 ??? 0 0 ??? 0 0 ??? 0  *************************?* TICKET.KIT *^* BY VAL ADKINS *}(* COPYRIGHT(C) 1989 *2* MINDCRAFT PUBL. CORP. *<* CONCORD, MA 01742 *F************************* P(21): SETS DISPLAY TO 40 COLUMNS Z d TITLE SCREEN) nBD$(36)@ xX139:BD$;:X:] X118:BD$;37);BD$:Xr X139:BD$;:X 5:16:"TICKET KIT":7:15:"BY VAL ADKINS":9:13:"COPYRIGHT(C) 1989":11:10:"BY MINDCRAFT PUBL. CORP." 2010  INSTRUCTIONS3 2:"THIS PROGRAM WILL PRINT ADMISSION"a 4:"TICKETS OR NUMBERED RAFFLE TICKETS." 6:"YOU WILL BE PROMPTED TO ENTER THE" 8:"SLOT NUMBER OF YOUR PRINTER AND THE" 10:"TYPE OF TICKET TO BE CREATED. YOU WILL" 12:"THEN BE ASKED TO ENTER THE TEXT TO BE"O 14:"PRINTED ON THE TICKETS. YOU WILL BE" 16:"LIMITED TO 20 CHARACTERS ON THE FIRST" 18:"LINE AND 40 CHARACTERS ON THE OTHER" 20:"SEVEN LINES. SIMPLY FOLLOW THE PROMPTS." "2010 ,:10:"PLEASE ENTER YOUR PRINTER SLOT #";SL$> 6:SL(SL$):SL1SL7300^ @8:"DO YOU WISH TO CREATE"| J12:"A) RAFFLE TICKETS" T14:"B) ADMISSION TICKETS" ^18:4:"YOUR CHOICE ";TK$ hTK$(TK$,1) rTK$"A"TK$(97)TK$"B"TK$(98)350 |#  INPUT TICKET INFORMATION- 1700[ 8:"THE INFORMATION YOU ENTERED WILL BE" 10:"FORMATTED IN THE FOLLOWING MANNER." 2010  CK18 LS(K$(CK)) (40LS)2)K$(CK) CK1ĺ CK22:"IS THIS CORRECT? (Y/N) ";YN$YN$(YN$,1)LYN$"Y"YN$(121)YN$"N"YN$(110)500YN$"N"YN$(110)āCR18:K$(CR)"":CR:400&A$K$(1)0B$K$(2):C$K$(3)DD$K$(4)NE$K$(5)XF$K$(6)bG$K$(7)lH$K$(8)vNM$"NAME"ADR$"ADDRESS" TEL$"PHONE"/VL$(252)HL$"-------------------------------------------------------------------------------": 79 DASHESESC$(27):TC$ESC$"E": THIS PRINTS 12 CPIDW$(14): THIS PRINTS DOUBLE WIDTH CHARACTERS, IN THIS CASE 6 CPIAEDW$(15): THIS ENDS DOUBLE WIDTH PRINTING]TK$"A"TK$(97)İ750zTK$"B"TK$(98)İ1190 PRINT RAFFLE TICKETS:6:"FIRST TICKET NUMBER: ";FT$FT(FT$):FT17508:"LAST TICKET NUMBER: ";LT$ LT(LT$):LT1LTFT770p:12:"TICKETS WILL BE NUMBERED CONSECUTIVELY"::18)"FROM"::16)FT;" TO ";LT 23:"IS THIS CORRECT? (Y/N) ";YN$*YN$(YN$,1)4YN$"Y"YN$(121)YN$"N"YN$(110)800>YN$"N"YN$(110)7500H:12:"PLEASE BE SURE YOUR PRINTER IS READY.":20106RJ\(4);"PR#";SL$_f:TC$;: 12CPIhpHL$qzXX4~AFTLT25)VL$25)VL$;DW$;: DOUBLE WIDTH CHARACTERS(28(A$))2)A$EDW$;: END DOUBLE WIDTHTC$;: 12 CPI25)VL$9NM$;21)VL$;:(56(B$))2)B$Y25)VL$;:(56(C$))2)C$~ADR$;18)VL$;:(56(D$))2)D$25)VL$;:(56(E$))2)E$TEL$;20)VL$;:(56(F$))2)F$25)VL$;:(56(G$))2)G$25)VL$;:(56(H$))2)H$#A9A1ĺA;24)VL$;42)AE$A99A10ĺA;23)VL$;42)Ai.A999A100ĺA;22)VL$;42)A8A1000ĺA;21)VL$;42)ABHL$LAFTXXĺ(12)VAFTXXALTĺHL$`AFTXXXXXX5jALTĺ(12)t(16384)1552020~A(4);"PR#0":1550< PRINT ADMISSION TICKETSf:10:"PRINT HOW MANY TICKETS? ";NT$tNT(NT$)NT11190:12:10:"PRINTING ";NT;" TICKETS."16:10:"IS THIS CORRECT? (Y/N) ";YN$YN$(YN$,1)YN$"Y"YN$(121)YN$"N"YN$(110)1230:YN$"N"YN$(110)1190s:12:"PLEASE BE SURE YOUR PRINTER IS READY.":2010y (4);"PR#";SL$TC$: 12 CPIHL$(XX42A1NT<FDW$;: DOUBLE WIDTHP(30(A$))2)A$ZEDW$;: END DOUBLE WIDTH%dTC$;: 12 CPI1nPT28BxAD(K$(PT))Y(60AD)2)K$(PT)aPTgpHL$AXX1ĺ(12)ANTĺ(12):1500AXX1ĺHL$AXX1XXXX5(16384)1552060A(4);"PR#0":1550 CONTINUE OR QUITC12:"PRINT MORE TICKETS? (Y/N) ";YN$TYN$(YN$,1)"YN$"Y"YN$(121)YN$"N"YN$(110)1550,YN$"N"YN$(110)ė:6YN$"Y"YN$(121)ė:6:"WOULD YOU LIKE TO..."@9:4:" USE THE SAME TEXT.""J11:4:" CHANGE THE TEXT."BT15:4:"YOUR CHOICE? ";CH$S^CH$(CH$,1)hCH$"A"CH$(97)CH$"B"CH$(98)1620rCH$"B"CH$(98)ė:CT18:K$(CT)"":CT:320|(CH$"A"CH$(97))(TK$"A"TK$(97))A0:750&(CH$"A"CH$(97))(TK$"B"TK$(98))A0:1190,@ INPUT ROUTINEXB$(136):U$(223)I140:BB$BB$(136):UU$UU$(95):INL1:10:L20:"LINE #";NL::1790:NL28:10:L40:"LINE #";NL::1790:NL K$(NL)""1840LBU$(BB$,(K$(NL))1)(UU$,L)(BB$,L):K$(NL)::" ";:16384,128:K(16384):K141K155ĺB$" ";:16368,0:K160K2551790&BU$;:LI0:K$(NL)""::" ";::B$;:1980 0(UU$,L)(BB$,L);:LI0:K$(NL)"":16368,0::" ";::B$;:16368,06DK(16384):K1281860MNK159K2551990uXK141āKLIL:" ";:K:16368,0:bK1551930lLI0K$(NL)(27):U$;:16368,0:vLILĺ" ";:B$;(BB$,LI);:1840(K136K255)1980 LI0ĺ(7);:1850QLI1ĺB$;:U$U$;:B$;:B$;::" ";::B$;:LILI1:K$(NL)"":1850LILĺB$;:U$" ";:B$B$;::" ";::B$;:LILI1:K$(NL)(K$(NL),LI):1850B$;:U$U$;:B$;:B$;::" ";::B$;:LILI1:K$(NL)(K$(NL),LI):1850K1601850LILĺ(7);:1850M(K);::" ";::B$;:K$(NL)K$(NL)(K):LILI1:185023:"PLEASE PRESS RETURN WHEN READY.":49168,0:49152,128:2090CN$:CN$(13)ĺ(4)"PR#1":16368,0:1150CN$(27)Ĺ16368,0:11602020' 2090:CN$:CN$(13)ĺ(4)"PR#1":16368,0:1500FCN$(27)Ĺ16368,0:1510P 2060*16368,0:(4)"PR#0":23:1:"PRESS RETURN TO CONTINUE, ESC TO QUIT";:" TL.BOMBER BY GERALD BREAUXS COPYRIGHT(C) 1989 BY MINDCRAFT PUBL. CORP.) B9:I150::S$S$"@":H$H$" "::H$H$" BOOM!"H$:B$S$"PQQPP"S$:P$S$"0003"S$::T1999:BB160(B1):PP(P55)1:1:(P$,P,40):20:(B$,B,40);:K(49152)127:Q(49168):FF(F0)(P15)(P51)K 0:(52X)F,Y1:FF(Y37):XP(F0)X(F1):YYF2F:W((52X)F,Y1)1):SSW(1F(52X),Y)):(H$,1BW,40)::"TIME ";999T;" ","SCORE ";S::BB(W)66W:3F:(52X)F,Y1:& ******************************K * TL.BOMBER.LONG *p * BY GERALD BREAUX * * COPYRIGHT(C) 1989 * * MINDCRAFT PUBL. CORP. * * CONCORD, MA. 01742 *  ****************************** B9 I150 , (S$S$"@": 2H$H$" "@ <V FH$H$" BOOM!"H${ PB$S$"PQQPP"S$:P$S$"0003"S$ Z dT1999 nBB160(B1) xPP(P55)1 1:(P$,P,40) 20:(B$,B,40); K(49152)127:Q(49168) FF(F0)(P15)(P51)K+ 0:(52X)F,Y1: FF(Y37)P XP(F0)X(F1)^ YYF2F W((52X)F,Y1)1):SSW(1F(52X),Y)) (H$,1BW,40) :"TIME ";999T;" ","SCORE ";S BB(W)66W 3F:(52X)F,Y1  ! *************************A * TREASURE.DIVE *a * BY JOHN ROMERO AND *( * ROBERT LAVELOCK *2 * COPYRIGHT (C) 1989 *< * MINDCRAFT PUBL. CORP. *F * CONCORD, MA 01742 * P *************************5 Z27000:DRW32768:SOUND32786:FA$(21):BA$(8)` dI785788:J$:I,(J$)128::W,S,J,K n(21):769,203:771,1:770,101:SD3 xD$(4):(772)111160 772,111 1150 D$"BLOAD TDIVE.BIN":D$"BLOAD TDIVE.SHAPES" 180 D$"VERIFY TDSCORES":190q (222)41510:D$"OPEN TDSCORES":D$"WRITE TDSCORES":I110:0:"???":0::D$"CLOSE" 216,0:D$"OPENTDSCORES":D$"READ TDSCORES":I110:S(I):N$(I):L(I)::D$"CLOSE" 970:d :21:"TREASURE DIVE BY JOHN & ROB (C) 1989"::"USE ARROWS TO SELECT, RETURN TO ACCEPT "::"( ) PLAY ( ) SCORE ( ) FIX ( ) QUIT";:H2 H:A$:A$FA$HH10:H32H2 A$BA$HH10:H2H32 A$(13)220 H12İ940:A$::3100:210 H221220 H32ĉ::3:"BYE. TYPE 'RUN' TO PLAY.":M LV1:LLLV:779,3:780,0:781,0:768,1:MN0:MM10e "I09:35603I,0:w ,784,8:783,8 6890:773,0:774,35:775,5:DRW:I119:773,I1:DRW:773,I:DRW:SOUND: @LL5MN1 JMN410 TI09:35603I,0:IMNĹ35603I,1 ^IMN400M hMX(1)35:MY(1)7060:35583I,MX:35593I,MYm r773,MX:774,MY:775,6:DRW |3:MX75,MY6MX75,144 35616I,MX75:35626I,MY6 &I019:X(1)38:Y(1)7260:AS3((1)1.7):35348I,X:35368I,Y:35408I,AS:35328I,0:ILVĹ35328I,15ILV460W35388I,255:AS3Ĺ35388I,1SP(1)61:35428I,SP:35448I,SP773,X:774,Y:775,AS:DRW775,2:CX(1)38:777,CX:773,CX:774,137:778,137:DRW920:32771770,SD5049'784,10:I150:783,I:SOUND:932780:32774URCODE(776):RC1610tI5011:783,I:SOUND:32777:32783&784,6:783,100774,35:775,5:I2040:773,I1:DRW:773,I:DRW:SOUND::DRW:LVLV1:LLLL1:LV20LV20DMNMNMN1:MNMMMNMM@N:21:16:"READY??":I11000:IX310XbRC3650l:21::"YOU QUIT????!!";::784,5:I110:J1011:783,J:SOUND:J,I:A$:v773,(777):774,(778):775,2:DRW:773,19:774,35:775,5:DRW32777:32783:210779,0:32780<23:1:868:15:"GAME OVER."774,35:775,5:I2041:773,I1:DRW:773,I:DRW:J1100:J,I(782)700773,(777):774,(778):775,2:DRW&21:1:868::"DOWN TO DAVY JONE'S LOCKER FOR YOU!":::"MANY LEAGUES OF TREASURE REMAIN LOST...";:A$::32777:32783JSC0:3278022:LOC6(40)(41)256:I03:SCSC((LOCI)176)(10(3I)):I110:SCS(I)FLI:I10::760:210I10FL1:S(I)S(I1):N$(I)N$(I1):L(I)L(I1):+940:1:1:868:"YOU GOT A HIGH SCORE !!!"c 17:1:868:"TYPE YOUR NAME IN (OR WHATEVER) !!!"FL4:5((SC)):SC;:7:868:32:LL;:6:">";:28:"<"; 7:"";N$(FL):(N$(FL))21ĺ(7):790*4FL:32:LL34L(FL)LL:S(FL)SC:20:1:"IS THIS CORRECT? (Y/N):";:A$:A$"N"Ė1:868:790=>860H:D$"DELETE TDSCORES":D$"OPEN TDSCORES":D$"WRITE TDSCORES":I110:S(I):N$(I):L(I)::D$"CLOSE"R:3100:216,0:210G\21:1::"I/O ERROR!";::" INSERT DISK & PRESS SPACE TO TRY":"AGAIN OR 'C' TO CONTINUE:";:A$:21:1:958:A$" "A$"C"860WfA$" "840gpA$"C"850z:15::21:": "LL9)" :":15:" LEVEL "LL;LL10);LL9)" ":15:": "LL9)" :" LL5(LL5)0ĝ:14:LL9)"FREE FROGMAN!";:779,(779)1:A:21:"FROGMEN:"20)"LEVEL:":"SCORE:"G::"FAMOUS UNDERWATER VOYAGERS:"::"SCORE WHODUNNIT"32)"LEVEL":"----- ---------"32)"-----"I110:"0000";:5((S(I))):S(I)" "N$(I);32);L(I):!::"CAN YOU GET ON THIS LIST? JUST TRY!:";:::230,32:62450:9:11::": :":9:" TREASURE DIVE ":9:": :":: 20,5,1,4,and 20 spaces230,64:5:0,0:62454:230,326:0,45279,45*3:I049:X(1)254:Y(1)40:X,Y:35481I,X1:35531I,Y:S::7:"CONCEPT BY ROBERT LAVELOCK"7:I06.283.1:(I)9260,(I)820260,20:7:"PROGRAMMING BY JOHN ROMERO"4:I06.283.1:(I)9265,(I)820260,20:7$:11:"COPYRIGHT (C) 1989"2.I050:Y(1)8152:X(1)279:X,Y:R810:"MINDCRAFT PUBL. CORP.`B5:1,147LI050.5:XI5.58:Y(I)1.5147:X,Y:V16368,0`24:8:"PRESS RETURN TO CONTINUE:";:A$j3100t~::"INITIALIZING..."\LOC24576:CO0:H02:BYTE31:I03:BYTEBYTE1:J01:K07:LOCCO,BYTE(4K):COCO1::::LOCCO,255:COCO1:CO2561170BYTE0:1210:BYTE40:1210:BYTE80:1210LOCCO,255:COCO1:CO5121190+I03:J01:K07:LOCCO,BYTE:COCO1::BYTEBYTE128::BYTEBYTE256:::21::"USE ARROWS TO SELECT, RETURN TO ACCEPT"::"SKILL LEVEL:1...2...3...4...5";H((770)49)50:HH1:H13(H4)H:A$:A$FA$HH4:H29H13A$BA$HH4:H13H29A$(13)1240 SD((9H)4):770,SD5049^22:1:868:"SOUND:( ) ON ( ) OFF";:H8:(771)H17 H:A$:A$FA$HH9:H17H8A$BA$HH9:H8H17A$(13)1290(771,1:H17Ĺ771,0222:1:868:"CONTROLS:( ) JOYSTICK ( ) KEYBOARD";:H11:(769)203H25=<H:A$:A$FA$HH14:H25H11[FA$BA$HH14:H11H25oPA$(13)1340Z769,203:H11Ĺ769,202:1440d:21:1::"DEFINE KEY CONTROLS BY TYPING THE KEY"::"UP :"20)"LEFT :":"DOWN:"20)"RIGHT:"n22:6:A$:785,(A$)128:1450=x23:6:A$:786,(A$)128:1450b22:26:A$:787,(A$)128:145023:26:A$:788,(A$)128:1450I11000::210A$BA$ĺ"LA":A$FA$ĺ"RA":A$(10)ĺ"DA":A$(11)ĺ"UA": A$(13)ĺ"CR":A$:r:"THIS DISK IS WRITE-PROTECTED"::"PLEASE REMOVE WRITE-PROTECTION":"AND TYPE RUN":! *************************A * UNC *a * By Garth A. Perry *( * Copyright(c) 1989 *2 * MindCraft Publ. Corp. *< * Concord, Ma 01742 *F *************************PZ(21)P dDIG$"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ":MB%(DIG$): INIT POSSIBLE DIGITS & MAX BASEg n360: DIPLAY LOGO x"Do you want instructions?N";(8);:C$:C$:C$(13)C$"N" C$"Y"C$"N"Č1059:120 C$"Y"ė:360:390 { "Number To Be Changed?";NB$:F$(NB$,1):F$""220:NB$"#"150:NB$"$"150:(F$"$"F$"#")170:F$"Z"150:F$"0"150:(F$"9"F$"A")150 (NB$,1)"#"NB$(NB$,(NB$)1):OB%10:NB%16:210 (NB$,1)"$"NB$(NB$,(NB$)1):OB%16:NB%10:210: BASE 16 TO BASE 10 ASSUMEDO "ORIG BASE ?";OB%:OB%2OB%MB%:1059:"BASE INVALID"::190 "NEW BASE ?";NB%:NB%2NB%MB%:1059:"BASE INVALID"::200 250:160: CONVERT NUMBER ::360:10:"DO YOU WANT TO QUIT?";:ZZ$:ZZ$"Y"ZZ$"y"ĉ:: ZZ$"N"ZZ$"n"ė:370:160" 220A *****CONVERT NUMBER***** DEC0:B1:LN%(NB$):ILN%11:J1OB%: LOCATE ORDINAL VALUE OF ORIG NMBR (NB$,I,1)(DIG$,J,1)290 D%J:J99 ":J90I1:310: INVALID CHARACTER$ ,DECDEC(D%1)B:BBOB%: ACCUMULATE BASE TEN NMBR; 6:I0350: ERRORY @NN$"": CONVERTED NUMBER JQ(DECNB%):NN$(DIG$,DECQNB%1,1)NN$:DECQ:Q0330 TNB$;" ";::"BASE ";OB%;::" IS ";NN$;" ";::"BASE ";NB%:::6^1059:">>INVALID DIGIT(S), MUST BE FOLLOWING<< ";::I1OB%:(DIG$,I,1);::::Sh *****DISPLAY LOGO*****r::9:"UNIVERSAL NUMBER CONVERTER":14:"BY GARTH A. PERRY":14:"COPYRIGHT(C) 1989":12:"MINDCRAFT PUBL. CORP."|:34,5:: *****DISPLAY INSTRUCTIONS*****:"This program can be used to convert a"::"number from any base in the range of two":"through 36 to its equivalent value in a"::"new base of the same range. Enter the":"number and its base then the new base."::"Any blank number will stop the program."B::(6):"PRESS RETURN TO CONTINUE";::C$:"If the 1st chacacter is '#', decimal to"::"hexadecimal is assumed; if it is a '$'"::"hex to decimal is assumed.":::(6):"PRESS RETURN TO CONTINUE";::C$: