includesfile multisprite_bankswitch.inc set kernel multisprite set romsize 16k 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: %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 %11111111 end player2: %111111 %111111 %011000 %001100 %000110 %110011 %111111 %011110 %000000 %111110 %110011 %110011 %111110 %110011 %110011 %111110 %000000 %011110 %111111 %110011 %110011 %110011 %110011 %110011 %110011 %000000 %011110 %111111 %000011 %011111 %111110 %110000 %111111 %011110 %000000 %011110 %111111 %110011 %110011 %110011 %110011 %111111 %011110 %000000 %011110 %111111 %110011 %110111 %110111 %110000 %111111 %011111 end player3: %0101010 %0101010 %0101010 %0101010 %0111110 %1110111 %1101011 %0111110 end player4: %10001110 %11010001 %11110111 %11111101 %11011111 %10001110 end COLUP2=200 : COLUPF=0 : player0x=68 : player0y=71 : COLUP0=128 : 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 player3x=0 : player3y=0 : player4x=0 : player4y=0 if !y{0} then player3x=50 : player3y=80 : player4x=50 : player4y=15 COLUP3=80 : COLUP4=30 scorecolor=0 missile0x=0 : missile0y=0 : ballx=0 : bally=0 drawscreen player2x=120 : player2y=70 : AUDC0=12 : NUSIZ2=$00 : 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 without_code 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 without_code level=1 begin_game player0: %0111110 %1111111 %1101011 %0111110 %0001000 %0001100 end byte2=$00 : byte3=$00 : scorecolor=0 begin_level byte1=$3B : AUDV0=0 : AUDV1=0 : o=0 : p=1 : player2x=0 : player2y=0 : 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 begin_level_2 if byte1=$0B then goto game_over bank3 a=0 : j=80 : v{7}=0 : v{6}=0 : y{1}=0 player0x=20 : player0y=14 : missile0x=player0x+5 : missile0y=player0y-7 m=2 : z{3}=0 : z{7}=0 if level>14 then goto the_end_setup bank3 if y{0} then goto main player3_intro if !v{5} then goto get_player3x player3x=161 : goto get_player3y get_player3x player3x=rand if player3x<28 then goto get_player3x if player3x>135 then goto get_player3x get_player3y player3y=rand if player3y<24 then goto get_player3y if player3y>44 then goto get_player3y if v{6} then goto main player4_intro if !v{5} then goto get_player4x player4x=12 : goto get_player4y get_player4x if byte1=$0B then goto game_over bank3 player4x=rand if player4x<28 then goto get_player4x if player4x>135 then goto get_player4x get_player4y player4y=rand if player4y<52 then goto get_player4y if player4y>80 then goto get_player4y main v{6}=0 if byte2>$99 && byte3>$90 then byte2=$AA : byte3=$AA drawscreen if y{3} then goto hit_wall bank3 player1: %1111111 %1111111 %1111111 end 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 if !w{5} then goto fish_left else goto fish_right fish_left player4: %10001110 %11010001 %11110111 %11111101 %11011111 %10001110 end goto 25 fish_right player4: %01110001 %10001011 %11101111 %10111111 %11111011 %01110001 end 25 if y{0} then player4x=0 : player4y=0 : player3x=0 : player3y=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 player3: %00010101 %00101010 %00101010 %01010100 %01111100 %11101110 %11010110 %01111100 end goto 50 octopus_straight player3: %0101010 %0101010 %0101010 %0101010 %0111110 %1110111 %1101011 %0111110 end goto 50 octopus_right player3: %10101000 %01010100 %01010100 %00101010 %00111110 %01110111 %01101011 %00111110 end 50 if h>0 && !z{4} then i=i+1 if s>0 && !z{4} then t=t+1 if h=0 then goto 62 if s=0 then goto 63 goto 75 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 if s=0 then goto 63 goto 75 63 if s=0 then s=rand if s<=64 then s=1 : w{5}=0 if s>64 && s<=128 then s=2 : w{5}=1 if s>128 && s<=196 then s=3 if s>196 then s=4 75 k=k+1 if s=1 && k=4 then player4x=player4x+1 if s=2 && k=4 then player4x=player4x-1 if s=3 && k=4 then player4y=player4y+1 if s=4 && k=4 then player4y=player4y-1 if t=60 then t=0 : s=0 100 if h=1 && k=4 then k=0 : player3x=player3x+1 if h=2 && k=4 then k=0 : player3x=player3x-1 if h=3 && k=4 then k=0 : player3y=player3y+1 if h=4 && k=4 then k=0 : player3y=player3y-1 if h=5 && k=4 then k=0 : player3x=player3x+1 : player3y=player3y-1 if h=6 && k=4 then k=0 : player3x=player3x+1 : player3y=player3y+1 if h=7 && k=4 then k=0 : player3x=player3x-1 : player3y=player3y-1 if h=8 && k=4 then k=0 : player3x=player3x-1 : player3y=player3y+1 if i=30 then i=0 : h=0 if player3x>=135 && !v{5} then player3x=135 if player3x>=135 && v{5} then h=2 if player3x<28 && !y{0} then player3x=28 if player3y<24 && !y{0} then player3y=24 if player3y>44 && !y{0} then player3y=44 if player4x<=28 && !v{5} then player4x=28 if player4x<=28 && v{5} then s=1 : w{5}=0 if player4x>135 && !y{0} then player4x=135 if player4y<52 && !y{0} then player4y=52 if player4y>80 && !y{0} then player4y=80 if switchselect then goto i_like_bacon if !v{7} then missile0x=player0x+5 : missile0y=player0y-7 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 player0: %0111110 %1111111 %1101011 %0111110 %0001000 %0001100 end 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 REFP0=8 else REFP0=0 if v{3} && r=60 then r=0 : y{3}=1 if collision(player0,playfield) then y{3}=1 if collision(player0,player1) then v{3}=1 if v{3} then r=r+1 : m=6 if v{3} && collision(missile0,player1) then r=r+1 : m=6 if !collision(player0,player1) 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 : player0y=player0y+1 if a=2 && f>m then f=0 : player0y=player0y-1 if a=3 && f>m then f=0 : player0x=player0x-1 : v{0}=1 if a=4 && f>m then f=0 : player0x=player0x+1 : v{0}=0 if a=5 && f>m then f=0 : player0y=player0y+1 : player0x=player0x-1 : v{0}=1 if a=6 && f>m then f=0 : player0y=player0y+1 : player0x=player0x+1 : v{0}=0 if a=7 && f>m then f=0 : player0y=player0y-1 : player0x=player0x-1 : v{0}=1 if a=8 && f>m then f=0 : player0y=player0y-1 : player0x=player0x+1 : v{0}=0 if player0x<19 then player0x=19 if player0y<10 && player0x<=120 then player0y=10 if player0y<10 && player0x>120 then goto got_treasure bank3 COLUBK=136 : COLUP4=30 COLUP3=j : COLUP0=0 if !v{7} then AUDV1=0 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 : v{7}=0 : r=0 if v{7} then goto missile_fired_main goto 150 bank3 missile_fired_main if v{7} && d=1 then missile0y=missile0y+1 if v{7} && d=2 then missile0y=missile0y-1 if v{7} && d=3 then missile0x=missile0x-1 if v{7} && d=4 then missile0x=missile0x+1 if v{7} && d=5 then missile0x=missile0x-1 : missile0y=missile0y+1 if v{7} && d=6 then missile0x=missile0x+1 : missile0y=missile0y+1 if v{7} && d=7 then missile0x=missile0x-1 : missile0y=missile0y-1 if v{7} && d=8 then missile0x=missile0x+1 : missile0y=missile0y-1 if collision(missile0,playfield) && v{7} then v{7}=0 : r=0 : AUDV1=0 if missile0x<17 then v{7}=0 : r=0 : AUDV1=0 if missile0y<5 then v{7}=0 : r=0 : AUDV1=0 if missile0x>145 then v{7}=0 : r=0 : AUDV1=0 if collision(missile0,player1) && missile0y>=45 then byte3=byte3+$10 : v{7}=0 : v{5}=1 : y{1}=1 : r=0 : goto player4_intro if collision(missile0,player1) && missile0y<=44 then byte3=byte3+$10 : v{7}=0 : v{6}=1 : v{5}=1 : y{1}=1 : r=0 : goto player3_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 : player3x=0 : player3y=0 : player4x=0 : player4y=0 f=0 : player2x=83 : player2y=65 : byte1=$00 : byte2=$BB : byte3=$00 goto minigame_pf bank4 minigame_main player0: %0111110 %1111111 %1101011 %0111110 %0001000 %0001100 end player2: %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 player2: %10101010 %01010100 %10111010 %01111100 %10101010 %01010100 end goto minigame_2 i3_player player0: %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 ballx=player2x-3 : bally=player2y-2 COLUPF=206 : COLUP2=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 : player2x=player2x-w : player2y=player2y-z if collision(player0,playfield) && !i{6} then player0x=player0x-x : player0y=player0y-y if collision(player1,playfield) && i{6} then player2x=player2x-w : player2y=player2y-z : c=c+4 : if c>8 then c=c-8 if collision(player1,playfield) && !i{6} then player2x=player2x-w : player2y=player2y-z if player2y>84 && !i{6} then player2x=player2x-w : player2y=player2y-z if player2y>84 && i{6} then player2x=player2x-w : player2y=player2y-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 player2x=player2x+w : player2y=player2y+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 bally=bally+1 if v{3} && e=2 then ballx=ballx+1 : bally=bally+1 if v{3} && e=3 then ballx=ballx+1 if v{3} && e=4 then ballx=ballx+1 : bally=bally-1 if v{3} && e=5 then bally=bally-1 if v{3} && e=6 then ballx=ballx-1 : bally=bally-1 if v{3} && e=7 then ballx=ballx-1 if v{3} && e=8 then ballx=ballx-1 : bally=bally+1 if collision(ball,playfield) then v{3}=0 : q=0 : AUDV1=0 if collision(ball,player0) && i{2} then v{1}=0 : q=0 if collision(ball,player0) && !i{2} && e=1 then v{3}=0 : a=1 : i{3}=1 : byte3=byte3+$01 if collision(ball,player0) && !i{2} && e=2 then v{3}=0 : a=2 : i{3}=1 : byte3=byte3+$01 if collision(ball,player0) && !i{2} && e=3 then v{3}=0 : a=3 : i{3}=1 : byte3=byte3+$01 if collision(ball,player0) && !i{2} && e=4 then v{3}=0 : a=4 : i{3}=1 : byte3=byte3+$01 if collision(ball,player0) && !i{2} && e=5 then v{3}=0 : a=5 : i{3}=1 : byte3=byte3+$01 if collision(ball,player0) && !i{2} && e=6 then v{3}=0 : a=6 : i{3}=1 : byte3=byte3+$01 if collision(ball,player0) && !i{2} && e=7 then v{3}=0 : a=7 : i{3}=1 : byte3=byte3+$01 if collision(ball,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 player2x=rand if player2x<20 then goto relocate_1 if player2x>140 then goto relocate_1 get_p2y player2y=rand if player2y<8 then goto get_p2y if player2y>80 then goto get_p2y 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 if player0x>140 then goto got_treasure 251 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 if level=14 then COLUPF=198 : goto level_14 bank4 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 player0: %01111 %01111 %10000 %10000 %11111 %11111 %10000 %10000 %01111 %01111 %00000 %10101 %10101 %10101 %10101 %10101 %10101 %10101 %10101 %01110 %01110 %00000 %10001 %10001 %10001 %10001 %11111 %11111 %10001 %10001 %01110 %01110 %00000 %01110 %01110 %10001 %10001 %10111 %10111 %10000 %10000 %01110 %01110 end player2: %10001 %10001 %10001 %10001 %11110 %11110 %10001 %10001 %11110 %11110 %00000 %01111 %01111 %10000 %10000 %11111 %11111 %10000 %10000 %01111 %01111 %00000 %00100 %00100 %01010 %01010 %10001 %10001 %10001 %10001 %10001 %10001 %00000 %01110 %01110 %10001 %10001 %10001 %10001 %10001 %10001 %01110 %01110 end player0x=65 : player0y=67 : player2x=87 : player2y=64 : player3x=0 : player3y=0 player4x=0 : player4y=0 : missile0x=0 : missile0y=0 : scorecolor=204 NUSIZ0=$05 : NUSIZ2=$05 : COLUP0=64 : COLUP2=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 joy0right then y{4}=1 if y{4} && !joy0right then y{4}=1 if switchreset && y{4} then y{4}=0 : goto begin_game bank1 if switchreset then goto without_code 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 player0: %10101010 %01010100 %10111010 %01111100 %10101010 %01010100 end goto main bank1 the_end_setup player3x=70 : player3y=44 : player4x=98 : player4y=26 player2x=0 : player2y=0 : 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 player3: %0101010 %0101010 %0101010 %0101010 %0111110 %1110111 %1101011 %0111110 end player4: %01110001 %10001011 %11101111 %10111111 %11111011 %01110001 end the_end if y{0} then player3x=0 : player3y=0 : player4x=0 : player4y=0 COLUP4=30 : COLUP3=80 : COLUPF=200 : COLUBK=128 if switchselect then goto i_like_bacon bank1 if r{0} then player0x=player0x+1 if player0x>130 then r{0}=0 : r{1}=1 : REFP0=0 if r{1} then player0y=player0y-1 if player0y<14 then r{1}=0 : r{2}=1 : REFP0=0 if r{2} then player0x=player0x-1 if player0x<21 then r{2}=0 : r{3}=1 : REFP0=8 if r{3} then player0y=player0y+1 if player0y>86 then r{3}=0 : r{0}=1 : REFP0=8 drawscreen goto the_end_pf bank4 bank 4 level_1 playfield: XXXXXXXXXXXXXXXX X..............X X..............X X..............X X.....XXXX.....X X.....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 XXXXXXXXXX.....X ...............X ...............X ...............X XXXXXXXXXXXXXXXX end pfheight=3 goto main bank1 level_2 playfield: XXXXXXXXXXXXXXXX X.......X......X X..............X X..............X X...X..........X X...XXXXXXX....X X.........X....X X.........X....X X.........X....X XXXXXXX...X....X X.........X....X X.........X....X X.........X....X X...XXXXXXX....X X...X..........X X...X..........X X...X..........X X...X....XXXXXXX X...X........... X...X........... X...X........... X...XXXXXXXXXXXX end pfheight=3 goto main bank1 level_3 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 pfheight=3 goto main bank1 level_4 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 pfheight=3 goto main bank1 level_5 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 pfheight=3 goto main bank1 level_6 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 pfheight=3 goto main bank1 level_7 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 pfheight=3 goto main bank1 level_8 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 pfheight=3 goto main bank1 level_9 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 pfheight=3 goto main bank1 level_10 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....... XX.....X.......X X.....X.......XX X.....X......X.X X.....X....XX..X X.....X......... X.....X......... X.....X......... X.....X......... X.....XXXXXXXXXX end pfheight=3 goto main bank1 level_11 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 pfheight=3 goto main bank1 level_12 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.X.X X...X......X.... X....XXXXXXXXXXX X..............X X..............X XXXXXXXXXXXX...X X......X.......X X..............X ...............X .....XXXXXXXXXXX .....X.......... XXXXXXXXXXXXXXXX end pfheight=3 goto main bank1 level_13 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 pfheight=3 goto main bank1 level_14 playfield: XXXXXXXXXXXXXXXX X.......XXXXXXXX X..............X X...X..........X X...X..........X X...XXXXXXXX...X X.....X........X X.....X........X X.....X........X XXX...X...XXXXXX X.....X......... X.....X......... X.....X......... X...XXXXXXXXXXXX X..............X X..............X X..............X XXXXXXXXXXXX...X ...............X ...............X ...............X XXXXXXXXXXXXXXXX end pfheight=3 goto main bank1 title_pf playfield: XXXXXXXXXXXXXXXX X............... X............... X............... X............... X............XXX X............XXX X..............X X..............X X..........XXXXX X.........XXXXXX X........XXX..XX X........XX....X X........XX....X X........XXX..XX X.........XXXXXX X..........XXXXX X............... X............... X............... X............... XXXXXXXXXXXXXXXX end pfheight=3 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 pfheight=3 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 pfheight=3 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 pfheight=3 goto the_end bank3