1 "S"AREAD CL$:GOTO 20000 5000 DATA "080f010a02e803ff900007359010fb7819374d4d4d4d4d027803fb9000073590" 5010 DATA "10ffe819374d4d4d4d4d020a2c03020a346b0828157804b802ff344eff2f0378" 5020 DATA "04b402ff344eff2f032f19374d03108359673c3a2267783a0703b702772c1367" 5030 DATA "5a3a0503b72c0b674b3a0503c62c0303a883d1452c13672d3a0683710f2c0a67" 5040 DATA "1e3a0683700f2c01835910807e52374d4d4d4d4d000000783c0000030078807f" 5050 DATA "023085db83594284db251080c552374d4d4d4d4d4d4d4d4d120410ff01000318" 5060 DATA "0702002624670d29042467ff290910ff031204000119374d4d4d4d4d02008adb" 5070 DATA "1080c457da835942528bdb78807f023087db83594286db078a5778819c528b59" 5080 DATA "374d4d4d4d4d021a7501788143020688db2c23d15a5a5a741084db02fb85db37" 5090 DATA "4d00008410815100011884030002051424d1d288db020089db24670038177881" 5100 DATA "8d58da2478818d83475978810ec8885989c7291a374d4d4d4d4d4d4d4d67413a" 5110 DATA "047537377530374d4d4d4d4d80db8a5903ff8345da81db3480598adb81598a46" 5120 DATA "805903ff8345da80db815903ff8345da81db8059da815983465b81dbda8a47db" 5130 DATA "374d4d4d4d4d84028adb850259db860237db2c3584028adb850247db8602dbdb" 5140 DATA "870237db2c23840280db8502dbdb86028adb870259db2c1184028adb850246db" 5150 DATA "8602dbdb870237db8410819c000319231080c400021f02781080c752374d4d4d" 5160 DATA "4d4d881080c600011888591080c4521080c55778810e48895988c7290d374d4d" 5170 DATA "4d4d4d02d203d22c1102d2035a2c0b025a03d22c05025a035a10829052da1082" 5180 DATA "95527804b8020834840200db500230db500240db500230db0507023b34d10457" 5190 DATA "d252d106575a522f0b0280344eff2f032f29374d4d4d4d4d" 5200 A=32816:B=632:C=54806:RETURN 10000 DATA "000000001082a800018218896000476002dbd1d2db8a6000476001d1dad2dad2" 10010 DATA "dad2dad288db89598bdb8a598b4689598a47885989448a448b44885910833152" 10020 DATA "8959108333528a5910833a528b5910833c521082aa5780db885967343a248859" 10030 DATA "8adb840299db8859d1d284455023db805986db5023db78834d88595a50595a80" 10040 DATA "db805967002802404e004e00125f6110df4e004e0060efdf6b02391341291637" 10050 DATA "4d4d4d4d4d0310238800011e8859d15adb50595adb3a1ad184595adb50595adb" 10060 DATA "2a0cd186598844875989c43a04c32923374d4d4d4d4d840261db850210db2c09" 10070 DATA "840260db8502efdb84108336000119374d4d4d4d4d021a750178814303f50524" 10080 DATA "67f5281137021a75017881430300052467f52808da52000604231f374d4d4d4d" 10090 DATA "4d021a7501788143103c005734020952020788db2389db246700384267fe3908" 10100 DATA "da020434da03006680380303f034024087db026086db23da15515b1451145114" 10110 DATA "51145114da5b34da3423da861407065778810e5b2f30c8885989c729455b103c" 10120 DATA "0052374d4d4d4d4d2388db030700018059125cdb5d4c6700283483598844c380" 10130 DATA "595adb6720291723125cdb5d021c88db00018059103e00524c67002811887008" 10140 DATA "80595adb674029158861ff028067803806d15a482d08885910ff5e5223103e00" 10150 DATA "52374d4d4d4d4d10ff135766042820e4b810ff478800011848c803086b023903" 10160 DATA "c329066b08281c49290fc9291237f49410ff5e576712380b670638076b082803" 10170 DATA "2d13374d4d4d4d" 10180 A=33448:B=551:C=47813:RETURN 15000 DATA "017886b237788514377885144d020d2c48021a2c4d78855e3778859c377885f4" 15010 DATA "377885fe37f533453431353500f532323143000000f52052454d4f5400f54520" 15020 DATA "4d4f444500025f84db02fd85db24670d2802377885302d0a670a380678853002" 15030 DATA "0a125f6150df6b8839030008125e61045f4e0cd22a1660fb4e045f4e0c41290c" 15040 DATA "60fb4e0d5f125f60afdf3761042d1410ff2e861a070688557885714849380323" 15050 DATA "263749125f6110df00086b082805cc5a3b034e094e1dcc5adad2da412909da26" 15060 DATA "670d380449291e125f60efdf3710ff01841a000723891e2467ff39cadac33a0b" 15070 DATA "0256900c02028f0c2d0c24dac33a070201900c2d08880205dbc8238edb7430c9" 15080 DATA "280667303805c87885300002901d492917040220670d28067884dc2d4a347885" 15090 DATA "305b242d1078868c10ff01861a2c0a78868c10ff03861a0702fd85db026084db" 15100 DATA "000f23881e24670a390475303a6f67102a6b90db2467402a1a67303a16753034" 15110 DATA "8213100a0009901441290403005b90142d1d91db2690db260610867b87531086" 15120 DATA "7c865324670d3820670a381c6720390c67222810264824670d380d670a380967" 15130 DATA "22290e26482d23020d264810ffff885302ff2610ff03861b6b08398c3702fd87" 15140 DATA "db026086db025088db7885712a04020d52375b5b370231788530023178853078" 15150 DATA "84dc377881d602f40384788038020d78813a02fc0384788038020d78813a0204" 15160 DATA "0385788038020d7883cd020c0385788038020d7883cde4b8023e78853078868c" 15170 DATA "6b08281e7884dc10fd61577a0586e7694c85f44d85fe5186a153859c5686a486" 15180 DATA "a0374d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d" 15190 DATA "4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d" 15200 DATA "4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d4d" 15210 A=33999:B=659:C=53718:RETURN 19999 END 20000 REM CODE BLOCKS MUST BE ON 5000,10000,15000 20020 IF CL$="NOCHK" THEN 20100 20030 GOSUB 20060 20040 GOSUB 24000:REM CHECK INTEGRITY 20050 GOTO 20110 20060 CLEAR:V$="1.10":DIM BA$(0)*64:J=0:GOSUB 5000:S=A,E=A+B,CS=C 20065 GOSUB 10000:E=E+B,CS=CS+C:GOSUB 15000:E=E+B-1,CS=CS+C 20070 GOSUB 21000:REM INTRO 20080 GOSUB 22000:REM CHECK HARDWARE 20090 RETURN 20100 GOSUB 20060 20110 GOSUB 25000:REM LOAD ML PROGRAM 20120 GOSUB 26000:REM MOVE POINTERS AND MAKE A NEW 20130 END 20999 REM INTRO 21000 PAUSE "This program will in-" 21010 PAUSE "stall PETOOLS ";V$;" on" 21020 PAUSE "your pocket computer." 21030 PAUSE "Caution: This procedure" 21040 PAUSE "will clear all memory" 21050 PAUSE "of your pocket computer" 21060 INPUT "Continue ? ";D$ 21070 D$=LEFT$(D$,1):IF D$="Y" OR D$="y" RETURN 21080 IF D$="N" OR D$="n" END 21090 GOTO 21060 21999 REM CHECK HARDWARE 22000 PAUSE "Checking hardware ...":CALL &4B8 22010 REM CHECK FOR DOUBLE ADDRESS DECODING --> 8K MEMORY 22020 N=S+100:LM=1 22030 FOR I=S TO N 22040 A=PEEK I,B=PEEK(I+&6000) 22050 IF A<>B LET LM=0,I=N 22060 NEXT I 22070 REM CHECK START OF BASIC POINTER 22080 A=&8030:IF LM LET A=&E030 22090 B=256*PEEK &FF02+PEEK &FF01 22100 IF A=B THEN 22200 22110 PAUSE "Caution: The basic start" 22120 PAUSE "pointer does not match" 22130 PAUSE "the default setting." 22140 PAUSE "Maybe a machine language" 22150 PAUSE "program is loaded or you" 22160 PAUSE "aren't using a 1403(H)." 22170 INPUT "Continue anyway ? ";D$ 22180 D$=LEFT$(D$,1):IF D$="N" OR D$="n" END 22190 IF D$<>"Y" AND D$<>"y" THEN 22170 22200 D$="1403H":IF LM LET D$="1403" 22210 PAUSE "You are using a PC-";D$:CALL &4B8 22220 RETURN 23999 REM CHECK INTEGRITY 24000 WAIT 0:RESTORE 5000 24010 A=0:PAUSE "Checking file integrity" 24020 P=0:GOSUB 30000:REM PROGRESS BAR 1 24030 FOR I=S TO E 24040 GOSUB 27000:A=A+B 24050 R=I-S,P=INT (15*R/(E-S)) 24060 IF P=Q THEN 24090 24070 GOSUB 30000:REM PROGRESS BAR 1 24080 Q=P 24090 NEXT I:BEEP 1 24100 IF A=CS RETURN 24110 PAUSE "Data Error: if you typed" 24120 PAUSE "the Program, check for" 24130 PAUSE "typo's, if you loaded" 24140 WAIT:PRINT "it, try loading again." 24150 END 24999 REM LOAD ML PROGRAM 25000 WAIT 0:RESTORE 5000 25010 PAUSE "Loading PETOOLS routines" 25020 P=0:GOSUB 30100:REM PROGRESS BAR 2 25030 FOR I=S TO E 25040 GOSUB 27000:POKE I,B 25050 R=I-S,P=INT (15*R/(E-S)) 25060 IF P=Q THEN 25090 25070 GOSUB 30100:REM PROGRESS BAR 2 25080 Q=P 25090 NEXT I:BEEP 1 25100 RETURN 25999 REM MOVE POINTERS AND MAKE A NEW 26000 PAUSE "Execute NEW ...":CALL &4B8 26010 A=E+1:IF LM LET A=A+&6000 26020 REM MOVE START OF BASIC POINTER 26030 POKE &FF01,A-INT (A/256)*256,INT (A/256) 26040 REM SWITCH TO PRO MODE AND EXECUTE NEW 26050 POKE 12349,16:NEW 26060 END 26998 REM THE READ ROUTINE 26999 REM USED VARS: BA$,J,K,L RETVAL: B 27000 IF J<=0 READ BA$(0):J=LEN BA$(0):K=1 27010 L=ASC MID$(BA$(0),K,1) 27020 IF L<58 LET L=L-48 27030 IF L>96 LET L=L-87 27040 B=16*L:L=ASC MID$(BA$(0),K+1,1) 27050 IF L<58 LET L=L-48 27060 IF L>96 LET L=L-87 27070 B=L+B:K=K+2:J=J-2:RETURN 29999 REM PROGRESS BAR 1 30000 Q=15-P 30010 PRINT "Checking ";LEFT$("ooooooooooooooo",P);LEFT$("...............",Q) 30020 CALL &4B8:RETURN 30099 REM PROGRESS BAR 2 30100 Q=15-P 30110 PRINT "Loading ";LEFT$("OOOOOOOOOOOOOOO",P);LEFT$("ooooooooooooooo",Q) 30120 CALL &4B8:RETURN