set romsize 16k set kernel_options player1colors no_blank_lines title_screen playfield: XXX.XX.XX..XX...X..XX...XX..XX.. .X.X...X.X.X.X.X.X.X.X.X...X.... .X.XX..XX..XX..XXX.X.X.X...XXX.. .X.X...X.X.X.X.X.X.X.X.X...X.... .X..XX.X.X.X.X.X.X.X.X..XX..XX.. ................................ .X..XX..X.X.X.X...X...X.XX...XX. .X..X.X.X.X.X.X...X...X.X.X.X..X XXX.XX..XXX.X.X...X...X.XX....X. XX..X...X.X.X.X...X...X.X....X.. .X..X...X.X.X.XXX.XXX.X.X...XXXX end lifecolor=0 player0x=0 : player0y=0 : player1x=95 : player1y=79 COLUPF=64 : COLUBK=0 : b{5}=0 drawscreen if switchreset then goto begin f=f+1 if f<9 then goto t_walking_1_ts if f<18 then goto t_walking_2_ts if f<27 then goto t_walking_3_ts if f<=36 then goto t_walking_2_ts if f>36 then f=0 t_walking_1_ts player1: %11000110 %10000111 %01000100 %01001000 %00101000 %10000010 %10111100 %10111100 %10111100 %01011100 %01011100 %01111100 %01111100 %00111000 %01111100 %00000000 %01111100 %01110100 %01111100 %00111000 %00111100 end player1color: 4 4 16 16 16 46 64 64 64 64 64 64 64 46 46 46 46 46 46 46 244 end goto title_screen t_walking_2_ts player1: %00111000 %00110000 %00011100 %00111000 %00110000 %01011100 %01011100 %01011100 %01011100 %01111100 %01111100 %00111000 %01111100 %00000000 %01111100 %01110100 %01111100 %00111000 %00111100 end player1color: 4 16 16 16 46 64 64 64 64 64 64 46 46 46 46 46 46 46 244 end goto title_screen t_walking_3_ts player1: %11000110 %10000111 %01000100 %01001000 %00101000 %00000001 %00111011 %00111010 %00110110 %00110110 %00110110 %00111110 %00111110 %00011100 %00111110 %00000000 %00111110 %00111010 %00111110 %00011100 %00011110 end player1color: 4 4 16 16 16 46 64 64 64 64 64 64 64 64 46 46 46 46 46 46 244 end goto title_screen begin lives=64 lives: %01110 %11111 %11111 %00000 %11111 %10101 %10101 %01110 end dim screen=a dim jump=c dim map=p dim level=q dim byte1=score dim byte2=score+1 dim byte3=score+2 screen=20 : rem 20 when done score=0 e{3}=0 : e{2}=0 jump=0 map=2 level=1 m=30 : n=40 : u=40 : v=30 statusbarlength=224 return_to_map r=30 : t=0 o{1}=0 maps player0: %01110 %11111 %11111 %11111 %11111 %01110 end ballx=0 : bally=0 byte1=$CD if map=1 then COLUPF=200 : COLUBK=130 : COLUP0=0 : byte2=$E1 : playfield: ................................ ................................ ................................ ................................ .................XXXX........... ................XXXXX........... .................XXXXX.......... ................................ ................................ ................................ ................................ end if map=2 then COLUPF=10 : COLUBK=142 : COLUP0=0 : byte2=$E2 : playfield: ................................ ...XXXXXXXXXXXXXXXXXXXXXXXXXXX.. .....XXXXXXXXXXXXXXXXXXXXX...... ....XXXXXXXXXXXXXXXXXXXXXXX..... ....XXXXXXXXXXXXXXXXXXXXXXX..... .....XXXXXXXXXXXXXXXXXXXXX...... ...XXXXXXXXXXXXX.XXXXXXXXXXXXX.. ......XXXXXXXXXXXXXXXXXXXXXXX... ....XXXXXXXXXXXXXXXXXXXXXX...... .....XXXXXXXXXXXXXXXXX...XXXX... ................................ end w=w+1 if w<3 then player1: %01110 %11111 %11111 %00000 %11111 %10101 %10101 %01110 end if w<3 then player1color: 42 42 42 42 42 42 42 42 end if w>2 && map=1 then player1: %0101010 %0101010 %0010101 %0010101 %0111110 %1000001 %1000001 %1010101 %1000001 %0111110 end if w>2 && map=2 then player1: %0010100 %0010100 %0010100 %0011100 %1111100 %0011100 %1111100 %0001000 %0011100 %0011100 end if w>2 then player1color: 14 14 14 14 14 14 14 14 14 14 end if map=1 then gosub world_1_map_pos if map=2 then gosub world_2_map_pos if level=1 then m=40 : n=30 : byte3=$A1 if level=2 then u=80 : v=48 : byte3=$A2 if level=3 then u=120 : v=60 : byte3=$A3 if w>2 then player1x=130 : player1y=60 if w<3 then player1x=m : player1y=n scorecolor=14 : lifecolor=46 drawscreen if level>1 && m1 && n4 then w=1 if o{0} then AUDV0=6 : AUDC0=12 : AUDF0=r if o{0} then r=r-3 if r<1 then t=t+1 : r=30 if t>2 then t=0 : r=0 : AUDV0=0 : o{0}=0 : goto begin_level goto maps world_1_map_pos if w=1 then player0x=40 : player0y=30 if w=2 then player0x=80 : player0y=48 if w=3 then player0x=120 : player0y=60 if w=4 then player0x=40 : player0y=30 return world_2_map_pos if w=1 then player0x=40 : player0y=30 if w=2 then player0x=90 : player0y=70 if w=3 then player0x=116 : player0y=50 return begin_level s=119 : t=0 : byte1=$FF : byte2=$1B : byte3=$59 if map=2 then goto world_2 bank3 if level=3 then s=59 : t=0 : byte2=$0B if level=2 then s=89 : t=0 : byte2=$1B : byte3=$29 if level=1 then player0: %01110001 %11111101 %11111110 %11111110 %10111101 %01110001 end if level=2 then goto z_level_2 bank2 if level=3 then goto boss_1_battle_setup bank2 pick_screen screen=screen+1 pick_screen_2 b{0}=0 : g=1 b{6}=0 if b{5} then goto title_screen if screen=1 then player0x=74 : player0y=48 : e{1}=1 : o{2}=1 : player1x=30 : player1y=10 : playfield: X.........XXXXXXXXXXXXXXXXXXXXX X.........X...................X X.........X...................X XXXXX.....X...................X X.........XXXX....XXXX....XXXXX X.........XXXX....XXXX....XXXXX X.........XXXX....XXXX....XXXXX X....XXXXXXXXX....XXXX....XXXXX X..................XX.......... X..................XX.......... X..................XX.......... end if screen=2 then e{3}=1 : o{2}=0 : player1y=70 : player0x=110 : playfield: X....................X......... X....................X......... X....XXXXX...XXXXX...XXXXX..... X....X...X...X...X...X...X....X X....X...X...X...X...X...X....X X....X...X...X...X...X...X....X XXXXXX...X...X...X...X...X....X .....XXXXX...XXXXX...XXXXX....X .............X................X .............X................X XXXX.........X................X end if screen=3 then e{1}=1 : e{3}=0 : o{6}=1 : player0x=53 : player1y=10 : playfield: .......X....................... .......X....................... .......X....................... X......X.....XXXXXXXXXXXXXXXXXX X......X.....XXXX.............X X......X......................X X......X.............XXXX...XXX X......XXXXXXXXXXXXXXXXXX...XXX X.............................X X.............................X X.............................X end if screen=4 then e{1}=0 : e{5}=1 : e{3}=0 : e{4}=1 : player1y=20 : player0y=48 : player0x=40 : playfield: .........X...X.............X... .........X...X.............X... .........X...X.............X... XXXXX....X...X....XXXXX....X... X...X....X...X....X...X....X... X...X....X...X....X...X....X... X...X....X...X....X...X....X... X...X....XXXXX....X...X....XXXX X...X.............X...X........ X...X.............X...X........ X...X.............X...X........ end if screen=5 then player1y=70 : player0x=40 : player0y=48 : e{5}=0 : e{1}=1 : playfield: X......X......X.........X...... 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 XX......X...X.............X...X .......X.....X...........X....X ......X.......X.........X.....X .....X.........X.......X......X XXXXX...........X.....X.......X end if screen=6 then player1y=20 : player1y=20 : player0x=30 : e{1}=1 : e{3}=1 : j=150 : k=10 : l=50 : m=78 : player0y=80 : playfield: .....X......................... .....X......................... .....X..X..................XXXX X....X..X..................X..X X....X..XXXXXXXXXXXXXXXXXXXX..X X....X........................X X....X........................X X....XXXXXXXXXXXXXXXXX....XXXXX X.............................X X.............................X X.............................X end if screen=7 then e{6}=0 : e{3}=0 : e{1}=0 : e{5}=1 : o{6}=1 : player0y=44 : player0x=77 : player1y=20 : playfield: .......X........X.............. .......X........X.............. .......X........X.............. X......X...X....X.......XXXXXXX XXXX...X...X.....XX...........X X......X...X.......X..........X X......X...XXX.....X..........X X....XXX.....X.....XXXXXXX....X X............X................X X............X................X X............X................X end if screen=8 then player1y=20 : e=0 : e{1}=1 : o{6}=0 : o{3}=1 : player0x=60 : player0y=50 : playfield: ..............XX............... ..............XX............... ..............XX............... XXXXXXXXX.....XX.....XXXXXXXXXX X.............XX..............X X.............XX..............X X.......XXXXXXXXXXXXXX........X X....XXXXXXXXXXXXXXXXXXXX.....X X.............................X X.............................X X.............................X end if screen=9 && !joy0fire then level=level+1 : m=40 : n=30 : e=0 : o=0 : goto return_to_map if screen=9 && joy0fire then e=0 : e{1}=1 : o{6}=0 : o{3}=1 : playfield: ..............XX............... ..............XX............... ..............XX............... XXXXXXXXX.....XX.....XXXXXXXXXX X.............XX..............X X.............XX..............X X.......XXXXXXXXXXXXXX........X X....XXXXXXXXXXXXXXXXXXXX.....X X.............................X X.............................X X.............................X end if screen=9 && joy0fire then COLUP0=130 : player1x=0 : player1y=0 : drawscreen : goto pick_screen_2 swim if screen<20 then player1color: 46 16 16 46 64 64 64 64 46 46 46 244 end if f>27 then f=1 if f<9 then player1: %01010000 %10100000 %10100000 %00000010 %11110000 %01111111 %00010011 %00100010 %01000011 %00000000 %00000011 %00000110 end if f>8 && f<19 then player1: %10100000 %10100000 %01010000 %00000100 %01111000 %01111111 %00010011 %00010010 %00010011 %00000000 %00000011 %00000110 end if f>18 then player1: %01010000 %10100000 %10100000 %00010000 %01110000 %01111111 %00010011 %00001010 %00000111 %00000000 %00000011 %00000110 end swim_2 if player1y>88 then goto die if collision(player0,player1) && !b{1} then b{1}=1 : goto die rem timer r=r+1 if r>60 then r=0 : s=s-1 : t=t+1 : byte3=byte3-$01 if t=10 then byte3=byte3-$06 : t=0 if s=59 && r=0 then byte2=byte2-$10 : byte3=$59 b{1}=0 if s=0 then byte2=$0B : byte3=$00 : b{6}=1 : goto die if e{1} then gosub e_1 if e{1} && screen=6 && player1x2 then REFP0=0 if e{1} && screen=6 && player1x>j && g>2 then REFP0=8 if e{5} then gosub e_5 if e{3} then gosub e_3 if e{4} && screen=6 && g<3 then REFP0=0 if !e{4} && screen=6 && g<3 then REFP0=8 if e{4} && screen<>6 then REFP0=0 if !e{4} && screen<>6 then REFP0=8 if screen=6 then o{6}=0 if screen=6 && player1x>50 && player1y<70 then e{6}=1 if player1x<20 then player1x=20 if player1y<13 then player1y=13 if player1x>130 then player1x=20 : goto pick_screen d=d+1 : f=f+1 if g>4 then g=0 if joy0down then d=3 if !joy0fire && d>2 then b{0}=0 : y=1 if joy0fire then b{0}=1 if b{0} && d>2 then y=255 if joy0left then x=255 : b{2}=1 if joy0right then x=1 : b{2}=0 player1x=player1x+x : player1y=player1y+y if b{2} then REFP1=8 else REFP1=0 ds if o{2} then NUSIZ0=$02 if o{3} then NUSIZ0=$03 if o{6} then NUSIZ0=$06 if e{6} && g>2 then gosub e_6 COLUPF=198 : COLUP1=78 : COLUBK=130 : lifecolor=46 : scorecolor=14 : COLUP0=0 drawscreen if collision(playfield,player1) then player1x=player1x-x : player1y=player1y-y if d>2 then d=0 x=0 : y=0 if b{1} then goto die goto swim e_5 i=i+1 if e{4} && i>1 then player0x=player0x-1 : i=0 if !e{4} && i>1 then player0x=player0x+1 : i=0 if player0x>80 then e{4}=1 if player0x<20 then e{4}=0 return e_3 i=i+1 if e{4} && i>1 && screen<6 then player0x=player0x-1: i=0 if !e{4} && i>1 && screen<6 then player0x=player0x+1 : i=0 if e{4} && i>1 && screen=6 then l=l-1 : i=0 if !e{4} && i>1 && screen=6 then l=l+1 : i=0 if g<3 && screen=6 then player0x=l : player0y=m if g>2 && screen=6 then player0x=j : player0y=k if player0x<20 && screen<6 then e{4}=0 if player0x>125 && screen<6 then e{4}=1 if l<20 && screen=6 then e{4}=0 if l>125 && screen=6 then e{4}=1 if g<3 && screen<6 then player0y=80 if g>2 && screen<6 then player0y=12 return e_1 g=g+1 if screen=8 then g=4 if player0y>88 then e{0}=0 if player0y<40 && screen=8 then e{0}=1 if player0y<16 then e{0}=1 if g>3 && e{0} then player0y=player0y+1 if g>3 && !e{0} then player0y=player0y-1 return e_6 n=n+1 player0x=j : player0y=k e{3}=1 : e{1}=1 if player1x1 then j=j-1 if player1x>j && n>1 then j=j+1 if player1y1 then k=k-1 if player1y>k && n>1 then k=k+1 if n>1 then n=0 return die e{6}=0 h=h+1 if lives<32 then b{5}=1 if h>59 then statusbarlength=statusbarlength-16 if h>59 && s=0 then screen=0 : e=0 : goto return_to_map if h>59 && statusbarlength>15 then h=0 : player1x=20 : goto pick_screen_2 if h>59 && statusbarlength<16 then h=0 : lives=lives-32 : player1x=20 : goto pick_screen_2 if h<60 then goto ds bank 2 z_level_2 b=0 : player1y=80 screen=9 if level=2 then s=89 : t=0 : byte1=$FF : byte2=$1B : byte3=$29 z_level_2_pick_screen b{1}=0 : b{6}=0 if map=2 then goto world_2 bank3 if screen=9 then player1x=20 : player1y=80 : player0x=54 : player0y=60 : y=0 : m=38 : n=80 : e{0}=1 : o{6}=1 : playfield: ................................ ................................ ................................ ................................ ................................ ................................ ............XXXXXX...XXXX...XXXX ................................ ................................ ................................ XXXXXXXXX....................... end if screen=10 then o{6}=0 : o{3}=1 : player1x=20 : player0x=74 : player0y=60 : m=38 : playfield: ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ XXXXXXXXXXXX........XXXXXXXXXXXX end if screen=11 then o{3}=0 : o{6}=1 : player1x=20 : player0x=50 : m=10 : player0y=40 : playfield: ................................ ................................ ................XX.............. ................................ ................................ ................................ ........XX..............XX...... ................................ ................................ ................................ XXXXXXX.......................XX end if screen=12 then player0x=60 : player0y=20 : m=30 : n=60 : playfield: ................................ ................................ ................................ ................................ ................................ ................................ ....XXXX....................XXXX ................................ ................................ ................................ XXXXXXXX.........XXX............ end if screen=13 then y=9 : player0x=60 : player0y=50 : m=20 : n=70 : playfield: ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ XXXXX......................XXXXX end if screen=14 then y=0 : player0x=60 : player0y=12 : o{3}=1 : m=12 : n=12 : playfield: ................................ ................................ ................................ ................................ ................................ ................................ ......XXX....................... ................................ ................................ ................................ XXXXX..................XXXXXXXXX end if screen=15 then player0x=66 : player0y=40 : m=30 : n=70 : playfield: ................................ ................................ ................................ ................................ ................................ ................................ .......XXX...................XXX ................................ ................................ ................................ XXXX............................ end if screen=16 then player0x=60 : player0y=40 : m=40 : n=80 : playfield: ................................ ................................ ................................ ................................ ................................ ................................ .......XXXX...XXXXX...XX........ ................................ ................................ ................................ XXXX....................XXXXXXXX end if screen=17 then player0x=60 : player0y=30 : m=10 : n=80 : playfield: ................................ ................................ ..................X..........XXX ................................ ................................ ................................ .........X...................... ................................ ................................ ................................ XXXX............................ end if screen=18 then player0x=40 : player0y=50 : m=20 : n=50 : playfield: ................................ ................................ XXXX........................XXXX ................................ ................................ ................................ ...........XXXXXXXXXX........... ................................ ................................ ................................ XXXX........................XXXX end if screen=19 then level=level+1 : m=80 : n=48 : goto return_to_map bank1 main_land player1color: 4 4 16 16 16 16 64 64 64 64 64 46 46 46 46 46 46 46 244 end if !b{0} && !b{6} then player1color: 4 16 16 16 16 46 64 64 64 64 64 64 64 46 46 46 46 46 46 46 244 end if f>36 then f=1 if b{0} then goto t_jump if b{6} then goto t_jump if f=0 then goto t_standing if f<9 then goto t_walking_1 if f<18 then goto t_walking_2 if f<27 then goto t_walking_3 if f<=36 then goto t_walking_2 t_walking_1 player1: %11000110 %10000111 %01000100 %01001000 %00101000 %10000010 %10111100 %10111100 %10111100 %01011100 %01011100 %01111100 %01111100 %00111000 %01111100 %00000000 %01111100 %01110100 %01111100 %00111000 %00111100 end goto main_land_2 t_standing player1: %11101110 %00101000 %00101000 %00101000 %00101000 %10000010 %10111010 %10111010 %10101010 %10101010 %11000110 %01111100 %01111100 %00111000 %01111100 %00000000 %01111100 %01010100 %01111100 %00111000 %00111100 end goto main_land_2 t_walking_2 player1: %00111000 %00110000 %00011100 %00111000 %00110000 %01011100 %01011100 %01011100 %01011100 %01111100 %01111100 %00111000 %01111100 %00000000 %01111100 %01110100 %01111100 %00111000 %00111100 end player1color: 4 16 16 16 46 64 64 64 64 64 64 46 46 46 46 46 46 46 244 end goto main_land_2 t_walking_3 player1: %11000110 %10000111 %01000100 %01001000 %00101000 %00000001 %00111011 %00111010 %00110110 %00110110 %00110110 %00111110 %00111110 %00011100 %00111110 %00000000 %00111110 %00111010 %00111110 %00011100 %00011110 end goto main_land_2 t_jump player1: %00100010 %00101100 %00100110 %00100001 %00100111 %00111110 %00111110 %00110110 %01110110 %01100011 %10111101 %10111001 %10001101 %01100000 %11111000 %11010100 %11111000 %01110000 %01111000 end player0color: 4 4 16 16 16 16 64 64 64 64 64 46 46 46 46 46 46 46 244 end main_land_2 player0: %0110110 %0010100 %1111111 %1111110 %0111100 %0011000 %0011100 %0011000 end b{1}=0 if e{0} && !b{1} then gosub e_0_2nd_bank rem timer r=r+1 if r>60 then r=0 : s=s-1 : t=t+1 : byte3=byte3-$01 if t=10 then byte3=byte3-$06 : t=0 if s=59 && r=0 then byte2=byte2-$10 : byte3=$59 if s=0 then byte2=$0B : byte3=$00 : b{1}=1 : goto die_land bank3 if screen=13 then pfhline 10 y 20 on if r=0 && screen=13 && x{0} && player1x>50 && player1x<100 && collision(player1,playfield) then player1y=player1y-10 if r=0 && screen=13 && x{0} then pfhline 10 y 20 off : y=y-1 if r=0 && screen=13 && !x{0} then pfhline 10 y 20 off : y=y+1 if y>9 then x{0}=1 if y<4 then x{0}=0 if !joy0left && !joy0right && !b{0} && !b{6} then f=0 if !joy0left && j>0 && g=0 && map=2 then gosub slide_left if !joy0right && g>0 && j=0 && map=2 then gosub slide_right if joy0left && player1x>19 then f=f+1 : player1x=player1x-1 : REFP1=8 : j=1 : g=0 if joy0right then f=f+1 : player1x=player1x+1 : REFP1=0 : g=1 : j=0 if player1x>138 then player1x=20 : screen=screen+1 : goto z_level_2_pick_screen if joy0fire && !b{0} && !b{6} then b{0}=1 if b{0} && collision(player1,playfield) && jump>4 then b{0}=0 : jump=0 : b{6}=1 if !joy0fire && b{0} then b{0}=0 : jump=0 : b{6}=1 if !collision(player1,playfield) && !b{0} && !b{6} then b{6}=1 if b{0} && jump<41 then jump=jump+1 : player1y=player1y-1 if b{0} && jump>40 then jump=0 : b{0}=0 : b{6}=1 if b{6} then player1y=player1y+1 if player1y>83 then b{6}=1 if y<10 && player1x>50 && player1x<100 then gosub screen_13 if b{6} && collision(player1,playfield) && player1y=82 then b{6}=0 if b{6} && collision(player1,playfield) && y=0 && player1y=50 then b{6}=0 if b{6} && collision(player1,playfield) && y=0 && player1y=18 then b{6}=0 h=0 ds_land if map=1 then COLUPF=196 if map=2 then COLUPF=14 COLUBK=136 : COLUP0=0 if o{2} then NUSIZ0=$02 if o{3} then NUSIZ0=$03 if o{6} then NUSIZ0=$06 if collision(player0,player1) && !b{1} then b{1}=1 drawscreen if player1y>90 && player1y<230 then b{1}=1 if switchreset then reboot if player1y>90 && player1y<230 && b{1} then goto die_land bank3 if collision(player0,player1) && b{1} then goto die_land bank3 goto main_land slide_left f=0 : j=j+1 if j<10 && player1x>19 then player1x=player1x-1 if j>10 then j=0 return slide_right f=0 : g=g+1 if g<10 then player1x=player1x+1 if g>10 then g=0 return screen_13 if b{6} && collision(player1,playfield) && player1y>73 && y=9 then b{6}=0 : player1y=73 if b{6} && collision(player1,playfield) && player1y>65 && y=8 then b{6}=0 : player1y=65 if b{6} && collision(player1,playfield) && player1y>57 && y=7 then b{6}=0 : player1y=57 if b{6} && collision(player1,playfield) && player1y>49 && y=6 then b{6}=0 : player1y=49 if b{6} && collision(player1,playfield) && player1y>41 && y=5 then b{6}=0 : player1y=41 if b{6} && collision(player1,playfield) && player1y>33 && y=4 then b{6}=0 : player1y=33 if b{6} && collision(player1,playfield) && y=3 then b{6}=0 : player1y=25 if b{6} && collision(player1,playfield) && player1y=73 && y=9 then b{6}=0 if b{6} && collision(player1,playfield) && player1y=65 && y=8 then b{6}=0 if b{6} && collision(player1,playfield) && player1y=57 && y=7 then b{6}=0 if b{6} && collision(player1,playfield) && player1y=49 && y=6 then b{6}=0 if b{6} && collision(player1,playfield) && player1y=41 && y=5 then b{6}=0 if b{6} && collision(player1,playfield) && player1y=33 && y=4 then b{6}=0 return e_0_2nd_bank i=i+1 if i>1 && e{1} then i=0 : player0y=player0y-1 if i>1 && !e{1} then i=0 : player0y=player0y+1 if player0y>n then e{1}=1 if player0y60 then r=0 : s=s-1 : t=t+1 : byte3=byte3-$01 if t=10 then byte3=byte3-$06 : t=0 if s=59 && r=0 then byte2=byte2-$10 : byte3=$59 if s=0 then byte2=$0B : byte3=$00 : b{1}=1 : goto death_in_octo if player0x>140 || player0x<20 then COLUP0=130 if collision(player0,player1) then goto death_in_octo COLUPF=198 : COLUBK=130 drawscreen if !o{0} && !l{2} then ballx=player1x+7 : bally=player1y-3 if !o{0} && l{0} then player0y=player0y+1 if !o{0} && !l{0} then player0y=player0y-1 if !o{0} && l{0} && player0y>78 then l{0}=0 if !o{0} && !l{0} && player0y<16 then l{0}=1 if joy0left && player1x>22 then player1x=player1x-1 if joy0right && player1x<130 then player1x=player1x+1 if joy0up && player1y>16 then player1y=player1y-1 if joy0down && player1y<78 then player1y=player1y+1 if joy0fire && !l{2} && !o{0} then l{2}=1 if l{2} then ballx=ballx+1 if collision(ball,player0) then m=m+1 : o{1}=1 : o{0}=1 : o{2}=1 : ballx=0 : bally=0 : l=0 if collision(ball,playfield) then l{2}=0 if o{1} then n=n+1 if !o{2} && m<5 && player0x=120 then o=0 if !o{2} && m>4 && player0x=160 then o=0 : map=map+1 : level=1 : u=40 : v=30 : screen=screen+1 : goto return_to_map bank1 if o{1} && o{2} then player0x=player0x-1 if o{2} && player0x=20 then o{2}=0 if o{1} && !o{2} then player0x=player0x+1 if o{1} && n>1 then gosub attack goto boss_1_battle attack n=0 if player0y=player1y then return if player0y59 && s=0 then goto put_icon bank2 if h>59 then statusbarlength=statusbarlength-16 : v{0}=1 : player1y=80 : player1x=30 : b{1}=0 if h>59 && statusbarlength>15 then goto z_level_2_pick_screen bank2 if h>59 && statusbarlength<16 then lives=lives-32 : goto z_level_2_pick_screen bank2 goto ds_land bank2 world_2 e{0}=1 : b{1}=0 if screen=20 then player1x=20 : player1y=80 : player0x=70 : player0y=40 : m=30 : n=70 : playfield: ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ XXXXXXXXX........XXX....XXXXXXXX end if screen=21 then player0x=255 : player0y=200 : m=99 : n=101 : playfield: ................................ ................................ ................................ ................................ ................................ ................................ ....................XXXXXXXXXXXX ................................ ................................ ................................ XXXXXX................XXXXXXXXXX end if screen=22 then player0x=53 : player0y=60 : m=50 : n=80 : o{6}=1 : playfield: ................................ ................................ ................................ ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ................................ ................................ ................................ XXXXXXX..XXXXX..XXXXX..XXXXXXXXX end goto main_land bank2 bank 4 inline 6lives_statusbar.asm