REM ************************************************************************* REM IntyBASIC Project: StuntCycle REM ************************************************************************* REM Programmer: Greg Thompson REM Created: 11/29/2015 REM Updated: 11/29/2015 REM REM Project automatically generated by INTYNEW. REM ************************************************************************* REM History: REM 11/29/2015 - StuntCycle project created. REM ************************************************************************* REM Include useful predefined constants INCLUDE "constants.bas" Gosub title_screen cls wait CONST #MAX_PLAYER_X = 163 ' 4 pixels of avatar are off right side of screen. CONST #MIN_PLAYER_X = 4 ' 4 pixels of avatar are off left side of screen. RESTART: MODE SCREEN_CS,STACK_CYAN,STACK_Green,STACK_RED,STACK_WHITE 'MODE SCREEN_CS,STACK_cyan,STACK_BLACK,STACK_RED,STACK_WHITE WAIT cls WAIT DEFINE DEF00,4,tire WAIT DEFINE DEF04,2,cycle WAIT DEFINE DEF06,5,busimage WAIT Rem Setup an array to hold the 16 colors, used to randomly pick from a color without IFs Rem defined with # as half the color values are 16 bit numbers ($1001) 'Dim #Color_Array (16) Rem Read values from the label Color_Values into the #Color_Array 'Restore Color_Values Rem Initialize the Music Player for 2 channels Play Simple Rem Setup arrays for holding 8 sprites x,y locations and color Dim #Spritex(3) Dim spritey(3) Dim #SpriteC(3) DIM BUSES(2) DIM LIVES(2) #Spritex(0)=#MIN_PLAYER_X+5 spritey(0)=28 #SPRITEC(0)=SPR_BLACK #SPRITEC(1)=SPR_WHITE #SPRITEC(2)=SPR_BLUE PLAYER=0 level = 1 buses(0) = 3 LIVES(0)= 4 buses(1) = 3 LIVES(1)= 0 jumped = 0 GAME_OVER = 0 IF PLAYERS = 1 THEN LIVES(1)=LIVES(0) PRINT AT SCREENPOS(3,4) COLOR SPR_RED,"*STUNT CYCLE*" 'PRINT AT SCREENPOS(3,5) COLOR SPR_RED,"# ",<>PLAYERS," " basespritey = 76 ' Floor baseline, max Y baseaccstep = 0 ' Number of cycles to skip per acceleration adjustment baseaccy = -2 ' Base acceleration due to gravity, pixels to adjust Y maxaccy = -4 ' Maximum acceleration due to gravity gosub resetjump FOR B=3 TO 6 STEP 3 FOR A=0 TO 19 PRINT AT SCREENPOS(A,B) COLOR SPR_GREY, "\263" NEXT A NEXT B print at SCREENPOS(18, 2) COLOR SPR_red, "\264\265" print at SCREENPOS(19, 3) COLOR SPR_red, "\265" print at SCREENPOS(19, 4) COLOR SPR_red, "\265" print at SCREENPOS(18, 5) COLOR SPR_red, "\264\265" print at SCREENPOS(0, 5) COLOR SPR_red, "\265\266" print at SCREENPOS(0, 6) COLOR SPR_red, "\265" print at SCREENPOS(0, 7) COLOR SPR_red, "\265" print at SCREENPOS(0, 8) COLOR SPR_red, "\265\266" print at SCREENPOS(0,9) color SPR_GREEN, "\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95" print at SCREENPOS(0,10) color SPR_GREEN, "\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95" print at SCREENPOS(0,11) color SPR_GREEN, "\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95" print at SCREENPOS(0,12) color SPR_GREEN, "\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95\95" do loop until (cont.button) gosub draw_buses 'print at 5 color 2, " " do 'PRINT AT SCREENPOS(0, 0) COLOR FG_GREEN,"level:",<>level," " 'PRINT AT SCREENPOS(0, 0) COLOR FG_GREEN,"SP:",<>SPEED," " 'PRINT AT SCREENPOS(15, 0) COLOR FG_GREEN,"X:",<>#SPRITEX(0)," " if no_buses then gosub draw_buses IF MISSED = 1 THEN FLIPIT=RANDOM(2) IF FLIPIT = 1 THEN #FLIP=FLIPX ELSE #FLIP = $0000 END IF FLIPIT=RANDOM(2) IF FLIPIT = 1 THEN #FLIPY=FLIPY ELSE #FLIPY = $0000 END IF IF #SPRITEX(0) >= #LAND_S AND SPRITEY(0) < BASESPRITEY THEN ' Adjust vertical position based on adjusted acceleration spritey(0) = spritey(0) + 1 if (spritey(0) >= basespritey) then spritey(0) = basespritey END IF END IF sprite 2,#spritex(0)+VISIBLE+HIT, spritey(0)+ #flip , SPR05+ SPR_RED + #FLIPY END IF sprite 0,#spritex(0)+VISIBLE+HIT, spritey(0)+ #flip , SPR00+ (8*spriteframe) + #SPRITEC(0) +#FLIPY sprite 1,#spritex(0)+VISIBLE+HIT, spritey(0)+ #flip , SPR04+ #SPRITEC(PLAYER+1)+#FLIPY gosub check_speed gosub draw_speed gosub check_level gosub speed_frame if jump <> 0 then gosub jumping gosub waitabit wait LOOP UNTIL GAME_OVER = 1 Rem Everything is done, loop forever, prevents falling into any code below ETERNAL_loop: IF (cont.button) THEN GOSUB GET_NUM_PLAYERS GOTO RESTART END IF GOTO ETERNAL_loop speed_frame:procedure if speed > 0 then spriteframe = spriteframe + 1 If spriteframe > 3 then spriteframe = 0 ' GB 15/10/15 - Removed due to issues with mixed 8 bit and 16 bit variables. ' if level = 2 then speed_chg = (speed * -1) else speed_chg = speed ' #spritex(0) = #spritex(0) + speed_chg if level = 2 then #spritex(0) = #spritex(0) - speed else #spritex(0) = #spritex(0) + speed return end draw_buses:procedure play off #FLIP=0 #FLIPY=0 IF MISSED <> 0 THEN MISSED = 0 IF PLAYERS <> 0 THEN IF PLAYER = 0 AND LIVES(1) > 0 THEN PLAYER = 1 ELSEIF PLAYER = 1 AND LIVES(0) > 0 THEN PLAYER = 0 END IF END IF END IF PRINT AT SCREENPOS(5,8) COLOR SPR_RED," " PRINT AT SCREENPOS(6,0) COLOR SPR_RED, "PLAYER ",<>PLAYER + 1," " PRINT AT SCREENPOS(3,4) COLOR SPR_RED, " " PRINT AT SCREENPOS(16, 0) COLOR FG_WHITE,"\260",":",<>LIVES(PLAYER)," " PRINT AT SCREENPOS(1, 0) COLOR FG_WHITE,"\262",":",<>buses(PLAYER)," " IF LIVES(0) = 0 and LIVES(1) = 0 THEN GAME_OVER = 1 PRINT AT SCREENPOS(3,4) COLOR SPR_RED,"*STUNT CYCLE*" PRINT AT SCREENPOS(5,5) COLOR SPR_BLACK,"GAME OVER" 'PRINT AT SCREENPOS(1,1) COLOR SPR_BLACK, "ANY BUTTON TO PLAY" RETURN END IF do loop until (cont.button) PRINT AT SCREENPOS(5,8) COLOR SPR_RED," " PRINT AT SCREENPOS(5,8) COLOR SPR_RED,"\108" 'print at (164) color spr_RED,"\96" BUS_COLOR = SPR_WHITE for x = 1 to buses(PLAYER) PRINT AT SCREENPOS(5+X,8) COLOR BUS_COLOR,"\262" IF BUS_COLOR = SPR_WHITE THEN BUS_COLOR = SPR_YELLOW ELSE BUS_COLOR = SPR_WHITE END IF GOSUB WAITAbit next PRINT AT SCREENPOS(5+X,8) COLOR SPR_RED,"\109" PRINT AT SCREENPOS(5+X+1,8) COLOR SPR_RED,"\207" no_buses = 0 PRINT AT SCREENPOS(3,4) COLOR SPR_RED, " " return end jumping:procedure if jumped = 0 then #LAND_S = (BUSES(PLAYER) + 7) * 8:#LAND_E = #LAND_S + 16 jumped = 1 PLAY JUMP if (accstep > 0) then accstep = accstep - 1 : return ' jump every step-th cycle ' jump=1: While jumping, increase acceleration until max. ' jump=2: Otherwise, just fall by decreasing acceleration. if (jump = 1) then accy = accy - 1 : if (accy = maxaccy) then jump = 2 if (jump = 2) then accy = accy + 1 ' Adjust vertical position based on adjusted acceleration spritey(0) = spritey(0) + accy ' Stop falling when we reach the floor IF JUMP = 2 THEN if (spritey(0) >= basespritey) or (spritey(0) >= basespritey-4 and #spritex(0) < #LAND_S) THEN if (spritey(0) >= basespritey) then spritey(0) = basespritey END IF jump = 0 IF #spritex(0) < #LAND_S OR #SPRITEX(0) > #LAND_E THEN GOSUB BAD_JUMP ELSE GOSUB GOOD_JUMP END IF accstep = baseaccstep END IF END IF return end resetjump:procedure jump = 0 ' No more jumping if level = 3 then spritey(0) = basespritey ' Reset position to floor (just in case) accstep = baseaccstep ' Reset jump step accy = baseaccy ' Reset acceleration to base no_buses = 1 speed= 0 jumped = 0 print at SCREENPOS(3,10) color SPR_black, "\95\95\95\95\95\95\95\95\95\95\95\95" return end BAD_JUMP:PROCEDURE PRINT AT SCREENPOS(4,4) color SPR_BLACK, " CRASH!! " lives(PLAYER) = lives(PLAYER) - 1 PLAY CRASH MISSED=1 RETURN END GOOD_JUMP:PROCEDURE PRINT AT SCREENPOS(4,4) color SPR_GREEN, "*SUCCESS!!*" BUSES(PLAYER) = BUSES(PLAYER) + 1 RETURN END check_level:procedure if level = 3 then #flip = $0000 if #spritex(0) > 34 and ((COL0 AND HIT_BACKGROUND) or #spritex(0) > 40) and jumped = 0 and jump = 0 then jump = 1 '#spritex(0) = 44 return elseif #spritex(0) >= #MAX_PLAYER_X+5 then spritey(0) = 28 level = 1 #spritex(0)=#MIN_PLAYER_X+16 gosub resetjump end if elseif level = 1 then if #spritex(0) >= #MAX_PLAYER_X-16 then spritey(0) = 52 level = 2 #flip = FLIPX gosub waitalot RETURN else #flip = $0000 END IF elseif level = 2 then if #spritex(0) <= #MIN_PLAYER_X+16 then spritey(0) = 76 level = 3 #flip = $0000 gosub waitalot RETURN else #flip = FLIPX END IF END IF return end WaitaBit:Procedure 'return For cnt=0 to 6 Wait Next cnt return End Waitalot:Procedure if level = 3 then #NEW_X = 41%SPEED:#spritex(0) = #NEW_X + 8 wait sprite 0,#spritex(0)+HIT, spritey(0)+ #flip , SPR00+ (8*spriteframe) +#SPRITEC(0) sprite 1,#spritex(0)+HIT, spritey(0)+ #flip , SPR04+ #SPRITEC(PLAYER+1) For cnt=0 to (35-speed) Wait Next cnt return End check_speed:Procedure if speed > 20 then speed = 20 if (cont = 0) and jumped = 0 and (speed >=2)then speed = speed - 2:return if (cont = 0) and jumped = 0 and (speed >=1)then speed = speed - 1:return if jumped = 1 then if jump <> 0 then if speed > 4 then jspeed = jspeed + 1 if jspeed = 4 then jspeed = 0:speed = speed - 1 return else speed = 6 return end if end if 'if cont.button then speed = speed + 1 'return if cont = DISC_NNE then if speed < 3 then speed = speed + 1 elseif speed > 3 then speed = speed - 1 end if elseif cont = disc_ne then if speed < 4 then speed = speed+ 1 elseif speed > 4 then speed = speed -1 end if elseif cont = disc_ene then if speed < 5 then speed = speed + 1 elseif speed > 5 then speed = speed -1 end if elseif cont = disc_e then if speed < 6 then speed = speed + 1 elseif speed > 6 then speed = speed - 1 end if elseif cont = disc_ese then if speed < 7 then speed = speed + 1 elseif speed > 7 then speed = speed - 1 end if elseif cont = disc_se then if speed < 8 then speed = speed + 1 elseif speed > 8 then speed = speed - 1 end if elseif cont = disc_sse then if speed < 9 then speed = speed + 1 elseif speed > 9 then speed = speed - 1 end if elseif cont = disc_s then if speed < 10 then speed = speed + 1 elseif speed > 10 then speed = speed - 1 end if elseif cont = disc_ssw then if speed < 11 then speed = speed + 1 elseif speed > 11 then speed = speed - 1 end if elseif cont = disc_sw then if speed < 12 then speed = speed + 1 elseif speed > 12 then speed = speed - 1 end if elseif cont = disc_wsw then if speed < 13 then speed = speed + 1 elseif speed > 13 then speed = speed - 1 end if elseif cont = disc_w then if speed < 14 then speed = speed + 1 elseif speed > 14 then speed = speed - 1 end if elseif cont = disc_WNW then if speed < 15 then speed = speed + 1 elseif speed > 15 then speed = speed - 1 end if elseif cont = disc_NW then if speed < 16 then speed = speed + 1 elseif speed > 16 then speed = speed - 1 end if elseif cont = disc_NNW then if speed < 17 then speed = speed + 1 elseif speed > 17 then speed = speed - 1 end if end if 'return if cont.button then speed = speed + 10 if speed > 0 then if speed < 7 then play moto_low elseif speed < 11 then play moto_med else play moto_high end if else play off end if return end draw_speed:procedure show_speed = speed/2 show_speed_a = speed%2 IF SHOW_SPEED > 10 THEN SHOW_SPEED = 10 print at SCREENPOS(3,10) color SPR_black, "\95\95\95\95\95\95\95\95\95\95\95\95" IF SHOW_SPEED > 0 THEN FOR X = 1 TO SHOW_SPEED IF X < 9 THEN print at SCREENPOS(X+2,10) color SPR_YELLOW, "\95" ELSE print at SCREENPOS(X+2,10) color SPR_RED, "\95" END IF NEXT END IF end tire: BITMAP "........" BITMAP "........" BITMAP "...#.#.." BITMAP "#.....#." BITMAP ".#...#.#" BITMAP ".#......" BITMAP "..#..#.#" BITMAP ".#....#." BITMAP "........" BITMAP "........" BITMAP "...#.#.." BITMAP "#.....#." BITMAP ".#...#.#" BITMAP "......#." BITMAP "#.#..#.." BITMAP ".#....#." BITMAP "........" BITMAP "........" BITMAP "...#.#.." BITMAP "#.....#." BITMAP ".#...#.#" BITMAP ".#....#." BITMAP "#....#.#" BITMAP ".#......" BITMAP "........" BITMAP "........" BITMAP "...#.#.." BITMAP "#.....#." BITMAP ".#...#.#" BITMAP ".#....#." BITMAP "#.#....#" BITMAP "......#." cycle: BITMAP "........" BITMAP "..##...." BITMAP "..#....." BITMAP "..##.#.." BITMAP "..###..." BITMAP ".#..#.#." BITMAP "#.#.##.#" BITMAP ".#....#." BITMAP "#......#" BITMAP ".#....#." BITMAP "..#..#.." BITMAP "...##..." BITMAP "...##..." BITMAP "..#..#.." BITMAP ".#....#." BITMAP "#......#" busimage: BITMAP "........" BITMAP "........" BITMAP "........" BITMAP ".#####.." BITMAP "#.....#." BITMAP "#######." BITMAP "#.###.#." BITMAP "##...##." BITMAP "########" BITMAP "..#..#.." BITMAP "...##..." BITMAP "..#..#.." BITMAP "########" BITMAP "........" BITMAP "........" BITMAP "........" BITMAP ".#######" BITMAP "#.######" BITMAP "#.######" BITMAP "#.######" BITMAP "#.######" BITMAP "#.######" BITMAP "#.######" BITMAP ".#######" BITMAP "########" BITMAP "########" BITMAP "########" BITMAP "########" BITMAP "########" BITMAP "########" BITMAP "########" BITMAP "########" BITMAP "#######." BITMAP "######.#" BITMAP "######.#" BITMAP "######.#" BITMAP "######.#" BITMAP "######.#" BITMAP "######.#" BITMAP "#######." 'Color_Values: ' Data $0000,$0001,$0002,$0003 ,$0004,$0005,$0006 ,$0007,$1000,$1001,$1002,$1003,$1004,$1005,$1006 ,$1007 Title_screen:procedure REPLAY_TITLE: CLS MODE 1 WAIT CONST LANDSCAPE_WIDTH = 45 CONST SPEED = 2 ' Can be 1, 2 or 4 MODE 1 WAIT DEFINE 0,16,screen_bitmaps_0 WAIT DEFINE 16,16,screen_bitmaps_1 WAIT DEFINE 32,5,screen_bitmaps_2 WAIT SCREEN screen_cards SCREEN screen_cards, 0, 0, BACKGROUND_COLUMNS, BACKGROUND_ROWS, LANDSCAPE_WIDTH next_column = 20 offset_x = 0 offset_y = 0 offset_d = 0 WAIT ' lOOP FOR TITLE SCREEN Title_loop: if (cont.button) OR TRIPS > 2 then last_trip = 1 if last_trip and (next_column) = 44 then X=0 goto loop END IF ' Pixel scrolling, check if it should displace full screen (move all cards left) IF offset_x = 0 THEN offset_d = 2:offset_x = 8 - SPEED ELSE offset_x = offset_x - SPEED END IF ' Setup scrolling for next frame SCROLL offset_x, offset_y, offset_d WAIT ' Now is time to update next column for screen if all cards were moved offset_d = 0 IF offset_x = 8 - SPEED THEN SCREEN screen_cards, next_column, 18, 1, BACKGROUND_ROWS, LANDSCAPE_WIDTH next_column = next_column + 1 IF next_column = LANDSCAPE_WIDTH THEN next_column = 0: TRIPS = TRIPS + 1 'movements = movements + 1 END IF GOTO title_loop LOOP: if x = 0 then SCROLL 0,0,0 WAIT for x = 1 to 7 step 3 PRINT AT SCREENPOS(x+4,x) COLOR FG_RED+BG_WHITE, "*STUNT*" PRINT AT SCREENPOS(x+6,x+1) COLOR FG_BLUE+BG_WHITE, "*CYCLE*" next PRINT AT SCREENPOS(1,10) COLOR FG_BLUE+BG_WHITE, "FOR 1 OR 2 PLAYERS" PRINT AT SCREENPOS(0,11) COLOR FG_BLUE+BG_WHITE, "ANY BUTTON TO START" END IF X=0 TITLE_LOOP2: X=X+1 GOSUB WAITABIT if (cont.button) then GOSUB GET_NUM_PLAYERS RETURN END IF 'PRINT SCREENPOS(4,4) COLOR FG_BLUE+BG_WHITE, "X",<>X," " IF X=50 THEN TRIPS = 2 last_trip = 0 GOTO REPLAY_TITLE END IF goto TITLE_LOOP2 end GET_NUM_PLAYERS:PROCEDURE sprite 0,#spritex(0)+HIT, spritey(0)+ #flip , SPR00+ (8*spriteframe) +#SPRITEC(0) sprite 1,#spritex(0)+HIT, spritey(0)+ #flip , SPR04+ #SPRITEC(PLAYER+1) CLS MODE 1 SCREEN screen_cards, 0, 0, 20, 12, 45 GOSUB WAITABIT PLAYER = 0 PRINT AT SCREENPOS(3,0) COLOR FG_RED+BG_WHITE, "SELECT PLAYERS" PRINT AT SCREENPOS(5,1) COLOR FG_RED+BG_WHITE, "USING DISC" PRINT AT SCREENPOS(4,4) COLOR FG_BLUE+BG_BLACK, "1 PLAYER" PRINT AT SCREENPOS(4,6) COLOR FG_BLUE+BG_WHITE, "2 PLAYERS" PRINT AT SCREENPOS(0,11) COLOR FG_BLUE+BG_WHITE, "ANY BUTTON TO START" NEW_LOOP2: IF (CONT.UP) THEN PLAYERS = 0 PRINT AT SCREENPOS(4,4) COLOR FG_BLUE+BG_BLACK, "1 PLAYER" PRINT AT SCREENPOS(4,6) COLOR FG_BLUE+BG_WHITE, "2 PLAYERS" END IF IF (CONT.DOWN) THEN PLAYERS = 1 PRINT AT SCREENPOS(4,4) COLOR FG_BLUE+BG_WHITE, "1 PLAYER" PRINT AT SCREENPOS(4,6) COLOR FG_BLUE+BG_BLACK, "2 PLAYERS" END IF if (cont.button) then return GOTO NEW_LOOP2 END ' 37 bitmaps screen_bitmaps_0: DATA $EEF0,$C1DF,$C3C1,$E7DF DATA $7FFF,$BF3F,$8FBF,$3DB3 DATA $FFFF,$FFFF,$FCFF,$F3F9 DATA $F0F8,$ECE8,$3BDF,$B6C0 DATA $183D,$7C9C,$02E0,$FE7E DATA $FFFF,$FFFF,$F8FE,$F0F0 DATA $FFFF,$FFFF,$0001,$0000 DATA $FFFF,$FFFF,$7CFC,$0038 DATA $1F8F,$1E9F,$1888,$181E DATA $23A2,$EC6B,$2FD7,$0F4C DATA $00EA,$FC00,$FCFE,$4AFE DATA $C1E0,$C3C3,$C3C3,$C3C3 DATA $FFFE,$FFFF,$F8E2,$F6F0 DATA $0704,$3103,$7878,$F878 DATA $031C,$8080,$8083,$8280 DATA $0F0F,$0747,$C303,$79F3 screen_bitmaps_1: DATA $999E,$DF87,$DFDF,$DFDF DATA $E0C1,$F8F0,$FEFC,$FFFE DATA $F9F0,$3FFF,$000F,$C000 DATA $F0F8,$E0F0,$01C1,$1F03 DATA $8C8C,$9498,$9190,$8B93 DATA $1DB9,$0105,$F101,$408F DATA $8087,$E080,$E4C0,$E0E0 DATA $7FFF,$071F,$3E01,$0113 DATA $FFFF,$FFFF,$FFFF,$DF7F DATA $838E,$E0C0,$FCFC,$FFFC DATA $8040,$38C0,$030F,$8008 DATA $0010,$1000,$0400,$0043 DATA $0001,$0000,$1080,$8142 DATA $3FEF,$0307,$0707,$8F1F DATA $FFF8,$FFFF,$FFFF,$FFFF DATA $8080,$C3C0,$E0C1,$F0E0 screen_bitmaps_2: DATA $D820,$0146,$E582,$3F7F DATA $4F8F,$6747,$2727,$8787 DATA $FCF8,$FFFE,$FFFF,$FFFF DATA $000F,$E000,$FFFF,$FFFF DATA $0F07,$FF1F,$FFFF,$FFFF REM 45x12 cards screen_cards: DATA $2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600 DATA $2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600 DATA $2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$0807,$080F,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600 DATA $2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$0817,$081F,$0827,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600 DATA $2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$082F,$0837,$083F,$0847,$084F,$0857,$2600,$2600,$2652,$279A,$27A2,$27AA,$2772,$27A2,$2652,$2600,$2600,$2600,$2600,$2600 DATA $2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$085F,$0867,$086F,$0877,$087F,$0887,$2600,$2600,$2600,$2600,$2651,$2719,$27C9,$2719,$2761,$2729,$2651,$2600,$2600,$2600 DATA $2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$088F,$0897,$089F,$08A7,$08AF,$08B7,$08BF,$08C7,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600 DATA $2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$08CF,$08D7,$08DF,$08E7,$08EF,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600 DATA $2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$08F7,$08FF,$0907,$090F,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600 DATA $2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$0917,$091F,$0927,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600 DATA $2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600 DATA $2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2600,$2709,$2771,$27C9,$2600,$2711,$27A9,$27A1,$27A1,$2779,$2771,$2600,$27A1,$2779,$2600,$2799,$27A1,$2709,$2791,$27A1,$2600,$2600,$2600,$2600,$2600,$2600 moto_low: data 4 music b2z,-,-,- music repeat moto_med: data 4 music g3z,-,-,- music repeat moto_high: data 4 music c4z,-,-,- music repeat jump: data 2 music c4y,-,-,- music c4#,-,-,- music d4,-,-,- music d4#,-,-,- music e4,-,-,- music f4,-,-,- music f4#,-,-,- music g4,-,-,- music f4#,-,-,- music f4,-,-,- music e4,-,-,- music d4#,-,-,- music d4,-,-,- music c4#,-,-,- music c4,-,-,- music stop crash: data 8 music -,-,-,m3 music -,-,-,m3 music -,-,-,m2 music -,-,-,m2 music repeat