'SOME REFERENCE: 'TIMO 2021-04-29 19:13 (EDITED) 'THIS DOCUMENT LOOKS GOOD: HTTP://PERSONAL.KENT.EDU/~SBIRCH/MUSIC_PRODUCTION/MP-II/MIDI/MIDI_FILE_FORMAT.HTM 'EACH CHUNK HEADER CONTAINS THE LENGTH OF ITS DATA, THIS IS HOW YOU KNOW WHERE THE NEXT CHUNK STARTS. 'ANYWAY, IT'S NOT EASY TO CONVERT FROM MIDI TO A TRACKER FORMAT (LIKE LOWRES NX). MIDI IS EVENT BASED AND EACH EVENT (NOTE) HAS A LENGTH. IN A TRACKER FORMAT EVERYTHING IS IN A GRID BECAUSE OF THE TABLE STYLE. SO YOU HAVE TO "QUANTIZE" THE NOTES TO MAKE THEM FIT INTO THE TABLE GRID. ALSO IN MIDI YOU CAN HAVE MORE CHANNELS AND EACH CHANNEL CAN PLAY SEVERAL NOTES AT ONCE. IN LOWRES NX YOU ONLY HAVE 4 CHANNELS AND EACH CAN PLAY ONLY ONE NOTE AT ONCE. DEPENDING ON THE MATERIAL IT'S STILL POSSIBLE TO GET GOOD RESULTS. 'MIDI PITCH VALUES START AT 0 MAKE SURE TO TRANSPOSE IT +1 'MOST SIGNIFICANT BITS ARE FIRST: DON'T USE PEEKW AND PEEKL TOUCHSCREEN DIM GLOBAL INDEX(15) DIM GLOBAL TA(1,16383) 'TA: TRACK ATTRIBUTES GLOBAL TYPE,S,V,V1,V2,V3,F,I,CSIZE,TN,TRACKS,TIME I=$A000 TYPE=0 CSIZE=0 TN=0 TIME=0 KEY=0 TIME_UNIT=10000 S=SIZE(5) ADDR_END=$A000+S 'PRINT HEX$(S) 'PRINT HEX$(ADDR_END) COPY ROM(5),S TO $A000 'HEADER TYPE ASC CODES 4D546864 'PRINT $6468544D=PEEKL($A000)+63 'RETURNS TRUE -> SIX BITS GET LOST 'THESE FLOAT VARIABLES CAN'T STORE 32-BIT VALUES, THEY PROBABLY HAVE A 6-BIT EXPONENT 'DO 'WAIT 60 'LOOP PAL 3 PRINT "I'VE LOADED A MIDI" PRINT "FILE IN ROM(5)" PRINT "" PAL 0 'READ HEADER PRINT "FORMAT:",256*PEEK($A008)+PEEK($A009) PRINT "TRACKS:",256*PEEK($A00A)+PEEK($A00B) D=256*PEEK($A00C)+PEEK($A00D) D1=D\2^15 D2=D MOD 2^15 IF D1=0 THEN PRINT "DIVISION:",D2 PRINT "TICKS/QUARTER NOTE" ELSE IF D1=1 THEN PRINT "DIVISION:",D2\2^8,D2 MOD 2^8 PRINT "F/S AND TICKS/F" END IF PRINT "" 'INDEX THE FILE REPEAT V=PEEK(I) V1=PEEK(I+1) V2=PEEK(I+2) V3=PEEK(I+3) CALL DETERMINE_TYPE WAIT 1 UNTIL I=ADDR_END INDEX(TN)=ADDR_END TRACKS=TN-1 PRINT "" SUB DETERMINE_TYPE IF V=77 AND V1=84 THEN IF V2=104 AND V3=100 THEN TYPE=1 PRINT "HEADER: SIZE="; ADD I,4 CALL DETERMINE_SIZE ELSE IF V2=114 AND V3=107 THEN TYPE=2 PRINT "TRACK: SIZE="; INDEX(TN)=I INC TN ADD I,4 CALL DETERMINE_SIZE END IF END IF END SUB SUB DETERMINE_SIZE 'THESE FLOAT VARIABLES CAN'T STORE 32-BIT VALUES 'BUT THE SIZE CAN'T BE 2^32-1, IT WON'T FIT IN NX, SO IT'S FINE 'MSB FIRST, SWAP THAT CSIZE=2^24*PEEK(I)+2^16*PEEK(I+1)+2^8*PEEK(I+2)+PEEK(I+3) ADD I,4 PRINT CSIZE 'SKIP_CHUNK I=I+CSIZE END SUB 'DISPLAY STORED INDEX VALUES PRINT "INDEX:" FOR I=0 TO 15 V=INDEX(I) IF V<>0 THEN PRINT HEX$(V),""; NEXT I PAL 2 PRINT "" PRINT "" PRINT "TAP TO CONTINUE" PAL 0 WHILE NOT TAP WAIT 1 WEND FOR I=0 TO 16 PRINT "" NEXT I CLW 'READ TRACKS 'BUG MEMORIAL: FORGOT TO OFFSET THE INDEX VALUES PRINT "PLEASE WAIT" PRINT "FINDING SMALLEST DT" FOR OPERATION=0 TO 1 TIME=0 FOR J=0 TO TRACKS 'PAL 2 'PRINT "=================" 'PRINT "==== TRACK",J,"====" 'PRINT "=================" 'PRINT HEX$(INDEX(J)+8) 'PRINT "" 'PAL 0 FOR I=INDEX(J)+8 TO INDEX(J+1)-1 'TRACE " "+HEX$(I) 'DETERMINE DELTA TIME CALL VAR_LEN_QUANTITY 'TA(0,TIME)=V DT=V DT2=INT(DT/TIME_UNIT+0.5) IF OPERATION=0 AND V>0 THEN TIME_UNIT=MIN(TIME_UNIT,V) 'CLW 'PRINT "DT=",V 'INTERPRET THE STATUS BYTE: '- 00 TO 7F: NOT A STATUS CODE -> ERROR (END OF TRACK MAYBE OR A BUG IN CODE) '- 80 TO EF: MIDI STATUS CODE -> NEXT IS PITCH -> NEXT IS VELOCITY ' - 9N: KEY DOWN ' - 8N: KEY UP ' N=MIDI CHANNEL NUMBER (0 TO 15) '- F0=SYSEX 1 -> NEXT IS LENGTH: AMOUNT OF BYTES FOLLOWING '- F7=SYSEX 2 -> NEXT IS LENGTH: AMOUNT OF BYTES FOLLOWING '- FF=META -> NEXT IS META-CODE -> NEXT IS LENGTH: AMOUNT OF BYTES FOLLOWING V=PEEK(I) STATUS=V 'PAL 3 'PRINT "STATUS:",HEX$(V),""; IF V>$7F AND V<$F0 THEN 'MIDI 'PRINT "MIDI" IF V<$B0 THEN IF V<$90 THEN 'PRINT "KEY UP" KEY=1 ELSE IF V<$A0 THEN 'PRINT "KEY DOWN" KEY=2 ELSE 'PRINT "AFTERTOUCH" END IF 'PAL 0 INC I 'PRINT "PITCH=",PEEK(I),""; PITCH=PEEK(I)+1 INC I 'PRINT "VEL=",PEEK(I) VELOCITY=PEEK(I)\8 IF OPERATION=1 THEN IF KEY=2 THEN ADD TIME,DT2 IF KEY=1 THEN FOR A=0 TO DT2 TA(0,A+TIME)=PITCH TA(1,A+TIME)=VELOCITY TRACE A+TIME NEXT A ADD TIME,DT2 END IF END IF ELSE IF V<$C0 THEN INC I 'PRINT "CONTR=",PEEK(I),""; INC I 'PRINT "VAL=",PEEK(I) ELSE IF V<$E0 THEN INC I 'PRINT "VAL=",PEEK(I) ELSE INC I V=PEEK(I) INC I V=V+256*PEEK(I) 'PRINT "VAL=",V END IF ELSE IF V=$F0 THEN 'SYSEX 1 'PRINT "SYSEX 1" 'PAL 0 INC I CALL VAR_LEN_QUANTITY 'PRINT "LENGTH= ",V LENGTH=V ADD I,V-1 ELSE IF V=$F7 THEN 'SYSEX 2 'PRINT "SYSEX 2" 'PAL 0 INC I CALL VAR_LEN_QUANTITY 'PRINT "LENGTH= ",V LENGTH=V ADD I,V-1 ELSE IF V=$FF THEN 'META 'PRINT "META" 'PAL 0 INC I V=PEEK(I) 'PRINT "META CODE=",HEX$(V) 'PAL 1 'IF V=$2F THEN PRINT "END OF TRACK" 'PAL 0 INC I CALL VAR_LEN_QUANTITY 'PRINT "LENGTH= ",V LENGTH=V ADD I,V-1 ELSE 'PRINT "ERROR: INVALID STATUS BYTE" END IF WHILE NOT TAP AND 0 WAIT 1 WEND INC TIME 'PRINT "" NEXT I NEXT J IF OPERATION=0 THEN PRINT "SMALLEST DT=",TIME_UNIT PRINT "CONVERTING..." PAL 2 INPUT "PRECISION 1,2,3,4...";PRECISION KEYBOARD OFF PAL 0 TIME_UNIT=TIME_UNIT*PRECISION END IF NEXT OPERATION PRINT "ENCODING NX MUSIC..." SUB VAR_LEN_QUANTITY V=0 REPEAT V=V*128 'PRINT " ",HEX$(PEEK(I)) ADD V,PEEK(I)MOD 128 'PRINT " ",HEX$(V) INC I UNTIL PEEK(I-1)\128=0 END SUB SUB NOT_IN_USE WHILE 0 V=PEEK(I) PRINT HEX$(V) WHILE NOT TAP WAIT 1 WEND INC I WAIT 1 WEND END SUB 'WRITE TRACK DATA IN NX FORMAT 'TRACKS (6144 BYTES) FILL $A000,$4000 COPY ROM(14),SIZE(14) TO $A000 ADDR=$A180 FOR J=0 TO 63 FOR I=0 TO 31 K=I+32*J CALL SAVEDATA(ADDR,TA(0,K),0) INC ADDR CALL SAVEDATA(ADDR,TA(1,K),0) 'CALL SAVEDATA(ADDR,TSYNTH(J),4) INC ADDR 'CALL SAVEDATA(ADDR,TA(2,K),0) 'CALL SAVEDATA(ADDR,TA(3,K),4) INC ADDR NEXT I NEXT J SAVE 15,"MUSIC",$A000,ADDR-$A000 FILL $A000,$4000 SUB SAVEDATA(ADDR,V,OFFSET) 'BITSHIFT POKE ADDR,PEEK(ADDR)+INT(V*2^OFFSET)MOD 256 END SUB PRINT "DONE" WAIT 1 'PLAY SONG FROM ARRAY CLW LOCATE 0,0 PRINT "TIME" LOCATE 5,0 PRINT "PIT" LOCATE 9,0 PRINT "VOL" 'PLAY FOR I=0 TO TIME LOCATE 0,1 PRINT " " LOCATE 0,1 IF I>2047 THEN PAL 1 PRINT I PAL 0 LOCATE 5,1 PRINT TA(0,I) LOCATE 9,1 PRINT TA(1,I) VOLUME 0,TA(1,I), PLAY 0,TA(0,I) WAIT 1+PRECISION NEXT I #1:MAIN PALETTES 000C080400382410000F0B07002C2814 003F2A15003F2A15003F2A15003F2A15 #5:MIDI FILE 4D546864000000060001000200604D54 726B0000001300FF5103068A1B00FF58 040402180800FF2F004D54726B000017 5200FF031A504C55434B202D20506C61 7920416E642057696E20537475203100 904E5F30804E500090505F1880505018 90495F1880495000904B5F30804B5000 90475F0C8047500C904A5F18804A5000 90495F188049500090475F1880475018 90475F188047501890495F3080495000 904A5F18804A5018904A5F0C804A500C 90495F0C8049500C90475F1880475000 90495F1880495000904B5F18804B5000 904E5F18804E500090506F1880505000 904B5F18804B5000904E6F18804E5000 90495F1880495000904A6F18804A5000 90475F188047500090496F1880495000 90475F1880475000904B5F30804B5000 904E5F18804E501890506F1880505000 904B5F18804B5000904E6F18804E5000 90495F1880495000904A6F18804A5000 90475F188047500090495F1880495000 904B5F18804B5000904A5F18804A5000 90495F188049500090475F1880475000 90495F1880495000904A5F18804A5018 90475F188047500090495F1880495000 904A5F18804A5000904E5F18804E5000 90495F1880495000904A5F18804A5000 90495F188049500090475F1880475000 90495F188049501890475F1880475018 90495F1880495018904E5F30804E5000 90505F188050501890495F1880495000 904B5F30804B500090475F0C8047500C 904A5F18804A500090495F1880495000 90475F188047501890475F1880475018 90495F3080495000904A5F18804A5018 904A5F0C804A500C90495F0C8049500C 90475F188047500090495F1880495000 904B5F18804B5000904E5F18804E5000 90506F1880505000904B5F18804B5000 904E6F18804E500090495F1880495000 904A6F18804A500090475F1880475000 90496F188049500090475F1880475000 904B5F30804B5000904E5F18804E5018 90506F1880505000904B5F18804B5000 904E6F18804E500090495F1880495000 904A6F18804A500090475F1880475000 90495F1880495000904B5F18804B5000 904A5F18804A500090495F1880495000 90475F188047500090495F1880495000 904A5F18804A501890475F1880475000 90495F1880495000904A5F18804A5000 904E5F18804E500090495F1880495000 904A5F18804A500090495F1880495000 90475F188047500090495F3080495000 90475F188047501890475F1880475018 90475F188047501890425F1880425000 90445F188044500090475F1880475018 90425F188042500090445F1880445000 90475F188047500090495F1880495000 904B5F18804B500090495F1880495000 904C5F18804C5000904B5F18804B5000 904C5F18804C5000904E5F18804E5000 90475F188047501890475F1880475018 90426F188042500090445F1880445000 90475F188047500090445F1880445000 904C5F18804C5000904B5F18804B5000 90495F188049500090474C1880475000 90425F1880425000903F5F18803F5000 90405F188040500090425F1880425000 90475F188047501890425F1880425000 90445F188044500090475F1880475018 90425F188042500090445F1880445000 90475F188047500090475F1880475000 90495F1880495000904B5F18804B5000 90475F188047500090425F1880425000 90445F188044500090425F1880425000 90475F308047500090475F1880475000 90465F188046500090475F1880475000 90425F188042500090445F1880445000 90475F1880475000904C4C18804C5000 904B5F18804B5000904C5F18804C5000 904E5F18804E500090475F1880475018 90465F188046501890475F1880475018 90425F188042500090445F1880445000 90475F188047501890425F1880425000 90445F188044500090475F1880475000 90495F1880495000904B5F18804B5000 90495F1880495000904C5F18804C5000 904B5F18804B5000904C5F18804C5000 904E5F18804E500090475F1880475018 90475F188047501890426F1880425000 90445F188044500090475F1880475000 90445F1880445000904C5F18804C5000 904B5F18804B500090495F1880495000 90474C188047500090425F1880425000 903F5F18803F500090405F1880405000 90425F188042500090475F1880475018 90425F188042500090445F1880445000 90475F188047501890425F1880425000 90445F188044500090475F1880475000 90475F188047500090495F1880495000 904B5F18804B500090475F1880475000 90425F188042500090445F1880445000 90425F188042500090475F3080475000 90475F188047500090465F1880465000 90475F188047500090425F1880425000 90445F188044500090475F1880475000 904C4C18804C5000904B5F18804B5000 904C5F18804C5000904E5F18804E5000 90475F308047500090495F3080495000 904E5F30804E500090505F1880505018 90495F1880495000904B5F30804B5000 90475F0C8047500C904A5F18804A5000 90495F188049500090475F1880475018 90475F188047501890495F3080495000 904A5F18804A5018904A5F0C804A500C 90495F0C8049500C90475F1880475000 90495F1880495000904B5F18804B5000 904E5F18804E500090506F1880505000 904B5F18804B5000904E6F18804E5000 90495F1880495000904A6F18804A5000 90475F188047500090496F1880495000 90475F1880475000904B5F30804B5000 904E5F18804E501890506F1880505000 904B5F18804B5000904E6F18804E5000 90495F1880495000904A6F18804A5000 90475F188047500090495F1880495000 904B5F18804B5000904A5F18804A5000 90495F188049500090475F1880475000 90495F1880495000904A5F18804A5018 90475F188047500090495F1880495000 904A5F18804A5000904E5F18804E5000 90495F1880495000904A5F18804A5000 90495F188049500090475F1880475000 90495F188049501890475F1880475018 90495F1880495018904E5F30804E5000 90505F188050501890495F1880495000 904B5F30804B500090475F0C8047500C 904A5F18804A500090495F1880495000 90475F188047501890475F1880475018 90495F3080495000904A5F18804A5018 904A5F0C804A500C90495F0C8049500C 90475F188047500090495F1880495000 904B5F18804B5000904E5F18804E5000 90506F1880505000904B5F18804B5000 904E6F18804E500090495F1880495000 904A6F18804A500090475F1880475000 90496F188049500090475F1880475000 904B5F30804B5000904E5F18804E5018 90506F1880505000904B5F18804B5000 904E6F18804E500090495F1880495000 904A6F18804A500090475F1880475000 90495F1880495000904B5F18804B5000 904A5F18804A500090495F1880495000 90475F188047500090495F1880495000 904A5F18804A501890475F1880475000 90495F1880495000904A5F18804A5000 904E5F18804E500090495F1880495000 904A5F18804A500090495F1880495000 90475F188047500090495F3080495000 90475F188047501890475F1880475018 90475F188047501890425F1880425000 90445F188044500090475F1880475018 90425F188042500090445F1880445000 90475F188047500090495F1880495000 904B5F18804B500090495F1880495000 904C5F18804C5000904B5F18804B5000 904C5F18804C5000904E5F18804E5000 90475F188047501890475F1880475018 90426F188042500090445F1880445000 90475F188047500090445F1880445000 904C5F18804C5000904B5F18804B5000 90495F188049500090474C1880475000 90425F1880425000903F5F18803F5000 90405F188040500090425F1880425000 90475F188047501890425F1880425000 90445F188044500090475F1880475018 90425F188042500090445F1880445000 90475F188047500090475F1880475000 90495F1880495000904B5F18804B5000 90475F188047500090425F1880425000 90445F188044500090425F1880425000 90475F308047500090475F1880475000 90465F188046500090475F1880475000 90425F188042500090445F1880445000 90475F1880475000904C4C18804C5000 904B5F18804B5000904C5F18804C5000 904E5F18804E500090475F1880475018 90465F188046501890475F1880475018 90425F188042500090445F1880445000 90475F188047501890425F1880425000 90445F188044500090475F1880475000 90495F1880495000904B5F18804B5000 90495F1880495000904C5F18804C5000 904B5F18804B5000904C5F18804C5000 904E5F18804E500090475F1880475018 90475F188047501890426F1880425000 90445F188044500090475F1880475000 90445F1880445000904C5F18804C5000 904B5F18804B500090495F1880495000 90474C188047500090425F1880425000 903F5F18803F500090405F1880405000 90425F188042500090475F1880475018 90425F188042500090445F1880445000 90475F188047501890425F1880425000 90445F188044500090475F1880475000 90475F188047500090495F1880495000 904B5F18804B500090475F1880475000 90425F188042500090445F1880445000 90425F188042500090475F3080475000 90475F188047500090465F1880465000 90475F188047500090425F1880425000 90445F188044500090475F1880475000 904C4C18804C5000904B5F18804B5000 904C5F18804C5000904E5F18804E5000 90475F308047500090495F3080495000 90346400903464308034400080344000 90406400904064308040400080404000 90366400903664308036400080364000 90426400904264308042400080424000 90336400903364308033400080334000 903F6400903F6430803F4000803F4000 90386400903864308038400080384000 90446400904464308044400080444000 90316400903164308031400080314000 903D6400903D6430803D4000803D4000 90366400903664308036400080364000 90426400904264308042400080424000 902F6400902F6430802F4000802F4000 903B6400903B6430803B4000803B4000 902F6400902F6430802F4000802F4000 903B6400903B6430803B4000803B4000 90347F308034400090407F3080404000 90367F308036400090427F3080424000 90337F3080334000903F7F30803F4000 90387F308038400090447F3080444000 90317F3080314000903D7F30803D4000 90367F308036400090427F3080424000 902F7F30802F4000903B7F30803B4000 902F7F30802F4000903B7F30803B4000 90347F308034400090407F3080404000 90367F308036400090427F3080424000 90337F3080334000903F7F30803F4000 90387F308038400090447F3080444000 90317F3080314000903D7F30803D4000 90365F0090365F308036400080364000 90425F0090425F308042400080424000 902F7F30802F4000903B7F30803B4000 902F7F30802F4000903B7F30803B4000 90347F308034400090407F3080404000 90367F308036400090427F3080424000 90337F3080334000903F7F30803F4000 90387F308038400090447F3080444000 90317F3080314000903D7F30803D4000 90367F308036400090427F3080424000 902F7F30802F4000903B7F30803B4000 902F7F30802F4000903B7F30803B4000 90347F308034400090387F3080384000 903B7F30803B400090407F3080404000 90337F308033400090367F3080364000 903B7F30803B4000903F7F30803F4000 90317F308031400090347F3080344000 90387F3080384000903B7F30803B4000 902F7F30802F400090337F3080334000 90367F3080364000903B7F30803B4000 90347F308034400090387F3080384000 903B7F30803B400090407F3080404000 90337F308033400090367F3080364000 903B7F30803B4000903F7F30803F4000 90317F308031400090347F3080344000 90387F3080384000903B7F30803B4000 902F7F30802F400090337F3080334000 90367F3080364000903B7F30803B4000 90347F308034400090387F3080384000 903B7F30803B400090407F3080404000 90337F308033400090367F3080364000 903B7F30803B4000903F7F30803F4000 90317F308031400090347F3080344000 90387F3080384000903B7F30803B4000 902F7F30802F400090337F3080334000 90367F3080364000903B7F30803B4000 90347F308034400090387F3080384000 903B7F30803B400090407F3080404000 90337F308033400090367F3080364000 903B7F30803B4000903F7F30803F4000 90317F308031400090347F3080344000 90387F3080384000903B7F30803B4000 902F7F30802F400090337F3080334000 90367F3080364000903B7F30803B4000 90346400903464308034400080344000 90406400904064308040400080404000 90366400903664308036400080364000 90426400904264308042400080424000 90336400903364308033400080334000 903F6400903F6430803F4000803F4000 90386400903864308038400080384000 90446400904464308044400080444000 90316400903164308031400080314000 903D6400903D6430803D4000803D4000 90366400903664308036400080364000 90426400904264308042400080424000 902F6400902F6430802F4000802F4000 903B6400903B6430803B4000803B4000 902F6400902F6430802F4000802F4000 903B6400903B6430803B4000803B4000 90347F308034400090407F3080404000 90367F308036400090427F3080424000 90337F3080334000903F7F30803F4000 90387F308038400090447F3080444000 90317F3080314000903D7F30803D4000 90367F308036400090427F3080424000 902F7F30802F4000903B7F30803B4000 902F7F30802F4000903B7F30803B4000 90347F308034400090407F3080404000 90367F308036400090427F3080424000 90337F3080334000903F7F30803F4000 90387F308038400090447F3080444000 90317F3080314000903D7F30803D4000 90366700903667308036400080364000 90426400904264308042400080424000 902F7F30802F4000903B7F30803B4000 902F7F30802F4000903B7F30803B4000 90347F308034400090407F3080404000 90367F308036400090427F3080424000 90337F3080334000903F7F30803F4000 90387F308038400090447F3080444000 90317F3080314000903D7F30803D4000 90367F308036400090427F3080424000 902F7F30802F4000903B7F30803B4000 902F7F30802F4000903B7F30803B4000 90347F308034400090387F3080384000 903B7F30803B400090407F3080404000 90337F308033400090367F3080364000 903B7F30803B4000903F7F30803F4000 90317F308031400090347F3080344000 90387F3080384000903B7F30803B4000 902F7F30802F400090337F3080334000 90367F3080364000903B7F30803B4000 90347F308034400090387F3080384000 903B7F30803B400090407F3080404000 90337F308033400090367F3080364000 903B7F30803B4000903F7F30803F4000 90317F308031400090347F3080344000 90387F3080384000903B7F30803B4000 902F7F30802F400090337F3080334000 90367F3080364000903B7F30803B4000 90347F308034400090387F3080384000 903B7F30803B400090407F3080404000 90337F308033400090367F3080364000 903B7F30803B4000903F7F30803F4000 90317F308031400090347F3080344000 90387F3080384000903B7F30803B4000 902F7F30802F400090337F3080334000 90367F3080364000903B7F30803B4000 90347F308034400090387F3080384000 903B7F30803B400090407F3080404000 90337F308033400090367F3080364000 903B7F30803B4000903F7F30803F4000 90317F308031400090347F3080344000 90387F3080384000903B7F30803B4000 902F7F30802F400090337F3080334000 90367F3080364000903B7F30803B4000 904B6418804B4000904C6418804C4000 904E6430804E40009053643080534000 904B6418804B4000904C6418804C4000 904E6418804E40009053641880534000 90556418805540009057641880574000 90556418805540009052641880524000 9053643080534000904E6430804E4000 904B6418804B4000904C6418804C4000 904E6430804E40009053641880534000 90556430805540009052641880524000 90536418805340009055641880554000 90586418805840009057641880574000 90586418805840009055641880554000 FF2F00 #14:MUSIC TEMPLATE 00007036000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00404040014040400240404003404040 04404040054040400640404007404040 08404040094040400A4040400B404040 0C4040400D4040400E4040400F404040 10404040114040401240404013404040 14404040154040401640404017404040 18404040194040401A4040401B404040 1C4040401D4040401E4040401F404040 20404040214040402240404023404040 24404040254040402640404027404040 28404040294040402A4040402B404040 2C4040402D4040402E4040402F404040 30404040314040403240404033404040 34404040354040403640404037404040 38404040394040403A4040403B404040 3C4040403D4040403E4040403F404040