rem INFERNO! by Steve Engelhardt, 5/12/2010 rem ------------------------------------------------------------------------------------------------------------- rem A game inspired by US Games' "Towering Inferno" rem rem variables rem rem a: Counter used for fire animation rem b: 1st Timer variable for how long you can stay in a room rem c: Bit Variable, keeps track of last position of joystick rem d: audio counter for flame background sound rem e: Counter for firing water hose rem f: Counter for moving flames back and forth on room screens rem g: Bit Variable, used to remove fire (player0) when it's shot rem h: L/R movement fire rem i: L/R movement fire rem j: L/R movement fire rem k: Bit Variable, used to remove fire (missile1) when it's shot rem l: Level Counter rem m: audio counter rem n: Bit Variable, used to keep track of left/right movement of fire sprites rem o: L/R movement fire rem p: Y Position of flames on the building screen rem q: * rem r: Player X position in room screens rem s: Player Y position in room screens rem t: Used in room screens to randomly move fire rem u: Number of lives remaining Counter rem v: Difficulty level rem w: 2nd Timer variable for how long you can stay in a room rem x: Player1x X position rem y: player1y Y position rem z: L/R movement fire set kernel_options pfcolors no_blank_lines background set romsize 16kSC const pfres=32 const pfscore=1 rem set initial difficulty level to 1. v=1 rem to test "win" screen, uncomment. rem goto win2 bank2 pfcolors: 0 64 64 68 22 22 22 22 22 22 22 68 64 64 64 66 66 66 66 66 66 66 66 66 66 66 66 66 66 68 40 end playfield: ................................ ................................ ................................ XXX............................. .X..X...X.XXX.XXX.XXXX.X...X.XXX .X..XX..X.X...X...X..X.XX..X.X.X .X..X.X.X.X...X...X..X.X.X.X.X.X .X..X..XX.XX..XX..XXXX.X..XX.X.X .X..X...X.X...X...XX...X...X.X.X .X..X...X.X...X...X.X..X...X.X.X XXX.X...X.X...XXX.X..X.X...X.XXX ........X..................X.... ................................ ................................ ................................ ................................ ................................ .........XXXXXXXXXXXXXX......... .........XX..XX..XX..XX......... .........XXXXXXXXXXXXXX......... .........XX..XX..XX..XX......... .........XXXXXXXXXXXXXX......... .........XX..XX..XX..XX......... .........XXXXXXXXXXXXXX......... .........XX..XX..XX..XX......... .........XXXXXXXXXXXXXX......... .........XX..XX..XX..XX......... .........XXXXXXXXXXXXXX......... .........XXXXXXXXXXXXXX......... .........XXXXXXXXXXXXXX......... .........XXXXXXXXXXXXXX......... ................................ end d=27 titlescreen d=d+1 if d>31 then d=27 AUDF1=d:AUDC1=14:AUDV1=5 scorecolor=0 if t=1 then PF0=$10 if t=2 then PF0=$40 if t=3 then PF0=$55 if t=4 then PF0=$68 player1: %00000000 end player0: %00000000 end player1: %11010011 %10101010 %10101010 %10101010 %10101010 %10101010 %10101010 end t=t+1 if t>10 then t=1 if joy0up && t=1 then v=v+1 if joy0down && t=1 then v=v-1 if v>3 then v=1 if v<1 then v=3 if v=1 then u=0:gosub one bank3 if v=2 then u=0:gosub two bank3 if v=3 then u=3:gosub three bank3 COLUP0=22:COLUP1=22 player1x = 67 player1y = 50 player0x = 86 player0y = 50 NUSIZ1=$05 drawscreen rem pause timer for pressing joystick button q=q+1 if q>50 then q=51 if q>50 && joy0fire then goto start goto titlescreen start x = 25 y = 89 p=90 : rem starting y location of fire. Decrease by 6 to clear a level and move the fire up to the next level. rem q=20 : rem starting X rem COLUP0=68 rem COLUBK=0 rem starting level l=1 player1: %00101000 %00010000 %00111000 %00010000 end goto init bank2 main d=d+1 if d>31 then d=27 AUDF1=d:AUDC1=14:AUDV1=5 ballheight=41 missile1height=82 missile1x=50 missile1y=89 rem flagpole ballx=34 bally=90 COLUPF=0 COLUP0=68 CTRLPF=$05 NUSIZ0=$03 NUSIZ1=$34 COLUP1=4 player0x = 65 player0y = p player1x = x player1y = y if joy0left then x=x-1 if joy0right then x=x+1 if collision(player1,missile1) then y=86:goto skipnext if x>42 && x<123 then y=86 else y=89 skipnext if x>140 then x=140 if x<15 then x=15 rem detect vertical position of firefighter if x>52 then goto room1 rem display the fire in the building's windows. a=a+1 if a>30 then a=1 if a=1 then gosub fire1 if a=15 then gosub fire2 drawscreen if switchreset then reboot if l=15 then goto win2 bank2 goto main room1 COLUP0=0 w=0:g=0:h=0:i=0:j=0:k=0:b=0 n{7}=1 : rem variable for back and forth motion of fire, set initial value to 1 c{1}=1 : rem set initial firing to up player1: %00101000 %00010000 %00111000 %00010000 end player0: %00011000 %00100100 %01001010 %00100101 end scorecolor=22 pfscorecolor=22 dim p1_x2 = r dim p1_y2 = s player1x=77 player1y=90 ballx=0:bally=0 missile1x=42:missile1y=14 missile1height=2 rem change the background color for interior rooms gosub changebackgroundcolor_room rem change playfield for each room based on level of building you're on. if l=1 then gosub level1 bank2 if l=2 then gosub level2 bank2 if l=3 then gosub level3 bank2 if l=4 then gosub level4 bank2 if l=5 then gosub level5 bank2 if l=6 then gosub level6 bank2 if l=7 then gosub level7 bank2 if l=8 then gosub level8 bank2 if l=9 then gosub level9 bank2 if l=10 then gosub level10 bank2 if l=11 then gosub level11 bank2 if l=12 then gosub level12 bank2 if l=13 then gosub level13 bank2 if l=14 then gosub level14 bank2 if l=15 then AUDV0=0:AUDV1=0:goto win2 bank2 room1a d=d+1:m=m+1 if d>31 then d=27 if m>20 then m=1 if w<7 then AUDF1=d:AUDC1=14:AUDV1=5 if w>6 then AUDF1=m:AUDC1=12:AUDV1=2 if joy0fire then AUDF0=e:AUDC0=8:AUDV0=6 else AUDV0=0 rem timer for the room rem if time expires, you lose a life and get reset back to the bottom of the screen b=b+1 if b>250 then w=w+1:b=1 if w>6 then pfscorecolor=b:scorecolor=b if w>7 then pfscorecolor=22:scorecolor=22:u=u+1:player1x=35:player1y=89:w=0:AUDF1=1:AUDC1=14:AUDV1=9 if switchreset then reboot COLUBK=0 COLUPF=0 COLUP0=66 COLUP1=70 PF0=$FF CTRLPF=$11 NUSIZ0=$17 NUSIZ1=$25 ballheight=2 rem life counter if u=0 then pfscore1=168:pfscore2=168 : rem 3 3 if u=1 then pfscore1=10:pfscore2=168 : rem 2 3 if u=2 then pfscore1=4:pfscore2=168 : rem 1 3 if u=3 then pfscore1=0:pfscore2=168 : rem 0 3 if u=4 then pfscore1=0:pfscore2=10 : rem 0 2 if u=5 then pfscore1=0:pfscore2=4 : rem 0 1 if u>5 then pfscore1=0:pfscore2=0: AUDV1=0:AUDV0=0:goto death bank4 : rem 0 0 rem move the fire sprites back and forth if z<10 then n{7}=1 if z>117 then n{7}=0 if n{7} then z=z+2 if !n{7} then z=z-2 if o<10 then n{6}=1 if o>117 then n{6}=0 if n{6} then o=o+1 if !n{6} then o=o-1 if h<10 then n{5}=1 if h>117 then n{5}=0 if n{5} then h=h+1 if !n{5} then h=h-1 if i<10 then n{4}=1 if i>117 then n{4}=0 if n{4} then i=i+1 if !n{4} then i=i-1 if j<10 then n{3}=1 if j>117 then n{3}=0 if n{3} then j=j+1 if !n{3} then j=j-1 rem randomly move the fire. Move it more often on level 3. t=rand if t<70 then o=o+2:z=z+1:h=h+3:i=i-2:j=j-2 if v=3 then o=o+1:z=z+1:h=h+1:i=i-1:j=j-1 rem fire the water hose e=e+1 if e>8 then e=0 if !joy0fire then ballx=0:bally=0:e=0 if joy0up then c{1}=1:c{2}=0:c{3}=0:c{4}=0:c{5}=0:c{6}=0:c{7}=0:c{0}=0 if joy0down then c{1}=0:c{2}=1:c{3}=0:c{4}=0:c{5}=0:c{6}=0:c{7}=0:c{0}=0 if joy0left then c{1}=0:c{2}=0:c{3}=1:c{4}=0:c{5}=0:c{6}=0:c{7}=0:c{0}=0 if joy0right then c{1}=0:c{2}=0:c{3}=0:c{4}=1:c{5}=0:c{6}=0:c{7}=0:c{0}=0 if joy0up && joy0left then c{1}=0:c{2}=0:c{3}=0:c{4}=0:c{5}=1:c{6}=0:c{7}=0:c{0}=0 if joy0up && joy0right then c{1}=0:c{2}=0:c{3}=0:c{4}=0:c{5}=0:c{6}=1:c{7}=0:c{0}=0 if joy0down && joy0left then c{1}=0:c{2}=0:c{3}=0:c{4}=0:c{5}=0:c{6}=0:c{7}=1:c{0}=0 if joy0down && joy0right then c{1}=0:c{2}=0:c{3}=0:c{4}=0:c{5}=0:c{6}=0:c{7}=0:c{0}=1 rem diagonal shots if joy0fire && c{0} then ballheight=2:ballx=player1x+9+e:bally=player1y-2+e if joy0fire && c{5} then ballheight=2:ballx=player1x+8-e:bally=player1y-2-e if joy0fire && c{7} then ballheight=2:ballx=player1x+7-e:bally=player1y-2+e if joy0fire && c{6} then ballheight=2:ballx=player1x+8+e:bally=player1y-2-e rem left and right shots if joy0fire && c{3} then ballheight=2:ballx=player1x+3-e:bally=player1y-1 if joy0fire && c{4} then ballheight=2:ballx=player1x+12+e:bally=player1y-1 rem up and down shots if joy0fire && c{1} then ballheight=4:ballx=player1x+8:bally=player1y-2-e if joy0fire && c{2} then ballheight=4:ballx=player1x+8:bally=player1y+2+e rem counter for displaying the fire f=f+1 if f>5 then f=0 rem display/remove the fire if g{1} && g{2} && g{3} && g{4} && g{5} then player0x=0:player0y=0 if f=1 && !g{1} then player0x=z+5+v:player0y=14 if f=2 && !g{2} then player0x=o+2+v:player0y=31 if f=3 && !g{3} then player0x=h-3-v:player0y=48 if f=4 && !g{4} then player0x=i+6+v:player0y=65 if f=5 && !g{5} then player0x=j-4-v:player0y=78 rem display/remove the missile if k{1} && k{2} && k{3} && k{4} && k{5} then missile1x=0:missile1y=0 if f=1 && !k{1} then missile1x=j-2-v:q=q+1:missile1y=14 if f=2 && !k{2} then missile1x=i-1-v:q=q+1:missile1y=31 if f=3 && !k{3} then missile1x=o+2+v:q=q+1:missile1y=48 if f=4 && !k{4} then missile1x=h-2-v:q=q+1:missile1y=65 if f=5 && !k{5} then missile1x=z+1+v:q=q+1:missile1y=78 rem detect collision with water and sprite fire if collision(ball,player0) && bally<16 then g{1}=1:score=score+10 if collision(ball,player0) && bally>25 && bally<35 then g{2}=1:score=score+10 if collision(ball,player0) && bally>39 && bally<52 then g{3}=1:score=score+10 if collision(ball,player0) && bally>56 && bally<69 then g{4}=1:score=score+10 if collision(ball,player0) && bally>72 then g{5}=1:score=score+10 rem detect collision with water and missile fire if collision(ball,missile1) && bally<16 then k{1}=1:score=score+10 if collision(ball,missile1) && bally>25 && bally<35 then k{2}=1:score=score+10 if collision(ball,missile1) && bally>39 && bally<52 then k{3}=1:score=score+10 if collision(ball,missile1) && bally>56 && bally<69 then k{4}=1:score=score+10 if collision(ball,missile1) && bally>72 then k{5}=1:score=score+10 rem detect collision with player and fire rem for now it just resets you to the bottom of the screen if player1y<85 && collision(player1,player0) then w=0:scorecolor=22:u=u+1:player1x=35:player1y=89:AUDF1=1:AUDC1=14:AUDV1=15 if player1y<85 && collision(player1,missile1) then w=0:scorecolor=22:u=u+1:player1x=35:player1y=89:AUDF1=1:AUDC1=14:AUDV1=15 rem keep player from moving through playfield if collision(player1,playfield) then gosub knock_player_back rem move player p1_x2 = 0 if joy0left then p1_x2 = 255 if joy0right then p1_x2 = 1 player1x = player1x + p1_x2 p1_y2 = 0 if joy0up then p1_y2 = 255 if joy0down then p1_y2 = 1 player1y = player1y + p1_y2 rem exit the room when you get to the top, increase level (l) if player1y<5 then l=l+1:x=25:y=89:p=p-6:w=0:COLUBK=0:AUDV0=0:AUDV1=0:goto init bank2 rem boundaries for player movement rem (player not restricted by playfield when at the bottom of the screen) if player1y>89 then player1y=89 if player1x<11 then player1x=15 if player1x>140 then player1x=140 drawscreen goto room1a knock_player_back player1x = player1x - p1_x2 player1y = player1y - p1_y2 rem player0x = player0x - p0_x2 rem player0y = player0y - p0_y2 return thisbank changebackgroundcolor_room pfcolors: 242 244 244 244 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 242 242 242 end return thisbank fire1 player0: %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00011000 %00100100 %01001010 %00100101 %00000000 %00000000 %00011000 %00100100 %01001010 %00100101 %00000000 %00000000 %00011000 %00100100 %01001010 %00100101 %00000000 %00000000 %00011000 %00100100 %01001010 %00100101 %00000000 %00000000 %00011000 %00100100 %01001010 %00100101 %00000000 %00000000 %00011000 %00100100 %01001010 %00100101 %00000000 %00000000 %00011000 %00100100 %01001010 %00100101 %00000000 %00000000 %00011000 %00100100 %01001010 %00100101 %00000000 %00000000 %00011000 %00100100 %01001010 %00100101 %00000000 %00000000 %00011000 %00100100 %01001010 %00100101 %00000000 %00000000 %00011000 %00100100 %01001010 %00100101 %00000000 %00000000 %00011010 %00100100 %01001010 %00100101 %00000000 %00000000 %00011010 %00100100 %01001010 %00100101 %00000000 %00000000 %00011010 %00100100 %01001010 %00100101 end return thisbank fire2 player0: %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %01010001 %10001010 %01000100 %10010010 %00000000 %00000000 %00101000 %01000001 %10100100 %01010010 %00000000 %00000000 %10010010 %00101001 %01000100 %10100010 %00000000 %00000000 %00110010 %01001001 %01000100 %10101010 %00000000 %00000000 %00110010 %01000100 %10001010 %01010101 %00000000 %00000000 %11010011 %01000100 %00101001 %10010010 %00000000 %00000000 %00101000 %01000001 %10100100 %01010010 %00000000 %00000000 %00110010 %01001001 %01000100 %10010010 %00000000 %00000000 %00110001 %01001010 %10010100 %01000010 %00000000 %00000000 %00110010 %01001001 %01000100 %10010010 %00000000 %00000000 %00110010 %01001001 %01000100 %10010010 %00000000 %00000000 %01010001 %10001010 %01000100 %10010010 %00000000 %00000000 %01010001 %10001010 %01000100 %10010010 %00000000 %00000000 %00110010 %01001001 %01000100 %10010010 end return thisbank bank 2 init c{1}=1 :rem Turned on if the last location of the joystick was UP c{2}=0 :rem Turned on if the last location of the joystick was DOWN c{3}=0 :rem Turned on if the last location of the joystick was LEFT c{4}=0 :rem Turned on if the last location of the joystick was RIGHT c{5}=0 :rem Turned on if the last location of the joystick was UP+LEFT c{6}=0 :rem Turned on if the last location of the joystick was UP+RIGHT c{7}=0 :rem Turned on if the last location of the joystick was DOWN+LEFT c{0}=0 :rem Turned on if the last location of the joystick was DOWN+RIGHT pfcolors: 146 148 146 146 146 146 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 192 192 end playfield: ................................ ..........XXXXXXXXXXXXXX........ ........XXXX..XX..XX..XXXX...... ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..XX......XXXXXXXXXXXXXX........ ..XX......XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XXXXXXXXXXXXXX........ .......XXXXXXXXXXXXXXXXXXXX..... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ..........XXXXXXXXXXXXXX........ end pfscorecolor=0 scorecolor=0 goto main bank1 level1 playfield: ................................ ................................ ................................ XXXXXXXXXXXXXX....XXXXXXXXXXXXXX XX...........................XXX XX............................XX XX............................XX XX..........XXXXXXXXX.........XX XX........XXXXXXXXXXXX........XX XX.......XXXXXXXXXXXXXX.......XX XX.......XXXXXXXXXXXXXX.......XX XX..XXXXXXXXXXXXXXXXXXXXXXXX..XX XX.......XXXXXXXXXXXXXX.......XX XX.......XXXXXXXXXXXXXX.......XX XXXXXXX..XXXXXXXXXXXXXX..XXXXXXX XX.......XXXXXXXXXXXXXX.......XX XX.......XXXXXXXXXXXXXX.......XX XX..XXXXXXXXXXXXXXXXXXXXXXXX..XX XX.......XXXXXXXXXXXXXX.......XX XX.......XXXXXXXXXXXXXX.......XX XXXXXXX..XXXXXXXXXXXXXX..XXXXXXX XX.......XXXXXXXXXXXXXX.......XX XX........XXXXXXXXXXXX........XX XXX.........XXXXXXXXX........XXX XXXX........................XXXX XXXXX......................XXXXX XXXXXX....................XXXXXX XXXXXXXXXXXXXXXXXXXXXX...XXXXXXX ................................ ................................ ................................ ................................ end return otherbank level2 playfield: ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXX...XXX XXXXXX.........................X XXXXXX.........................X XXX.XX..XXXXXXXXXXXXXXXXXXXXXXXX XX...X...XXXXXXXXXXXXXXXXXXX..XX XX...X........................XX XX...X........................XX XX...XXXXXXXXXXXXXXXXXXXXXXX..XX XX...XXXXXXXXXXXXXXXXXXXXXX...XX XX............................XX XX............................XX XXXXXXXXXXXXXXXXXXXXXXXXXXXX..XX XX.......XX...................XX XX.......XX...................XX XX.......XX...................XX XX....XXXXXXXXX..XXXXXXX...XXXXX XX...XXXXXXXXXXX..........XXXXXX XX...XXXXXXXXXXX..........XXXXXX XX....XXXXXXXXX...X.......XXXXXX XX................XX.......XXXXX XX................XXXXXXXXXXXXXX XX.XXXXXXXX................XXXXX XXXXXXXXXXXX..............XXXXXX XXXXXXXXXXXX..............XXXXXX XXXXXXXXXXXXXXXXXXXXXXX...XXXXXX ................................ ................................ ................................ ................................ end return otherbank level3 playfield: ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXX...XXX XX............................XX XX............................XX XX..XXXXXXXXXXXXXXXXXX.......XXX XX..XXX...........XXXXX.....XXXX XX..XX.............XXXXX...XXXXX XX..X...............XXXXXXXXXXXX XX.............X...XX.........XX XX............XX...X...........X XX...........XXX...X....XXX....X XXXXXXXXXXXXXXXX...X...XXXXX...X XX.................X...XXXXX...X XX................XX...XXXXX...X XX..XXXXXXXXXXXXXXXX...XXXXX...X XX.....................XXXXX...X XX.....................XXXXX...X XXXXXXXXXXXXXXXXXXXX...XXXXX...X XX.....................XXXXX...X XX.....................XXXXX...X XX..XXXXXXXXXXXXXXXX...XXXXX...X XX..XX...........XX....XXXXX...X XX..XX............X.....XXX....X XX................X............X XX................X...........XX XXXXXXXXXX....XXXXXXXXXXXXXXXXXX ................................ ................................ ................................ ................................ end return otherbank level4 playfield: ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXXX..XXX XXXXX..................XXXX..XXX XXXX....................XXX..XXX XXX........XXXX..........XX..XXX XX........XXX.............X..XXX XX........XX......XXX.....X..XXX XX........XX.....X...X....X..XXX XX........XX.....X...X....X..XXX XX........XX......XXX.....X..XXX XX........XX.............XX..XXX XX........XX............XXX..XXX XX........XX..........XXXXX..XXX XX........XX.................XXX XX........XXX................XXX XX........XXXX..............XXXX XX........XXXXXXXXXXXXXXXXXXXXXX XXX........XXXXXXXXXXXXXXXXXXXXX XXXX.........................XXX XXXXX.........................XX XXXXXXXXXXXXXXXXXXXXXXXXXXX...XX XXXXXXXXXXXXXXXXXX.......XX...XX XXXXXXXXXXXXXXXXX.............XX XXXXXXXXXXXXXXXX..............XX XXXXXXXXXXXXXXXX.............XXX XXXXXXXXXXXXXXXXXX...XXXXXXXXXXX ................................ ................................ ................................ ................................ end return otherbank level5 playfield: ................................ ................................ ................................ XX...XXXXXXXXXXXXXXXXXXXXXXXXXXX XX...XXXXX...........XXXXXXXXXXX XX....XXX.............XXXXXXXXXX XX.....X........XXX....XXXXXXXXX XX.....X.........XX..........XXX XX.....X.........XX...........XX XX.....X........XXX....XXX....XX XX.....X.....XXXXXX...XXXXX...XX XX.....X....XXX.XXX....XXX....XX XX.....X....XX...XX...XXXXX...XX XX.....X....XX...XX....XXX....XX XX.....X....XX...XX...XXXXX...XX XX..........XX...XX....XXX....XX XXX........XXX................XX XXXXXXXXXXXXXX...............XXX XXXXXXXXXXXXXX...XXXXXXXXXXXXXXX XXXXXXXXXXXXXX...XXXXXXXXXXXXXXX XXXXXXXXXXXXX.....XXXXXXXXXXXXXX XXX..........................XXX XX............................XX XX...XXXXXXXXXXXXXXXXXXXXXXXXXXX XX...XXXXXXXXXXXXXXXXXXXXXXXXXXX XX............................XX XXX..........................XXX XXXXXXXXXXXXXXXXXXXXXXXXX...XXXX ................................ ................................ ................................ ................................ end return otherbank level6 playfield: ................................ ................................ ................................ XXXXXXXXXXXXXX...XXXXXXXXXXXXXXX XX...............X............XX XX...............X............XX XX..XXXXXXXX.....X.....XXX....XX XX.........X.....X.....X......XX XX.........XX...XX.....X......XX XXXXXXXXX..XXXXXXX....XX....XXXX XX...................XXX......XX XX..................XXXX......XX XXXXXXXXXXXXXXXXXXXXXXXXXX..XXXX XXX..........................XXX XX............................XX XX.....XXX..XXXXXXXXXXXXX.....XX XX....XX.X..X...........XX....XX XX....X..................X....XX XX....X..................X....XX XX....X..................X....XX XX....X..................X....XX XX....X..................X....XX XX....X..................X....XX XX....XX................XX....XX XX.....XXXXXXXXXXXXXXXXXX.....XX XX............................XX XXX..........................XXX XXXXX...XXXXXXXXXXXXXXXXXXXXXXXX ................................ ................................ ................................ ................................ end return otherbank level7 playfield: ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXXX...XX XXXXXXXXXXXXXXXXXXXX......X...XX XXXXXXXXXXXXXXXXXXX.......X...XX XX....................X...X...XX XX....................X...X...XX XX..XXXXXXXXXXXXXXXXXXX...X...XX XX..................XXX...X...XX XX...................XX...X...XX XX....X..X..X..X......X...X...XX XX..XXXXXXXXXXXXXX...XX...X...XX XX...................XX...X...XX XX....................X...X...XX XX....X..X..X..X.....XX...X...XX XX..XXXXXXXXXXXXXX...XX...X...XX XX....................X...X...XX XX...................XX...X...XX XX....X..X..X..X.....XX...X...XX XX..XXXXXXXXXXXXXX....X...X...XX XX...................XX...X...XX XX...................XX...X...XX XX.......X..X..X......X...X...XX XX.....XXXXXXXXXXX....X.......XX XXX..................XX......XXX XXXX................XXX.....XXXX XXXXXXXXXXX...XXXXXXXXXXXXXXXXXX ................................ ................................ ................................ ................................ end return otherbank level8 playfield: ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXX...XXX XXX..........................XXX XX............................XX XXXXXXXXXXXX..XXXX..XXXXXXXXXXXX XX........XX..X..X..XX........XX XX............X..X............XX XX............X..X............XX XX............X..X............XX XX............X..X............XX XX............X..X............XX XX............X..X............XX XX..XX.......XX..XX.......XX..XX XX..XXXXXXXXXXX..XXXXXXXXXXX..XX XX............................XX XX............................XX XX..XXXXXXXXXXX..XXXXXXXXXXX..XX XX..XX.......XX..XX.......XX..XX XX............X..X............XX XX............X..X............XX XX............X..X............XX XX............X..X............XX XX...........XX..XX...........XX XXXXX......................XXXXX XXXXX......................XXXXX XXXXXXXXXXXXXXX..XXXXXXXXXXXXXXX ................................ ................................ ................................ ................................ end return otherbank level9 playfield: ................................ ................................ ................................ XXXXXXXX...XXXXXXXXXXXXXXXXXXXXX XX...........................XXX XX............................XX XX............................XX XXXXXXXXXXXXXXXXXXXXXXXXXX....XX XXXXXXXXX................XX...XX XXXXXXX...................X...XX XXXXXX.............X......X...XX XXXX..............XX......X...XX XX...............XX.......X...XX XX....XXXX......XX........X...XX XX...XXXXX.....XX.........X...XX XX...XXXX.....XX.........XX...XX XX...........XX......XXXXX....XX XX..........XX......XX........XX XX.........XX......XX.........XX XX........XX......XX..........XX XX.......XX......XX..........XXX XX......XX......XX..........XXXX XX.....XX..................XXXXX XX....XX..................XXXXXX XX..XXXXXXXXXXXXXXXXXXXXXXXXXXXX XX............................XX XX...........................XXX XXXXXXXXXXXXXXXXXXXXXXX...XXXXXX ................................ ................................ ................................ ................................ end return otherbank level10 playfield: ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXX...XXX XXX..........................XXX XX...XX.......................XX XXXXXXX..XXXXXXXXXXXXXXXXXXXXXXX XX...XX..XX...................XX XX............................XX XX.......................XX...XX XXXXXXXXXXXXXXXXXXXXXXXXXXX..XXX XX.......................XX...XX XX............................XX XX..XX..XX....................XX XXXXXX..XXXXXXXXXXXXXXXXXXXXXXXX XX..XX..XX....................XX XX............................XX XX....................XX..XX..XX XXXXXXXXXXXXXXXXXXXXXXXX..XXXXXX XX............................XX XX............................XX XX..XXXXXXXXXXXX..XXXXXXXXXX..XX XX..XX.........X..X.......XX..XX XX............XX..XX..........XX XX......XXX...XX..XX..........XX XX......XXX...................XX XXX......X...................XXX XXXXXXXXXXXXXXXX..XXXXXXXXXXXXXX ................................ ................................ ................................ ................................ end return otherbank level11 playfield: ................................ ................................ ................................ XXXXXXXXXXXX..XXXXXXXXXXXXXXXXXX XXX..............XXXX........XXX XX................XX..........XX XX.........X..X...XX..........XX XX........XX..XX..XX...XX....XXX XX.......XXX..XXX.XX...XXX....XX XX...XXXXXXX..XXXXX....XXX....XX XX.....................XX....XXX XX....................XXXX....XX XX...XXXXXXX..XXXXXXXXXXXX....XX XX.......XXX..XXX.....XXX....XXX XX........XX..XX.......XXX....XX XX.........X..X........XXX....XX XX.....................XX....XXX XX.....................XXX....XX XXXXXXXXXXXXXX.....XXXXXXX....XX XX.......XXXXXX...XXXXXXX....XXX XX.......XXXXXX...XXXXXXX.....XX XX.......XXXXXX...XXXXXXX.....XX XX........XXXXX...XXXXXX.....XXX XX..........XXX...XXXX........XX XX............................XX XXX..........................XXX XXXX........................XXXX XXXXXXXXXXXXXXX...XXXXXXXXXXXXXX ................................ ................................ ................................ ................................ end return otherbank level12 playfield: ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXXX...XX XXXX...................XXXX...XX XXX.....................XXX...XX XX........XXX...........XXX...XX XX........XXX...........XXX...XX XX........XXX.................XX XX........XXX.................XX XX........XXXX...............XXX XX........XXXXXXXXXXXXXXXXXXXXXX XX........XXXXXXXXXXXXXXXXXXXXXX XX.........XXXXXXXXXXXXXXXXXXXXX XX...........................XXX XXX...........................XX XXXXXXXXXXXXXXXXXXXXX.........XX XXXXXXXXXXXXXXXXXXXXXX........XX XXXXXXXXXXXXXXXXXXXXXX........XX XXX...........................XX XX...........................XXX XX.........XXXXXXXXXXXXXXXXXXXXX XX........XXXXXXXXXXXXXXXXXXXXXX XX........XXXXXXXXXXXXXXXXXXXXXX XX...........................XXX XXX...........................XX XXXXXXXXXXXXXXXXXXXXXXX...XXXXXX XXXXXXXXXXXXXXXXXXXXXXX...XXXXXX ................................ ................................ ................................ ................................ end return otherbank level13 playfield: ................................ ................................ ................................ XXXXX...XXXXXXXXXXXXXXXXXXXXXXXX XXXX.......................XXXXX XXX.........................XXXX XXXXXXXXXXXXXXXXXXXXXXXXX....XXX XXX...........XXXXXX...XX.....XX XX.............XXXX.....X.....XX XX.............XXXX...........XX XX.............XXXX...........XX XX.............XXXX...........XX XX..............XX............XX XX..XX........................XX XX..XXX.......................XX XX..XXXXXXXXXXXXXXXXXXXXXXXXXXXX XX..XXX.......................XX XX..XX........................XX XX..............XX............XX XX.............XXXX...........XX XX.............XXXX...........XX XX.............XXXX...........XX XX.............XXXX...........XX XX.............XXXX...........XX XXX............XX............XXX XXXX...........X............XXXX XXXXX.........XX...X.......XXXXX XXXXXXXXXXXXXXXX...XXXXXXXXXXXXX ................................ ................................ ................................ ................................ end return otherbank level14 playfield: ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXX...XXX XXXX..................X..X...XXX XXX...................X..X...XXX XX..XXXXXXXXXXXXX..X..X.......XX XX...XXXXXXXXXXX...X..X.......XX XX.................X..X..XXXXXXX XX.................X..X.......XX XX...XXXXXXXXXXX...X..X.......XX XX..XXXXXXXXXXXXX..X..XXXXXX..XX XX.................X..........XX XX.................X..........XX XX..XXXXXXXXXXXXXXXXXXXXXXXXXXXX XX...XXXXXXXXXXXXXXXXXXXXXXXXXXX XX............................XX XX............................XX XX....XXXXXXXXXXXXXXXXXXX.....XX XX......XXXXXXXXXXXXXXX.......XX XXX..........................XXX XXXXXX....................XXXXXX XXX..........................XXX XX......XXXXXXXXXXXXXXXX......XX XX....XXXXXXXXXXXXXXXXXXXX....XX XXXX........................XXXX XXXX........................XXXX XXXXXXXXXXXXXX....XXXXXXXXXXXXXX ................................ ................................ ................................ ................................ end return otherbank win2 x=39:y=89 pfcolors: 110 28 28 28 28 28 148 148 148 148 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 192 192 end player0: %00101000 %00010000 %00111000 %00010000 end player1: %00000000 %00000000 %00000000 %01000110 %01011000 %01100000 %01111110 %01000010 %01111110 %00000000 %01111110 %01000000 %01110000 %01000000 %01111110 %00000000 %01000110 %01011010 %01100010 %01000010 %00000000 %01000110 %01011010 %01100010 %01000010 %00000000 %01111110 %00010000 %00010000 %01111110 %00000000 %00100100 %01011010 %01000010 %01000010 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00000000 %00011000 %00111100 %01111110 %01111110 %00111100 %00011000 end missile1height=82 ballheight=41 pfscorecolor=148 scorecolor=148 playfield: ................................ ..........XXXXXXXXXXXXXX........ ........XXXX..XX..XX..XXXX...... ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ....XX....XXXXXXXXXXXXXX........ ....XX....XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XXXXXXXXXXXXXX........ .......XXXXXXXXXXXXXXXXXXXX..... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ..........XXXXXXXXXXXXXX........ end ballx=0:bally=0 drawscreen AUDV1=0 AUDV0=0 d=1 win3 m=m+1 if m=6 then AUDF1=31:AUDC1=12:AUDV1=6 if m=12 then AUDF1=30:AUDC1=12:AUDV1=6 if m=18 then AUDF1=29:AUDC1=12:AUDV1=6 if m=24 then AUDF1=28:AUDC1=12:AUDV1=6 if m=30 then AUDF1=27:AUDC1=12:AUDV1=6 if m=36 then AUDF1=26:AUDC1=12:AUDV1=6 if m=42 then AUDF1=25:AUDC1=12:AUDV1=6 if m=48 then AUDF1=24:AUDC1=12:AUDV1=6 if m=54 then AUDF1=23:AUDC1=12:AUDV1=6 if m=60 then AUDF1=22:AUDC1=12:AUDV1=6 if m=66 then AUDF1=21:AUDC1=12:AUDV1=6 if m=72 then AUDF1=20:AUDC1=12:AUDV1=6 if m=78 then AUDF1=19:AUDC1=12:AUDV1=6 if m=84 then AUDF1=18:AUDC1=12:AUDV1=6 if m=90 then AUDF1=17:AUDC1=12:AUDV1=6 if m=96 then AUDF1=16:AUDC1=12:AUDV1=6 if m=102 then AUDF1=15:AUDC1=12:AUDV1=6 if m=108 then AUDF1=14:AUDC1=12:AUDV1=6 if m=114 then AUDF1=13:AUDC1=12:AUDV1=6 if m=120 then AUDF1=12:AUDC1=12:AUDV1=6 if m=126 then AUDF1=11:AUDC1=12:AUDV1=6 if m=132 then AUDF1=10:AUDC1=12:AUDV1=6 if m=138 then AUDF1=9:AUDC1=12:AUDV1=6 if m=144 then AUDF1=8:AUDC1=12:AUDV1=6 if m=150 then AUDF1=7:AUDC1=12:AUDV1=6 if m=156 then AUDF1=6:AUDC1=12:AUDV1=6 if m=162 then AUDF1=5:AUDC1=12:AUDV1=6 if m=168 then AUDF1=4:AUDC1=12:AUDV1=6 if m=174 then AUDF1=3:AUDC1=12:AUDV1=6 if m=180 then AUDF1=2:AUDC1=12:AUDV1=6 if m=186 then AUDF1=1:AUDC1=12:AUDV1=6 if m>186 then m=187:AUDV1=0 NUSIZ0=$03 NUSIZ1=$34 missile1x=50 missile1y=89 rem flagpole ballx=34 bally=90 COLUPF=2 COLUP0=68 COLUP1=4 CTRLPF=$05 player1x = 24 player1y = 65 player0x = x player0y = y v=v+1 if v>50 then v=50 if v=50 && switchreset then reboot if v=50 && joy0fire then reboot rem make player jump up and down r=r+1 if r>17 then r=1 if r=2 then y=88 if r=4 then y=87 if r=6 then y=86 if r=8 then y=85 if r=10 then y=86 if r=12 then y=87 if r=14 then y=88 if r=16 then y=89 drawscreen goto win3 bank 3 one player0: %00111000 %00111000 %00111000 %00111000 %00011000 %00011000 %00011000 %00011000 end return otherbank two player0: %01111110 %01100000 %01100000 %01100000 %00111110 %00000010 %01000010 %01111110 end return otherbank three player0: %01111110 %01000110 %00000110 %00000110 %00111110 %00000010 %01000010 %01111110 end return otherbank four player0: %00001100 %00001100 %00001100 %01111110 %01000100 %01000100 %01000100 %00000100 end return otherbank five player0: %01111110 %01000110 %00000110 %00000110 %01111100 %01000000 %01000000 %01111110 end return otherbank six player0: %01111110 %01000110 %01000110 %01000110 %01111100 %01000000 %01000010 %01111110 end return otherbank seven player0: %00001100 %00001100 %00001100 %00001100 %00000100 %00000010 %01000010 %01111110 end return otherbank eight player0: %01111110 %01000110 %01000110 %01000010 %01111110 %01000010 %01000010 %01111110 end return otherbank nine player0: %00000110 %00000110 %00000110 %00000010 %01111110 %01000010 %01000010 %01111110 end return otherbank ten player0: %11011110 %11010110 %11010110 %11010110 %01010010 %01010010 %01010010 %01011110 end return otherbank zero player0: %01111110 %01000110 %01000110 %01000110 %01000010 %01000010 %01000010 %01111110 end return otherbank level15 playfield: ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXX..XXXX XXXX..................X..X..XXXX XXXX..................X..X..XXXX XX.................X..X.......XX XX.................X..X.......XX XX..XXXXXXXXXXXXX..X..X..XXXXXXX XX.................X..X.......XX XX.................X..X.......XX XX..XXXXXXXXXXXXX..X..XXXXXX..XX XX.................X..........XX XX.................X..........XX XX..XXXXXXXXXXXXXXXXXXXXXXXXXXXX XX............................XX XX............................XX XX............................XX XX....XXXXXXXXXXXXXXXXXXX.....XX XX............................XX XX............................XX XXXXXX....................XXXXXX XX............................XX XX............................XX XX....XXXXXXXXXXXXXXXXXXXX....XX XXXX........................XXXX XXXX........................XXXX XXXXXXXXXXXXXXXX..XXXXXXXXXXXXXX ...............X..X............. ...............X..X............. ...............X..X............. ................................ end return otherbank level16 playfield: ................................ ................................ ................................ XX..XXXXXXXXXXXXXXXXXXXXXXXXXXXX XX............................XX XX............................XX XXXXXXXXXXXXXXXXXXXXXX........XX XX.............X..............XX XX.............X..............XX XX.............X..............XX XX.............X..............XX XX.............X..............XX XX.............X..............XX XX..X.........................XX XX..X.........................XX XX..XXXXXXXXXXXXXXXXXXXXXXXXXXXX XX..X.........................XX XX..X.........................XX XX.............X..............XX XX.............X..............XX XX.............X..............XX XX.............X..............XX XX.............X..............XX XX.............X..............XX XX.............X..............XX XX.............X..............XX XX.............X..............XX XXXXXXXXXXXXXXXX..XXXXXXXXXXXXXX ...............X..X............. ...............X..X............. ...............X..X............. ................................ end return otherbank level17 playfield: ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXXX..XXX XX......................XXX...XX XX......................XXX...XX XX........XXX...........XXX...XX XX........XXX...........XXX...XX XX........XXX...........XXX...XX XX........XXX.................XX XX........XXX.................XX XX........XXXXXXXXXXXXXXXXXXXXXX XX........XXXXXXXXXXXXXXXXXXXXXX XX........XXXXXXXXXXXXXXXXXXXXXX XX............................XX XX............................XX XXXXXXXXXXXXXXXXXXXXXX........XX XXXXXXXXXXXXXXXXXXXXXX........XX XXXXXXXXXXXXXXXXXXXXXX........XX XX............................XX XX............................XX XX........XXXXXXXXXXXXXXXXXXXXXX XX........XXXXXXXXXXXXXXXXXXXXXX XX........XXXXXXXXXXXXXXXXXXXXXX XX............................XX XX............................XX XXXXXXXXXXXXXXXX..XXXXXXXXXXXXXX XXXXXXXXXXXXXXXX..XXXXXXXXXXXXXX ...............X..X............. ...............X..X............. ...............X..X............. ................................ end return otherbank level18 playfield: ................................ ................................ ................................ XXXXXXXXXXX..XXXXXXXXXXXXXXXXXXX XX................X...........XX XX................X...........XX XX........X..X....X...........XX XX........X..X....X...........XX XX........X..X....X...........XX XX...XXXXXX..XXXXXX....X......XX XX.....................X......XX XX.....................X......XX XX.....XXXXXX..XXXXXX..X......XX XX..........X..X.......X......XX XX..........X..X.......X......XX XX..........X..X.......X......XX XX.....................X......XX XX.....................X......XX XXXXXXXXXXXXXXXX..XXXXXX......XX XX.............X..XXXXXX......XX XX.............X..XXXXXX......XX XX.............X..XXXXXX......XX XX.............X..XXXXXX......XX XX............................XX XX............................XX XX............................XX XX............................XX XXXXXXXXXXXXXXXX..XXXXXXXXXXXXXX ...............X..X............. ...............X..X............. ...............X..X............. ................................ end return otherbank level19 playfield: ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXXX..XXX XX............................XX XX............................XX XXXXXXX..XXXXXXXXXXXXXXXXXXXXXXX XX............................XX XX............................XX XX............................XX XXXXXXXXXXXXXXXXXXXXXXXXXXX..XXX XX............................XX XX............................XX XX............................XX XXXXXX..XXXXXXXXXXXXXXXXXXXXXXXX XX............................XX XX............................XX XX............................XX XXXXXXXXXXXXXXXXXXXXXXXX..XXXXXX XX............................XX XX............................XX XX..XXXXXXXXXXXX..XXXXXXXXXX..XX XX.............X..X...........XX XX.............X..X...........XX XX.......X.....X..X....XXXXXXXXX XX.......X....................XX XX.......X....................XX XXXXXXXXXXXXXXXX..XXXXXXXXXXXXXX ...............X..X............. ...............X..X............. ...............X..X............. ................................ end return otherbank level20 playfield: ................................ ................................ ..........................X..X.. XXXXXXXXXXXXXXXXXXXXXXXXXXX..XXX XXXXXX.........................X XXXXXX.........................X XXXXXX..XXXXXXXXXXXXXXXXXXXXXXXX XX...X..XXXXXXXXXXXXXXXXXXXX..XX XX...X........................XX XX...X........................XX XX...XXXXXXXXXXXXXXXXXXXXXXX..XX XX...XXXXXXXXXXXXXXXXXXXXXXX..XX XX............................XX XX............................XX XXXXXXXXXXXXXXXXXXXXXXXXXXXX..XX XX.......XX...................XX XX.......XX...................XX XX.......XX...................XX XX...XXXXXXXXXXXXXXXXXXX..XXXXXX XX...XXXXXXXXXXX..........XXXXXX XX...XXXXXXXXXXX..........XXXXXX XX...XXXXXXXXXXX..X.......XXXXXX XX................X.......XXXXXX XX................XXXXXXXXXXXXXX XXXXXXXXXXXX..............XXXXXX XXXXXXXXXXXX..............XXXXXX XXXXXXXXXXXX..............XXXXXX XXXXXXXXXXXXXXXX..XXXXXXXXXXXXXX ...............X..X............. ...............X..X............. ...............X..X............. ................................ end return otherbank level21 playfield: ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXXX..XXX XX............................XX XX............................XX XX..XXXXXXXXXXXXXXXXXXXXXXXXXXXX XX.................XXXXXXXXXXXXX XX.................XXXXXXXXXXXXX XX..............X..XXXXXXXXXXXXX XX..............X..X..........XX XX..............X..X..........XX XX..............X..X....XXX...XX XXXXXXXXXXXXXXXXX..X...XXXXX..XX XX.................X...XXXXX..XX XX.................X...XXXXX..XX XX..XXXXXXXXXXXXXXXX...XXXXX..XX XX.....................XXXXX..XX XX.....................XXXXX..XX XXXXXXXXXXXXXXXXXXXXXXXXXXXX..XX XX.....................XXXXX..XX XX.....................XXXXX..XX XX..XXXXXXXXXXXXXXX....XXXXX..XX XX..XX............X....XXXXX..XX XX..XX............X.....XXX...XX XX.............X..X...........XX XX.............X..X...........XX XXXXXXXXXXXXXXXX..XXXXXXXXXXXXXX ...............X..X............. ...............X..X............. ...............X..X............. ................................ end return otherbank level22 playfield: ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXXX..XXX XX........................X..XXX XX........................X..XXX XX...X.....X..............X..XXX XX...X.....X..............X..XXX XX...X.....X..............X..XXX XX...X.....X..............X..XXX XX...X.....X..............X..XXX XX...X.....X..............X..XXX XX...X.....X..............X..XXX XX...X.....X..............X..XXX XX...X.....X..............X..XXX XX...X.....X..............X..XXX XX...X.....X..............X..XXX XX...X.....X..................XX XX...X.....X..................XX XX...X.....XXXXXXXXXXXXXXXXXXXXX XX...X........................XX XX...X........................XX XXXXXXXXXXXXXXXXXXXXXXXXXXXX..XX XXXXXXXXXXXXXXXX..............XX XXXXXXXXXXXXXXXX..............XX XXXXXXXXXXXXXXXX..............XX XXXXXXXXXXXXXXXX..............XX XXXXXXXXXXXXXXXX..XXXXXXXXXXXXXX ...............X..X............. ...............X..X............. ...............X..X............. ................................ end return otherbank level23 playfield: ................................ ................................ ................................ XX..XXXXXXXXXXXXXXXXXXXXXXXXXXXX XX.....X..............XXXXXXXXXX XX.....X..............XXXXXXXXXX XX.....X.........XXX..XXXXXXXXXX XX.....X.........X............XX XX.....X.........X............XX XX.....X.........X............XX XX.....X....XXXXXX............XX XX.....X....XX...X............XX XX.....X....XX...X............XX XX.....X....XX...X............XX XX.....X....XX...X............XX XX..........XX...X............XX XX..........XX................XX XXXXXXXXXXXXXX................XX XXXXXXXXXXXXXX...XXXXXXXXXXXXXXX XXXXXXXXXXXXXX...XXXXXXXXXXXXXXX XXXXXXXXXXXXXX...XXXXXXXXXXXXXXX XX............................XX XX............................XX XX..XXXXXXXXXXXXXXXXXXXXXXXXXXXX XX..XXXXXXXXXXXXXXXXXXXXXXXXXXXX XX............................XX XX............................XX XXXXXXXXXXXXXXXX..XXXXXXXXXXXXXX ...............X..X............. ...............X..X............. ...............X..X............. ................................ end return otherbank level24 playfield: ................................ ................................ ................................ XXXXXXXXXXXXXXX..XXXXXXXXXXXXXXX XX............X..X............XX XX............X..X............XX XX..XXXXXXXX..X..X.....XXX....XX XX.........X.....X.....X......XX XX.........X.....X.....X......XX XXXXXXXXX..XXXXXXX.....X....XXXX XX.....................X......XX XX.....................X......XX XXXXXXXXXXXXXXXXXXXXXXXXXX....XX XX............................XX XX............................XX XX....XXXXXXXXXXXXXXXXXXXX....XX XX....XX................XX....XX XX....X..................X....XX XX....X..................X....XX XX....X..................X....XX XX....X..................X....XX XX....X..................X....XX XX....X..................X....XX XX....XX................XX....XX XX....XXXXXXXXXXXXXXXXXXXX....XX XX............................XX XX............................XX XXXXXXXXXXXXXXXX..XXXXXXXXXXXXXX ...............X..X............. ...............X..X............. ...............X..X............. ................................ end return otherbank level25 playfield: ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXXX..XXX XXXXXXXXXXXXXXXXXXXX......X...XX XXXXXXXXXXXXXXXXXXXX......X...XX XX....................X...X...XX XX....................X...X...XX XX..XXXXXXXXXXXXXXXXXXX...X...XX XX....................X...X...XX XX....................X...X...XX XX....................X...X...XX XX..XXXXXXXXXXXXXXXX..X...X...XX XX....................X...X...XX XX....................X...X...XX XX....................X...X...XX XX..XXXXXXXXXXXXXXXX..X...X...XX XX....................X...X...XX XX....................X...X...XX XX....................X...X...XX XX..XXXXXXXXXXXXXXXX..X...X...XX XX....................X...X...XX XX....................X...X...XX XX....................X...X...XX XX..XXXXXXXXXXXXXXXX..X...X...XX XX....................X.......XX XX....................X.......XX XXXXXXXXXXXXXXXX..XXXXXXXXXXXXXX ...............X..X............. ...............X..X............. ...............X..X............. ................................ end return otherbank level26 playfield: ................................ ................................ ................................ XXXXXXXXXXXXXXX..XXXXXXXXXXXXXXX XX............X..X............XX XX............X..X............XX XX..XXXXXXXX..X..X.....XXX....XX XX.........X.....X.....X......XX XX.........X.....X.....X......XX XXXXXXXXX..XXXXXXX.....X....XXXX XX.....................X......XX XX.....................X......XX XXXXXXXXXXXXXXXXXXXXXXXXXX....XX XX............................XX XX............................XX XX............................XX XX....XX................XX....XX XX....X..................X....XX XX....X..................X....XX XX....X..................X....XX XX....X..................X....XX XX....X..................X....XX XX....X..................X....XX XX....XX................XX....XX XX....XXXXXXXXXXXXXXXXXXXX....XX XX............................XX XX............................XX XXXXXXXXXXXXXXXX..XXXXXXXXXXXXXX ...............X..X............. ...............X..X............. ...............X..X............. ................................ end return otherbank level27 playfield: ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXXX..XXX XXXXXXXXXXXXXXXXXXXX......X...XX XXXXXXXXXXXXXXXXXXXX......X...XX XX....................X...X...XX XX....................X...X...XX XX..XXXXXXXXXXXXXXXXXXX...X...XX XX....................X...X...XX XX....................X...X...XX XX....................X...X...XX XXXXXXXXXXXXXXXXXXXX..X...X...XX XX....................X...X...XX XX....................X...X...XX XX....................X...X...XX XX..XXXXXXXXXXXXXXXXXXX...X...XX XX....................X...X...XX XX....................X...X...XX XX....................X...X...XX XXXXXXXXXXXXXXXXXXXX..X...X...XX XX....................X...X...XX XX....................X...X...XX XX....................X...X...XX XX..XXXXXXXXXXXXXXXXXXX...X...XX XX....................X.......XX XX....................X.......XX XXXXXXXXXXXXXXXX..XXXXXXXXXXXXXX ...............X..X............. ...............X..X............. ...............X..X............. ................................ end return otherbank level28 playfield: ................................ ................................ ................................ XXXXXXXXXXXXXXXXXXXXXXXXXXX..XXX XX............................XX XX............................XX XXXXXXX..XXXXXXXXXXXXXXXXXXXXXXX XX.............X..............XX XX.............X..............XX XX.............X..............XX XX.............X.............XXX XX.............X..............XX XX............................XX XX............................XX XXXXXXXXXXXXXXXXXXXXXXXXXXXX..XX XX............................XX XX............................XX XX............................XX XX..XXXXXXXXXXXXXXXXXXXXXXXXXXXX XX............................XX XX............................XX XXXXXXXXXXXXXXXX..XXXXXXXXXX..XX XX.............X..X...........XX XX.............X..X...........XX XX.......X.....X..X....XXXXXXXXX XX.......X....................XX XX.......X....................XX XXXXXXXXXXXXXXXX..XXXXXXXXXXXXXX ...............X..X............. ...............X..X............. ...............X..X............. ................................ end return otherbank b10 playfield: ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XXXXXXXXXXXXXX........ .......XXXXXXXXXXXXXXXXXXXX..... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ..........XXXXXXXXXXXXXX........ end return otherbank b11 playfield: ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XXXXXXXXXXXXXX........ .......XXXXXXXXXXXXXXXXXXXX..... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ..........XXXXXXXXXXXXXX........ end return otherbank b12 playfield: ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XXXXXXXXXXXXXX........ .......XXXXXXXXXXXXXXXXXXXX..... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ..........XXXXXXXXXXXXXX........ end return otherbank b13 playfield: ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XXXXXXXXXXXXXX........ .......XXXXXXXXXXXXXXXXXXXX..... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ..........XXXXXXXXXXXXXX........ end return otherbank b14 playfield: ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ..........XXXXXXXXXXXXXX........ ..........XXXXXXXXXXXXXX........ .......XXXXXXXXXXXXXXXXXXXX..... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ..........XXXXXXXXXXXXXX........ end return otherbank b7 playfield: ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XXXXXXXXXXXXXX........ .......XXXXXXXXXXXXXXXXXXXX..... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ..........XXXXXXXXXXXXXX........ end return otherbank b8 playfield: ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XXXXXXXXXXXXXX........ .......XXXXXXXXXXXXXXXXXXXX..... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ..........XXXXXXXXXXXXXX........ end return otherbank b9 playfield: ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XXXXXXXXXXXXXX........ .......XXXXXXXXXXXXXXXXXXXX..... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ..........XXXXXXXXXXXXXX........ end return otherbank bank 4 death pfcolors: 146 148 146 146 146 146 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 144 192 192 end player1x=0:player1y=0 player0y=0:player0y=0 ballx=0:bally=0 missile1x=0:missile1y=0 death2 AUDF1=d:AUDC1=14:AUDV1=5 COLUPF=0 if v>140 then goto skip5 v=v+1 if v=10 then d=1:gosub b1 if v=20 then d=2:gosub b2 if v=30 then d=3:gosub b3 if v=40 then d=4:gosub b4 if v=50 then d=5:gosub b5 if v=60 then d=6:gosub b6 if v=70 then d=7:gosub b7 bank3 if v=80 then d=8:gosub b8 bank3 if v=90 then d=9:gosub b9 bank3 if v=100 then d=10:gosub b10 bank3 if v=110 then d=11:gosub b11 bank3 if v=120 then d=12:gosub b12 bank3 if v=130 then d=13:gosub b13 bank3 if v>140 then d=14:v=141:gosub b14 bank3 if v<141 then drawscreen:goto death2 skip5 COLUPF=0 if v<141 then COLUP1=0 player1x=0:player1y=0 player0x=0:player0y=0 missile0y=0:missile1y=0 if v=141 then player1x=81:player1y=78:COLUP1=28:goto gameover gameret if switchreset then reboot if v=141 && joy0fire then reboot drawscreen if v>140 then AUDV1=0:goto skip5 goto death2 gameover player1: %01000100 %01001000 %01111100 %01000100 %01111100 %00000000 %01111100 %01000000 %01111100 %01000000 %01111100 %00000000 %00111000 %01000100 %01000100 %01000100 %01000100 %00000000 %01111100 %01000100 %01000100 %01000100 %01111100 %00000000 %00000000 %00000000 %01111100 %01000000 %01111100 %01000000 %01111100 %00000000 %01000100 %01000100 %01010100 %01010100 %01101100 %00000000 %01000100 %01000100 %01111100 %01000100 %01111100 %00000000 %01111100 %01000100 %01001100 %01000000 %01111100 end goto gameret b1 playfield: ................................ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XXXXXXXXXXXXXX........ .......XXXXXXXXXXXXXXXXXXXX..... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ..........XXXXXXXXXXXXXX........ end return thisbank b2 playfield: ................................ ................................ ................................ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XXXXXXXXXXXXXX........ .......XXXXXXXXXXXXXXXXXXXX..... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ..........XXXXXXXXXXXXXX........ end return thisbank b3 playfield: ................................ ................................ ................................ ................................ ................................ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XXXXXXXXXXXXXX........ .......XXXXXXXXXXXXXXXXXXXX..... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ..........XXXXXXXXXXXXXX........ end return b4 playfield: ................................ ................................ ................................ ................................ ................................ ................................ ................................ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XXXXXXXXXXXXXX........ .......XXXXXXXXXXXXXXXXXXXX..... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ..........XXXXXXXXXXXXXX........ end return thisbank b5 playfield: ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XXXXXXXXXXXXXX........ .......XXXXXXXXXXXXXXXXXXXX..... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ..........XXXXXXXXXXXXXX........ end return thisbank b6 playfield: ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XX..XX..XX..XX........ ..........XXXXXXXXXXXXXX........ ..........XXXXXXXXXXXXXX........ .......XXXXXXXXXXXXXXXXXXXX..... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ..........XXXXXXXXXXXXXX........ end return thisbank