MODULE; MUCHBLASTESZ INCLUDE "D:RT_MIR2.ACT"BYTE  A,B,B1,A9,E,F,E1,T,GT,G1,G2,GI,GS,GX,G3,G4 ,PRZ9 ,Q,Q1,Q2,Q3,Q6;,Q4,Q5,Q7,Q8BYTE ARRAY S(4),SX(4),SY(4) INCLUDE "D:ZM.ACT" INCLUDE "D:PROC1.ACT";PROC TX(BYTE X,Y BYTE ARRAY T)BYTE Q1 CARD Q3,Q4 Q1=T(0)Q3=EKR+X+Y*40 Q4=PEEKC(@ T)MOVEBLOCK(Q3,Q4+1,Q1)[96] PROC TX(CARD ADR BYTE ARRAY T)BYTE Q1 CARD Q4 Q1=T(0)Q4=PEEKC(@ T)MOVEBLOCK(ADR,Q4+1,Q1)[96];INCLUDE"D:MOVEZERO.ACT"PROC RMT(BYTE S)IF S=0 THEN ;INIT: [$A2 $10 $A0 $AA $A9 0 $20 $A400]ELSEIF S=1 THEN;PLAY [$20 $A403]ELSEIF S=2 THEN;END [$20 $A409]FI[96]PROC OPGR()P(40887)=16 P(40888)=16P(40895)=ZYC+16[96]PROC TIT()BYTE ARRAY DLT=[112 112 112 66 176 159112 112 112 112 112 112 66 215 159;112 112 112 65 0 0 ]P(708)=40 P(709)=14 P(710)=0  P(712)=$00DL=$9000RMT(0)DL=DLTP(559)=62;TX(40933,"muchblastesz")DOIF STRIG(0)=0 OR P($D01F)=6 THEN RMT(2) EXIT FIIF K=28 OR K=33 THEN K=255 RMT(2) EXIT FIP(77)=0[173 $D40B 201 100 208 249]RMT(1)ODRMT(2);P(708)=$C2 P(709)=$E6 P(710)=0 P(711)=$8F P(712)=0[96]PROC STA()ZYC=5 LEV=1 A=70 B=140 A9=0PU1=16 PU2=16 PU3=16 PU4=16 PU5=16L=4 M=15;PT1=0 PT2=0 PT3=0LE=40 TI=0LE1=0;ADR=$7000GT=100 GA=$3800RMT(0)[96]PROC SZY()ZYC==-1IF ZYC<10 THEN P(40895)=ZYC+16 FIA9=75AD1=$7C00 P1=1 C=5;!IF ZYC<>255 THEN AD2=$7C00+R P2=1 D=5ELSE;GAME OVER: AD2=$8600 P2=1 D=10 FOR Q1=0 TO 250 DO VSYNC() D4=PRX(0) D3=PRX(1) D2=PRX(2) OD ZERO(Z-256,256*5) STA() FOR Q=0 TO 6 DO PRZ(Q)=0 PR1(Q)=8 PR2(Q)=0 PRX(Q)=250 PRY(Q)=30 OD FOR Q=0 TO 3 DO S(Q)=0 SX(Q)=0 SY(Q)=0 ODFI[96]PROC GRA()P(559)=0;P($D400)=0  ;FOR Q=0 TO 27 DO FY(Q)=Q*40 ODFOR Q=0 TO 35 DO P(40840+Q)=DIS(Q)OD;WG("D:DL.DAT",$9B72,40,4) WG("D:DU.DAT",DUA,$250,4);ZERO(EKR,1040) ZERO(40880,79)DU() WG("D:ZNAC64.FNT",FNT,$200,4) P(756)=$98;MOVEBLOCK(Z-255+80,DUA+98,150) PRZA(0)=DUA+355 PRZA(1)=DUA+394;39 PRZA(2)=DUA+433 PRZA(3)=DUA+472 PRZA(4)=DUA+511 PRZA(5)=DUA+550 ;PRZA(6)=DUA+143 PRZA(7)=DUA+200 PRZA(8)=DUA+249 PRZD(0)=DD(3) PRZD(1)=DD(2) PRZD(2)=DD(1) PRZD(3)=DD(3) PRZD(4)=DD(2) PRK(0)=$18 PRK(1)=$86 PRK(2)=$EA PRK(3)=$B8 PRK(4)=$16 PRK(5)=$24 PRK(6)=0 PRK(7)=$FA PRK(8)=$26 PRK(9)=$24 FOR Q=0 TO 6 DO PRZ(Q)=0 PR1(Q)=8 PR2(Q)=0 PRX(Q)=250 PRY(Q)=30 OD FOR Q=0 TO 3 DO S(Q)=0 SX(Q)=0 SY(Q)=0 ODSETBLOCK($8100,$F00,16)  WG("D:TAKI1.DGT",$8600,$1000,4)  WG("D:TAKI4.DGT",$8100,$500,4)  WG("D:MAD1.DGT",$7C00,$500,4)  WG("D:REKL2.DGT",$7700,$500,4) WG("D:MUZ.DAT",$A000,$E30,4);WG("D:TITLE.DL",$986C,130,4);IF P($A060)#131 THEN; WG("D:TITLE.MIC",$A060,$C08,4)FI TIT() DL=40840P(710)=0P(711)=$28AD1=$8600 AD2=$8600P1=0 P2=0C=0 D=0;A=80 B=120B1=0 E1=0 T=0PRZ9=0STA()OPGR()P(559)=62;WHILE K#28DOIF A9>0 THEN A9==-1 P(704)=A9ELSE P(704)=12FIT==+1 IF T=10 THEN T=0  B1==+11 IF B1>37 THEN B1=0 FIFI;GRACZ:;GG=$08 HMOV();GG=$19 MOVEBLOCK(Z+B,DUA+98+B1,12)D1=A AD1==+P1 S1=P(AD1) AD2==+P2 S2=P(AD2);GG=0;PU1==+1 PU() IF STRIG(0)=0 AND E1=0 THEN E1=1 E=A+5 F=B+5 IF A9=0 THEN AD1=$7C00 P1=1 C=5 FI QQ=DD(4)+F P(QQ)=P(QQ)%3;P(QQ)=255FIIF E1=1 THEN E==+7 P(53252)=E IF E>209 THEN E1=0 QQ=DD(4)+F P(QQ)=P(QQ)&252 FIFIIF S(0)=1 THEN P(53253)=SX(0) SX(0)==-2 IF SX(0)<30 THEN S(0)=0  QQ=DD(4)+SY(0) P(QQ)=P(QQ)&243 FIFI;PRZECIWNICY:;GG=$28PRZ9==+1 IF PRZ9>4 THEN PRZ9=0 FIIF PRZ9<3 THEN P(707-PRZ9)=PRC(PRZ9)FIIF PR1(PRZ9)<>8 THEN IF PR1(PRZ9)=7 THEN PR2(PRZ9)==+12 IF PR2(PRZ9)>50 THEN  ;KAS:  IF PR2(PRZ9)=24 THEN PRC(2)=$22;  IF PRZ9<3 THEN P(707-PRZ9)=PRC(PRZ9)FI  FI  PR2(PRZ9)=0 PRZ(PRZ9)=0 PRX(PRZ9)=255 PR1(PRZ9)=8 FI ELSE PR2(PRZ9)==+13 IF PR2(PRZ9)>30 THEN PR2(PRZ9)=0 FI FIFIIF PR1(PRZ9)<8 THENIF PRZ9<>2 THEN IF PR4(PRZ9)>0 THEN PR4(PRZ9)==-1 ELSE  Q=P(PRA(PRZ9)) PRA(PRZ9)==+1  PR4(PRZ9)=(Q&7)+3  Q=P(PRA(PRZ9)) PRA(PRZ9)==+1  PR5(PRZ9)=(Q&7) FI Q=PR5(PRZ9) IF PRZ9<2  AND PR1(PRZ9)<7 THEN;STRZELA: IF S(0)=0 AND PRS(PRZ9)=1 AND PRX(PRZ9)>55THEN  IF P(PRA(PRZ9))<70 THEN PRA(PRZ9)==+1   S(0)=1   SX(0)=PRX(PRZ9)-8   SY(0)=PRY(PRZ9)+5   QQ=DD(4)+SY(0)   P(QQ)=P(QQ)%12  AD2=$7700 P2=1 D=5  FI FI IF Q=1 THEN  IF PRY(PRZ9)>60 THEN PRY(PRZ9)==-2  ELSE PR5(PRZ9)=4 FI FI IF Q=2 THEN  IF PRY(PRZ9)>60 THEN PRY(PRZ9)==-1  ELSE PR5(PRZ9)=3 FI FI IF Q=3 THEN  IF PRY(PRZ9)<129 THEN PRY(PRZ9)==+1;129  ELSE PR5(PRZ9)=2 FI FI IF Q=4 THEN  IF PRY(PRZ9)<129 THEN PRY(PRZ9)==+2;129  ELSE PR5(PRZ9)=1 FI FI FI IF PRZ9>2;THEN  AND PR1(PRZ9)<7 THEN;STRZELA: IF S(0)=0 AND PRS(PRZ9)=1AND PRX(PRZ9)>55 THEN  IF P(PRA(PRZ9))<70 THEN PRA(PRZ9)==+1   S(0)=1   SX(0)=PRX(PRZ9)-8   SY(0)=PRY(PRZ9)+5   QQ=DD(4)+SY(0)   P(QQ)=P(QQ)%12  AD2=$7700 P2=1 D=5  FI FI IF Q=1 THEN  IF PRY(PRZ9)>140 THEN PRY(PRZ9)==-2  ELSE PR5(PRZ9)=4 FI FI IF Q=2 THEN  IF PRY(PRZ9)>140 THEN PRY(PRZ9)==-1  ELSE PR5(PRZ9)=3 FI FI IF Q=3 THEN  IF PRY(PRZ9)<216 THEN PRY(PRZ9)==+1;216  ELSE PR5(PRZ9)=2 FI FI IF Q=4 THEN  IF PRY(PRZ9)<216 THEN PRY(PRZ9)==+2;216  ELSE PR5(PRZ9)=1 FI FI FIFIFIIF PRX(PRZ9)<30 THEN PRZ(PRZ9)=0 PR1(PRZ9)=8 PR2(PRZ9)=0 FIIF PRZ9<>2 THEN IF PR1(PRZ9)=7 THEN Q=11 ELSE Q=12 FIMOVEBLOCK(PRZD(PRZ9)+PRY(PRZ9),PRZA(PR1(PRZ9))+PR2(PRZ9),Q)ELSE;PRZEC 3: IF PR4(2)>0 THEN PR4(2)==-1 ELSE  Q=P(PRA(2)) PRA(2)==+1  PR4(2)=(Q&15)+3  Q=P(PRA(2)) PRA(2)==+1  PR5(2)=(Q&7) FI Q=PR5(2) IF PR1(PRZ9)<7 THEN;STRZELA: IF S(0)=0 AND PRS(PRZ9)=1AND PRX(PRZ9)>55 THEN  IF P(PRA(PRZ9))<70 THEN PRA(PRZ9)==+1   S(0)=1   SX(0)=PRX(PRZ9)-8   SY(0)=PRY(PRZ9)+5   QQ=DD(4)+SY(0)   P(QQ)=P(QQ)%12  AD2=$7700 P2=1 D=5  FI FI IF Q=1 THEN  IF PRY(2)>60 THEN PRY(2)==-2  ELSE PR5(2)=4 FI FI IF Q=2 THEN  IF PRY(2)>60 THEN PRY(2)==-1  ELSE PR5(2)=3 FI FI IF Q=3 THEN  IF PRY(2)<216 THEN PRY(2)==+1  ELSE PR5(2)=2 FI FI IF Q=4 THEN  IF PRY(2)<216 THEN PRY(2)==+2  ELSE PR5(2)=1 FI FI FI;GG=$2D IF PR1(PRZ9)=7 THEN Q=11 ELSE Q=12 FIMOVEBLOCK(PRZD(2)+PRY(2),PRZA(PR1(2))+PR2(2),Q);GG=0FIFOR Q=0 TO 4 DO IF PRZ(Q)>1 THEN PRZ(Q)==-1 FI IF PRZ(Q)=1 THEN PRX(Q)==-PRS(Q)   IF Q<3 THEN; P(53251-Q)=PRX(Q) FI; Q=0 D4=PRX(Q)FI; 1 D3=PRX(Q)FI; 2 D2=PRX(Q)FI FIODD4=PRX(0)D3=PRX(1)D2=PRX(2);D4=180;MOVEBLOCK(DD(3)+80,PRZA(0),10);GG=$0;P(40895)=E1;GENERAT:;GG=$FFIF GT>0 THEN GT==-1ELSE;GT=90+80 GT=145+80FIIF GT<80 THEN IF GT=79 THEN  Q=P(GA)GA==+1  G1=(Q&3) IF G1>2 THEN G1==-1 FI  ;G1=2  GI=255  Q=P(GA)GA==+1  GX=220  IF Q<60 THEN G2=0 ELSE G2=1 FI  IF G1>0 THEN   Q=P(GA)GA==+1   GS=1+(Q&1)   G3=88  FI  IF G1>1 THEN   Q=P(GA)GA==+1 G3=60+(Q&63)   GS=2   Q=P(GA)GA==+1   IF Q<128 THEN    G2=1    GA1=GA GA==+15   FI  FI FI IF GT<78 THEN  GI==+1 IF GI>4 THEN GI=0    IF G1<2 THEN GT=1 G1=9    FI;   IF (G1=2 OR G1=4) AND GI>2 THEN GI=0;    GT=1 G1=9 FI   FIQ1=GI;FOR Q1=0 TO 4 DOIF G1=0 THEN;LOSOWO IF PRZ(Q1)=0 THEN PRA(Q1)=GA Q=P(GA)GA==+1 PRZ(Q1)=1+(Q&63) Q=P(GA)GA==+1;Q2=(GA)GA==+1 ;PR1(Q1)=0;PR1(Q1)=(Q&3)+(Q2&3)  IF Q>5 THEN Q=(Q&3)+2 FI PR1(Q1)=Q PR2(Q1)=0 PRX(Q1)=GX Q=P(GA)GA==+1 Q2=P(GA)GA==+1 PRY(Q1)=60+(Q&127)+(Q2&31) IF Q1<2 THEN PRY(Q1)=60+(Q&31)+(Q2&15)FI IF Q1>2 THEN PRY(Q1)=140+(Q&31)+(Q2&15)FI Q=P(GA)GA==+1 PRS(Q1)=1+(Q&1) IF PR1(Q1)>3 THEN PRS(Q1)==+1 FI Q2=PR1(Q1)PRC(Q1)=PRK(Q2);PRC(Q1)=PRK(PR1(Q1)) Q=P(GA)GA==+1 PR4(Q1)=Q&63 IF G2=0 THEN PR4(Q1)=250 FI Q=P(GA)GA==+1 PR5(Q1)=4+(Q&3) IF Q1<2 THEN PR5(Q1)=Q&7 FI IF Q1>3 THEN PR5(Q1)=Q&7 FI;PRA(Q1)=GA GA==+15 ELSE GA==+(7+15) FIFIIF G1=1 THEN;PION IF PRZ(Q1)=0 THEN PRA(Q1)=GA PRZ(Q1)=1 PR1(Q1)=GS-1 PR2(Q1)=0 PRX(Q1)=GX   GX==-GS PRY(Q1)=G3 G3==+25 PRS(Q1)=GS IF PR1(Q1)>3 THEN PRS(Q1)==+1 FI Q2=PR1(Q1)PRC(Q1)=PRK(Q2);PRC(Q1)=PRK(PR1(Q1)) PR4(Q1)=250 PR5(Q1)=0 FIFIIF G1=2 AND GI<3 THEN;1>2 IF PRZ(Q1)=0 THEN PRA(Q1)=GA PRZ(Q1)=1 PR1(Q1)=G1 PR2(Q1)=0 PRX(Q1)=GX  IF GX>30 THEN GX==+17 FI PRY(Q1)=G3 PRS(Q1)=GS IF PR1(Q1)>3 THEN PRS(Q1)==+1 FI Q2=PR1(Q1)PRC(Q1)=PRK(Q2);PRC(Q1)=PRK(PR1(Q1))IF G2=1 THEN PR4(Q1)=4+Q1+Q1 PR5(Q1)=0 PRA(Q1)=GA1ELSE PR4(Q1)=250 PR5(Q1)=0 FIFI;PRA(Q1)=GA;GA==+15IF G1=3 THEN;1>2 IF PRZ(Q1)=0 THEN PRA(Q1)=GA ELSE GA==+0 FIFIIF G1=4 THEN;1>2 IF PRZ(Q1)=0 THEN PRA(Q1)=GA ELSE GA==+0 FIFIIF G1=5 THEN;1>2 IF PRZ(Q1)=0 THEN PRA(Q1)=GA ELSE GA==+0 FIFIFI;OD IF GA>$4F00 THEN GA=$2800 FI;GT=150 FI FI;GG=0 ;IF STRIG(0)=0 THEN AD1=$8600 P1=1 C=10 FI ;IF STRIG(0)=0 THEN AD1=$7C00 P1=1 C=5 FI; IF STICK(0)=7 THEN AD2=$8100 P2=1 D= 5 FIVSYNC();KOL:QQ=DD(4)+FIF (P(53256)&2)=2 THEN ;TRAFIENIE 2 DUSZKA PRZEZ GRACZA IF PRZ(2)=1 AND PR1(2)<7 THEN SPLW(PR1(2)) PRZ(2)=255 PR1(2)=7 PR2(2)=0 PRC(2)=PRK(7) PU1==+1+PR1(2);P(705)=PRC(2) P(QQ)=P(QQ)&252 E1=0FI FIIF (P(53256)&4)=4 THEN IF F<140 THEN Q=1 ELSE Q=4 FI IF PRZ(Q)=1 AND PR1(Q)<7 THEN SPLW(PR1(Q)) PRZ(Q)=255 PR1(Q)=7 PR2(Q)=0 PRC(Q)=PRK(7) PU1==+1+PR1(Q);IF Q<3 THEN P(707-Q)=PRC(Q)FI P(QQ)=P(QQ)&252 E1=0 FI FIIF (P(53256)&8)=8 THEN IF F<140 THEN Q=0 ELSE Q=3 FI IF PRZ(Q)=1 AND PR1(Q)<7 THEN SPLW(PR1(Q)) PRZ(Q)=255 PR1(Q)=7 PR2(Q)=0 PRC(Q)=PRK(7) PU1==+1+PR1(Q);IF Q<3 THEN P(707-Q)=PRC(Q)FI P(QQ)=P(QQ)&252 E1=0 FI FIIF A9=0 THENIF P(53260)>1 THEN SZY();ZYC==-1FIQ=0IF (P(53257)&1)=1 THEN Q=1 FIIF (P(53258)&1)=1 THEN Q=2 FIIF (P(53259)&1)=1 THEN Q=3 FIIF Q=1 THEN  SZY();ZYC==-1 S(Q-1)=0 QQ=DD(4)+SY(Q-1) P(QQ)=P(QQ)&243FIFIP(53278)=1;WHILE K#33 DO OD K=255P(77)=0OD;K=42ZERO(53256,5)ZERO(53248,8);RMT(2);GRAPHICS(0)[96]