1 "S"AREAD CL$:GOTO 20000 10 REM ** PockASM ** 20 REM ** Author = aldweb@multimania.com ** 30 REM ** http://www.multimania.com/aldweb/ ** 40 FOR A=32816 TO 33447 50 READ B 60 POKE A,B 70 NEXT A 80 DATA 8,15,1,0,2,232,3,255,144,0 90 DATA 7,53,144,16,251,120,25,55,77,77 100 DATA 77,77,77,2,120,3,251,144,0,7 110 DATA 53,144,16,255,232,25,55,77,77,77 120 DATA 77,77,2,10,44,3,2,10,52,120 130 DATA 4,184,2,255,52,78,255,47,3,120 140 DATA 4,180,2,255,52,78,255,47,3,47 150 DATA 21,55,77,77,77,77,77,3,16,131 160 DATA 89,103,60,58,34,103,120,58,7,3 170 DATA 183,2,119,44,19,103,90,58,5,3 180 DATA 183,44,11,103,75,58,5,3,198,44 190 DATA 3,3,168,131,209,69,44,19,103,45 200 DATA 58,6,131,113,15,44,10,103,30,58 210 DATA 6,131,112,15,44,1,131,89,16,128 220 DATA 126,82,55,77,77,77,77,77,0,0 230 DATA 0,120,0,0,0,3,0,120,128,127 240 DATA 2,48,133,219,131,89,66,132,219,37 250 DATA 16,128,197,82,55,77,77,77,77,77 260 DATA 77,77,77,77,18,4,16,255,1,0 270 DATA 3,24,7,2,0,38,36,103,13,41 280 DATA 4,36,103,255,41,9,16,255,3,18 290 DATA 4,0,1,25,55,77,77,77,77,77 300 DATA 2,0,138,219,16,128,196,87,218,131 310 DATA 89,66,82,139,219,120,128,127,2,48 320 DATA 133,219,131,89,66,132,219,5,138,87 330 DATA 120,129,156,82,139,89,55,77,77,77 340 DATA 77,77,2,26,117,1,209,90,90,90 350 DATA 116,16,134,219,2,251,135,219,2,6 360 DATA 136,219,44,27,77,77,77,77,77,0 370 DATA 0,134,16,129,81,0,1,24,134,3 380 DATA 0,2,5,20,6,87,209,210,136,219 390 DATA 2,0,137,219,6,87,103,0,56,24 400 DATA 120,129,141,88,218,6,87,120,129,141 410 DATA 131,71,89,120,129,14,200,136,89,137 420 DATA 199,41,28,55,77,77,77,77,77,103 430 DATA 65,58,4,117,55,55,117,48,55,77 440 DATA 77,77,77,77,128,219,138,89,3,255 450 DATA 131,69,218,129,219,52,128,89,138,219 460 DATA 129,89,138,70,128,89,3,255,131,69 470 DATA 218,128,219,129,89,3,255,131,69,218 480 DATA 129,219,128,89,218,129,89,131,70,91 490 DATA 129,219,218,138,71,219,55,77,77,77 500 DATA 77,77,132,2,138,219,133,2,89,219 510 DATA 134,2,55,219,44,53,132,2,138,219 520 DATA 133,2,71,219,134,2,219,219,135,2 530 DATA 55,219,44,35,132,2,128,219,133,2 540 DATA 219,219,134,2,138,219,135,2,89,219 550 DATA 44,17,132,2,138,219,133,2,70,219 560 DATA 134,2,219,219,135,2,55,219,132,16 570 DATA 129,156,0,3,25,35,16,128,196,0 580 DATA 2,31,2,120,16,128,199,82,55,77 590 DATA 77,77,77,77,136,16,128,198,0,1 600 DATA 24,136,89,16,128,196,82,16,128,197 610 DATA 87,120,129,14,72,137,89,136,199,41 620 DATA 13,55,77,77,77,77,77,2,210,3 630 DATA 210,44,17,2,210,3,90,44,11,2 640 DATA 90,3,210,44,5,2,90,3,90,16 650 DATA 130,144,82,218,16,130,149,82,120,4 660 DATA 184,2,8,52,132,2,0,219,80,2 670 DATA 48,219,80,2,64,219,80,2,48,219 680 DATA 5,7,2,59,52,209,4,87,210,82 690 DATA 209,6,87,90,82,47,11,2,128,52 700 DATA 78,255,47,3,47,41,55,77,77,77 710 DATA 77,77 1010 REM ** PockASM ** 1020 REM ** Author = aldweb@multimania.com ** 1030 REM ** http://www.multimania.com/aldweb/ ** 1040 FOR A=33448 TO 33692 1050 READ B 1060 POKE A,B 1070 NEXT A 1080 DATA 0,0,0,0,16,130,168,0,1,130 1090 DATA 24,137,96,0,71,96,2,219,209,210 10100 DATA 219,138,96,0,71,96,1,209,218,210 10110 DATA 218,210,218,210,218,210,136,219,137,89 10120 DATA 139,219,138,89,139,70,137,89,138,71 10130 DATA 136,89,137,68,138,68,139,68,136,89 10140 DATA 16,131,49,82,137,89,16,131,51,82 10150 DATA 138,89,16,131,58,82,139,89,16,131 10160 DATA 60,82,16,130,170,87,128,219,136,89 10170 DATA 103,52,58,36,136,89,138,219,132,2 10180 DATA 153,219,136,89,209,210,132,69,80,35 10190 DATA 219,128,89,134,219,80,35,219,120,131 10200 DATA 77,136,89,90,80,89,90,128,219,128 10210 DATA 89,103,0,40,2,64,78,0,78,0 10220 DATA 18,95,97,16,223,78,0,78,0,96 10230 DATA 239,223,107,2,57,19,65,41,22,55 10240 DATA 77,77,77,77,77,3,16,35,136,0 10250 DATA 1,30,136,89,209,90,219,80,89,90 10260 DATA 219,58,26,209,132,89,90,219,80,89 10270 DATA 90,219,42,12,209,134,89,136,68,135 10280 DATA 89,137,196,58,4,195,41,35,55,77 10290 DATA 77,77,77,77,132,2,97,219,133,2 10300 DATA 16,219,44,9,132,2,96,219,133,2 10310 DATA 239,219,132,16,131,54,0,1,25,55 10320 DATA 77,77,77,77,77 19999 END 20000 S=32816,E=33692 20010 IF CL$="CHKSUM" GOSUB 23000:END:REM CALCULATE CHECKSUM 20020 IF CL$="NOCHK" THEN 20100 20030 GOSUB 20060 20040 GOSUB 24000:REM CHECK INTEGRITY 20050 GOTO 20110 20060 CLEAR:S=32816,E=33692,CS=79101,V$="1.00" 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 22999 REM CALCULATE CHECKSUM 23000 RESTORE 80:WAIT:A=0:FOR I=S TO E 23010 READ B:A=A+B 23020 NEXT I:BEEP 1:PRINT "Checksum: ";A 23030 END 23999 REM CHECK INTEGRITY 24000 WAIT 0:RESTORE 80 24010 A=0:PAUSE "Checking file integrity" 24020 P=0:GOSUB 30000:REM PROGRESS BAR 1 24030 FOR I=S TO E 24040 READ B:A=A+B 24050 J=I-S,P=INT (15*J/(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 80 25010 PAUSE "Loading PETOOLS routines" 25020 P=0:GOSUB 30100:REM PROGRESS BAR 2 25030 FOR I=S TO E 25040 READ B:POKE I,B 25050 J=I-S,P=INT (15*J/(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 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