100 REM COPYRIGHT 1993 - COMPUTE PUBLICATIONS - ALL RIGHTS RESERVED 110 REM WRITTEN BY BILL SOUDAN 120 REM 130 POKE53281,0:POKE53280,0:PRINT"[147]":ZP=191 140 PRINT"[159][147][165][159] 32 [211][208][210][201][212][197][211]" 150 POKE1063,103:POKE55335,6 160 PRINT"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][157][148][163]" 170 PRINT:PRINTTAB(15)"[150][205]AIN [205]ENU" 180 PRINT:DIM P$(12),P(12,1),H$(16) 190 X$="0123456789ABCDEF" 200 FORJ=1TO16:H$(J-1)=MID$(X$,J,1):NEXT 210 FORJ=0TO12:READP$(J):NEXT 220 DATA "[211]TARTING [193]DDRESS","[217] POSITION","[216] POSITION","[200]IGH [216] BIT" 230 DATA "[216] EXPAND","[195]OLOR","[205]ULTICOLOR","[208]RIORITY","[208]OINTER" 240 DATA "[212]EMP PAGE","[207]RDER TABLE","[197]XTRA [217] TABLE","[205]AX # OF [205][207][194]S" 250 FORJ=0TO12:READ P(J,0),P(J,1):NEXT 260 DATA 3,49152,3,52992,1,53024 270 DATA 1,53056,2,53088,1,53120 280 DATA 2,53152,2,53184,1,53216 290 DATA 3,52736,3,52672,3,52704 300 DATA 3,32 310 FORP=0TO12:GOSUB1200 :NEXT 320 PRINT" [158]14) [159][199]ENERATE 32 [211]PRITES" 330 W$="" 340 GOSUB1360:PRINTW$;:INPUT"[150][217]OUR CHOICE";C$ 350 C=VAL(C$):IFC<1ORC>14THEN340 360 IFC>12THEN470 370 IFP(C-1,0)=3THEN420 380 GOSUB1360:PRINTW$;:PRINT"[150][211]ELECT: ";P$(C-1);" 1.[150] [207]N [150]2. [207]FF" 390 GETA$:IFA$<>"1"ANDA$<>"2"THEN390 400 IFA$="1"THENP(C-1,0)=1 410 IFA$="2"THENP(C-1,0)=2 420 GOSUB1360:PRINTW$;:ML$="-1":INPUT"[150][206]EW MEMORY LOCATION";ML$ 430 IFLEFT$(ML$,1)="$"ANDLEN(ML$)=5THEND$=ML$:GOSUB1340 :ML=D:GOTO450 440 ML=VAL(ML$):IFML<0ORML>65535THEN460 450 P(C-1,1)=ML 460 P=C-1:GOSUB1200:GOTO340 470 IFC=14THEN510 480 GOSUB1360:PRINTW$;:PRINT"[150][211]ELECT: 1.[150] 16 2.[150] 24 3.[150] 32" 490 GETA$:IFA$<>"1"ANDA$<>"2"ANDA$<>"3"THEN490 500 P(12,1)=(VAL(A$)*8)+8:GOTO460 510 REM GENERATE ML CODE 520 AD=P(0,1) 530 GOSUB1370 540 PRINT"[159]"TAB(12)"[199]ENERATING [205][204]..." 550 DEF FNH(X)=INT(X/256) 560 DEF FNL(X)=X-(FNH(X)*256) 570 PRINT""TAB(9)"[201]NITIALIZATION CODE..." 580 MP=0:GOSUB1440 590 FORJ=1TOP(12,1)/8:PRINTTAB(12)"[210]ASTER HANDLER";J:GOSUB1560:NEXT 600 AD=AD-34:DA$="A9FA8D12D0A9008D00004C31EA":GOSUB1430 605 POKEAD-5,FNL(P(0,1)+100):POKEAD-4,FNH(P(0,1)+100) 607 GOSUB 1907 608 DI=AD:DA$="78A9318D1403A9EA8D1503A9008D15D08D1AD0A9818D0DDCA9008D0DDCA993" 609 DA$=DA$+"20D2FF5860":GOSUB1430 610 GOSUB1370:PRINT""TAB(16)"[195]OMPLETE." 620 PRINTTAB(5)"[194]EGINNING ADDRESS:";:D=P(0,1):GOSUB1300 630 PRINTP(0,1);" $"+A$:PRINTTAB(5)"[197]NDING ADDRESS: ";:D=AD:GOSUB1300 632 PRINTAD;" $"+A$ 635 PRINT" [197]NABLE 32 [211]PRITES: ";:D=P(0,1):GOSUB1300 636 PRINT"[211][217][211]";P(0,1);" ([202][205][208][160]$"+A$+")" 637 PRINT" [196]ISABLE 32 [211]PRITES: ";:D=DI:GOSUB1300 638 PRINT"[211][217][211]";DI;" ([202][205][208][160]$"+A$+")" 640 PRINTTAB(13)"[211]AVE 32 [211]PRITES [205][204]?" 650 GETA$:IFA$<>"Y"ANDA$<>"N"THEN650 660 IFA$="N"THEN710 670 GOSUB1370:PRINT""TAB(5)"[197]NTER FILENAME:";:OPEN1,0:INPUT#1,F$:CLOSE1 680 PRINT:PRINTTAB(15)"[211]AVING...." 690 SYS57812 F$,8,1:POKE193,FNL(P(0,1)):POKE194,FNH(P(0,1)):POKE174,FNL(AD+1) 700 POKE175,FNH(AD+1):SYS 62957 710 GOSUB1370:PRINT""TAB(10)"[208]RINT OUT INFO SHEET?" 720 GETA$:IFA$<>"Y"ANDA$<>"N"THEN720 730 IFA$="N"THENPRINT"[147]":END 740 GOSUB1370:PRINT""TAB(14)"[208]RINTING...." 750 OPEN4,4,7:PRINT#4:PRINT#4:PRINT#4 760 PRINT#4,SPC(23)"32 [211][208][210][201][212][197][211]" 770 PRINT#4:PRINT#4:PRINT#4 780 PRINT#4,SPC(23)"[211]TARTING ADDRESS:";:D=P(0,1):GOSUB1300 790 PRINT#4,P(0,1);" $"+A$:PRINT#4,SPC(23)"[197]NDING ADDRESS: ";:D=AD:GOSUB1300 800 PRINT#4,AD;" $"+A$:PRINT#4 802 PRINT#4,SPC(19)"[197]NABLE 32 [211]PRITES: ";:D=P(0,1):GOSUB1300 804 PRINT#4,"[211][217][211]";P(0,1);" ([202][205][208][160]$"+A$+")" 806 PRINT#4,SPC(19)"[196]ISABLE 32 [211]PRITES: ";:D=DI:GOSUB1300 808 PRINT#4,"[211][217][211]";DI;" ([202][205][208][160]$"+A$+")":PRINT#4:PRINT#4 810 FORJ=1TO12:PRINT#4,SPC(16);P$(J);SPC(20-LEN(P$(J))); 820 IFP(J,0)=3THENPRINT#4,"[206]/[193]"; 830 IFP(J,0)=2THENPRINT#4,"[207]FF"; 840 IFP(J,0)=1THENPRINT#4,"[207]N "; 850 PRINT#4,SPC(5);P(J,1);:D=P(J,1):GOSUB1300 860 PRINT#4,SPC(10-LEN(STR$(P(J,1))));"$"+A$:NEXT 870 PRINT#4:CLOSE4:END 880 DATA 78,A9,<0+72,8D,14,03,A9,>0+72 890 DATA 8D,15,03,A9,7F,8D,0D,DC,A9,01 900 DATA 8D,1A,D0,AD,11,D0,29,7F,8D,11 910 DATA D0,A9,FA,8D,12,D0,A9,00,8D 920 DATA <0+100,>0+100,A9,FF,A2,00,9D 930 DATA <9,>9,E8,D0,FA,A9,FF,8D,15,D0 940 DATA 58,60,01,02,04,08,10,20,40,80 950 DATA FE,FD,FB,F7,EF,DF,BF,7F,A9,01 960 DATA 8D,19,D0,AD,<0+100,>0+100,0A 970 DATA A8,B9,<0+101,>0+101,8D,<0+95 980 DATA >0+95,B9,<0+102,>0+102,8D 990 DATA <0+96,>0+96,4C,FF,FF,4C,31,EA 1000 DATA 00,<0+111,>0+111,00,00,00,00 1010 DATA 00,01,00,00,A2,00,BD,<1,>1,C9,1D,90,0E,A8 1020 DATA B9,<9,>9,30,04,C8,4C,<0+121 1030 DATA >0+121,8A,99,<9,>9,E8,E0,9,10 1050 DATA 4F,C8,B9,<9,>9,10,49,C8,B9,<9 1060 DATA >9,10,43,C8,B9,<9,>9,10,3D,C8 1070 DATA B9,<9,>9,10,37,C8,B9,<9,>9,10 1080 DATA 31,C8,B9,<9,>9,10,2B,C8,B9,<9 1090 DATA >9,10,25,C8,B9,<9,>9,10,1F,C8 1100 DATA B9,<9,>9,10,19,C8,B9,<9,>9,10 1110 DATA 13,C8,B9,<9,>9,10,0D,C8,B9,<9 1120 DATA >9,10,07,C8,C0,1D,B0,AE,90,0F 1130 DATA 9D,A,A9,FF,99,<9,>9,E8,E0 1140 DATA 0+56 1144 DATA 88,2C,A0,FF,8C,15,D0 1149 DATA A9,FF,9D,A 1150 DATA E8,E0,0+100,A2,1,9D,B,CA,10,F7,XX 1180 END 1200 POKE214,5+P:PRINT 1210 PRINT"[158]";P+1;"[157]) [159]"P$(P) 1220 PRINT"[145]"TAB(22); 1230 IFP(P,0)=1THENPRINT"[150][207]N " 1240 IFP(P,0)=2THENPRINT"[151][207]FF" 1250 IFP(P,0)=3THENPRINT"[206]/[193][150]" 1260 PRINT"[145]"TAB(26);P(P,1);" " 1270 D=P(P,1):GOSUB1300 1280 PRINT"[145]"TAB(34)"$";A$ 1290 RETURN 1300 T=INT(D/4096):A$=H$(T):D=INT(D-T*4096) 1310 T=INT(D/256):A$=A$+H$(T):D=INT(D-T*256) 1320 T=INT(D/16):B$=A$:A$=A$+H$(T):D=INT(D-T*16):B$=H$(T)+H$(D)+B$ 1330 A$=A$+H$(D):RETURN 1340 D=0:FORJ=3TO0STEP-1:J1=ASC(MID$(D$,5-J,1))-48:IFJ1>16THENJ1=J1-7 1350 D=D+(J1*16^J):NEXT:RETURN 1360 FORX=21TO24:POKE781,X:SYS 59903:NEXT:RETURN 1370 FORX=2TO24:POKE781,X:SYS59903:NEXT:RETURN 1380 DA$="68F00D":GOSUB1430 1390 POKEAD,185:POKEAD+1,FNL(P(0,1)+56-SB):POKEAD+2,FNH(P(0,1)+56-SB):AD=AD+3 1400 DA$="0D"+AA$+"8D"+AA$+"F00BD009":GOSUB1430 1410 POKEAD,185:POKEAD+1,FNL(P(0,1)+64-SB):POKEAD+2,FNH(P(0,1)+64-SB):AD=AD+3 1420 DA$="2D"+AA$+"8D"+AA$:GOSUB1430:RETURN 1430 MP=1:FORJJ=1TOLEN(DA$)STEP2:A$=MID$(DA$,JJ,2):GOSUB1450:NEXT:MP=0:RETURN 1440 READA$:IFA$="XX"THENRETURN 1450 IFLEFT$(A$,1)="<"THEN1500 1460 IFLEFT$(A$,1)=">"THEN1530 1470 A1=ASC(LEFT$(A$,1))-48:A2=ASC(RIGHT$(A$,1))-48:IFA1>16THENA1=A1-7 1480 IFA2>16THENA2=A2-7 1490 POKEAD,A1*16+A2:AD=AD+1:ON -(MP=0) GOTO1440 :RETURN 1500 PL=0:IFLEN(A$)>2THENPL=VAL(MID$(A$,4)) 1510 WG$=MID$(A$,2,1):WG=VAL(WG$):IFWG$>"@"ANDWG$<"D"THENWG=ASC(WG$)-55 1520 POKEAD,FN L(P(WG,1)+PL):AD=AD+1:ON -(MP=0) GOTO1440 :RETURN 1530 PL=0:IFLEN(A$)>2THENPL=VAL(MID$(A$,4)) 1540 WG$=MID$(A$,2,1):WG=VAL(WG$):IFWG$>"@"ANDWG$<"D"THENWG=ASC(WG$)-55 1550 POKEAD,FN H(P(WG,1)+PL):AD=AD+1:ON -(MP=0) GOTO1440 :RETURN 1560 POKEP(0,1)+101+J*2,FNL(AD):POKEP(0,1)+102+J*2,FNH(AD) 1570 DA$="A200A0":IFJ=1THENDA$=DA$+"00":EP$="08":SB=0 1580 IF J=2THENDA$=DA$+"08":EP$="10":SB=8 1590 IFJ=3THENDA$=DA$+"10":EP$="18":SB=16 1600 IFJ=4THENDA$=DA$+"18":EP$="20":SB=24 1610 DA$=DA$+"84BF":GOSUB1430 1620 IFJ=1THENB1=AD:GOTO1660 1630 B1=AD:DA$="B9":GOSUB1430 1640 POKEAD,FNL(P(10,1)-8):POKEAD+1,FNH(P(10,1)-8):AD=AD+2 1650 DA$="300EA8B9BA4BF186914CD12D0B0FB":GOSUB1430 1660 DA$="B9A":GOSUB1430 1670 DA$="10034C0000A8":GOSUB1430 1680 DA$="B9B9D01D0":GOSUB1430 1690 IFP(2,0)=1THENDA$="B9<2>29D00D0":GOSUB1430 1700 IFP(7,0)=1THENDA$="B9<7>748":GOSUB1430 1710 IFP(4,0)=1THENDA$="B9<4>448":GOSUB1430 1720 IFP(6,0)=1THENDA$="B9<6>648":GOSUB1430 1730 IFP(5,0)=1THENDA$="B9<5>548":GOSUB1430 1740 IFP(3,0)=1THENDA$="B9<3>348":GOSUB1430 1750 IFP(8,0)=1THENDA$="B9<8>8A4BF99":GOSUB1430 1760 IFP(8,0)=1THENPOKEAD,FNL(2040-SB):POKEAD+1,FNH(2040-SB):AD=AD+2 1770 IFP(3,0)=1THENAA$="10D0":GOSUB1380 1780 IFP(5,0)=1THENDA$="6899":GOSUB1430 1790 IFP(5,0)=1THENPOKEAD,FNL(53287-SB):POKEAD+1,FNH(53287-SB):AD=AD+2 1800 IFP(6,0)=1THENAA$="1CD0":GOSUB1380 1810 IFP(4,0)=1THENAA$="1DD0":GOSUB1380 1820 IFP(7,0)=1THENAA$="1BD0":GOSUB1380 1830 PL=6:IFJ>1THENPL=25 1840 POKEB1+PL,FNL(AD):POKEB1+PL+1,FNH(AD):DA$="E8E8C884BFC0"+EP$:GOSUB1430 1850 D=254-(AD-B1) 1860 IFD>129THENGOSUB1300:DA$="D0"+RIGHT$(A$,2):GOSUB1430:GOTO1880 1870 DA$="F0034C":D=B1:GOSUB1300:DA$=DA$+B$:GOSUB1430 1880 DA$="ADA3010A8B9B38E9078D12D0EE00004CBCFEA9008D0000A9FA8D12D04C31EA" 1885 GOSUB1430 1890 POKEAD-33,FNL(P(10,1)+8+SB):POKEAD-32,FNH(P(10,1)+8+SB) 1900 POKEAD-10,FNL(P(0,1)+100):POKEAD-9,FNH(P(0,1)+100) 1905 POKEAD-18,FNL(P(0,1)+100):POKEAD-17,FNH(P(0,1)+100) 1907 POKEAD-2,FNL(P(0,1)+97):POKEAD-1,FNH(P(0,1)+97) 1910 RETURN 1920 B1=AD:DA$="B90000300EA8B9<1>1A4BF186914CD12D0B0FB":GOSUB1430 1930 POKEB1+1,FNL(P(10,1)-8):POKEB1+2,FNH(P(10,1)-8):RETURN