set kernel_options no_blank_lines set romsize 16kSC dim level=b dim byte1=score dim byte2=score+1 dim byte3=score+2 rem e, m, q, r, x & y are open i_like_bacon level=1 : c=80 : d=40 : e=40 : f=0 : p=1 : w{7}=0 : e=0 : v{3}=0 r{0}=0 : r{1}=0 : r{2}=0 : r{3}=0 w{6}=0 : o=0 : p=1 : a=1 : v{1}=1 : byte1=$1B : byte2=$00 : byte3=$00 goto title_pf bank4 title_screen player0: %0101010 %0101010 %0101010 %0101010 %0111110 %1110111 %1101011 %0111110 end COLUP0=80 : COLUPF=0 : player0x=68 : player0y=71 : COLUBK=128 if switchleftb then y{0}=0 else y{0}=1 if joy0right then goto the_end_setup bank3 : rem REMOVE FROM FINAL BUILD if y{0} then player0x=0 : player0y=0 if !y{0} then player0x=30 : player0y=70 scorecolor=0 missile0x=0 : missile0y=0 : ballx=0 : bally=0 drawscreen AUDC0=12 : NUSIZ0=$00 : AUDV0=6 AUDC1=12 if switchselect then e=e+1 if e>20 then e=0 : byte1=byte1+$10 if byte1=$3B then byte1=$1B if switchreset && byte1=$2B then goto minigame bank2 if switchreset && byte1=$1B then goto begin_game o=o+1 if p<11 && o<20 then AUDF0=15 if p<11 && o>=20 then AUDF0=12 if p<11 && o>=40 then AUDF0=10 if p<11 && o>=60 then AUDF0=12 if p<11 && o>80 then p=p+1 : o=0 if v{1} then goto v_1_on if !v{1} then goto v_1_off v_1_on if p>=11 && o<20 then AUDF0=16 if p>=11 && o>=20 then AUDF0=11 if p>=11 && o>=40 then AUDF0=10 if p>=11 && o>=60 then AUDF0=11 if p>=11 && o>80 then p=p+1 : o=0 if p>12 then p=5 : o=0 : v{1}=0 goto music_ts v_1_off if p>=11 && o<20 then AUDF0=15 if p>=11 && o>=20 then AUDF0=12 if p>=11 && o>=40 then AUDF0=10 if p>=11 && o>=60 then AUDF0=12 if p>=11 && o>80 then p=p+1 : o=0 if p>12 then p=5 : o=0 : v{1}=1 music_ts if p=4 && o>=60 then AUDV1=6 : AUDF1=20 if p=4 && o>70 then AUDV1=0 if p=5 && o<20 then AUDV1=6 : AUDF1=20 if p=5 && o>=30 then AUDV1=0 if p=5 && o>=40 then AUDF1=20 : AUDV1=6 if p=6 && o<20 then AUDF1=18 if p=6 && o>=20 then AUDF1=20 if p=6 && o>=40 then AUDF1=24 if p=6 && o>=60 then AUDF1=28 if p=7 && o<18 then AUDF1=31 if p=7 && o>=18 then AUDV1=0 if p=7 && o>=20 then AUDV1=6 : AUDF1=31 if p=7 && o>=38 then AUDV1=0 if p=7 && o>=40 then AUDV1=6 : AUDF1=31 if p=7 && o>=58 then AUDV1=0 if p=7 && o>=60 then AUDV1=6 : AUDF1=31 if p=8 && o<20 then AUDF1=28 if p=8 && o>=20 then AUDF1=31 if p=8 && o>=40 then AUDV1=0 if p=8 && o>=60 then AUDV1=6 : AUDF1=31 if p=8 && o>=78 then AUDV1=0 if p=9 && o<20 then AUDV1=6 : AUDF1=31 if p=9 && o>=50 then AUDV1=0 if p=9 && o>=60 then AUDV1=6 : AUDF1=31 if p=10 && o<20 then AUDF1=28 if p=10 && o>=20 then AUDF1=24 if p=10 && o>=60 then AUDF1=28 if p=11 && v{1} then AUDF1=20 if p=11 && !v{1} then AUDF1=31 if p=12 && o>=40 then AUDV1=0 if p=12 && o>=60 then AUDV1=6 : AUDF1=20 if p=12 && o>=78 then AUDV1=0 if !w{6} && joy0up then w{6}=1 if w{6} && joy0down then w{7}=1 goto title_screen begin_game player1: %0111110 %1111111 %1101011 %0111110 %0001000 %0001100 end byte2=$00 : byte3=$00 : scorecolor=0 : level=1 begin_level byte1=$3B : AUDV0=0 : AUDV1=0 : o=0 : p=1 : d=0 : v{5}=1 r=0 if level=2 && d=0 then d=1 if level=3 && d=0 then d=1 if level=8 && d=0 then d=1 if level=10 && d=0 then d=1 if level=11 && d=0 then d=1 if level=12 && d=0 then d=1 if level=13 && d=0 then d=1 if d=0 then d=4 if level=1 then COLUPF=206 : goto level_1 bank4 if level=2 then COLUPF=206 : goto level_2 bank4 if level=3 then COLUPF=206 : goto level_3 bank4 if level=4 then COLUPF=204 : goto level_4 bank4 if level=5 then COLUPF=204 : goto level_5 bank4 if level=6 then COLUPF=204 : goto level_6 bank4 if level=7 then COLUPF=202 : goto level_7 bank4 if level=8 then COLUPF=202 : goto level_8 bank4 if level=9 then COLUPF=202 : goto level_9 bank4 if level=10 then COLUPF=200 : goto level_10 bank4 if level=11 then COLUPF=200 : goto level_11 bank4 if level=12 then COLUPF=200 : goto level_12 bank4 if level=13 then COLUPF=198 : goto level_13 bank4 begin_level_2 if byte1=$0B then goto game_over bank3 a=0 : j=80 : v{7}=0 : v{6}=0 : y{1}=0 player1x=22 : player1y=80 : missile1x=player1x+4 : missile1y=player1y-3 m=2 : z{3}=0 : z{7}=0 if level>14 then goto the_end_setup bank3 if y{0} then goto main player0_intro if !v{5} then goto get_player0x player0x=161 : goto get_player0y get_player0x player0x=rand if player0x<28 then goto get_player0x if player0x>135 then goto get_player0x get_player0y player0y=rand if player0y<16 then goto get_player0y if player0y>80 then goto get_player0y main k=k+1 if byte2>$99 && byte3>$90 then byte2=$AA : byte3=$AA COLUP0=80 drawscreen if y{3} then goto hit_wall bank3 if y{1} && !v{7} then q=q+1 if y{1} && q<10 then AUDV0=6 : AUDC0=8 : AUDF0=3 if y{1} && q>10 then AUDV0=0 : q=0 : y{1}=0 25 if y{0} then player0x=0 : player0y=0 if byte3=$A0 then byte2=byte2+$01 : byte3=$00 if byte3=$A0 && byte2>$99 then byte2=$00 : byte3=$00 30 if h=1 then goto octopus_right if h=2 then goto octopus_left if h=3 then goto octopus_straight if h=4 then goto octopus_straight if h=5 then goto octopus_right if h=6 then goto octopus_right if h=7 then goto octopus_left if h=8 then goto octopus_left octopus_left player0: %00010101 %00101010 %00101010 %01010100 %01111100 %11101110 %11010110 %01111100 end goto 50 octopus_straight player0: %0101010 %0101010 %0101010 %0101010 %0111110 %1110111 %1101011 %0111110 end goto 50 octopus_right player0: %10101000 %01010100 %01010100 %00101010 %00111110 %01110111 %01101011 %00111110 end 50 if h>0 && !z{4} then i=i+1 if h=0 then goto 62 goto 100 62 if h=0 then h=rand if h<=32 then h=1 if h>32 && h<=64 then h=2 if h>64 && h<=96 then h=3 if h>96 && h<=128 then h=4 if h>128 && h<=156 then h=5 if h>156 && h<=196 then h=6 if h>196 && h<=222 then h=7 if h>222 then h=8 100 if h=1 && k=4 then k=0 : player0x=player0x+1 if h=2 && k=4 then k=0 : player0x=player0x-1 if h=3 && k=4 then k=0 : player0y=player0y-1 if h=4 && k=4 then k=0 : player0y=player0y+1 if h=5 && k=4 then k=0 : player0x=player0x+1 : player0y=player0y+1 if h=6 && k=4 then k=0 : player0x=player0x+1 : player0y=player0y-1 if h=7 && k=4 then k=0 : player0x=player0x-1 : player0y=player0y+1 if h=8 && k=4 then k=0 : player0x=player0x-1 : player0y=player0y-1 if i=30 then i=0 : h=0 if player0x>=135 then h=2 if switchselect then goto i_like_bacon if !v{7} then missile1x=player1x+4 : missile1y=player1y-3 125 if a=1 && !v{7} then d=1 if a=2 && !v{7} then d=2 if a=3 && !v{7} then d=3 if a=4 && !v{7} then d=4 if a=5 && !v{7} then d=5 if a=6 && !v{7} then d=6 if a=7 && !v{7} then d=7 if a=8 && !v{7} then d=8 if joy0up then a=1 if joy0down then a=2 if joy0left then a=3 if joy0right then a=4 if joy0up && joy0left then a=5 if joy0up && joy0right then a=6 if joy0down && joy0left then a=7 if joy0down && joy0right then a=8 if joy0fire && !v{3} && !y{0} then v{7}=1 if v{0} then REFP1=8 else REFP1=0 if v{3} && r=60 then r=0 : y{3}=1 if collision(player1,playfield) then y{3}=1 if collision(player1,player0) then v{3}=1 if v{3} then r=r+1 : m=6 if v{3} && collision(missile1,player0) then r=r+1 : m=6 if !collision(player1,player0) then v{3}=0 : r=0 if !v{3} then m=2 if a>0 then f=f+1 if a=1 && f>m then f=0 : player1y=player1y-1 if a=2 && f>m then f=0 : player1y=player1y+1 if a=3 && f>m then f=0 : player1x=player1x-1 : v{0}=1 if a=4 && f>m then f=0 : player1x=player1x+1 : v{0}=0 if a=5 && f>m then f=0 : player1y=player1y-1 : player1x=player1x-1 : v{0}=1 if a=6 && f>m then f=0 : player1y=player1y-1 : player1x=player1x+1 : v{0}=0 if a=7 && f>m then f=0 : player1y=player1y+1 : player1x=player1x-1 : v{0}=1 if a=8 && f>m then f=0 : player1y=player1y+1 : player1x=player1x+1 : v{0}=0 if player1x>130 then goto got_treasure bank3 COLUBK=136 if v{7} then r=r+1 if v{7} && r<10 then AUDV1=6 : AUDC1=14 : AUDF1=31 if v{7} && r>10 then AUDV1=0 if v{7} then goto missile_fired_main goto 150 bank3 missile_fired_main if v{7} && d=1 then missile1y=missile1y-1 if v{7} && d=2 then missile1y=missile1y+1 if v{7} && d=3 then missile1x=missile1x-1 if v{7} && d=4 then missile1x=missile1x+1 if v{7} && d=5 then missile1x=missile1x-1 : missile1y=missile1y-1 if v{7} && d=6 then missile1x=missile1x+1 : missile1y=missile1y-1 if v{7} && d=7 then missile1x=missile1x-1 : missile1y=missile1y+1 if v{7} && d=8 then missile1x=missile1x+1 : missile1y=missile1y+1 if collision(missile1,playfield) then v{7}=0 : r=0 : AUDV1=0 if missile1x<17 then v{7}=0 : r=0 : AUDV1=0 if missile1y<5 then v{7}=0 : r=0 : AUDV1=0 if missile1x>140 then v{7}=0 : r=0 : AUDV1=0 if collision(missile1,player0) then byte3=byte3+$10 : v{7}=0 : v{5}=1 : y{1}=1 : r=0 : goto player0_intro goto 150 bank3 bank 2 minigame AUDV0=0 : AUDV1=0 : player0x=75 : player0y=30 : a=0 : v{1}=0 : v{4}=1 v{3}=0 : v{2}=0 : r=0 : i{2}=0 f=0 : player1x=83 : player1y=65 : byte1=$00 : byte2=$BB : byte3=$00 goto minigame_pf bank4 minigame_main player0: %0111110 %1111111 %1101011 %0111110 %0001000 %0001100 end player1: %0111110 %1111111 %1101011 %0111110 %0001000 %0001100 end if i{2} then goto i2_player if i{3} then goto i3_player goto minigame_2 i2_player player0: %10101010 %01010100 %10111010 %01111100 %10101010 %01010100 end goto minigame_2 i3_player player1: %10101010 %01010100 %10111010 %01111100 %10101010 %01010100 end minigame_2 if switchselect then goto i_like_bacon bank1 if switchreset then goto minigame if !switchrightb then i{6}=1 else i{6}=0 if !v{1} then missile0x=player0x+5 : missile0y=player0y-7 if !v{3} then missile1x=player1x-3 : missile1y=player1y-2 COLUPF=206 : COLUP1=206 drawscreen if collision(player1,playfield) && i{4} then goto relocate_1 if collision(player0,playfield) && i{5} then goto relocate_0 i{4}=0 : i{5}=0 if i{2} then k=k+1 if i{2} && k<60 then AUDV0=6 : AUDC0=8 : AUDF0=15 if i{2} && k>60 then AUDV0=0 : i{2}=0 : k=0 : i{4}=1 if i{2} && k>=30 then c=0 if i{3} then l=l+1 if i{3} && l<60 then AUDV1=6 : AUDC1=8 : AUDF1=15 if i{3} && l>60 then AUDV1=0 : i{3}=0 : l=0 : i{5}=1 if i{3} && l>=30 then a=0 if collision(player0,playfield) && i{6} then player0x=player0x-x : player0y=player0y-y : a=a+4 : if a>8 then a=a-8 if collision(player0,player1) then player0x=player0x-x : player0y=player0y-y : player1x=player1x-w : player1y=player1y-z if collision(player0,playfield) && !i{6} then player0x=player0x-x : player0y=player0y-y if collision(player1,playfield) && i{6} then player1x=player1x-w : player1y=player1y-z : c=c+4 : if c>8 then c=c-8 if collision(player1,playfield) && !i{6} then player1x=player1x-w : player1y=player1y-z if player1y>84 && !i{6} then player1x=player1x-w : player1y=player1y-z if player1y>84 && i{6} then player1x=player1x-w : player1y=player1y-z : c=c+4 : if c>8 then c=c-8 if a=1 && !v{1} then b=1 if a=2 && !v{1} then b=2 if a=3 && !v{1} then b=3 if a=4 && !v{1} then b=4 if a=5 && !v{1} then b=5 if a=6 && !v{1} then b=6 if a=7 && !v{1} then b=7 if a=8 && !v{1} then b=8 if c=1 && !v{3} then e=1 if c=2 && !v{3} then e=2 if c=3 && !v{3} then e=3 if c=4 && !v{3} then e=4 if c=5 && !v{3} then e=5 if c=6 && !v{3} then e=6 if c=7 && !v{3} then e=7 if c=8 && !v{3} then e=8 if joy0up then a=1 if joy0right then a=3 if joy0down then a=5 if joy0left then a=7 if joy0up && joy0right then a=2 if joy0down && joy0right then a=4 if joy0down && joy0left then a=6 if joy0up && joy0left then a=8 if joy1up then c=1 if joy1right then c=3 if joy1down then c=5 if joy1left then c=7 if joy1up && joy1right then c=2 if joy1down && joy1right then c=4 if joy1down && joy1left then c=6 if joy1up && joy1left then c=8 if joy0fire && !collision(player0,playfield) then v{1}=1 if joy1fire && !collision(player1,playfield) then v{3}=1 if a>0 then f=f+1 if c>0 then r=r+1 x=0 : y=0 if a=1 && f>3 then f=0 : y=1 if a=2 && f>3 then f=0 : y=1 : x=1 : v{0}=0 if a=3 && f>3 then f=0 : x=1 : v{0}=0 if a=4 && f>3 then f=0 : y=255 : x=1 : v{0}=0 if a=5 && f>3 then f=0 : y=255 if a=6 && f>3 then f=0 : y=255 : x=255 : v{0}=1 if a=7 && f>3 then f=0 : x=255 : v{0}=1 if a=8 && f>3 then f=0 : y=1 : x=255 : v{0}=1 player0x=player0x+x : player0y=player0y+y w=0 : z=0 if c=1 && r>3 then r=0 : z=1 if c=2 && r>3 then r=0 : z=1 : w=1 : v{2}=0 if c=3 && r>3 then r=0 : w=1 : v{2}=0 if c=4 && r>3 then r=0 : z=255 : w=1 : v{2}=0 if c=5 && r>3 then r=0 : z=255 if c=6 && r>3 then r=0 : z=255 : w=255 : v{2}=1 if c=7 && r>3 then r=0 : w=255 : v{2}=1 if c=8 && r>3 then r=0 : z=1 : w=255 : v{2}=1 player1x=player1x+w : player1y=player1y+z if v{1} then goto missile_fired if v{3} then goto missile_1_fired if i{4} then goto relocate_1 if i{5} then goto relocate_0 goto minigame_main missile_fired if v{1} then s=s+1 if v{1} && s>0 && s<=10 then AUDV0=6 : AUDC0=14 : AUDF0=31 if v{1} && s>10 then AUDV0=0 if v{1} && b=1 then missile0y=missile0y+1 if v{1} && b=2 then missile0x=missile0x+1 : missile0y=missile0y+1 if v{1} && b=3 then missile0x=missile0x+1 if v{1} && b=4 then missile0x=missile0x+1 : missile0y=missile0y-1 if v{1} && b=5 then missile0y=missile0y-1 if v{1} && b=6 then missile0x=missile0x-1 : missile0y=missile0y-1 if v{1} && b=7 then missile0x=missile0x-1 if v{1} && b=8 then missile0x=missile0x-1 : missile0y=missile0y+1 if collision(missile0,playfield) then v{1}=0 : AUDV0=0 : s=0 if collision(missile0,player1) && i{2} then v{1}=0 if collision(missile0,player1) && !i{2} && b=1 then v{1}=0 : c=1 : i{2}=1 : byte1=byte1+$01 if collision(missile0,player1) && !i{2} && b=2 then v{1}=0 : c=2 : i{2}=1 : byte1=byte1+$01 if collision(missile0,player1) && !i{2} && b=3 then v{1}=0 : c=3 : i{2}=1 : byte1=byte1+$01 if collision(missile0,player1) && !i{2} && b=4 then v{1}=0 : c=4 : i{2}=1 : byte1=byte1+$01 if collision(missile0,player1) && !i{2} && b=5 then v{1}=0 : c=5 : i{2}=1 : byte1=byte1+$01 if collision(missile0,player1) && !i{2} && b=6 then v{1}=0 : c=6 : i{2}=1 : byte1=byte1+$01 if collision(missile0,player1) && !i{2} && b=7 then v{1}=0 : c=7 : i{2}=1 : byte1=byte1+$01 if collision(missile0,player1) && !i{2} && b=8 then v{1}=0 : c=8 : i{2}=1 : byte1=byte1+$01 if byte1=$0A then byte1=$10 if byte1=$1A then byte1=$20 if byte1=$2A then byte1=$30 if byte1=$3A then byte1=$40 if byte1=$4A then byte1=$50 if byte1=$5A then byte1=$60 if byte1=$6A then byte1=$70 if byte1=$7A then byte1=$80 if byte1=$8A then byte1=$90 if byte1=$9A then byte1=$00 if v{3} then goto missile_1_fired goto minigame_main missile_1_fired if v{3} then q=q+1 if v{3} && q>0 && q<=10 then AUDV1=6 : AUDC1=14 : AUDF1=31 if v{3} && q>10 then AUDV1=0 if v{3} && e=1 then missile1y=missile1y+1 if v{3} && e=2 then missile1x=missile1x+1 : missile1y=missile1y+1 if v{3} && e=3 then missile1x=missile1x+1 if v{3} && e=4 then missile1x=missile1x+1 : missile1y=missile1y-1 if v{3} && e=5 then missile1y=missile1y-1 if v{3} && e=6 then missile1x=missile1x-1 : missile1y=missile1y-1 if v{3} && e=7 then missile1x=missile1x-1 if v{3} && e=8 then missile1x=missile1x-1 : missile1y=missile1y+1 if collision(missile1,playfield) then v{3}=0 : q=0 : AUDV1=0 if collision(missile1,player0) && i{2} then v{1}=0 : q=0 if collision(missile1,player0) && !i{2} && e=1 then v{3}=0 : a=1 : i{3}=1 : byte3=byte3+$01 if collision(missile1,player0) && !i{2} && e=2 then v{3}=0 : a=2 : i{3}=1 : byte3=byte3+$01 if collision(missile1,player0) && !i{2} && e=3 then v{3}=0 : a=3 : i{3}=1 : byte3=byte3+$01 if collision(missile1,player0) && !i{2} && e=4 then v{3}=0 : a=4 : i{3}=1 : byte3=byte3+$01 if collision(missile1,player0) && !i{2} && e=5 then v{3}=0 : a=5 : i{3}=1 : byte3=byte3+$01 if collision(missile1,player0) && !i{2} && e=6 then v{3}=0 : a=6 : i{3}=1 : byte3=byte3+$01 if collision(missile1,player0) && !i{2} && e=7 then v{3}=0 : a=7 : i{3}=1 : byte3=byte3+$01 if collision(missile1,player0) && !i{2} && e=8 then v{3}=0 : a=8 : i{3}=1 : byte3=byte3+$01 if byte3=$0A then byte3=$10 if byte3=$1A then byte3=$20 if byte3=$2A then byte3=$30 if byte3=$3A then byte3=$40 if byte3=$4A then byte3=$50 if byte3=$5A then byte3=$60 if byte3=$6A then byte3=$70 if byte3=$7A then byte3=$80 if byte3=$8A then byte3=$90 if byte3=$9A then byte3=$00 goto minigame_main relocate_1 player1x=rand if player1x<20 then goto relocate_1 if player1x>140 then goto relocate_1 get_p1y player1y=rand if player1y<8 then goto get_p1y if player1y>80 then goto get_p1y goto minigame_main relocate_0 player0x=rand if player0x<20 then goto relocate_0 if player0x>140 then goto relocate_0 get_p0y player0y=rand if player0y<8 then goto get_p0y if player0y>80 then goto get_p0y goto minigame_main bank 3 150 goto main bank1 got_treasure g=g+1 : drawscreen if g>0 then AUDV0=6 : AUDC0=12 : AUDF0=17 if g>20 then AUDF0=13 if g>40 then AUDF0=11 if g>60 then AUDF0=8 if g>99 then AUDV0=0 : a=0 : g=0 : b=b+1 : goto begin_level bank1 goto got_treasure game_over t=0 : goto g_o bank4 game_over_2 player0x=65 : player0y=67 : player1x=87 : player1y=64 missile0x=0 : missile0y=0 : scorecolor=204 NUSIZ0=$05 : NUSIZ1=$05 : COLUP0=64 : COLUBK=0 : AUDC0=12 : AUDV0=t drawscreen o=o+1 if p=1 && o>20 then AUDF0=13 : t=6 if p=1 && o>40 then AUDF0=14 if p=1 && o>60 then AUDF0=15 if p=1 && o>80 then AUDF0=16 if p=1 && o>99 then p=2 : o=0 if p=2 && o>0 then AUDF0=17 if p=2 && o>20 then AUDF0=18 if p=2 && o>30 then AUDF0=19 if p=2 && o>70 then t=0 : o=71 if switchreset then goto begin_game bank1 if switchselect then o=0 : p=1 : goto i_like_bacon bank1 goto game_over_2 hit_wall x=x+1 : AUDV0=6 : AUDC0=8 : AUDF0=15 : AUDV1=0 if x>60 then x=0 : AUDV0=0 : y{3}=0 : byte1=byte1-$10 : goto begin_level_2 bank1 player1: %10101010 %01010100 %10111010 %01111100 %10101010 %01010100 end goto main bank1 the_end_setup missile0x=0 : missile0y=0 player0x=90 : player0y=86 : r{0}=1 : AUDV0=0 : AUDV1=0 REFP0=0 player0: %0111110 %1111111 %1101011 %0111110 %0001000 %0001100 end the_end if y{0} then player0x=0 : player0y=0 COLUP0=30 : COLUPF=200 : COLUBK=128 if switchselect then goto i_like_bacon bank1 if r{0} then player1x=player1x+1 if player1x>130 then r{0}=0 : r{1}=1 : REFP0=0 if r{1} then player1y=player1y-1 if player1y<14 then r{1}=0 : r{2}=1 : REFP0=0 if r{2} then player1x=player1x-1 if player1x<21 then r{2}=0 : r{3}=1 : REFP0=8 if r{3} then player1y=player1y+1 if player1y>86 then r{3}=0 : r{0}=1 : REFP0=8 drawscreen goto the_end_pf bank4 bank 4 level_1 playfield: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X...........X................... X...........X................... X...........X................... X...XXXXX...X....XXXXXXXXXXXXXXX X...X.......X..................X X...X.......X..................X X...X.......X..................X X...X...XXXXXXXXXXXXXX....XXXXXX X...X...........X..............X X...X...........X..............X X...X...........X..............X X...XXXXXXXXX...X.....XXXX.....X X...........X...X..............X X...........X...X..............X X...........X...X..............X XXXXXXXXX...X...XXXXXX....XXXXXX X...........X.............X....X X...........X.............X....X X...........X.............X....X X...XXXXXXXXXXXXXXXXXXXXXXXXXXXX end const pfres=22 goto begin_level_2 bank1 level_2 playfield: XXXXXXXXXXXXXXXX X.........X..... X.........X..... X.........X..... X....X....X....X X....X.........X X....X.........X X....X.........X X....XXXXXXXXXXX X..............X X..............X X..............X XXXXXXXXXXX....X X.........X....X X.........X....X X.........X....X X....X....X....X X....X....X....X X....X.........X X....X.........X X....X.........X X....XXXXXXXXXXX end goto main bank1 level_3 playfield: XXXXXXXXXXXXXXXX X............... X............... X............... X....XXXXXXXXXXX X....X.........X X..............X X..............X X........X.....X XXXXXXXXXX.....X X..............X X..............X X..............X X....XXXXXXXXXXX X..............X X..............X X..............X XXXXXXXXXX.....X ...............X ...............X ...............X XXXXXXXXXXXXXXXX end goto main bank1 level_4 playfield: XXXXXXXXXXXXXXXX X..............X X..............X X..............X X....XXXXXX....X X.........X....X X.........X....X X.........X....X XXXXX.....X....X X.........X..... X.........X..... X.........X..... X.....XXXXXXXXXX X.....X........X X..............X X..............X X.........X....X XXXXXXXXXXX....X ...............X ...............X ...............X XXXXXXXXXXXXXXXX end goto main bank1 level_5 playfield: XXXXXXXXXXXXXXXX X..............X X..............X X..............X X....XXXXXXX.... X..........X.... X...........X... X...........X... XXXXXXXXX...X... XXXX........XXXX X...........X... X...........X... X........XXXX... X...XXXXXXXXXXXX X..............X X..............X X..............X XXXXXXXXXXX....X ...............X ...............X ...............X XXXXXXXXXXXXXXXX end goto main bank1 level_6 playfield: XXXXXXXXXXXXXXXX X..............X X..............X X............... X.....X......... X.....XXXXXXXXXX X..............X X..............X X..............X XXXXXXXXXXXX...X X..........X...X X..........X...X X..........X...X X...XXXX...X...X X......X...X...X X......X...X...X X......X...X...X XXXX...X.......X .......X.......X .......X.......X .......X.......X XXXXXXXXXXXXXXXX end goto main bank1 level_7 playfield: XXXXXXXXXXXXXXXX X..............X X..............X X..............X X.....XXXXX....X X.....X........X X.....X........X X.....X........X XXX...X....XXXXX X.....X....XXXXX X.....XX...X.... X.....X....X.... X.....X....X.... X.....X....X...X X.....X....X...X X...XXX...XX...X X...X.X....X...X X...X.X....X...X X...X.X........X X...X.X........X X...X.X........X X...XXXXXXXXXXXX end goto main bank1 level_8 playfield: XXXXXXXXXXXXXXXX X.......X....... X............... X............... X...X.......XXXX X...XXXXXXXXXXXX X......X.......X X......X.......X X......X.......X XXXX...X.......X X......X...X...X X......X...X...X X......X...X...X X...XXXX...X...X X..........X...X X..........X...X X..........X...X XXXXXXXXXXXX...X X..............X X..............X X..............X X...XXXXXXXXXXXX end goto main bank1 level_9 playfield: XXXXXXXXXXXXXXXX X..X...........X X..X...........X X..X...........X XXXX....XXXX...X X..........X...X X..........X...X X....XX....X...X X....XX....X...X X..........X...X X..........X...X XXXX.....XX....X XXX.....X......X XX.....X.......X X.....X.......XX X.....X......XXX X.....X....XXXXX X.....X......... X.....X......... X.....X......... X.....X......... X.....XXXXXXXXXX end goto main bank1 level_10 playfield: XXXXXXXXXXXXXXXX X.......X....... X............... X...X..........X X...X........XXX X....XXXXXXXXXXX X..............X X..............X X..............X XXXXXXXXXXXX...X X..........X...X X..........X...X X..........X...X X...XXXX...X...X X...X......X...X X...X......X...X X...X......X...X X...X...XXXX...X X...X..........X X...X..........X X...X..........X X...XXXXXXXXXXXX end goto main bank1 level_11 playfield: XXXXXXXXXXXXXXXX X.......X....... X.......X....... X.......X....... X...X...X...XXXX X...X...X...X... X...X...X...X... X...X...X...X... X...X.......X... X...X.......X... X...X......X.... X...X......X.... X....XXXXXXXXXXX X..............X X..............X XXXXXXXXXXXX...X X......X.......X X..............X ...............X .....XXXXXXXXXXX .....X.......... XXXXXXXXXXXXXXXX end goto main bank1 level_12 playfield: XXXXXXXXXXXXXXXX X..............X X..............X X...XXXXXXXX...X X...X..........X X...X..........X X...X....XXXXXXX X...X..........X X...X..........X X...X..........X X...XXXXXXXX...X X..........X...X X..........X...X X..........X...X XXXXXXXX...X...X X......X...X...X X......X...X...X X..........X...X X..........X.... X...X......X.... X...X......X.... X...XXXXXXXXXXXX end goto main bank1 level_13 playfield: XXXXXXXXXXXXXXXX XX.............. X............... X..............X X...XXXXXXXXXXXX X...X..........X X...X..........X X...X..........X X...X...XXXX...X X...X...X......X X...X...X......X X...X...X...XXXX X.......X......X X.......X......X X.......X......X XXXXXXXXXXXX...X X..X.......X...X X..X.......X...X XXXX...X.......X .......X.......X .......X.......X XXXXXXXXXXXXXXXX end goto main bank1 title_pf playfield: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X..............................X X....XXX..XX...XXX.X..X.XXX....X X...X....X..X.X....X..X.X..X...X X...X.XX.X..X..XX..X..X.XXX....X X...X..X.X..X....X.X..X.X..X...X X....XX...XX..XXX...XX..XXX....X X..............................X X..............XX..............X X.............X..X.............X X...............X..............X X..............X...............X X.............XXXX.............X X..............................X X.............XXXX.............X X...............XX.............X X..........XXXXXXXXXXX.........X X.........XX..XXXXX..XX........X X.........XXXXXXXXXXXXX........X X..........XXXXXXXXXXX.........X X..............................X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX end const pfres=22 goto title_screen bank1 g_o playfield: XXXXXXXXXXXXXXXX X............... X............... X............... X............... X............... X............... X............... X............... X............... X............... X............... X............... X............... X............... X............... X............... X............... X............... X............... X............... XXXXXXXXXXXXXXXX end goto game_over_2 bank3 minigame_pf playfield: XXXXXXXXXXXXXXXX X..............X X..............X X..............X X............... X.....XXXXX..... X.........X..... X.........X..... X.........X..... X.............XX X.............XX X.............XX X.............XX X.....X......... X.....X......... X.....X......... X.....XXXXX..... X............... X..............X X..............X X..............X XXXXXXXXXXXXXXXX end goto minigame_main bank2 the_end_pf playfield: XXXXXXXXXXXXXXXX X............... X............... X....X...X.....X X.....X.X.....X. X......X......XX X......X......X. X......X......X. X......X......X. X............... X............... X..............X X..............X X..............X X..............X X............... X..............X X............... X............... X............... X............... XXXXXXXXXXXXXXXX end goto the_end bank3