PDA

View Full Version : [Tutorial] GBA Music Looping


clonex25
December 7th, 2007, 09:49 PM
WARNING:
The following steps may or may not affect the performance of your operating system. These may include DLL-related errors.
USE IT AT YOUR OWN RISK (But dont tell me I didn't warn you).

CREDITS:
Teh Baro, for posting the code primer (without that post, I couldn't get the idea of manual S file editing)
http://www.pokecommunity.com/showthread.php?p=2936767#post2936767
Kawa's Sappy bytecode help file

LET'S GET STARTED

- Before anything else, convert your custom MIDI to a GBA S file through the MIDI2GBA tool. After conversion, just open the text editor (you may choose WordPad or NotePad), Click File>Open, choose "All Documents" in "Files of Type" option, and select the S File.

REMINDERS: Associating S files with the text editor may affect the performance of Sappy especially in its assembling feature. You may get a permanent kernel32 error upon assembly.

Let's familiarize ourselves with the code (The items necessary for the looping procedure will be boldfaced):

.include "MPlayDef.s"

.equ frlgmbattlb_grp, voicegroup000
.equ frlgmbattlb_pri, 0
.equ frlgmbattlb_rev, 0
.equ frlgmbattlb_mvl, 127
.equ frlgmbattlb_key, 0
.equ frlgmbattlb_tbs, 1
.equ frlgmbattlb_exg, 0
.equ frlgmbattlb_cmp, 1

.section .rodata
.global frlgmbattlb
.align 2

@**************** Track 1 (Midi-Chn.5) ****************@

frlgmbattlb_1: @ ------> label
.byte KEYSH , frlgmbattlb_key+0
@ 000 -------- @ ------> measure number
.byte TEMPO , 182*frlgmbattlb_tbs/2
.byte VOICE , 33
.byte VOL , 127*frlgmbattlb_mvl/mxv
.byte N06 , Ds1 , v104
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte En1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte Fn1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte Fs1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
@ 001 ----------------------------------------
.byte Gn1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte Gs1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte An1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte N12 , As1
.byte W12
.byte An1
.byte W12
@ 002 ----------------------------------------
frlgmbattlb_1_002: @ ------> a pattern label
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn2
.byte W12
.byte An1
.byte W12
.byte PEND
@ 003 ----------------------------------------
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn2
.byte W12
.byte An1
.byte W12
.byte As1
.byte W12
.byte Cn2
.byte W12
.byte Gn1
.byte W12
.byte An1
.byte W12
@ 004 ----------------------------------------
.byte Ds1
.byte W12
.byte As1
.byte W12
.byte Ds1
.byte W12
.byte N32 , Ds2
.byte W08
.byte BEND , c_v-2
.byte W01
.byte c_v-8
.byte W02
.byte c_v-10
.byte W01
.byte c_v-15
.byte W02
.byte c_v-17
.byte W01
.byte c_v-21
.byte W02
.byte c_v-23
.byte W01
.byte c_v-29
.byte W02
.byte c_v-31
.byte W01
.byte c_v-39
.byte W02
.byte c_v-40
.byte W01
.byte c_v-44
.byte W02
.byte c_v-46
.byte W01
.byte c_v-52
.byte W02
.byte c_v-54
.byte W01
.byte c_v-60
.byte W02
.byte c_v-61
.byte W01
.byte c_v-63
.byte W02
.byte c_v-51
.byte W01
.byte c_v+0
.byte N12 , Ds1
.byte W12
.byte As1
.byte W12
@ 005 ----------------------------------------
.byte Ds1
.byte W12
.byte As1
.byte W12
.byte Ds2
.byte W12
.byte Cn2
.byte W12
.byte N12
.byte W12
.byte Dn2
.byte W12
.byte As1
.byte W12
.byte Cn2
.byte W12
@ 006 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_002
@ 007 ----------------------------------------
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn2
.byte W12
.byte An1
.byte W12
.byte N12
.byte W12
.byte As1
.byte W12
.byte Gn1
.byte W12
.byte An1
.byte W12
@ 008 ----------------------------------------
.byte Ds1
.byte W12
.byte As1
.byte W12
.byte N06 , Dn1
.byte W06
.byte Ds1
.byte W06
.byte Gn1
.byte W06
.byte As1
.byte W06
.byte N12 , Ds2
.byte W12
.byte Dn2
.byte W12
.byte Cn2
.byte W12
.byte Dn2
.byte W12
@ 009 ----------------------------------------
.byte Ds1
.byte W12
.byte As1
.byte W12
.byte Dn2
.byte W12
.byte Ds2
.byte W12
.byte N06 , Ds1
.byte W06
.byte Gn1
.byte W06
.byte As1
.byte W06
.byte Cn2
.byte W06
.byte N12 , Ds2
.byte W12
.byte Cn2
.byte W12
@ 010 ----------------------------------------
frlgmbattlb_1_010:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn2
.byte W12
.byte An1
.byte W12
.byte N06 , Gn1
.byte W06
.byte Fs1
.byte W06
.byte En1
.byte W06
.byte Ds1
.byte W06
.byte PEND
@ 011 ----------------------------------------
frlgmbattlb_1_011:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte As1
.byte W12
.byte An1
.byte W12
.byte PEND
@ 012 ----------------------------------------
frlgmbattlb_1_012:
.byte N12 , Ds1 , v116
.byte W12
.byte As1
.byte W12
.byte Ds1
.byte W12
.byte An1
.byte W12
.byte Ds1
.byte W12
.byte Gs1
.byte W12
.byte Ds1
.byte W12
.byte Gn1
.byte W12
.byte PEND
@ 013 ----------------------------------------
frlgmbattlb_1_013:
.byte N12 , Ds1 , v116
.byte W12
.byte Fs1
.byte W12
.byte Ds1
.byte W12
.byte Fn1
.byte W12
.byte Cn2
.byte W12
.byte Dn2
.byte W12
.byte As1
.byte W12
.byte Cn2
.byte W12
.byte PEND
@ 014 ----------------------------------------
frlgmbattlb_1_014:
.byte N24 , Dn1 , v116
.byte W24
.byte N12 , An1
.byte W12
.byte N18 , Dn1
.byte W24
.byte N12
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte PEND
@ 015 ----------------------------------------
frlgmbattlb_1_015:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W24
.byte N12
.byte W24
.byte N12
.byte W12
.byte Gs1
.byte W12
.byte N06 , An1
.byte W12
.byte PEND
@ 016 ----------------------------------------
frlgmbattlb_1_016:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W24
.byte N12
.byte W24
.byte N12
.byte W12
.byte Gs1
.byte W12
.byte An1
.byte W12
.byte PEND
@ 017 ----------------------------------------
frlgmbattlb_1_017:
.byte N24 , Dn1 , v108
.byte W24
.byte Cn2
.byte W24
.byte Cn1
.byte W24
.byte N18 , Gn1
.byte W18
.byte N03 , Fn1
.byte W03
.byte En1
.byte W03
.byte PEND
@ 018 ----------------------------------------
frlgmbattlb_1_018:
.byte N24 , Ds1 , v116
.byte W24
.byte N12 , As1
.byte W12
.byte N18 , Ds1
.byte W24
.byte N12
.byte W12
.byte N03 , As1
.byte W12
.byte N12 , Cn1
.byte W12
.byte PEND
@ 019 ----------------------------------------
frlgmbattlb_1_019:
.byte N12 , Ds2 , v116
.byte W12
.byte N06 , Gn1
.byte W12
.byte N12 , As1
.byte W12
.byte N06 , Ds2
.byte W12
.byte Ds1
.byte W06
.byte Gn1
.byte W06
.byte An1
.byte W06
.byte As1
.byte W06
.byte N12 , Ds2
.byte W12
.byte Cs2
.byte W12
.byte PEND
@ 020 ----------------------------------------
frlgmbattlb_1_020:
.byte N12 , An1 , v116
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte N06 , Dn1
.byte W12
.byte N12
.byte W12
.byte N06 , An1
.byte W12
.byte N12
.byte W12
.byte Gs1
.byte W12
.byte PEND
@ 021 ----------------------------------------
frlgmbattlb_1_021:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte N06 , Cs2
.byte W06
.byte Dn2
.byte W06
.byte As1
.byte W06
.byte Cn2
.byte W06
.byte An1
.byte W06
.byte Gs1
.byte W06
.byte Gn1
.byte W06
.byte Fs1
.byte W06
.byte PEND
@ 022 ----------------------------------------
frlgmbattlb_1_022:
.byte N06 , Cn1 , v116
.byte W12
.byte N12
.byte W24
.byte N12
.byte W12
.byte Cn2
.byte W12
.byte N18 , Cn1
.byte W24
.byte N06
.byte W12
.byte PEND
@ 023 ----------------------------------------
frlgmbattlb_1_023:
.byte N12 , Cn1 , v116
.byte W24
.byte N06
.byte W12
.byte N03
.byte W06
.byte N03
.byte W06
.byte N44 , Cn2
.byte W11
.byte BEND , c_v-2
.byte W01
.byte c_v-6
.byte W02
.byte c_v-7
.byte W01
.byte c_v-10
.byte W02
.byte c_v-12
.byte W01
.byte c_v-17
.byte W02
.byte c_v-19
.byte W01
.byte c_v-23
.byte W02
.byte c_v-25
.byte W01
.byte c_v-31
.byte W02
.byte c_v-32
.byte W01
.byte c_v-35
.byte W02
.byte c_v-37
.byte W01
.byte c_v-42
.byte W02
.byte c_v-43
.byte W01
.byte c_v-47
.byte W02
.byte c_v-51
.byte W01
.byte c_v-64
.byte W11
.byte c_v-52
.byte W01
.byte PEND
@ 024 ----------------------------------------
frlgmbattlb_1_024:
.byte BEND , c_v+0
.byte N24 , An1 , v116
.byte W24
.byte N06 , Fs1
.byte W12
.byte An1
.byte W06
.byte Bn1
.byte W06
.byte N12 , Dn2
.byte W12
.byte An1
.byte W12
.byte Fs1
.byte W12
.byte An1
.byte W12
.byte PEND
@ 025 ----------------------------------------
frlgmbattlb_1_025:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W24
.byte N32
.byte W11
.byte BEND , c_v-2
.byte W01
.byte c_v-6
.byte W05
.byte c_v-7
.byte W01
.byte c_v-10
.byte W02
.byte c_v-11
.byte W01
.byte c_v-15
.byte W02
.byte c_v-16
.byte W01
.byte c_v-20
.byte W02
.byte c_v-22
.byte W01
.byte c_v-28
.byte W02
.byte c_v-29
.byte W01
.byte c_v-32
.byte W02
.byte c_v-34
.byte W01
.byte c_v-39
.byte W02
.byte c_v-32
.byte W01
.byte c_v+0
.byte W12
.byte N12
.byte W12
.byte PEND
@ 026 ----------------------------------------
frlgmbattlb_1_026:
.byte N12 , Cn2 , v116
.byte W36
.byte N03
.byte W06
.byte N03
.byte W06
.byte N44 , Gn1
.byte W11
.byte BEND , c_v-2
.byte W01
.byte c_v-6
.byte W02
.byte c_v-7
.byte W01
.byte c_v-10
.byte W02
.byte c_v-12
.byte W01
.byte c_v-17
.byte W02
.byte c_v-19
.byte W01
.byte c_v-23
.byte W02
.byte c_v-25
.byte W01
.byte c_v-31
.byte W02
.byte c_v-32
.byte W01
.byte c_v-35
.byte W02
.byte c_v-37
.byte W01
.byte c_v-42
.byte W02
.byte c_v-43
.byte W01
.byte c_v-47
.byte W02
.byte c_v-51
.byte W01
.byte c_v-64
.byte W11
.byte c_v-52
.byte W01
.byte PEND
@ 027 ----------------------------------------
frlgmbattlb_1_027:
.byte BEND , c_v+0
.byte N12 , Dn1 , v116
.byte W12
.byte Dn2
.byte W12
.byte Dn1
.byte W12
.byte Cn2
.byte W12
.byte Dn1
.byte W12
.byte Bn1
.byte W12
.byte Fs1
.byte W12
.byte Gn1
.byte W12
.byte PEND
@ 028 ----------------------------------------
frlgmbattlb_1_028:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte Gn1
.byte W12
.byte Dn1
.byte W12
.byte Fs1
.byte W12
.byte Gs1
.byte W12
.byte An1
.byte W12
.byte PEND
@ 029 ----------------------------------------
frlgmbattlb_1_029:
.byte N12 , Dn2 , v116
.byte W12
.byte N06 , An1
.byte W12
.byte N12 , Fs1
.byte W12
.byte N06 , An1
.byte W12
.byte Cn2
.byte W06
.byte Dn2
.byte W06
.byte An1
.byte W06
.byte As1
.byte W06
.byte Fs1
.byte W06
.byte Fn1
.byte W06
.byte En1
.byte W06
.byte Ds1
.byte W06
.byte PEND
@ 030 ----------------------------------------
frlgmbattlb_1_030:
.byte N28 , Dn1 , v116
.byte W36
.byte N06
.byte W24
.byte N24
.byte W36
.byte PEND
@ 031 ----------------------------------------
frlgmbattlb_1_031:
.byte N12 , Cs2 , v116
.byte W12
.byte N24 , Dn2
.byte W24
.byte N18 , Dn1
.byte W24
.byte N06
.byte W24
.byte N06
.byte W12
.byte PEND
@ 032 ----------------------------------------
frlgmbattlb_1_032:
.byte N24 , Ds1 , v116
.byte W24
.byte N12 , Ds2
.byte W12
.byte N18 , Ds1
.byte W24
.byte N12
.byte W12
.byte N24 , Ds2
.byte W24
.byte PEND
@ 033 ----------------------------------------
.byte N12 , Dn2
.byte W12
.byte Ds2
.byte W36
.byte As1
.byte W12
.byte N06 , Cn2
.byte W12
.byte N12 , Gn1
.byte W12
.byte N06 , As1
.byte W12
@ 034 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_010
@ 035 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_011
@ 036 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_012
@ 037 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_013
@ 038 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_014
@ 039 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_015
@ 040 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_016
@ 041 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_017
@ 042 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_018
@ 043 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_019
@ 044 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_020
@ 045 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_021
@ 046 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_022
@ 047 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_023
@ 048 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_024
@ 049 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_025
@ 050 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_026
@ 051 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_027
@ 052 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_028
@ 053 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_029
@ 054 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_030
@ 055 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_031
@ 056 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_032
@ 057 ----------------------------------------
.byte N12 , Dn2 , v116
.byte W12
.byte Ds2
.byte W36
.byte As1
.byte W12
.byte N06 , Cn2
.byte W12
.byte N12 , Gn1
.byte W12
.byte N06 , As1
.byte W06
.byte FINE @ ------> end of track

@******************************************************@
.align 2

frlgmbattlb:
.byte 1 @ NumTrks
.byte 0 @ NumBlks
.byte frlgmbattlb_pri @ Priority
.byte frlgmbattlb_rev @ Reverb.

.word frlgmbattlb_grp

.word frlgmbattlb_1

.end



SINGLE TRACK LOOPING

-----------

- To make the loop, you must first find the end of the track, and it usually ends with:


.byte FINE


-Place the following code before the “.byte FINE” code line:


.byte GOTO @ ----> Unconditional jump Ref. Sappy’s Help file
.word <name of loop label/pointer> @ ----> loop label name
.byte W06


REMINDERS: Although an option to place in the code, the purpose of the ".byte W06" after the GOTO and label statement is to give the GBA processor and memory enough time to go at the specified label's position, avoiding crashes at runtime. Adding an additional measure name before the “.byte FINE” code line is also optional, but recommended to avoid confusion. Besides the “@” sign signifies commenting in the S file. I also recommend using a label name which is similar to what is already in there (e.g. frlgmbattlb_1, newbark_2...).

The end of track must look like this:

.byte GOTO
.word frlgmbattlb_1_loop
.byte W06
.byte FINE



-and place the exact same label name (in this case, frlgmbattlb_1_loop) followed by a colon (:) in the place or measure you want to consider as the start of the loop. If a measure has a pattern statement (begins with a pattern label, format: <filename>_<track number>_<measure number>, and ends with .byte PEND), place the loop label before the pattern label.


@ 010 ----------------------------------------
frlgmbattlb_1_loop:
frlgmbattlb_1_010: @ -----> start of pattern statement
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn2
.byte W12
.byte An1
.byte W12
.byte N06 , Gn1
.byte W06
.byte Fs1
.byte W06
.byte En1
.byte W06
.byte Ds1
.byte W06
.byte PEND @ -----> end of pattern statement


To make things simple, always remember that:

frlgmbattlb_1_loop: @ ----> start of GOTO (loop) statement

<lines of code to loop>

.byte GOTO @ \
.word frlgmbattlb_1_loop @ > ---> end of GOTO (loop statement)
.byte W06 @ /


.byte FINE



As an end result, you must have a code that looks like this (pay attention to the boldfaced codes for further understanding):

.include "MPlayDef.s"

.equ frlgmbattlb_grp, voicegroup000
.equ frlgmbattlb_pri, 0
.equ frlgmbattlb_rev, 0
.equ frlgmbattlb_mvl, 127
.equ frlgmbattlb_key, 0
.equ frlgmbattlb_tbs, 1
.equ frlgmbattlb_exg, 0
.equ frlgmbattlb_cmp, 1

.section .rodata
.global frlgmbattlb
.align 2

@**************** Track 1 (Midi-Chn.5) ****************@

frlgmbattlb_1:
.byte KEYSH , frlgmbattlb_key+0
@ 000 ----------------------------------------
.byte TEMPO , 182*frlgmbattlb_tbs/2
.byte VOICE , 33
.byte VOL , 127*frlgmbattlb_mvl/mxv
.byte N06 , Ds1 , v104
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte En1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte Fn1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte Fs1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
@ 001 ----------------------------------------
.byte Gn1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte Gs1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte An1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte N12 , As1
.byte W12
.byte An1
.byte W12
@ 002 ----------------------------------------
frlgmbattlb_1_002:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn2
.byte W12
.byte An1
.byte W12
.byte PEND
@ 003 ----------------------------------------
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn2
.byte W12
.byte An1
.byte W12
.byte As1
.byte W12
.byte Cn2
.byte W12
.byte Gn1
.byte W12
.byte An1
.byte W12
@ 004 ----------------------------------------
.byte Ds1
.byte W12
.byte As1
.byte W12
.byte Ds1
.byte W12
.byte N32 , Ds2
.byte W08
.byte BEND , c_v-2
.byte W01
.byte c_v-8
.byte W02
.byte c_v-10
.byte W01
.byte c_v-15
.byte W02
.byte c_v-17
.byte W01
.byte c_v-21
.byte W02
.byte c_v-23
.byte W01
.byte c_v-29
.byte W02
.byte c_v-31
.byte W01
.byte c_v-39
.byte W02
.byte c_v-40
.byte W01
.byte c_v-44
.byte W02
.byte c_v-46
.byte W01
.byte c_v-52
.byte W02
.byte c_v-54
.byte W01
.byte c_v-60
.byte W02
.byte c_v-61
.byte W01
.byte c_v-63
.byte W02
.byte c_v-51
.byte W01
.byte c_v+0
.byte N12 , Ds1
.byte W12
.byte As1
.byte W12
@ 005 ----------------------------------------
.byte Ds1
.byte W12
.byte As1
.byte W12
.byte Ds2
.byte W12
.byte Cn2
.byte W12
.byte N12
.byte W12
.byte Dn2
.byte W12
.byte As1
.byte W12
.byte Cn2
.byte W12
@ 006 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_002
@ 007 ----------------------------------------
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn2
.byte W12
.byte An1
.byte W12
.byte N12
.byte W12
.byte As1
.byte W12
.byte Gn1
.byte W12
.byte An1
.byte W12
@ 008 ----------------------------------------
.byte Ds1
.byte W12
.byte As1
.byte W12
.byte N06 , Dn1
.byte W06
.byte Ds1
.byte W06
.byte Gn1
.byte W06
.byte As1
.byte W06
.byte N12 , Ds2
.byte W12
.byte Dn2
.byte W12
.byte Cn2
.byte W12
.byte Dn2
.byte W12
@ 009 ----------------------------------------
.byte Ds1
.byte W12
.byte As1
.byte W12
.byte Dn2
.byte W12
.byte Ds2
.byte W12
.byte N06 , Ds1
.byte W06
.byte Gn1
.byte W06
.byte As1
.byte W06
.byte Cn2
.byte W06
.byte N12 , Ds2
.byte W12
.byte Cn2
.byte W12
@ 010 ----------------------------------------
frlgmbattlb_1_loop:
frlgmbattlb_1_010:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn2
.byte W12
.byte An1
.byte W12
.byte N06 , Gn1
.byte W06
.byte Fs1
.byte W06
.byte En1
.byte W06
.byte Ds1
.byte W06
.byte PEND
@ 011 ----------------------------------------
frlgmbattlb_1_011:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte As1
.byte W12
.byte An1
.byte W12
.byte PEND
@ 012 ----------------------------------------
frlgmbattlb_1_012:
.byte N12 , Ds1 , v116
.byte W12
.byte As1
.byte W12
.byte Ds1
.byte W12
.byte An1
.byte W12
.byte Ds1
.byte W12
.byte Gs1
.byte W12
.byte Ds1
.byte W12
.byte Gn1
.byte W12
.byte PEND
@ 013 ----------------------------------------
frlgmbattlb_1_013:
.byte N12 , Ds1 , v116
.byte W12
.byte Fs1
.byte W12
.byte Ds1
.byte W12
.byte Fn1
.byte W12
.byte Cn2
.byte W12
.byte Dn2
.byte W12
.byte As1
.byte W12
.byte Cn2
.byte W12
.byte PEND
@ 014 ----------------------------------------
frlgmbattlb_1_014:
.byte N24 , Dn1 , v116
.byte W24
.byte N12 , An1
.byte W12
.byte N18 , Dn1
.byte W24
.byte N12
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte PEND
@ 015 ----------------------------------------
frlgmbattlb_1_015:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W24
.byte N12
.byte W24
.byte N12
.byte W12
.byte Gs1
.byte W12
.byte N06 , An1
.byte W12
.byte PEND
@ 016 ----------------------------------------
frlgmbattlb_1_016:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W24
.byte N12
.byte W24
.byte N12
.byte W12
.byte Gs1
.byte W12
.byte An1
.byte W12
.byte PEND
@ 017 ----------------------------------------
frlgmbattlb_1_017:
.byte N24 , Dn1 , v108
.byte W24
.byte Cn2
.byte W24
.byte Cn1
.byte W24
.byte N18 , Gn1
.byte W18
.byte N03 , Fn1
.byte W03
.byte En1
.byte W03
.byte PEND
@ 018 ----------------------------------------
frlgmbattlb_1_018:
.byte N24 , Ds1 , v116
.byte W24
.byte N12 , As1
.byte W12
.byte N18 , Ds1
.byte W24
.byte N12
.byte W12
.byte N03 , As1
.byte W12
.byte N12 , Cn1
.byte W12
.byte PEND
@ 019 ----------------------------------------
frlgmbattlb_1_019:
.byte N12 , Ds2 , v116
.byte W12
.byte N06 , Gn1
.byte W12
.byte N12 , As1
.byte W12
.byte N06 , Ds2
.byte W12
.byte Ds1
.byte W06
.byte Gn1
.byte W06
.byte An1
.byte W06
.byte As1
.byte W06
.byte N12 , Ds2
.byte W12
.byte Cs2
.byte W12
.byte PEND
@ 020 ----------------------------------------
frlgmbattlb_1_020:
.byte N12 , An1 , v116
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte N06 , Dn1
.byte W12
.byte N12
.byte W12
.byte N06 , An1
.byte W12
.byte N12
.byte W12
.byte Gs1
.byte W12
.byte PEND
@ 021 ----------------------------------------
frlgmbattlb_1_021:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte N06 , Cs2
.byte W06
.byte Dn2
.byte W06
.byte As1
.byte W06
.byte Cn2
.byte W06
.byte An1
.byte W06
.byte Gs1
.byte W06
.byte Gn1
.byte W06
.byte Fs1
.byte W06
.byte PEND
@ 022 ----------------------------------------
frlgmbattlb_1_022:
.byte N06 , Cn1 , v116
.byte W12
.byte N12
.byte W24
.byte N12
.byte W12
.byte Cn2
.byte W12
.byte N18 , Cn1
.byte W24
.byte N06
.byte W12
.byte PEND
@ 023 ----------------------------------------
frlgmbattlb_1_023:
.byte N12 , Cn1 , v116
.byte W24
.byte N06
.byte W12
.byte N03
.byte W06
.byte N03
.byte W06
.byte N44 , Cn2
.byte W11
.byte BEND , c_v-2
.byte W01
.byte c_v-6
.byte W02
.byte c_v-7
.byte W01
.byte c_v-10
.byte W02
.byte c_v-12
.byte W01
.byte c_v-17
.byte W02
.byte c_v-19
.byte W01
.byte c_v-23
.byte W02
.byte c_v-25
.byte W01
.byte c_v-31
.byte W02
.byte c_v-32
.byte W01
.byte c_v-35
.byte W02
.byte c_v-37
.byte W01
.byte c_v-42
.byte W02
.byte c_v-43
.byte W01
.byte c_v-47
.byte W02
.byte c_v-51
.byte W01
.byte c_v-64
.byte W11
.byte c_v-52
.byte W01
.byte PEND
@ 024 ----------------------------------------
frlgmbattlb_1_024:
.byte BEND , c_v+0
.byte N24 , An1 , v116
.byte W24
.byte N06 , Fs1
.byte W12
.byte An1
.byte W06
.byte Bn1
.byte W06
.byte N12 , Dn2
.byte W12
.byte An1
.byte W12
.byte Fs1
.byte W12
.byte An1
.byte W12
.byte PEND
@ 025 ----------------------------------------
frlgmbattlb_1_025:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W24
.byte N32
.byte W11
.byte BEND , c_v-2
.byte W01
.byte c_v-6
.byte W05
.byte c_v-7
.byte W01
.byte c_v-10
.byte W02
.byte c_v-11
.byte W01
.byte c_v-15
.byte W02
.byte c_v-16
.byte W01
.byte c_v-20
.byte W02
.byte c_v-22
.byte W01
.byte c_v-28
.byte W02
.byte c_v-29
.byte W01
.byte c_v-32
.byte W02
.byte c_v-34
.byte W01
.byte c_v-39
.byte W02
.byte c_v-32
.byte W01
.byte c_v+0
.byte W12
.byte N12
.byte W12
.byte PEND
@ 026 ----------------------------------------
frlgmbattlb_1_026:
.byte N12 , Cn2 , v116
.byte W36
.byte N03
.byte W06
.byte N03
.byte W06
.byte N44 , Gn1
.byte W11
.byte BEND , c_v-2
.byte W01
.byte c_v-6
.byte W02
.byte c_v-7
.byte W01
.byte c_v-10
.byte W02
.byte c_v-12
.byte W01
.byte c_v-17
.byte W02
.byte c_v-19
.byte W01
.byte c_v-23
.byte W02
.byte c_v-25
.byte W01
.byte c_v-31
.byte W02
.byte c_v-32
.byte W01
.byte c_v-35
.byte W02
.byte c_v-37
.byte W01
.byte c_v-42
.byte W02
.byte c_v-43
.byte W01
.byte c_v-47
.byte W02
.byte c_v-51
.byte W01
.byte c_v-64
.byte W11
.byte c_v-52
.byte W01
.byte PEND
@ 027 ----------------------------------------
frlgmbattlb_1_027:
.byte BEND , c_v+0
.byte N12 , Dn1 , v116
.byte W12
.byte Dn2
.byte W12
.byte Dn1
.byte W12
.byte Cn2
.byte W12
.byte Dn1
.byte W12
.byte Bn1
.byte W12
.byte Fs1
.byte W12
.byte Gn1
.byte W12
.byte PEND
@ 028 ----------------------------------------
frlgmbattlb_1_028:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte Gn1
.byte W12
.byte Dn1
.byte W12
.byte Fs1
.byte W12
.byte Gs1
.byte W12
.byte An1
.byte W12
.byte PEND
@ 029 ----------------------------------------
frlgmbattlb_1_029:
.byte N12 , Dn2 , v116
.byte W12
.byte N06 , An1
.byte W12
.byte N12 , Fs1
.byte W12
.byte N06 , An1
.byte W12
.byte Cn2
.byte W06
.byte Dn2
.byte W06
.byte An1
.byte W06
.byte As1
.byte W06
.byte Fs1
.byte W06
.byte Fn1
.byte W06
.byte En1
.byte W06
.byte Ds1
.byte W06
.byte PEND
@ 030 ----------------------------------------
frlgmbattlb_1_030:
.byte N28 , Dn1 , v116
.byte W36
.byte N06
.byte W24
.byte N24
.byte W36
.byte PEND
@ 031 ----------------------------------------
frlgmbattlb_1_031:
.byte N12 , Cs2 , v116
.byte W12
.byte N24 , Dn2
.byte W24
.byte N18 , Dn1
.byte W24
.byte N06
.byte W24
.byte N06
.byte W12
.byte PEND
@ 032 ----------------------------------------
frlgmbattlb_1_032:
.byte N24 , Ds1 , v116
.byte W24
.byte N12 , Ds2
.byte W12
.byte N18 , Ds1
.byte W24
.byte N12
.byte W12
.byte N24 , Ds2
.byte W24
.byte PEND
@ 033 ----------------------------------------
.byte N12 , Dn2
.byte W12
.byte Ds2
.byte W36
.byte As1
.byte W12
.byte N06 , Cn2
.byte W12
.byte N12 , Gn1
.byte W12
.byte N06 , As1
.byte W12
@ 034 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_010
@ 035 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_011
@ 036 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_012
@ 037 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_013
@ 038 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_014
@ 039 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_015
@ 040 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_016
@ 041 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_017
@ 042 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_018
@ 043 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_019
@ 044 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_020
@ 045 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_021
@ 046 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_022
@ 047 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_023
@ 048 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_024
@ 049 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_025
@ 050 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_026
@ 051 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_027
@ 052 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_028
@ 053 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_029
@ 054 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_030
@ 055 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_031
@ 056 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_032
@ 057 ----------------------------------------
.byte N12 , Dn2 , v116
.byte W12
.byte Ds2
.byte W36
.byte As1
.byte W12
.byte N06 , Cn2
.byte W12
.byte N12 , Gn1
.byte W12
.byte N06 , As1
.byte W06
.byte GOTO
.word frlgmbattlb_1_loop
@ 058 ----------------------------------------
.byte FINE

@******************************************************@
.align 2

frlgmbattlb:
.byte 1 @ NumTrks
.byte 0 @ NumBlks
.byte frlgmbattlb_pri @ Priority
.byte frlgmbattlb_rev @ Reverb.

.word frlgmbattlb_grp

.word frlgmbattlb_1

.end




MULTIPLE TRACK LOOPING

-----------
Now, if you think looping a single-tracked S file is easy, think of looping a multi-tracked S file a bit complicated. Because unlike looping a single-tracked file, looping a multi-tracked file requires that you must loop EACH AND EVERY TRACK inside it. It means that if you looped one track doesn’t mean that the others will loop as well. What makes it more complicated is that not all tracks end with the same number and the same W<xx> values (contrary to what I’ve posted previously). To know more about it, click the file tes.zip in the Attachments part of the thread (thanks to megiddo for the code). Once you’ve extracted it, open the file “tes.txt”. Upon thorough examination of the file, you will notice that some tracks end with “@ 042” measure while others end with “@ 050”. Also, some of the tracks don’t have W<xx> values that equal to 96, the “whole rest” value for a 4/4 metered file (to be explained later on).

In this kind of situation, we must adjust the other tracks to align with the track which has the highest amount of length (in this case the longest track has a measure of @ 050 and has W<xx> values equal to 96).


@ 042 ----------------------------------------
.byte N23 , Cs3 , v064
.byte W24
.byte As2
.byte W24
.byte Cn3
.byte W24
.byte Gs2
.byte W23
.byte FINE


Let's say this code above (taken from Track 2 of tes.txt) is your track’s last measure. To make this track equal to the longest track in the file, we will add the following code lines:


@ 043 ----------------------------------------
.byte W96


Do so until the track reaches the same length as the longest track. Just like:


@ 042 ----------------------------------------
.byte N23 , Cs3 , v064
.byte W24
.byte As2
.byte W24
.byte Cn3
.byte W24
.byte Gs2
.byte W23
@ 043 ----------------------------------------
.byte W96
@ 044 ----------------------------------------
.byte W96
@ 045 ----------------------------------------
.byte W96
@ 046 ----------------------------------------
.byte W96
@ 047 ----------------------------------------
.byte W96
@ 048 ----------------------------------------
.byte W96
@ 049 ----------------------------------------
.byte W96
@ 050 ----------------------------------------
.byte W96
.byte FINE


But we’re not done yet. It may look aligned to the longest track for now, but let’s go back to measure @ 042. If you add the W<xx> values, it would be: 24+24+24+23=95. We must also remember that the measure’s meter is 4/4, which has a W<xx> value of 96. Ignoring this fact may cause crashing at runtime (which we don’t want to happen). To make the W<xx> bytecodes equal to 96, simply change the value of the last W<xx> bytecode to a value that would make them equal to 96. In this code, we will change “.byte W23” to “.byte W24”. You will have a code that looks like:


@ 042 ----------------------------------------
.byte N23 , Cs3 , v064
.byte W24
.byte As2
.byte W24
.byte Cn3
.byte W24
.byte Gs2
.byte W24
@ 043 ----------------------------------------
.byte W96
@ 044 ----------------------------------------
.byte W96
@ 045 ----------------------------------------
.byte W96
@ 046 ----------------------------------------
.byte W96
@ 047 ----------------------------------------
.byte W96
@ 048 ----------------------------------------
.byte W96
@ 049 ----------------------------------------
.byte W96
@ 050 ----------------------------------------
.byte W96
.byte FINE



After that, you may start looping the file. Always remember upon looping a multi-tracked S file, you must loop each and every track of the file. Open “tes_r.txt” to see the results.

WHAT’S IN THE W<xx>?

-----------
You may ask “You keep mentioning about this W<xx> and the 4/4 meter stuff, but what exactly is it?”

Actually, here’s the definition for the W<xx> from Sappy 2006’s help file:

Wxx (0x80++)
Wait for the specified number of clock ticks

The value of W<xx> varies on its use, and it adds up to a total of:

96 – for 4/4 metered measure (4 beats per measure/beat value of 4)
72 – for 3/4 metered measure, and
48 – for 3/4 metered measure

In a W96 measure:

96 – whole (note if .byte W96 has N<xx> line before it/rest if none)
48 – half
24 – quarter
12 – half quarter


- Save the file when you're done. The next step is to insert it in Sappy. Follow the help file or Search the Forum for instructions.

NOTES:

You may preview the S file using Sappy. Just be warned that it may close the program upon playing the file on the first run. Preview using GBA emulator for safety.
If you are about to use a multi-track S file, you may want to shorten the length of your MIDI to a single repetition for easier loop coding.
Always check everything about the loop statement (the spelling, location, etc.) to avoid crashes or erroneous loops at runtime. Do so by pressing Ctrl+F, typing the loop label name, and cilck Find Next.
You must also refer to the "Event List" of your MIDI software to know where to loop in your S file (e.g. knowing the measure number, the formula is (MIDI measure number)-1).
About knowing where to (start and end a) loop, always ask yourself: “Which part of this song do I want to hear over and over again?” and “Which particular measure number does the looping start?” Simple questions that need tough answers, but you’ll be able to push through when you do.
Always backup your files.


EXAMPLES:

I have included some reference files and examples below. Use them as guides for music looping.

GOOD LUCK IN YOUR GBA MUSIC LOOPING!!!

Dan13x
December 8th, 2007, 02:24 PM
I don't get it but it could be useful!

clonex25
December 8th, 2007, 05:45 PM
I don't get it but it could be useful!

I'm sorry for that. IMO, it is the simplest explanation I can give. Even I had a hard time figuring this out.

ash2000
December 8th, 2007, 06:11 PM
Nice work there clonex25!!!

I knew about the:

.byte GOTO
.word "song"

but not the:
.byte W06

So the song didn't loop properly, anyways its nice to know how to loop songs!

Νιτραμ
December 9th, 2007, 12:07 AM
And where exactly you put the W96 byte? And did I understand correctly that it fills space to make all tracks have same length? How many should be used? I am sorry, this is completely new area of hacking for me (Not really, as I can already successfully transfer music from game to game and put in custom MIDI without looping). I made up a MIDI for one project and it has around 7 or 8 tracks, can you tell me more specifically how to put it into the game without some problems with looping e.g. one track starts looping before another?

And I know this isn't related to this tutorial, but how do I change instruments of the song by hex (in game)? Can you answer me either here or via PM?

clonex25
December 10th, 2007, 04:05 AM
And where exactly you put the W96 byte? And did I understand correctly that it fills space to make all tracks have same length? How many should be used? I am sorry, this is completely new area of hacking for me (Not really, as I can already successfully transfer music from game to game and put in custom MIDI without looping). I made up a MIDI for one project and it has around 7 or 8 tracks, can you tell me more specifically how to put it into the game without some problems with looping e.g. one track starts looping before another?

And I know this isn't related to this tutorial, but how do I change instruments of the song by hex (in game)? Can you answer me either here or via PM?

Actually, the MIDI2GBA tool automatically fills up empty spaces (such as measures) with a W96 (or any W [wait] value needed to make each measure having a 96 total W value). By the way, the W thing here is a delay command in the S file programming (similar to delay() in C/C++ and Sleep in Visual Basic, <sigh> too technical, isn't it?). As I have said in my additional notes, you must aslo refer to your MIDI software. If you can see loop markers in the MIDI, then it's the right place to insert the loop label (beginning of the loop) and the GOTO statement (before the end of track). To fully understand the looping thing, try clicking the attachments above. Those may serve as guide in GBA looping.

As for the instrumentation by hex, I doubt I can help you. I just made a song test MIDI (playing notes in different patches), inserted it in GBA, and listened carefully at each patch. I think there is "Export samples" in Sappy. Hope it can help you. :)

Tré
April 11th, 2008, 06:26 AM
hey
thanks bud.... this can help me looping musics

Platinum Lucario
May 2nd, 2008, 09:58 AM
I've had some problems assembling songs, you see when I insert
the music not all of the instruments are inserted... :(
will you please help me, clonex25?

clonex25
May 7th, 2008, 03:15 AM
I've had some problems assembling songs, you see when I insert
the music not all of the instruments are inserted... :(
will you please help me, clonex25?

Could that be:
1. Your instruments doesn't sound the way you expect it? Or
2. You've placed too many instruments after all.

I'll forward a message if you have problems regarding the instruments. ;)

destinedjagold
May 21st, 2008, 06:53 AM
hey... I got a question, but before that, I noticed this in your first post...
newbark_1_010:
from that, is it the last track in new bark song?
if so, then does that mean we can only add music which is only up to 10?

other than that, it's a great tutorial. :)

Master_Track
May 21st, 2008, 07:19 AM
i'm sry to ask this, but can anyone loop the following song for me?
I tryed but failed, maybe it would help me to understand O.o
.include "MPlayDef.s"

.equ zelda_grp, voicegroup000
.equ zelda_pri, 0
.equ zelda_rev, 0
.equ zelda_mvl, 127
.equ zelda_key, 0
.equ zelda_tbs, 1
.equ zelda_exg, 0
.equ zelda_cmp, 1

.section .rodata
.global zelda
.align 2

@**************** Track 1 (Midi-Chn.1) ****************@

zelda_1:
.byte VOL , 127*zelda_mvl/mxv
.byte KEYSH , zelda_key+0
@ 000 ----------------------------------------
.byte TEMPO , 76*zelda_tbs/2
.byte VOICE , 57
.byte PAN , c_v-1
.byte N12 , As3 , v127
.byte W30
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W09
.byte N03 , Gs3
.byte W03
.byte N12 , As3
.byte W18
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
@ 001 ----------------------------------------
.byte N06
.byte W09
.byte N03 , Gs3
.byte W03
.byte N12 , As3
.byte W18
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03 , Fn3
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N06
.byte W06
@ 002 ----------------------------------------
zelda_1_002:
.byte W06
.byte N06 , As3 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte Gs3
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 003 ----------------------------------------
zelda_1_003:
.byte W06
.byte N06 , Fs3 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte Fn3
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 004 ----------------------------------------
.byte PATT
.word zelda_1_003
@ 005 ----------------------------------------
zelda_1_005:
.byte W06
.byte N06 , Gn3 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N03 , As3
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W24
.byte PEND
@ 006 ----------------------------------------
zelda_1_006:
.byte W06
.byte N03 , An3 , v127
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W30
.byte As3
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 007 ----------------------------------------
zelda_1_007:
.byte W06
.byte N06 , Gs3 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte Fs3
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 008 ----------------------------------------
zelda_1_008:
.byte W06
.byte N06 , Fn3 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte Fs3
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 009 ----------------------------------------
zelda_1_009:
.byte W06
.byte N06 , Fn3 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte Gn3
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 010 ----------------------------------------
zelda_1_010:
.byte W06
.byte N03 , As3 , v127
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W30
.byte N03 , An3
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W24
.byte PEND
@ 011 ----------------------------------------
.byte PATT
.word zelda_1_002
@ 012 ----------------------------------------
.byte PATT
.word zelda_1_003
@ 013 ----------------------------------------
.byte PATT
.word zelda_1_003
@ 014 ----------------------------------------
.byte PATT
.word zelda_1_005
@ 015 ----------------------------------------
.byte PATT
.word zelda_1_006
@ 016 ----------------------------------------
.byte PATT
.word zelda_1_007
@ 017 ----------------------------------------
.byte PATT
.word zelda_1_008
@ 018 ----------------------------------------
.byte PATT
.word zelda_1_009
@ 019 ----------------------------------------
.byte PATT
.word zelda_1_010
@ 020 ----------------------------------------
.byte N24 , As3 , v127
.byte W24
.byte FINE

@**************** Track 2 (Midi-Chn.2) ****************@

zelda_2:
.byte VOL , 127*zelda_mvl/mxv
.byte KEYSH , zelda_key+0
@ 000 ----------------------------------------
.byte VOICE , 57
.byte PAN , c_v-1
.byte N12 , Fn3 , v127
.byte W30
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06 , Ds3
.byte W09
.byte N03
.byte W03
.byte N12
.byte W18
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
@ 001 ----------------------------------------
zelda_2_loop:
.byte N06 , Fs3
.byte W09
.byte N03
.byte W03
.byte N12
.byte W18
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W48
@ 002 ----------------------------------------
zelda_2_002:
.byte W06
.byte N06 , Dn3 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte Cn3
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 003 ----------------------------------------
zelda_2_003:
.byte W06
.byte N06 , As2 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte Gs2
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 004 ----------------------------------------
zelda_2_004:
.byte W06
.byte N06 , Bn2 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte As2
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 005 ----------------------------------------
zelda_2_005:
.byte W06
.byte N06 , En3 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N03 , Fn3
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W24
.byte PEND
@ 006 ----------------------------------------
zelda_2_006:
.byte W06
.byte N03 , Fn3 , v127
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W30
.byte Dn3
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 007 ----------------------------------------
zelda_2_007:
.byte W06
.byte N06 , Cn3 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte As2
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 008 ----------------------------------------
zelda_2_008:
.byte W06
.byte N06 , Gs2 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte Bn2
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 009 ----------------------------------------
zelda_2_009:
.byte W06
.byte N06 , As2 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte En3
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 010 ----------------------------------------
zelda_2_010:
.byte W06
.byte N03 , Fn3 , v127
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W30
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W24
.byte PEND
@ 011 ----------------------------------------
.byte PATT
.word zelda_2_002
@ 012 ----------------------------------------
.byte PATT
.word zelda_2_003
@ 013 ----------------------------------------
.byte PATT
.word zelda_2_004
@ 014 ----------------------------------------
.byte PATT
.word zelda_2_005
@ 015 ----------------------------------------
.byte PATT
.word zelda_2_006
@ 016 ----------------------------------------
.byte PATT
.word zelda_2_007
@ 017 ----------------------------------------
.byte PATT
.word zelda_2_008
@ 018 ----------------------------------------
.byte PATT
.word zelda_2_009
@ 019 ----------------------------------------
.byte PATT
.word zelda_2_010
@ 020 ----------------------------------------
.byte GOTO
.word zelda_2_loop
.byte W06
@ 021 ----------------------------------------
.byte N24 , Dn3 , v127
.byte W24
.byte FINE

@**************** Track 3 (Midi-Chn.3) ****************@

zelda_3:
.byte KEYSH , zelda_key+0
@ 000 ----------------------------------------
.byte VOICE , 81
zelda_1_loop:
.byte VOL , 126*zelda_mvl/mxv
.byte PAN , c_v-1
.byte N18 , As1 , v127
.byte W48
.byte Gs1
.byte W48
@ 001 ----------------------------------------
.byte Fs1
.byte W48
.byte N12 , Fn1
.byte W12
.byte N12
.byte W12
.byte N12
.byte W12
.byte N06
.byte W06
.byte N03 , Gn1
.byte W03
.byte An1
.byte W03
@ 002 ----------------------------------------
zelda_3_002:
.byte N12 , As1 , v127
.byte W24
.byte N12
.byte W24
.byte Gs1
.byte W24
.byte N12
.byte W24
.byte PEND
@ 003 ----------------------------------------
zelda_3_003:
.byte N12 , Fs1 , v127
.byte W24
.byte N12
.byte W24
.byte Cs2
.byte W24
.byte N12
.byte W24
.byte PEND
@ 004 ----------------------------------------
zelda_3_004:
.byte N12 , Bn1 , v127
.byte W24
.byte N12
.byte W24
.byte As1
.byte W24
.byte N12
.byte W24
.byte PEND
@ 005 ----------------------------------------
zelda_3_005:
.byte N12 , Cn2 , v127
.byte W24
.byte N12
.byte W24
.byte Fn1
.byte W48
.byte PEND
@ 006 ----------------------------------------
zelda_3_006:
.byte N12 , Fn1 , v127
.byte W30
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03 , Gn1
.byte W03
.byte An1
.byte W03
.byte N12 , As1
.byte W24
.byte N12
.byte W24
.byte PEND
@ 007 ----------------------------------------
zelda_3_007:
.byte N12 , Gs1 , v127
.byte W24
.byte N12
.byte W24
.byte Fs1
.byte W24
.byte N12
.byte W24
.byte PEND
@ 008 ----------------------------------------
zelda_3_008:
.byte N12 , Cs2 , v127
.byte W24
.byte N12
.byte W24
.byte Bn1
.byte W24
.byte N12
.byte W24
.byte PEND
@ 009 ----------------------------------------
zelda_3_009:
.byte N12 , As1 , v127
.byte W24
.byte N12
.byte W24
.byte Cn2
.byte W24
.byte N12
.byte W24
.byte PEND
@ 010 ----------------------------------------
zelda_3_010:
.byte N12 , Fn1 , v127
.byte W48
.byte N12
.byte W30
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03 , Gn1
.byte W03
.byte An1
.byte W03
.byte PEND
@ 011 ----------------------------------------
.byte PATT
.word zelda_3_002
@ 012 ----------------------------------------
.byte PATT
.word zelda_3_003
@ 013 ----------------------------------------
.byte PATT
.word zelda_3_004
@ 014 ----------------------------------------
.byte PATT
.word zelda_3_005
@ 015 ----------------------------------------
.byte PATT
.word zelda_3_006
@ 016 ----------------------------------------
.byte PATT
.word zelda_3_007
@ 017 ----------------------------------------
.byte PATT
.word zelda_3_008
@ 018 ----------------------------------------
.byte PATT
.word zelda_3_009
@ 019 ----------------------------------------
.byte PATT
.word zelda_3_010
@ 020 ----------------------------------------
.byte GOTO
.word zelda_3_loop
.byte w06
@ 021 ----------------------------------------
.byte N24 , As1 , v127
.byte W24
.byte FINE

@**************** Track 4 (Midi-Chn.4) ****************@

zelda_4:
.byte KEYSH , zelda_key+0
@ 000 ----------------------------------------
.byte VOICE , 44
.byte VOL , 114*zelda_mvl/mxv
.byte PAN , c_v-1
.byte N12 , As4 , v127
.byte W30
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W09
.byte N03 , Gs4
.byte W03
.byte N12 , As4
.byte W18
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
@ 001 ----------------------------------------
.byte N06
.byte W09
.byte N03 , Gs4
.byte W03
.byte N12 , As4
.byte W18
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03 , Fn4
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N06
.byte W06
@ 002 ----------------------------------------
zelda_4_002:
.byte N12 , As3 , v127
.byte W12
.byte N18 , Fn3
.byte W18
.byte N06 , As3
.byte W06
.byte N03
.byte W03
.byte Cn4
.byte W03
.byte Dn4
.byte W03
.byte Ds4
.byte W03
.byte N30 , Fn4
.byte W30
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03 , Fs4
.byte W03
.byte Gs4
.byte W03
.byte PEND
@ 003 ----------------------------------------
zelda_4_003:
.byte N30 , As4 , v127
.byte W30
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03 , Gs4
.byte W03
.byte Fs4
.byte W03
.byte Gs4
.byte W09
.byte Fs4
.byte W03
.byte N24 , Fn4
.byte W24
.byte N12
.byte W12
.byte PEND
@ 004 ----------------------------------------
zelda_4_004:
.byte N06 , Ds4 , v127
.byte W09
.byte N03 , Fn4
.byte W03
.byte N24 , Fs4
.byte W24
.byte N06 , Fn4
.byte W06
.byte Ds4
.byte W06
.byte Cs4
.byte W09
.byte N03 , Ds4
.byte W03
.byte N24 , Fn4
.byte W24
.byte N06 , Ds4
.byte W06
.byte Cs4
.byte W06
.byte PEND
@ 005 ----------------------------------------
zelda_4_005:
.byte N06 , Cn4 , v127
.byte W09
.byte N03 , Dn4
.byte W03
.byte N24 , En4
.byte W24
.byte N12 , Gn4
.byte W12
.byte N06 , Fn4
.byte W48
.byte PEND
@ 006 ----------------------------------------
zelda_4_006:
.byte W48
.byte N12 , As3 , v127
.byte W12
.byte N18 , Fn3
.byte W18
.byte N06 , As3
.byte W06
.byte N03
.byte W03
.byte Cn4
.byte W03
.byte Dn4
.byte W03
.byte Ds4
.byte W03
.byte PEND
@ 007 ----------------------------------------
zelda_4_007:
.byte N30 , Fn4 , v127
.byte W30
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03 , Fs4
.byte W03
.byte Gs4
.byte W03
.byte N30 , As4
.byte W30
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03 , Gs4
.byte W03
.byte Fs4
.byte W03
.byte PEND
@ 008 ----------------------------------------
zelda_4_008:
.byte N03 , Gs4 , v127
.byte W09
.byte Fs4
.byte W03
.byte N24 , Fn4
.byte W24
.byte N12
.byte W12
.byte N06 , Ds4
.byte W09
.byte N03 , Fn4
.byte W03
.byte N24 , Fs4
.byte W24
.byte N06 , Fn4
.byte W06
.byte Ds4
.byte W06
.byte PEND
@ 009 ----------------------------------------
zelda_4_009:
.byte N06 , Cs4 , v127
.byte W09
.byte N03 , Ds4
.byte W03
.byte N24 , Fn4
.byte W24
.byte N06 , Ds4
.byte W06
.byte Cs4
.byte W06
.byte Cn4
.byte W09
.byte N03 , Dn4
.byte W03
.byte N24 , En4
.byte W24
.byte N12 , Gn4
.byte W12
.byte PEND
@ 010 ----------------------------------------
.byte N06 , Fn4
.byte W96
@ 011 ----------------------------------------
.byte PATT
.word zelda_4_002
@ 012 ----------------------------------------
.byte PATT
.word zelda_4_003
@ 013 ----------------------------------------
.byte PATT
.word zelda_4_004
@ 014 ----------------------------------------
.byte PATT
.word zelda_4_005
@ 015 ----------------------------------------
.byte PATT
.word zelda_4_006
@ 016 ----------------------------------------
.byte PATT
.word zelda_4_007
@ 017 ----------------------------------------
.byte PATT
.word zelda_4_008
@ 018 ----------------------------------------
.byte PATT
.word zelda_4_009
@ 019 ----------------------------------------
.byte N06 , Fn4 , v127
.byte W96
@ 020 ----------------------------------------
.byte N24 , As3
.byte W24
.byte FINE

@**************** Track 5 (Midi-Chn.5) ****************@

zelda_5:
.byte KEYSH , zelda_key+0
@ 000 ----------------------------------------
.byte VOICE , 80
.byte VOL , 77*zelda_mvl/mxv
.byte PAN , c_v-1
.byte W96
@ 001 ----------------------------------------
.byte W96
@ 002 ----------------------------------------
zelda_5_002:
.byte W54
.byte N06 , As4 , v127
.byte W06
.byte N03
.byte W03
.byte Cn5
.byte W03
.byte Dn5
.byte W03
.byte Ds5
.byte W03
.byte N30 , Fn5
.byte W24
.byte PEND
@ 003 ----------------------------------------
zelda_5_003:
.byte W12
.byte N03 , Cs5 , v127
.byte W03
.byte Fs5
.byte W03
.byte As5
.byte W03
.byte Cn6
.byte W03
.byte N30 , Cs6
.byte W42
.byte N03 , Cs5
.byte W03
.byte Ds5
.byte W03
.byte N06 , Fn5
.byte W06
.byte Cs5
.byte W06
.byte N24 , Gs4
.byte W12
.byte PEND
@ 004 ----------------------------------------
zelda_5_004:
.byte W18
.byte N03 , Ds5 , v127
.byte W03
.byte Fn5
.byte W03
.byte N06 , Fs5
.byte W06
.byte N03 , Ds5
.byte W03
.byte Fn5
.byte W03
.byte N18 , Fs5
.byte W30
.byte N03 , Cs5
.byte W03
.byte Ds5
.byte W03
.byte N06 , Fn5
.byte W06
.byte N03 , Cs5
.byte W03
.byte Ds5
.byte W03
.byte N18 , Fn5
.byte W12
.byte PEND
@ 005 ----------------------------------------
zelda_5_005:
.byte W18
.byte N03 , Cn5 , v127
.byte W03
.byte Dn5
.byte W03
.byte N06 , En5
.byte W06
.byte N03
.byte W03
.byte Fn5
.byte W03
.byte Gn5
.byte W03
.byte An5
.byte W03
.byte As5
.byte W03
.byte Cn6
.byte W03
.byte N06 , An5
.byte W48
.byte PEND
@ 006 ----------------------------------------
.byte W96
@ 007 ----------------------------------------
zelda_5_007:
.byte W06
.byte N06 , As4 , v127
.byte W06
.byte N03
.byte W03
.byte Cn5
.byte W03
.byte Dn5
.byte W03
.byte Ds5
.byte W03
.byte N30 , Fn5
.byte W36
.byte N03 , Cs5
.byte W03
.byte Fs5
.byte W03
.byte As5
.byte W03
.byte Cn6
.byte W03
.byte N30 , Cs6
.byte W24
.byte PEND
@ 008 ----------------------------------------
zelda_5_008:
.byte W18
.byte N03 , Cs5 , v127
.byte W03
.byte Ds5
.byte W03
.byte N06 , Fn5
.byte W06
.byte Cs5
.byte W06
.byte N24 , Gs4
.byte W30
.byte N03 , Ds5
.byte W03
.byte Fn5
.byte W03
.byte N06 , Fs5
.byte W06
.byte N03 , Ds5
.byte W03
.byte Fn5
.byte W03
.byte N18 , Fs5
.byte W12
.byte PEND
@ 009 ----------------------------------------
zelda_5_009:
.byte W18
.byte N03 , Cs5 , v127
.byte W03
.byte Ds5
.byte W03
.byte N06 , Fn5
.byte W06
.byte N03 , Cs5
.byte W03
.byte Ds5
.byte W03
.byte N18 , Fn5
.byte W30
.byte N03 , Cn5
.byte W03
.byte Dn5
.byte W03
.byte N06 , En5
.byte W06
.byte N03
.byte W03
.byte Fn5
.byte W03
.byte Gn5
.byte W03
.byte An5
.byte W03
.byte As5
.byte W03
.byte Cn6
.byte W03
.byte PEND
@ 010 ----------------------------------------
.byte N06 , An5
.byte W96
@ 011 ----------------------------------------
.byte PATT
.word zelda_5_002
@ 012 ----------------------------------------
.byte PATT
.word zelda_5_003
@ 013 ----------------------------------------
.byte PATT
.word zelda_5_004
@ 014 ----------------------------------------
.byte PATT
.word zelda_5_005
@ 015 ----------------------------------------
.byte W96
@ 016 ----------------------------------------
.byte PATT
.word zelda_5_007
@ 017 ----------------------------------------
.byte PATT
.word zelda_5_008
@ 018 ----------------------------------------
.byte PATT
.word zelda_5_009
@ 019 ----------------------------------------
.byte N06 , An5 , v127
.byte W06
.byte FINE

@**************** Track 6 (Midi-Chn.10) ****************@

zelda_6:
.byte VOL , 127*zelda_mvl/mxv
.byte KEYSH , zelda_key+0
@ 000 ----------------------------------------
.byte VOICE , 0
.byte PAN , c_v-1
.byte N18 , Gn2 , v127
.byte W18
.byte N03 , An1
.byte W03
.byte N03
.byte W03
.byte N18
.byte W42
.byte N03 , Gn1
.byte W03
.byte N03
.byte W03
.byte N18
.byte W24
@ 001 ----------------------------------------
.byte W18
.byte N03 , Fn1
.byte W03
.byte N03
.byte W03
.byte N18
.byte W24
.byte N06 , Dn1
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
@ 002 ----------------------------------------
zelda_6_002:
.byte N06 , Dn1 , v127
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte PEND
@ 003 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 004 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 005 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 006 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 007 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 008 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 009 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 010 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 011 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 012 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 013 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 014 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 015 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 016 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 017 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 018 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 019 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 020 ----------------------------------------
.byte N24 , Dn1 , v127
.byte W24
.byte FINE

@**************** Track 7 (Midi-Chn.10) ****************@

zelda_7:
.byte KEYSH , zelda_key+0
@ 000 ----------------------------------------
.byte VOICE , 0
.byte PAN , c_v-1
.byte VOL , 127*zelda_mvl/mxv
.byte W96
@ 001 ----------------------------------------
zelda_7_loop:
.byte W48
.byte N12 , Cn1 , v127
.byte W12
.byte N12
.byte W12
.byte N12
.byte W12
.byte N12
.byte W12
@ 002 ----------------------------------------
.byte GOTO
.word zelda_7_loop
.byte W06
@ 003 ----------------------------------------
.byte FINE

@******************************************************@
.align 2

zelda:
.byte 7 @ NumTrks
.byte 0 @ NumBlks
.byte zelda_pri @ Priority
.byte zelda_rev @ Reverb.

.word zelda_grp

.word zelda_1
.word zelda_2
.word zelda_3
.word zelda_4
.word zelda_5
.word zelda_6
.word zelda_7

.end


should loop from track 2 I think.
if nobody can do it I'll just try again and again..

clonex25
May 21st, 2008, 05:42 PM
i'm sry to ask this, but can anyone loop the following song for me?
I tryed but failed, maybe it would help me to understand O.o
.include "MPlayDef.s"

.equ zelda_grp, voicegroup000
.equ zelda_pri, 0
.equ zelda_rev, 0
.equ zelda_mvl, 127
.equ zelda_key, 0
.equ zelda_tbs, 1
.equ zelda_exg, 0
.equ zelda_cmp, 1

.section .rodata
.global zelda
.align 2

@**************** Track 1 (Midi-Chn.1) ****************@

zelda_1:
.byte VOL , 127*zelda_mvl/mxv
.byte KEYSH , zelda_key+0
@ 000 ----------------------------------------
.byte TEMPO , 76*zelda_tbs/2
.byte VOICE , 57
.byte PAN , c_v-1
.byte N12 , As3 , v127
.byte W30
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W09
.byte N03 , Gs3
.byte W03
.byte N12 , As3
.byte W18
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
@ 001 ----------------------------------------
.byte N06
.byte W09
.byte N03 , Gs3
.byte W03
.byte N12 , As3
.byte W18
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03 , Fn3
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N06
.byte W06
@ 002 ----------------------------------------
zelda_1_002:
.byte W06
.byte N06 , As3 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte Gs3
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 003 ----------------------------------------
zelda_1_003:
.byte W06
.byte N06 , Fs3 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte Fn3
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 004 ----------------------------------------
.byte PATT
.word zelda_1_003
@ 005 ----------------------------------------
zelda_1_005:
.byte W06
.byte N06 , Gn3 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N03 , As3
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W24
.byte PEND
@ 006 ----------------------------------------
zelda_1_006:
.byte W06
.byte N03 , An3 , v127
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W30
.byte As3
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 007 ----------------------------------------
zelda_1_007:
.byte W06
.byte N06 , Gs3 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte Fs3
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 008 ----------------------------------------
zelda_1_008:
.byte W06
.byte N06 , Fn3 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte Fs3
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 009 ----------------------------------------
zelda_1_009:
.byte W06
.byte N06 , Fn3 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte Gn3
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 010 ----------------------------------------
zelda_1_010:
.byte W06
.byte N03 , As3 , v127
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W30
.byte N03 , An3
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W24
.byte PEND
@ 011 ----------------------------------------
.byte PATT
.word zelda_1_002
@ 012 ----------------------------------------
.byte PATT
.word zelda_1_003
@ 013 ----------------------------------------
.byte PATT
.word zelda_1_003
@ 014 ----------------------------------------
.byte PATT
.word zelda_1_005
@ 015 ----------------------------------------
.byte PATT
.word zelda_1_006
@ 016 ----------------------------------------
.byte PATT
.word zelda_1_007
@ 017 ----------------------------------------
.byte PATT
.word zelda_1_008
@ 018 ----------------------------------------
.byte PATT
.word zelda_1_009
@ 019 ----------------------------------------
.byte PATT
.word zelda_1_010
@ 020 ----------------------------------------
.byte N24 , As3 , v127
.byte W24
.byte FINE

@**************** Track 2 (Midi-Chn.2) ****************@

zelda_2:
.byte VOL , 127*zelda_mvl/mxv
.byte KEYSH , zelda_key+0
@ 000 ----------------------------------------
.byte VOICE , 57
.byte PAN , c_v-1
.byte N12 , Fn3 , v127
.byte W30
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06 , Ds3
.byte W09
.byte N03
.byte W03
.byte N12
.byte W18
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
@ 001 ----------------------------------------
zelda_2_loop:
.byte N06 , Fs3
.byte W09
.byte N03
.byte W03
.byte N12
.byte W18
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W48
@ 002 ----------------------------------------
zelda_2_002:
.byte W06
.byte N06 , Dn3 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte Cn3
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 003 ----------------------------------------
zelda_2_003:
.byte W06
.byte N06 , As2 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte Gs2
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 004 ----------------------------------------
zelda_2_004:
.byte W06
.byte N06 , Bn2 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte As2
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 005 ----------------------------------------
zelda_2_005:
.byte W06
.byte N06 , En3 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N03 , Fn3
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W24
.byte PEND
@ 006 ----------------------------------------
zelda_2_006:
.byte W06
.byte N03 , Fn3 , v127
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W30
.byte Dn3
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 007 ----------------------------------------
zelda_2_007:
.byte W06
.byte N06 , Cn3 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte As2
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 008 ----------------------------------------
zelda_2_008:
.byte W06
.byte N06 , Gs2 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte Bn2
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 009 ----------------------------------------
zelda_2_009:
.byte W06
.byte N06 , As2 , v127
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte En3
.byte W12
.byte N06
.byte W12
.byte N06
.byte W12
.byte N06
.byte W06
.byte PEND
@ 010 ----------------------------------------
zelda_2_010:
.byte W06
.byte N03 , Fn3 , v127
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W30
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W24
.byte PEND
@ 011 ----------------------------------------
.byte PATT
.word zelda_2_002
@ 012 ----------------------------------------
.byte PATT
.word zelda_2_003
@ 013 ----------------------------------------
.byte PATT
.word zelda_2_004
@ 014 ----------------------------------------
.byte PATT
.word zelda_2_005
@ 015 ----------------------------------------
.byte PATT
.word zelda_2_006
@ 016 ----------------------------------------
.byte PATT
.word zelda_2_007
@ 017 ----------------------------------------
.byte PATT
.word zelda_2_008
@ 018 ----------------------------------------
.byte PATT
.word zelda_2_009
@ 019 ----------------------------------------
.byte PATT
.word zelda_2_010
@ 020 ----------------------------------------
.byte GOTO
.word zelda_2_loop
.byte W06
@ 021 ----------------------------------------
.byte N24 , Dn3 , v127
.byte W24
.byte FINE

@**************** Track 3 (Midi-Chn.3) ****************@

zelda_3:
.byte KEYSH , zelda_key+0
@ 000 ----------------------------------------
.byte VOICE , 81
zelda_1_loop:
.byte VOL , 126*zelda_mvl/mxv
.byte PAN , c_v-1
.byte N18 , As1 , v127
.byte W48
.byte Gs1
.byte W48
@ 001 ----------------------------------------
.byte Fs1
.byte W48
.byte N12 , Fn1
.byte W12
.byte N12
.byte W12
.byte N12
.byte W12
.byte N06
.byte W06
.byte N03 , Gn1
.byte W03
.byte An1
.byte W03
@ 002 ----------------------------------------
zelda_3_002:
.byte N12 , As1 , v127
.byte W24
.byte N12
.byte W24
.byte Gs1
.byte W24
.byte N12
.byte W24
.byte PEND
@ 003 ----------------------------------------
zelda_3_003:
.byte N12 , Fs1 , v127
.byte W24
.byte N12
.byte W24
.byte Cs2
.byte W24
.byte N12
.byte W24
.byte PEND
@ 004 ----------------------------------------
zelda_3_004:
.byte N12 , Bn1 , v127
.byte W24
.byte N12
.byte W24
.byte As1
.byte W24
.byte N12
.byte W24
.byte PEND
@ 005 ----------------------------------------
zelda_3_005:
.byte N12 , Cn2 , v127
.byte W24
.byte N12
.byte W24
.byte Fn1
.byte W48
.byte PEND
@ 006 ----------------------------------------
zelda_3_006:
.byte N12 , Fn1 , v127
.byte W30
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03 , Gn1
.byte W03
.byte An1
.byte W03
.byte N12 , As1
.byte W24
.byte N12
.byte W24
.byte PEND
@ 007 ----------------------------------------
zelda_3_007:
.byte N12 , Gs1 , v127
.byte W24
.byte N12
.byte W24
.byte Fs1
.byte W24
.byte N12
.byte W24
.byte PEND
@ 008 ----------------------------------------
zelda_3_008:
.byte N12 , Cs2 , v127
.byte W24
.byte N12
.byte W24
.byte Bn1
.byte W24
.byte N12
.byte W24
.byte PEND
@ 009 ----------------------------------------
zelda_3_009:
.byte N12 , As1 , v127
.byte W24
.byte N12
.byte W24
.byte Cn2
.byte W24
.byte N12
.byte W24
.byte PEND
@ 010 ----------------------------------------
zelda_3_010:
.byte N12 , Fn1 , v127
.byte W48
.byte N12
.byte W30
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03 , Gn1
.byte W03
.byte An1
.byte W03
.byte PEND
@ 011 ----------------------------------------
.byte PATT
.word zelda_3_002
@ 012 ----------------------------------------
.byte PATT
.word zelda_3_003
@ 013 ----------------------------------------
.byte PATT
.word zelda_3_004
@ 014 ----------------------------------------
.byte PATT
.word zelda_3_005
@ 015 ----------------------------------------
.byte PATT
.word zelda_3_006
@ 016 ----------------------------------------
.byte PATT
.word zelda_3_007
@ 017 ----------------------------------------
.byte PATT
.word zelda_3_008
@ 018 ----------------------------------------
.byte PATT
.word zelda_3_009
@ 019 ----------------------------------------
.byte PATT
.word zelda_3_010
@ 020 ----------------------------------------
.byte GOTO
.word zelda_3_loop
.byte w06
@ 021 ----------------------------------------
.byte N24 , As1 , v127
.byte W24
.byte FINE

@**************** Track 4 (Midi-Chn.4) ****************@

zelda_4:
.byte KEYSH , zelda_key+0
@ 000 ----------------------------------------
.byte VOICE , 44
.byte VOL , 114*zelda_mvl/mxv
.byte PAN , c_v-1
.byte N12 , As4 , v127
.byte W30
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W09
.byte N03 , Gs4
.byte W03
.byte N12 , As4
.byte W18
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
@ 001 ----------------------------------------
.byte N06
.byte W09
.byte N03 , Gs4
.byte W03
.byte N12 , As4
.byte W18
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03 , Fn4
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N06
.byte W06
@ 002 ----------------------------------------
zelda_4_002:
.byte N12 , As3 , v127
.byte W12
.byte N18 , Fn3
.byte W18
.byte N06 , As3
.byte W06
.byte N03
.byte W03
.byte Cn4
.byte W03
.byte Dn4
.byte W03
.byte Ds4
.byte W03
.byte N30 , Fn4
.byte W30
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03 , Fs4
.byte W03
.byte Gs4
.byte W03
.byte PEND
@ 003 ----------------------------------------
zelda_4_003:
.byte N30 , As4 , v127
.byte W30
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03 , Gs4
.byte W03
.byte Fs4
.byte W03
.byte Gs4
.byte W09
.byte Fs4
.byte W03
.byte N24 , Fn4
.byte W24
.byte N12
.byte W12
.byte PEND
@ 004 ----------------------------------------
zelda_4_004:
.byte N06 , Ds4 , v127
.byte W09
.byte N03 , Fn4
.byte W03
.byte N24 , Fs4
.byte W24
.byte N06 , Fn4
.byte W06
.byte Ds4
.byte W06
.byte Cs4
.byte W09
.byte N03 , Ds4
.byte W03
.byte N24 , Fn4
.byte W24
.byte N06 , Ds4
.byte W06
.byte Cs4
.byte W06
.byte PEND
@ 005 ----------------------------------------
zelda_4_005:
.byte N06 , Cn4 , v127
.byte W09
.byte N03 , Dn4
.byte W03
.byte N24 , En4
.byte W24
.byte N12 , Gn4
.byte W12
.byte N06 , Fn4
.byte W48
.byte PEND
@ 006 ----------------------------------------
zelda_4_006:
.byte W48
.byte N12 , As3 , v127
.byte W12
.byte N18 , Fn3
.byte W18
.byte N06 , As3
.byte W06
.byte N03
.byte W03
.byte Cn4
.byte W03
.byte Dn4
.byte W03
.byte Ds4
.byte W03
.byte PEND
@ 007 ----------------------------------------
zelda_4_007:
.byte N30 , Fn4 , v127
.byte W30
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03 , Fs4
.byte W03
.byte Gs4
.byte W03
.byte N30 , As4
.byte W30
.byte N06
.byte W06
.byte N06
.byte W06
.byte N03 , Gs4
.byte W03
.byte Fs4
.byte W03
.byte PEND
@ 008 ----------------------------------------
zelda_4_008:
.byte N03 , Gs4 , v127
.byte W09
.byte Fs4
.byte W03
.byte N24 , Fn4
.byte W24
.byte N12
.byte W12
.byte N06 , Ds4
.byte W09
.byte N03 , Fn4
.byte W03
.byte N24 , Fs4
.byte W24
.byte N06 , Fn4
.byte W06
.byte Ds4
.byte W06
.byte PEND
@ 009 ----------------------------------------
zelda_4_009:
.byte N06 , Cs4 , v127
.byte W09
.byte N03 , Ds4
.byte W03
.byte N24 , Fn4
.byte W24
.byte N06 , Ds4
.byte W06
.byte Cs4
.byte W06
.byte Cn4
.byte W09
.byte N03 , Dn4
.byte W03
.byte N24 , En4
.byte W24
.byte N12 , Gn4
.byte W12
.byte PEND
@ 010 ----------------------------------------
.byte N06 , Fn4
.byte W96
@ 011 ----------------------------------------
.byte PATT
.word zelda_4_002
@ 012 ----------------------------------------
.byte PATT
.word zelda_4_003
@ 013 ----------------------------------------
.byte PATT
.word zelda_4_004
@ 014 ----------------------------------------
.byte PATT
.word zelda_4_005
@ 015 ----------------------------------------
.byte PATT
.word zelda_4_006
@ 016 ----------------------------------------
.byte PATT
.word zelda_4_007
@ 017 ----------------------------------------
.byte PATT
.word zelda_4_008
@ 018 ----------------------------------------
.byte PATT
.word zelda_4_009
@ 019 ----------------------------------------
.byte N06 , Fn4 , v127
.byte W96
@ 020 ----------------------------------------
.byte N24 , As3
.byte W24
.byte FINE

@**************** Track 5 (Midi-Chn.5) ****************@

zelda_5:
.byte KEYSH , zelda_key+0
@ 000 ----------------------------------------
.byte VOICE , 80
.byte VOL , 77*zelda_mvl/mxv
.byte PAN , c_v-1
.byte W96
@ 001 ----------------------------------------
.byte W96
@ 002 ----------------------------------------
zelda_5_002:
.byte W54
.byte N06 , As4 , v127
.byte W06
.byte N03
.byte W03
.byte Cn5
.byte W03
.byte Dn5
.byte W03
.byte Ds5
.byte W03
.byte N30 , Fn5
.byte W24
.byte PEND
@ 003 ----------------------------------------
zelda_5_003:
.byte W12
.byte N03 , Cs5 , v127
.byte W03
.byte Fs5
.byte W03
.byte As5
.byte W03
.byte Cn6
.byte W03
.byte N30 , Cs6
.byte W42
.byte N03 , Cs5
.byte W03
.byte Ds5
.byte W03
.byte N06 , Fn5
.byte W06
.byte Cs5
.byte W06
.byte N24 , Gs4
.byte W12
.byte PEND
@ 004 ----------------------------------------
zelda_5_004:
.byte W18
.byte N03 , Ds5 , v127
.byte W03
.byte Fn5
.byte W03
.byte N06 , Fs5
.byte W06
.byte N03 , Ds5
.byte W03
.byte Fn5
.byte W03
.byte N18 , Fs5
.byte W30
.byte N03 , Cs5
.byte W03
.byte Ds5
.byte W03
.byte N06 , Fn5
.byte W06
.byte N03 , Cs5
.byte W03
.byte Ds5
.byte W03
.byte N18 , Fn5
.byte W12
.byte PEND
@ 005 ----------------------------------------
zelda_5_005:
.byte W18
.byte N03 , Cn5 , v127
.byte W03
.byte Dn5
.byte W03
.byte N06 , En5
.byte W06
.byte N03
.byte W03
.byte Fn5
.byte W03
.byte Gn5
.byte W03
.byte An5
.byte W03
.byte As5
.byte W03
.byte Cn6
.byte W03
.byte N06 , An5
.byte W48
.byte PEND
@ 006 ----------------------------------------
.byte W96
@ 007 ----------------------------------------
zelda_5_007:
.byte W06
.byte N06 , As4 , v127
.byte W06
.byte N03
.byte W03
.byte Cn5
.byte W03
.byte Dn5
.byte W03
.byte Ds5
.byte W03
.byte N30 , Fn5
.byte W36
.byte N03 , Cs5
.byte W03
.byte Fs5
.byte W03
.byte As5
.byte W03
.byte Cn6
.byte W03
.byte N30 , Cs6
.byte W24
.byte PEND
@ 008 ----------------------------------------
zelda_5_008:
.byte W18
.byte N03 , Cs5 , v127
.byte W03
.byte Ds5
.byte W03
.byte N06 , Fn5
.byte W06
.byte Cs5
.byte W06
.byte N24 , Gs4
.byte W30
.byte N03 , Ds5
.byte W03
.byte Fn5
.byte W03
.byte N06 , Fs5
.byte W06
.byte N03 , Ds5
.byte W03
.byte Fn5
.byte W03
.byte N18 , Fs5
.byte W12
.byte PEND
@ 009 ----------------------------------------
zelda_5_009:
.byte W18
.byte N03 , Cs5 , v127
.byte W03
.byte Ds5
.byte W03
.byte N06 , Fn5
.byte W06
.byte N03 , Cs5
.byte W03
.byte Ds5
.byte W03
.byte N18 , Fn5
.byte W30
.byte N03 , Cn5
.byte W03
.byte Dn5
.byte W03
.byte N06 , En5
.byte W06
.byte N03
.byte W03
.byte Fn5
.byte W03
.byte Gn5
.byte W03
.byte An5
.byte W03
.byte As5
.byte W03
.byte Cn6
.byte W03
.byte PEND
@ 010 ----------------------------------------
.byte N06 , An5
.byte W96
@ 011 ----------------------------------------
.byte PATT
.word zelda_5_002
@ 012 ----------------------------------------
.byte PATT
.word zelda_5_003
@ 013 ----------------------------------------
.byte PATT
.word zelda_5_004
@ 014 ----------------------------------------
.byte PATT
.word zelda_5_005
@ 015 ----------------------------------------
.byte W96
@ 016 ----------------------------------------
.byte PATT
.word zelda_5_007
@ 017 ----------------------------------------
.byte PATT
.word zelda_5_008
@ 018 ----------------------------------------
.byte PATT
.word zelda_5_009
@ 019 ----------------------------------------
.byte N06 , An5 , v127
.byte W06
.byte FINE

@**************** Track 6 (Midi-Chn.10) ****************@

zelda_6:
.byte VOL , 127*zelda_mvl/mxv
.byte KEYSH , zelda_key+0
@ 000 ----------------------------------------
.byte VOICE , 0
.byte PAN , c_v-1
.byte N18 , Gn2 , v127
.byte W18
.byte N03 , An1
.byte W03
.byte N03
.byte W03
.byte N18
.byte W42
.byte N03 , Gn1
.byte W03
.byte N03
.byte W03
.byte N18
.byte W24
@ 001 ----------------------------------------
.byte W18
.byte N03 , Fn1
.byte W03
.byte N03
.byte W03
.byte N18
.byte W24
.byte N06 , Dn1
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
@ 002 ----------------------------------------
zelda_6_002:
.byte N06 , Dn1 , v127
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte N06
.byte W06
.byte N03
.byte W03
.byte N03
.byte W03
.byte PEND
@ 003 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 004 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 005 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 006 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 007 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 008 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 009 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 010 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 011 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 012 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 013 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 014 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 015 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 016 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 017 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 018 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 019 ----------------------------------------
.byte PATT
.word zelda_6_002
@ 020 ----------------------------------------
.byte N24 , Dn1 , v127
.byte W24
.byte FINE

@**************** Track 7 (Midi-Chn.10) ****************@

zelda_7:
.byte KEYSH , zelda_key+0
@ 000 ----------------------------------------
.byte VOICE , 0
.byte PAN , c_v-1
.byte VOL , 127*zelda_mvl/mxv
.byte W96
@ 001 ----------------------------------------
zelda_7_loop:
.byte W48
.byte N12 , Cn1 , v127
.byte W12
.byte N12
.byte W12
.byte N12
.byte W12
.byte N12
.byte W12
@ 002 ----------------------------------------
.byte GOTO
.word zelda_7_loop
.byte W06
@ 003 ----------------------------------------
.byte FINE

@******************************************************@
.align 2

zelda:
.byte 7 @ NumTrks
.byte 0 @ NumBlks
.byte zelda_pri @ Priority
.byte zelda_rev @ Reverb.

.word zelda_grp

.word zelda_1
.word zelda_2
.word zelda_3
.word zelda_4
.word zelda_5
.word zelda_6
.word zelda_7

.end


should loop from track 2 I think.
if nobody can do it I'll just try again and again..


i see... you haven't looped all the tracks in the S file.

if you're looping a multi-track file, you must loop all the tracks in it. Meaning the first track has its own loop command, and so as the 2nd, the 3rd, up to the nth track. Download any of the attachments above to learn more of multi-track looping.

destinedjagold
May 21st, 2008, 09:09 PM
I got to admit, this is an awesome tutorial. :)
I can loop D/P Music now, but I can't lower their volumes. :P
Oh well.., I need to make further experiments.
Thankies for this tutorial...

But, I got a question... :\
Everytime I loop D/P Music and insert them in the ROM, it works, but if I loop non-pokemon music, it won't work in neither Sappy nor VBA... :\
.include "MPlayDef.s"

.equ Heaven_grp, voicegroup000
.equ Heaven_pri, 0
.equ Heaven_rev, 0
.equ Heaven_mvl, 127
.equ Heaven_key, 0
.equ Heaven_tbs, 1
.equ Heaven_exg, 0
.equ Heaven_cmp, 1

.section .rodata
.global Heaven
.align 2

@**************** Track 1 (Midi-Chn.1) ****************@

Heaven_1:
.byte KEYSH , Heaven_key+0
@ 000 ----------------------------------------
.byte TEMPO , 120*Heaven_tbs/2
.byte W01
.byte VOICE , 44
.byte VOL , 105*Heaven_mvl/mxv
.byte W01
.byte PAN , c_v+16
.byte W01
.byte MOD , 0
.byte W01
.byte BEND , c_v+0
.byte W20
@ 001 ----------------------------------------
Heaven_1_loop:
.byte TEMPO , 130*Heaven_tbs/2
.byte N44 , Gn2 , v084
.byte N92 , Dn3 , v088
.byte N44 , Gn3 , v084
.byte N44 , Bn3
.byte W48
.byte Fs2 , v088
.byte N44 , An3
.byte N44 , Dn4 , v092
.byte W48
@ 002 ----------------------------------------
.byte En2
.byte N92 , Bn2 , v088
.byte N44 , Gn3 , v092
.byte N44 , En4
.byte W48
.byte Dn2 , v096
.byte N44 , Bn3 , v088
.byte N44 , Fs4
.byte W48
@ 003 ----------------------------------------
.byte N92 , Cn2
.byte N44 , Gn2
.byte TIE , Gn3 , v084
.byte N44 , En4 , v096
.byte W48
.byte N23 , Dn4
.byte W24
.byte Cn4 , v092
.byte W24
@ 004 ----------------------------------------
.byte N92 , Dn2 , v084
.byte N44 , Bn2 , v080
.byte N44 , Bn3 , v092
.byte W48
.byte An2 , v080
.byte N44 , Fs3 , v088
.byte N44 , An3
.byte W03
.byte EOT , Gn3
.byte W44
.byte W01
@ 005 ----------------------------------------
.byte N92 , En2
.byte N92 , Bn2 , v092
.byte N92 , Gn3 , v100
.byte N44 , Bn3 , v108
.byte W48
.byte Dn4 , v096
.byte W48
@ 006 ----------------------------------------
.byte N92 , Bn1 , v088
.byte N44 , Fs2
.byte N92 , Fs3 , v084
.byte N92 , Bn3 , v092
.byte W48
.byte N44 , Bn2 , v096
.byte W48
@ 007 ----------------------------------------
.byte N92 , Cn2 , v084
.byte N92 , Gn2 , v092
.byte TIE , En3 , v096
.byte N44 , Gn3 , v100
.byte W48
.byte N23 , An3 , v108
.byte W24
.byte N24 , Bn3
.byte W24
@ 008 ----------------------------------------
.byte N88 , Dn2 , v096
.byte N88 , An2
.byte N88 , Fs3
.byte N88 , An3 , v100
.byte W01
.byte EOT , En3
.byte W44
.byte W03
.byte TIE , Dn3 , v096
.byte W48
@ 009 ----------------------------------------
.byte N44 , Gn2
.byte N48 , Gn3
.byte N44 , Bn3 , v108
.byte W48
.byte Fs2 , v096
.byte N44 , An3 , v108
.byte N44 , Dn4 , v100
.byte W48
@ 010 ----------------------------------------
.byte En2 , v096
.byte TIE , Bn2
.byte N48 , Gn3
.byte N44 , En4 , v104
.byte W01
.byte EOT , Dn3
.byte W44
.byte W03
.byte N44 , Dn2 , v096
.byte N44 , Bn3 , v104
.byte N44 , Fs4
.byte W48
@ 011 ----------------------------------------
.byte N88 , Cn2 , v096
.byte TIE , Gn2
.byte TIE , Gn3
.byte N44 , En4 , v100
.byte W01
.byte EOT , Bn2
.byte W44
.byte W03
.byte N23 , Dn4 , v112
.byte W24
.byte Cn4
.byte W24
@ 012 ----------------------------------------
.byte N92 , Bn1 , v096
.byte N44 , Bn3 , v104
.byte W40
.byte W01
.byte EOT , Gn3
.byte W07
.byte N44 , Dn3 , v096
.byte N44 , Gn3 , v104
.byte W48
.byte EOT , Gn2
@ 013 ----------------------------------------
.byte N90 , An1 , v092
.byte N90 , En2 , v096
.byte TIE , En3 , v088
.byte N23 , Cn4 , v112
.byte W24
.byte Bn3 , v104
.byte W24
.byte N92 , Cn4 , v100
.byte W48
@ 014 ----------------------------------------
.byte N96 , Dn2
.byte N88 , An2 , v088
.byte W48
.byte EOT , En3
.byte N44 , Fs3 , v096
.byte N44 , An3 , v088
.byte W48
@ 015 ----------------------------------------
.byte TIE , En2 , v092
.byte TIE , Bn2 , v096
.byte TIE , En3
.byte TIE , Gn3
.byte W96
@ 016 ----------------------------------------
.byte W68
.byte W03
.byte EOT , En2
.byte Bn2
.byte En3
.byte W01
.byte Gn3
.byte W24
@ 017 ----------------------------------------
.byte TIE , Bn1 , v076
.byte TIE , Fs2
.byte N92 , Dn3
.byte TIE , Fs3
.byte W48
.byte N48 , Bn3 , v096
.byte W48
@ 018 ----------------------------------------
.byte N42 , Dn4 , v108
.byte W48
.byte N44 , Bn3 , v088
.byte N44 , Fs4 , v104
.byte W32
.byte W03
.byte EOT , Fs3
.byte W09
.byte Bn1
.byte W03
.byte Fs2
.byte W01
@ 019 ----------------------------------------
.byte TIE , En2 , v088
.byte N44 , Bn2 , v084
.byte TIE , Gs3 , v088
.byte TIE , En4 , v100
.byte W48
.byte N52 , Gs2 , v112
.byte W48
@ 020 ----------------------------------------
.byte N48 , Bn2
.byte W48
.byte N44 , En3
.byte W30
.byte EOT , En2
.byte W05
.byte En4
.byte W10
.byte Gs3
.byte W03
@ 021 ----------------------------------------
.byte TIE , Bn1 , v092
.byte TIE , Fs2 , v088
.byte N44 , Dn3 , v100
.byte TIE , Fs3 , v108
.byte W48
.byte N44 , Bn3
.byte W48
@ 022 ----------------------------------------
.byte N92 , Dn4
.byte W48
.byte N44 , An4 , v112
.byte W02
.byte EOT , Fs3
.byte W42
.byte W01
.byte Bn1
.byte W02
.byte Fs2
.byte W01
@ 023 ----------------------------------------
.byte TIE , En2 , v096
.byte N48 , Bn2 , v092
.byte TIE , Bn3 , v104
.byte TIE , Gs4 , v112
.byte W48
.byte N44 , En3 , v108
.byte W48
@ 024 ----------------------------------------
.byte N23 , Bn2 , v116
.byte W24
.byte An2 , v112
.byte W24
.byte N44 , Gs2 , v104
.byte W32
.byte W03
.byte EOT , En2
.byte W02
.byte Bn3
.byte Gs4
.byte W11
@ 025 ----------------------------------------
.byte TIE , En2 , v112
.byte TIE , Bn2 , v100
.byte TIE , Bn3 , v104
.byte N44 , Gn4 , v120
.byte W48
.byte N23 , Fs4
.byte W24
.byte En4 , v116
.byte W24
@ 026 ----------------------------------------
.byte N92 , Bn1 , v088
.byte N96 , Fs2 , v096
.byte N42 , Dn4 , v108
.byte N44 , Fs4 , v116
.byte W01
.byte EOT , Bn2
.byte Bn3
.byte W02
.byte En2
.byte W44
.byte W01
.byte N42 , Fs3 , v104
.byte N44 , Dn4 , v108
.byte W48
@ 027 ----------------------------------------
.byte N90 , Cn2 , v104
.byte TIE , Gn2 , v100
.byte TIE , Gn3 , v112
.byte N48 , En4 , v116
.byte W48
.byte N24 , Dn4 , v120
.byte W24
.byte Cn4
.byte W24
@ 028 ----------------------------------------
.byte N44 , Gn1 , v116
.byte N44 , Bn3
.byte N44 , Dn4 , v108
.byte W01
.byte EOT , Gn3
.byte W42
.byte W01
.byte Gn2
.byte W04
.byte N23 , An2
.byte N40 , Gn3 , v096
.byte N40 , Bn3
.byte W24
.byte N23 , Bn2 , v116
.byte W24
@ 029 ----------------------------------------
.byte TIE , An2 , v104
.byte TIE , Cn3 , v096
.byte TIE , En3 , v112
.byte N23 , Cn4 , v116
.byte W24
.byte Bn3 , v108
.byte W24
.byte TIE , Cn4 , v116
.byte W48
@ 030 ----------------------------------------
.byte W32
.byte W01
.byte EOT , Cn3
.byte W02
.byte An2
.byte W13
.byte N44 , An2 , v112
.byte W24
.byte N23 , An1 , v124
.byte W15
.byte EOT , En3
.byte W08
.byte Cn4
.byte W01
@ 031 ----------------------------------------
.byte TIE , Bn1 , v096
.byte N92 , Fs2 , v112
.byte TIE , Fs3
.byte N24 , Dn4 , v116
.byte W24
.byte N23 , Cn4 , v112
.byte W24
.byte TIE , Dn4 , v120
.byte W48
@ 032 ----------------------------------------
.byte N44 , Bn2 , v112
.byte W48
.byte Fs2
.byte W30
.byte W01
.byte EOT , Bn1
.byte W12
.byte Fs3
.byte W04
.byte Dn4
.byte W01
@ 033 ----------------------------------------
.byte TIE , Cn2 , v100
.byte N92 , Gn2 , v112
.byte TIE , Gn3
.byte N23 , En4 , v120
.byte W24
.byte Dn4 , v116
.byte W24
.byte N44 , En4 , v124
.byte W48
@ 034 ----------------------------------------
.byte Cn3 , v112
.byte W24
.byte N23 , En4 , v127
.byte W24
.byte N44 , Gn2 , v112
.byte N23 , Fs4 , v127
.byte W24
.byte Gn4 , v108
.byte W17
.byte EOT , Gn3
.byte W07
@ 035 ----------------------------------------
.byte TIE , Dn2 , v100
.byte TIE , An2 , v096
.byte N92 , Dn4 , v104
.byte TIE , An4 , v112
.byte W01
.byte EOT , Cn2
.byte W92
.byte W03
@ 036 ----------------------------------------
.byte N92 , En4
.byte W96
@ 037 ----------------------------------------
.byte TIE , Fs4 , v100
.byte W96
@ 038 ----------------------------------------
.byte W90
.byte W01
.byte EOT , An4
.byte W01
.byte Fs4
.byte W02
.byte Dn2
.byte An2
.byte W02
@ 039 ----------------------------------------
.byte N24 , Gn2 , v084
.byte TIE , Dn3 , v068
.byte TIE , Bn3
.byte TIE , Gn4 , v096
.byte W24
.byte N24 , Fs2 , v104
.byte W24
.byte TIE , Gn2 , v068
.byte W48
@ 040 ----------------------------------------
.byte Dn4
.byte W96
.byte EOT , Bn3
@ 041 ----------------------------------------
.byte TIE , Gn3
.byte W96
@ 042 ----------------------------------------
.byte W84
.byte EOT
.byte W01
.byte EOT , Dn3
.byte W01
.byte Dn4
.byte W01
.byte Gn2
.byte Gn4
@ 043 ----------------------------------------
.byte GOTO
.word Heaven_1_loop
.byte W06
@ 044 ----------------------------------------
.byte FINE

@**************** Track 2 (Midi-Chn.2) ****************@

Heaven_2:
.byte KEYSH , Heaven_key+0
@ 000 ----------------------------------------
.byte W01
.byte VOICE , 92
.byte VOL , 105*Heaven_mvl/mxv
.byte W01
.byte PAN , c_v-40
.byte W01
.byte MOD , 0
.byte W01
.byte BEND , c_v+0
.byte W20
@ 001 ----------------------------------------
Heaven_2_loop:
.byte N44 , Gn2 , v084
.byte N92 , Dn3 , v088
.byte N44 , Gn3 , v084
.byte N44 , Bn3
.byte W48
.byte Fs2 , v088
.byte N44 , An3
.byte N44 , Dn4 , v092
.byte W48
@ 002 ----------------------------------------
.byte En2
.byte N92 , Bn2 , v088
.byte N44 , Gn3 , v092
.byte N44 , En4
.byte W48
.byte Dn2 , v096
.byte N44 , Bn3 , v088
.byte N44 , Fs4
.byte W48
@ 003 ----------------------------------------
.byte N92 , Cn2
.byte N44 , Gn2
.byte TIE , Gn3 , v084
.byte N44 , En4 , v096
.byte W48
.byte N23 , Dn4
.byte W24
.byte Cn4 , v092
.byte W24
@ 004 ----------------------------------------
.byte N92 , Dn2 , v084
.byte N44 , Bn2 , v080
.byte N44 , Bn3 , v092
.byte W48
.byte An2 , v080
.byte N44 , Fs3 , v088
.byte N44 , An3
.byte W03
.byte EOT , Gn3
.byte W44
.byte W01
@ 005 ----------------------------------------
.byte N92 , En2
.byte N92 , Bn2 , v092
.byte N92 , Gn3 , v100
.byte N44 , Bn3 , v108
.byte W48
.byte Dn4 , v096
.byte W48
@ 006 ----------------------------------------
.byte N92 , Bn1 , v088
.byte N44 , Fs2
.byte N92 , Fs3 , v084
.byte N92 , Bn3 , v092
.byte W48
.byte N44 , Bn2 , v096
.byte W48
@ 007 ----------------------------------------
.byte N92 , Cn2 , v084
.byte N92 , Gn2 , v092
.byte TIE , En3 , v096
.byte N44 , Gn3 , v100
.byte W48
.byte N23 , An3 , v108
.byte W24
.byte N24 , Bn3
.byte W24
@ 008 ----------------------------------------
.byte N88 , Dn2 , v096
.byte N88 , An2
.byte N88 , Fs3
.byte N88 , An3 , v100
.byte W01
.byte EOT , En3
.byte W44
.byte W03
.byte TIE , Dn3 , v096
.byte W48
@ 009 ----------------------------------------
.byte N44 , Gn2
.byte N48 , Gn3
.byte N44 , Bn3 , v108
.byte W48
.byte Fs2 , v096
.byte N44 , An3 , v108
.byte N44 , Dn4 , v100
.byte W48
@ 010 ----------------------------------------
.byte En2 , v096
.byte TIE , Bn2
.byte N48 , Gn3
.byte N44 , En4 , v104
.byte W01
.byte EOT , Dn3
.byte W44
.byte W03
.byte N44 , Dn2 , v096
.byte N44 , Bn3 , v104
.byte N44 , Fs4
.byte W48
@ 011 ----------------------------------------
.byte N88 , Cn2 , v096
.byte TIE , Gn2
.byte TIE , Gn3
.byte N44 , En4 , v100
.byte W01
.byte EOT , Bn2
.byte W44
.byte W03
.byte N23 , Dn4 , v112
.byte W24
.byte Cn4
.byte W24
@ 012 ----------------------------------------
.byte N92 , Bn1 , v096
.byte N44 , Bn3 , v104
.byte W40
.byte W01
.byte EOT , Gn3
.byte W07
.byte N44 , Dn3 , v096
.byte N44 , Gn3 , v104
.byte W48
.byte EOT , Gn2
@ 013 ----------------------------------------
.byte N90 , An1 , v092
.byte N90 , En2 , v096
.byte TIE , En3 , v088
.byte N23 , Cn4 , v112
.byte W24
.byte Bn3 , v104
.byte W24
.byte N92 , Cn4 , v100
.byte W48
@ 014 ----------------------------------------
.byte N96 , Dn2
.byte N88 , An2 , v088
.byte W48
.byte EOT , En3
.byte N44 , Fs3 , v096
.byte N44 , An3 , v088
.byte W48
@ 015 ----------------------------------------
.byte TIE , En2 , v092
.byte TIE , Bn2 , v096
.byte TIE , En3
.byte TIE , Gn3
.byte W96
@ 016 ----------------------------------------
.byte W68
.byte W03
.byte EOT , En2
.byte Bn2
.byte En3
.byte W01
.byte Gn3
.byte W24
@ 017 ----------------------------------------
.byte TIE , Bn1 , v092
.byte TIE , Fs2
.byte N92 , Dn3 , v096
.byte TIE , Fs3 , v104
.byte W48
.byte N48 , Bn3
.byte W48
@ 018 ----------------------------------------
.byte N42 , Dn4 , v108
.byte W48
.byte N44 , Bn3 , v088
.byte N44 , Fs4 , v104
.byte W32
.byte W03
.byte EOT , Fs3
.byte W09
.byte Bn1
.byte W03
.byte Fs2
.byte W01
@ 019 ----------------------------------------
.byte TIE , En2 , v088
.byte N44 , Bn2 , v084
.byte TIE , Gs3 , v088
.byte TIE , En4 , v100
.byte W48
.byte N52 , Gs2 , v112
.byte W48
@ 020 ----------------------------------------
.byte N48 , Bn2
.byte W48
.byte N44 , En3
.byte W30
.byte EOT , En2
.byte W05
.byte En4
.byte W10
.byte Gs3
.byte W03
@ 021 ----------------------------------------
.byte TIE , Bn1 , v092
.byte TIE , Fs2 , v088
.byte N44 , Dn3 , v100
.byte TIE , Fs3 , v108
.byte W48
.byte N44 , Bn3
.byte W48
@ 022 ----------------------------------------
.byte N92 , Dn4
.byte W48
.byte N44 , An4 , v112
.byte W02
.byte EOT , Fs3
.byte W42
.byte W01
.byte Bn1
.byte W02
.byte Fs2
.byte W01
@ 023 ----------------------------------------
.byte TIE , En2 , v096
.byte N48 , Bn2 , v092
.byte TIE , Bn3 , v104
.byte TIE , Gs4 , v112
.byte W48
.byte N44 , En3 , v108
.byte W48
@ 024 ----------------------------------------
.byte N23 , Bn2 , v116
.byte W24
.byte An2 , v112
.byte W24
.byte N44 , Gs2 , v104
.byte W32
.byte W03
.byte EOT , En2
.byte W02
.byte Bn3
.byte Gs4
.byte W11
@ 025 ----------------------------------------
.byte TIE , En2 , v112
.byte TIE , Bn2 , v100
.byte TIE , Bn3 , v104
.byte N44 , Gn4 , v120
.byte W48
.byte N23 , Fs4
.byte W24
.byte En4 , v116
.byte W24
@ 026 ----------------------------------------
.byte N92 , Bn1 , v088
.byte N96 , Fs2 , v096
.byte N42 , Dn4 , v108
.byte N44 , Fs4 , v116
.byte W01
.byte EOT , Bn2
.byte Bn3
.byte W02
.byte En2
.byte W44
.byte W01
.byte N42 , Fs3 , v104
.byte N44 , Dn4 , v108
.byte W48
@ 027 ----------------------------------------
.byte N90 , Cn2 , v104
.byte TIE , Gn2 , v100
.byte TIE , Gn3 , v112
.byte N48 , En4 , v116
.byte W48
.byte N24 , Dn4 , v120
.byte W24
.byte Cn4
.byte W24
@ 028 ----------------------------------------
.byte N44 , Gn1 , v116
.byte N44 , Bn3
.byte N44 , Dn4 , v108
.byte W01
.byte EOT , Gn3
.byte W42
.byte W01
.byte Gn2
.byte W04
.byte N23 , An2
.byte N40 , Gn3 , v096
.byte N40 , Bn3
.byte W24
.byte N23 , Bn2 , v116
.byte W24
@ 029 ----------------------------------------
.byte TIE , An2 , v104
.byte TIE , Cn3 , v096
.byte TIE , En3 , v112
.byte N23 , Cn4 , v116
.byte W24
.byte Bn3 , v108
.byte W24
.byte TIE , Cn4 , v116
.byte W48
@ 030 ----------------------------------------
.byte W32
.byte W01
.byte EOT , Cn3
.byte W02
.byte An2
.byte W13
.byte N44 , An2 , v112
.byte W24
.byte N23 , An1 , v124
.byte W15
.byte EOT , En3
.byte W08
.byte Cn4
.byte W01
@ 031 ----------------------------------------
.byte TIE , Bn1 , v096
.byte N92 , Fs2 , v112
.byte TIE , Fs3
.byte N24 , Dn4 , v116
.byte W24
.byte N23 , Cn4 , v112
.byte W24
.byte TIE , Dn4 , v120
.byte W48
@ 032 ----------------------------------------
.byte N44 , Bn2 , v112
.byte W48
.byte Fs2
.byte W30
.byte W01
.byte EOT , Bn1
.byte W12
.byte Fs3
.byte W04
.byte Dn4
.byte W01
@ 033 ----------------------------------------
.byte TIE , Cn2 , v100
.byte N92 , Gn2 , v112
.byte TIE , Gn3
.byte N23 , En4 , v120
.byte W24
.byte Dn4 , v116
.byte W24
.byte N44 , En4 , v124
.byte W48
@ 034 ----------------------------------------
.byte Cn3 , v112
.byte W24
.byte N23 , En4 , v127
.byte W24
.byte N44 , Gn2 , v112
.byte N23 , Fs4 , v127
.byte W24
.byte Gn4 , v108
.byte W17
.byte EOT , Gn3
.byte W07
@ 035 ----------------------------------------
.byte TIE , Dn2 , v100
.byte TIE , An2 , v096
.byte N92 , Dn4 , v104
.byte TIE , An4 , v112
.byte W01
.byte EOT , Cn2
.byte W92
.byte W03
@ 036 ----------------------------------------
.byte N92 , En4
.byte W96
@ 037 ----------------------------------------
.byte TIE , Fs4 , v100
.byte W96
@ 038 ----------------------------------------
.byte W90
.byte W01
.byte EOT , An4
.byte W01
.byte Fs4
.byte W02
.byte Dn2
.byte An2
.byte W02
@ 039 ----------------------------------------
.byte N24 , Gn2 , v084
.byte TIE , Dn3 , v068
.byte TIE , Bn3
.byte TIE , Gn4 , v096
.byte W24
.byte N24 , Fs2 , v104
.byte W24
.byte TIE , Gn2 , v068
.byte W48
@ 040 ----------------------------------------
.byte Dn4
.byte W96
.byte EOT , Bn3
@ 041 ----------------------------------------
.byte TIE , Gn3
.byte W96
@ 042 ----------------------------------------
.byte W84
.byte W01
.byte EOT , Dn3
.byte W01
.byte Dn4
.byte W01
.byte Gn2
.byte Gn4
.byte W09
.byte Gn3
@ 043 ----------------------------------------
.byte GOTO
.word Heaven_2_loop
.byte W06
@ 044 ----------------------------------------
.byte FINE

@**************** Track 3 (Midi-Chn.3) ****************@

Heaven_3:
.byte KEYSH , Heaven_key+0
@ 000 ----------------------------------------
.byte W01
.byte VOICE , 10
.byte VOL , 115*Heaven_mvl/mxv
.byte W01
.byte PAN , c_v+30
.byte W01
.byte MOD , 0
.byte W01
.byte BEND , c_v+0
.byte W20
@ 001 ----------------------------------------
Heaven_3_loop:
Heaven_3_001:
.byte N18 , Bn4 , v060
.byte W48
.byte Dn5
.byte W48
.byte PEND
@ 002 ----------------------------------------
Heaven_3_002:
.byte N18 , En5 , v060
.byte W48
.byte Fs5
.byte W48
.byte PEND
@ 003 ----------------------------------------
Heaven_3_003:
.byte N18 , En5 , v060
.byte W48
.byte Dn5
.byte W24
.byte Cn5
.byte W24
.byte PEND
@ 004 ----------------------------------------
.byte Bn4
.byte W48
.byte An4
.byte W48
@ 005 ----------------------------------------
.byte PATT
.word Heaven_3_001
@ 006 ----------------------------------------
.byte N18 , Bn4 , v060
.byte W96
@ 007 ----------------------------------------
.byte Gn4
.byte W48
.byte An4
.byte W24
.byte Bn4
.byte W24
@ 008 ----------------------------------------
.byte An4
.byte W96
@ 009 ----------------------------------------
.byte PATT
.word Heaven_3_001
@ 010 ----------------------------------------
.byte PATT
.word Heaven_3_002
@ 011 ----------------------------------------
.byte PATT
.word Heaven_3_003
@ 012 ----------------------------------------
.byte N18 , Bn4 , v060
.byte W48
.byte Gn4
.byte W48
@ 013 ----------------------------------------
.byte Cn5
.byte W24
.byte Bn4
.byte W24
.byte Cn5
.byte W48
@ 014 ----------------------------------------
.byte W48
.byte An4
.byte W48
@ 015 ----------------------------------------
.byte Gn4
.byte W96
@ 016 ----------------------------------------
.byte W96
@ 017 ----------------------------------------
.byte W96
@ 018 ----------------------------------------
.byte W96
@ 019 ----------------------------------------
.byte W24
.byte N10 , Bn5
.byte W12
.byte N07 , An5
.byte W12
.byte N22 , Bn5
.byte W24
.byte N10 , Gs5
.byte W12
.byte N08 , Fs5
.byte W12
@ 020 ----------------------------------------
.byte N24 , Gs5
.byte W24
.byte N10 , En5
.byte W12
.byte N09 , Dn5
.byte W12
.byte N24 , En5
.byte W24
.byte N23 , Bn4
.byte W24
@ 021 ----------------------------------------
.byte N56 , Dn5
.byte W96
@ 022 ----------------------------------------
.byte W96
@ 023 ----------------------------------------
.byte W24
.byte N11 , Bn5
.byte W12
.byte N09 , An5
.byte W12
.byte N23 , Bn5
.byte W24
.byte N12 , Gs5
.byte W12
.byte N10 , Fs5
.byte W12
@ 024 ----------------------------------------
.byte N28 , Gs5
.byte W24
.byte N13 , En5
.byte W12
.byte N07 , Dn5
.byte W12
.byte N23 , En5
.byte W24
.byte Gs5
.byte W24
@ 025 ----------------------------------------
.byte N92 , Bn5
.byte W96
@ 026 ----------------------------------------
.byte W24
.byte N06 , Fs5
.byte W12
.byte N12
.byte W12
.byte N44 , Bn5
.byte W48
@ 027 ----------------------------------------
.byte N96 , En5
.byte W96
@ 028 ----------------------------------------
.byte W24
.byte N05 , Dn5
.byte W12
.byte N13
.byte W12
.byte N24 , Gn5
.byte W24
.byte N15 , Dn5
.byte W24
@ 029 ----------------------------------------
.byte N96 , Cn5
.byte W96
@ 030 ----------------------------------------
.byte W24
.byte N14
.byte W12
.byte N15 , Dn5
.byte W12
.byte N24 , En5
.byte W24
.byte N23 , An5
.byte W24
@ 031 ----------------------------------------
.byte TIE , Dn5
.byte W96
@ 032 ----------------------------------------
.byte W06
.byte EOT
.byte W18
.byte N13
.byte W12
.byte N15 , En5
.byte W12
.byte N23 , Fs5
.byte W24
.byte N24 , Bn5
.byte W24
@ 033 ----------------------------------------
.byte TIE , En5
.byte W96
@ 034 ----------------------------------------
.byte W06
.byte EOT
.byte W18
.byte N11
.byte W12
.byte Fs5
.byte W12
.byte N23 , Gn5
.byte W24
.byte Cn6
.byte W24
@ 035 ----------------------------------------
.byte TIE , An5
.byte W96
@ 036 ----------------------------------------
.byte W96
@ 037 ----------------------------------------
.byte W08
.byte EOT
.byte W16
.byte N11
.byte W12
.byte Gn5
.byte W12
.byte Fs5
.byte W12
.byte En5
.byte W12
.byte Dn5
.byte W12
.byte Cn5
.byte W12
@ 038 ----------------------------------------
.byte N84 , Dn5
.byte W96
@ 039 ----------------------------------------
.byte W72
.byte N12 , Gn5
.byte W12
.byte N11 , Fs5
.byte W12
@ 040 ----------------------------------------
.byte Gn5
.byte W48
.byte N12 , Dn5
.byte W48
@ 041 ----------------------------------------
.byte N72 , Gn4
.byte W72
.byte W01
@ 042 ----------------------------------------
.byte GOTO
.word Heaven_3_loop
.byte W06
@ 043 ----------------------------------------
.byte FINE

@**************** Track 4 (Midi-Chn.4) ****************@

Heaven_4:
.byte KEYSH , Heaven_key+0
@ 000 ----------------------------------------
.byte W01
.byte VOICE , 88
.byte VOL , 125*Heaven_mvl/mxv
.byte W01
.byte PAN , c_v-50
.byte W01
.byte MOD , 0
.byte W01
.byte BEND , c_v+0
.byte W20
@ 001 ----------------------------------------
Heaven_4_loop:
Heaven_4_001:
.byte N18 , Bn4 , v100
.byte W48
.byte Dn5
.byte W48
.byte PEND
@ 002 ----------------------------------------
Heaven_4_002:
.byte N18 , En5 , v100
.byte W48
.byte Fs5
.byte W48
.byte PEND
@ 003 ----------------------------------------
Heaven_4_003:
.byte N18 , En5 , v100
.byte W48
.byte Dn5
.byte W24
.byte Cn5
.byte W24
.byte PEND
@ 004 ----------------------------------------
.byte Bn4
.byte W48
.byte An4
.byte W48
@ 005 ----------------------------------------
.byte PATT
.word Heaven_4_001
@ 006 ----------------------------------------
.byte N18 , Bn4 , v100
.byte W96
@ 007 ----------------------------------------
.byte Gn4
.byte W48
.byte An4
.byte W24
.byte Bn4
.byte W24
@ 008 ----------------------------------------
.byte An4
.byte W96
@ 009 ----------------------------------------
.byte PATT
.word Heaven_4_001
@ 010 ----------------------------------------
.byte PATT
.word Heaven_4_002
@ 011 ----------------------------------------
.byte PATT
.word Heaven_4_003
@ 012 ----------------------------------------
.byte N18 , Bn4 , v100
.byte W48
.byte Gn4
.byte W48
@ 013 ----------------------------------------
.byte Cn5
.byte W24
.byte Bn4
.byte W24
.byte Cn5
.byte W48
@ 014 ----------------------------------------
.byte W48
.byte An4
.byte W48
@ 015 ----------------------------------------
.byte Gn4
.byte W96
@ 016 ----------------------------------------
.byte W96
@ 017 ----------------------------------------
.byte W96
@ 018 ----------------------------------------
.byte W96
@ 019 ----------------------------------------
.byte W96
@ 020 ----------------------------------------
.byte W96
@ 021 ----------------------------------------
.byte W96
@ 022 ----------------------------------------
.byte W96
@ 023 ----------------------------------------
.byte W96
@ 024 ----------------------------------------
.byte W96
@ 025 ----------------------------------------
.byte W96
@ 026 ----------------------------------------
.byte W96
@ 027 ----------------------------------------
.byte W96
@ 028 ----------------------------------------
.byte W96
@ 029 ----------------------------------------
.byte W96
@ 030 ----------------------------------------
.byte W96
@ 031 ----------------------------------------
.byte W96
@ 032 ----------------------------------------
.byte W96
@ 033 ----------------------------------------
.byte W96
@ 034 ----------------------------------------
.byte W96
@ 035 ----------------------------------------
.byte N92 , Dn5 , v080
.byte W96
@ 036 ----------------------------------------
.byte En5
.byte W96
@ 037 ----------------------------------------
.byte TIE , Fs5
.byte W96
@ 038 ----------------------------------------
.byte W92
.byte EOT
.byte W04
@ 039 ----------------------------------------
.byte TIE , Gn5
.byte W96
@ 040 ----------------------------------------
.byte W96
@ 041 ----------------------------------------
.byte W96
@ 042 ----------------------------------------
.byte W84
.byte W03
.byte EOT
@ 043 ----------------------------------------
.byte GOTO
.word Heaven_4_loop
.byte W06
@ 044 ----------------------------------------
.byte FINE

@**************** Track 5 (Midi-Chn.5) ****************@

Heaven_5:
.byte KEYSH , Heaven_key+0
@ 000 ----------------------------------------
.byte W01
.byte VOICE , 11
.byte VOL , 125*Heaven_mvl/mxv
.byte W01
.byte PAN , c_v-30
.byte W01
.byte MOD , 0
.byte W01
.byte BEND , c_v+0
.byte W20
@ 001 ----------------------------------------
Heaven_5_loop:
Heaven_5_001:
.byte N23 , Gn3 , v092
.byte W48
.byte An3
.byte W48
.byte PEND
@ 002 ----------------------------------------
Heaven_5_loop:
.byte Bn3
.byte W96
@ 003 ----------------------------------------
.byte W96
@ 004 ----------------------------------------
.byte W96
@ 005 ----------------------------------------
.byte Gn3
.byte W48
.byte Bn3
.byte W48
@ 006 ----------------------------------------
.byte Dn4
.byte W96
@ 007 ----------------------------------------
Heaven_5_007:
.byte N23 , Bn3 , v092
.byte W48
.byte An3
.byte W24
.byte Gn3
.byte W24
.byte PEND
@ 008 ----------------------------------------
.byte An3
.byte W96
@ 009 ----------------------------------------
.byte PATT
.word Heaven_5_001
@ 010 ----------------------------------------
.byte N23 , Bn3 , v092
.byte W96
@ 011 ----------------------------------------
.byte W96
@ 012 ----------------------------------------
.byte W96
@ 013 ----------------------------------------
.byte An3
.byte W48
.byte En4
.byte W48
@ 014 ----------------------------------------
.byte Dn4
.byte W96
@ 015 ----------------------------------------
.byte PATT
.word Heaven_5_007
@ 016 ----------------------------------------
.byte N23 , Gn4 , v092
.byte W96
@ 017 ----------------------------------------
.byte W96
@ 018 ----------------------------------------
.byte W96
@ 019 ----------------------------------------
.byte W24
.byte N10 , Bn5 , v072
.byte W12
.byte N07 , An5
.byte W12
.byte N22 , Bn5
.byte W24
.byte N10 , Gs5
.byte W12
.byte N08 , Fs5
.byte W12
@ 020 ----------------------------------------
.byte N24 , Gs5
.byte W24
.byte N10 , En5
.byte W12
.byte N09 , Dn5
.byte W12
.byte N24 , En5
.byte W24
.byte N23 , Bn4
.byte W24
@ 021 ----------------------------------------
.byte N56 , Dn5
.byte W96
@ 022 ----------------------------------------
.byte W96
@ 023 ----------------------------------------
.byte W24
.byte N11 , Bn5
.byte W12
.byte N09 , An5
.byte W12
.byte N23 , Bn5
.byte W24
.byte N12 , Gs5
.byte W12
.byte N10 , Fs5
.byte W12
@ 024 ----------------------------------------
.byte N28 , Gs5
.byte W24
.byte N13 , En5
.byte W12
.byte N07 , Dn5
.byte W12
.byte N23 , En5
.byte W24
.byte Gs5
.byte W24
@ 025 ----------------------------------------
.byte N92 , Bn5
.byte W96
@ 026 ----------------------------------------
.byte W24
.byte N06 , Fs5
.byte W12
.byte N12
.byte W12
.byte N44 , Bn5
.byte W48
@ 027 ----------------------------------------
.byte N96 , En5
.byte W96
@ 028 ----------------------------------------
.byte W24
.byte N05 , Dn5
.byte W12
.byte N13
.byte W12
.byte N24 , Gn5
.byte W24
.byte N15 , Dn5
.byte W24
@ 029 ----------------------------------------
.byte N96 , Cn5
.byte W96
@ 030 ----------------------------------------
.byte W24
.byte N14
.byte W12
.byte N15 , Dn5
.byte W12
.byte N24 , En5
.byte W24
.byte N23 , An5
.byte W24
@ 031 ----------------------------------------
.byte TIE , Dn5
.byte W96
@ 032 ----------------------------------------
.byte W06
.byte EOT
.byte W18
.byte N13
.byte W12
.byte N15 , En5
.byte W12
.byte N23 , Fs5
.byte W24
.byte N24 , Bn5
.byte W24
@ 033 ----------------------------------------
.byte TIE , En5
.byte W96
@ 034 ----------------------------------------
.byte W06
.byte EOT
.byte W18
.byte N11
.byte W12
.byte Fs5
.byte W12
.byte N23 , Gn5
.byte W24
.byte Cn6
.byte W24
@ 035 ----------------------------------------
.byte TIE , An5
.byte W96
@ 036 ----------------------------------------
.byte W96
@ 037 ----------------------------------------
.byte W08
.byte EOT
.byte W16
.byte N11
.byte W12
.byte Gn5
.byte W12
.byte Fs5
.byte W12
.byte En5
.byte W12
.byte Dn5
.byte W12
.byte Cn5
.byte W12
@ 038 ----------------------------------------
.byte N84 , Dn5
.byte W96
@ 039 ----------------------------------------
.byte W72
.byte N12 , Gn5
.byte W12
.byte N11 , Fs5
.byte W12
@ 040 ----------------------------------------
.byte Gn5
.byte W48
.byte N12 , Dn5
.byte W48
@ 041 ----------------------------------------
.byte N72 , Gn4
.byte W72
.byte W01
@ 042 ----------------------------------------
.byte GOTO
.word Heaven_5_loop
.byte W06
@ 043 ----------------------------------------
.byte FINE

@**************** Track 6 (Midi-Chn.6) ****************@

Heaven_6:
.byte KEYSH , Heaven_key+0
@ 000 ----------------------------------------
.byte W01
.byte VOICE , 8
.byte VOL , 105*Heaven_mvl/mxv
.byte W01
.byte PAN , c_v-24
.byte W01
.byte MOD , 0
.byte W01
.byte BEND , c_v+0
.byte W20
@ 001 ----------------------------------------
Heaven_6_loop:
Heaven_6_001:
.byte N44 , Gn2 , v092
.byte W48
.byte Fs2
.byte W48
.byte PEND
@ 002 ----------------------------------------
Heaven_6_002:
.byte N44 , En2 , v092
.byte W48
.byte Dn2
.byte W48
.byte PEND
@ 003 ----------------------------------------
.byte N92 , Cn2
.byte W96
@ 004 ----------------------------------------
.byte Dn2
.byte W96
@ 005 ----------------------------------------
.byte En2
.byte W96
@ 006 ----------------------------------------
.byte Bn1
.byte W96
@ 007 ----------------------------------------
.byte Cn2
.byte W96
@ 008 ----------------------------------------
.byte N88 , Dn2
.byte W96
@ 009 ----------------------------------------
.byte PATT
.word Heaven_6_001
@ 010 ----------------------------------------
.byte PATT
.word Heaven_6_002
@ 011 ----------------------------------------
.byte N88 , Cn2 , v092
.byte W96
@ 012 ----------------------------------------
.byte N92 , Bn1
.byte W96
@ 013 ----------------------------------------
.byte N90 , An1
.byte W96
@ 014 ----------------------------------------
.byte N96 , Dn2
.byte W96
@ 015 ----------------------------------------
.byte TIE , En2
.byte W96
@ 016 ----------------------------------------
.byte W68
.byte W03
.byte EOT
.byte W24
.byte W01
@ 017 ----------------------------------------
.byte TIE , Fs3 , v100
.byte W48
.byte N48 , Bn3
.byte W48
@ 018 ----------------------------------------
.byte N42 , Dn4
.byte W48
.byte N44 , Fs4
.byte W32
.byte W03
.byte EOT , Fs3
.byte W13
@ 019 ----------------------------------------
.byte TIE , En4
.byte W96
@ 020 ----------------------------------------
.byte W80
.byte W03
.byte EOT
.byte W13
@ 021 ----------------------------------------
.byte TIE , Fs3
.byte W48
.byte N44 , Bn3
.byte W48
@ 022 ----------------------------------------
.byte N92 , Dn4
.byte W48
.byte N44 , An4
.byte W02
.byte EOT , Fs3
.byte W44
.byte W02
@ 023 ----------------------------------------
.byte TIE , Gs4
.byte W96
@ 024 ----------------------------------------
.byte W84
.byte W01
.byte EOT
.byte W11
@ 025 ----------------------------------------
.byte N44 , Gn4
.byte W48
.byte N23 , Fs4
.byte W24
.byte En4
.byte W24
@ 026 ----------------------------------------
.byte N44 , Fs4
.byte W96
@ 027 ----------------------------------------
.byte N48 , En4
.byte W48
.byte N24 , Dn4
.byte W24
.byte Cn4
.byte W24
@ 028 ----------------------------------------
.byte N44 , Bn3
.byte N44 , Dn4
.byte W48
.byte N40 , Bn3
.byte W48
@ 029 ----------------------------------------
.byte N23 , Cn4
.byte W24
.byte Bn3
.byte W24
.byte TIE , Cn4
.byte W48
@ 030 ----------------------------------------
.byte W92
.byte W03
.byte EOT
.byte W01
@ 031 ----------------------------------------
.byte N24 , Dn4
.byte W24
.byte N23 , Cn4
.byte W24
.byte TIE , Dn4
.byte W48
@ 032 ----------------------------------------
.byte W92
.byte W03
.byte EOT
.byte W01
@ 033 ----------------------------------------
.byte N23 , En4
.byte W24
.byte Dn4
.byte W24
.byte N44 , En4
.byte W48
@ 034 ----------------------------------------
.byte W24
.byte N23
.byte W24
.byte Fs4
.byte W24
.byte Gn4
.byte W24
@ 035 ----------------------------------------
.byte TIE , An4
.byte W96
@ 036 ----------------------------------------
.byte W96
@ 037 ----------------------------------------
.byte W96
@ 038 ----------------------------------------
.byte W90
.byte W01
.byte EOT
.byte W05
@ 039 ----------------------------------------
.byte TIE , Gn4
.byte W96
@ 040 ----------------------------------------
.byte W96
@ 041 ----------------------------------------
.byte W96
@ 042 ----------------------------------------
.byte W84
.byte W03
.byte EOT
@ 043 ----------------------------------------
.byte GOTO
.word Heaven_6_loop
.byte W06
@ 044 ----------------------------------------
.byte FINE

@**************** Track 7 (Midi-Chn.7) ****************@

Heaven_7:
.byte KEYSH , Heaven_key+0
@ 000 ----------------------------------------
.byte W01
.byte VOICE , 19
.byte VOL , 95*Heaven_mvl/mxv
.byte W01
.byte PAN , c_v+20
.byte W01
.byte MOD , 0
.byte W01
.byte BEND , c_v+0
.byte W20
@ 001 ----------------------------------------
Heaven_7_loop:
.byte W96
@ 002 ----------------------------------------
.byte W96
@ 003 ----------------------------------------
.byte W96
@ 004 ----------------------------------------
.byte W96
@ 005 ----------------------------------------
.byte W96
@ 006 ----------------------------------------
.byte W96
@ 007 ----------------------------------------
.byte W96
@ 008 ----------------------------------------
.byte W60
.byte N12 , Dn5 , v112
.byte W12
.byte En5
.byte W12
.byte Fs5
.byte W12
@ 009 ----------------------------------------
.byte TIE , Gn5
.byte W96
@ 010 ----------------------------------------
.byte W96
@ 011 ----------------------------------------
.byte W44
.byte W02
.byte EOT
.byte W02
.byte N24 , An5
.byte W24
.byte N22 , Bn5
.byte W24
@ 012 ----------------------------------------
.byte N48 , An5
.byte W48
.byte N44 , Gn5
.byte W48
@ 013 ----------------------------------------
.byte TIE , En5
.byte W96
@ 014 ----------------------------------------
.byte N96 , Fs5
.byte W05
.byte EOT , En5
.byte W90
.byte W01
@ 015 ----------------------------------------
.byte TIE , Gn5
.byte W96
@ 016 ----------------------------------------
.byte W80
.byte W01
.byte EOT
@ 043 ----------------------------------------
.byte GOTO
.word Heaven_7_loop
.byte W06
@ 044 ----------------------------------------
.byte FINE

@**************** Track 8 (Midi-Chn.8) ****************@

Heaven_8:
.byte KEYSH , Heaven_key+0
@ 000 ----------------------------------------
.byte W01
.byte VOICE , 46
.byte VOL , 125*Heaven_mvl/mxv
.byte W01
.byte PAN , c_v-10
.byte W01
.byte MOD , 0
.byte W01
.byte BEND , c_v+0
.byte W20
@ 001 ----------------------------------------
Heaven_8_loop:
.byte W96
@ 002 ----------------------------------------
.byte W96
@ 003 ----------------------------------------
.byte W96
@ 004 ----------------------------------------
.byte W96
@ 005 ----------------------------------------
.byte W96
@ 006 ----------------------------------------
.byte W96
@ 007 ----------------------------------------
.byte W96
@ 008 ----------------------------------------
.byte W96
@ 009 ----------------------------------------
.byte W96
@ 010 ----------------------------------------
.byte W96
@ 011 ----------------------------------------
.byte W96
@ 012 ----------------------------------------
.byte W96
@ 013 ----------------------------------------
.byte W96
@ 014 ----------------------------------------
.byte W96
@ 015 ----------------------------------------
.byte W96
@ 016 ----------------------------------------
.byte W96
@ 017 ----------------------------------------
.byte W96
@ 018 ----------------------------------------
.byte W96
@ 019 ----------------------------------------
.byte N11 , En1 , v092
.byte W12
.byte En2
.byte W12
.byte Fs2
.byte W12
.byte Gs2
.byte W12
.byte Bn2
.byte W12
.byte En3
.byte W12
.byte Fs3
.byte W12
.byte Gs3
.byte W12
@ 020 ----------------------------------------
.byte Bn3
.byte W12
.byte En4
.byte W12
.byte Fs4
.byte W12
.byte Gs4
.byte W12
.byte TIE , Bn4
.byte W48
@ 021 ----------------------------------------
.byte W96
@ 022 ----------------------------------------
.byte W92
.byte W03
.byte EOT
.byte W01
@ 023 ----------------------------------------
.byte N13 , En1
.byte W12
.byte N11 , En2
.byte W12
.byte Fs2
.byte W12
.byte Gs2
.byte W12
.byte Bn2
.byte W12
.byte En3
.byte W12
.byte Fs3
.byte W12
.byte Gs3
.byte W12
@ 024 ----------------------------------------
.byte Bn3
.byte W12
.byte En4
.byte W12
.byte Fs4
.byte W12
.byte Gs4
.byte W12
.byte N23 , Bn4
.byte W24
.byte En4
.byte W24
@ 025 ----------------------------------------
.byte N44 , En2
.byte W48
.byte N11 , Gn2
.byte W12
.byte Bn2
.byte W12
.byte En3
.byte W12
.byte Bn3
.byte W12
@ 026 ----------------------------------------
.byte N44 , Bn2
.byte W48
.byte N11 , Bn1
.byte W12
.byte Fs2
.byte W12
.byte Dn3
.byte W12
.byte Bn3
.byte W12
@ 027 ----------------------------------------
.byte N44 , Cn3
.byte W48
.byte N11 , Cn2
.byte W12
.byte Gn2
.byte W12
.byte Gn3
.byte W12
.byte En4
.byte W12
@ 028 ----------------------------------------
.byte N36 , Gn3
.byte W48
.byte N11 , Gn2
.byte W12
.byte Bn2
.byte W12
.byte Dn3
.byte W12
.byte Gn3
.byte W12
@ 029 ----------------------------------------
.byte An1
.byte W12
.byte An2
.byte W12
.byte Cn3
.byte W12
.byte En3
.byte W12
.byte N56 , An3
.byte W48
@ 030 ----------------------------------------
.byte W12
.byte N11 , En3
.byte W12
.byte An3
.byte W12
.byte En4
.byte W12
.byte N40 , An4
.byte W48
@ 031 ----------------------------------------
.byte Bn4
.byte W96
@ 032 ----------------------------------------
.byte W12
.byte N72 , Bn1
.byte W12
.byte N68 , Fs2
.byte W12
.byte N11 , Bn2
.byte W12
.byte Dn3
.byte W12
.byte Fs3
.byte W12
.byte Bn3
.byte W12
.byte Dn4
.byte W12
@ 033 ----------------------------------------
.byte TIE , Cn2
.byte N11 , En4
.byte W12
.byte TIE , Gn2
.byte W12
.byte N11 , Dn3
.byte W12
.byte En3
.byte W12
.byte Gn3
.byte W12
.byte N32 , En4
.byte W36
@ 034 ----------------------------------------
.byte N11 , Cn4
.byte W12
.byte En4
.byte W12
.byte Gn4
.byte W12
.byte Cn5
.byte W12
.byte N44 , En5
.byte W24
.byte W02
.byte EOT , Gn2
.byte W03
.byte Cn2
.byte W19
@ 035 ----------------------------------------
.byte TIE , Dn2
.byte W12
.byte An2
.byte W12
.byte N11 , An3
.byte W12
.byte Dn4
.byte W12
.byte Fs4
.byte W12
.byte Gn4
.byte W12
.byte An4
.byte W12
.byte Gn4
.byte W12
@ 036 ----------------------------------------
.byte Fs4
.byte W12
.byte En4
.byte W12
.byte N44 , Dn4
.byte W15
.byte EOT , An2
.byte W32
.byte W01
.byte N24 , An3
.byte W03
.byte EOT , Dn2
.byte W21
@ 037 ----------------------------------------
.byte TIE
.byte W06
.byte En2
.byte W06
.byte N07 , Fs2
.byte W08
.byte N03 , Gn2
.byte W04
.byte N05 , An2
.byte W06
.byte N03 , Bn2
.byte W04
.byte Cn3
.byte W04
.byte N07 , Dn3
.byte W08
.byte N05 , En3
.byte W06
.byte N01 , Fs3
.byte W02
.byte N03 , Gn3
.byte W04
.byte An3
.byte W04
.byte Bn3
.byte W04
.byte N01 , Cn4
.byte W02
.byte Dn4
.byte W02
.byte En4
.byte W02
.byte N05 , Fs4
.byte W06
.byte N03 , Gn4
.byte W04
.byte TIE , An4
.byte W14
@ 038 ----------------------------------------
.byte W14
.byte EOT , En2
.byte W11
.byte Dn2
.byte W68
.byte W03
@ 039 ----------------------------------------
.byte W92
.byte W03
.byte An4
.byte W01
@ 040 ----------------------------------------
.byte N09 , Gn5
.byte W12
.byte N08 , Fs5
.byte W12
.byte N32 , Gn5
.byte W12
.byte N11 , Dn5
.byte W12
.byte N56 , Gn4
.byte W12
.byte N24 , Dn5
.byte W12
.byte N13 , Gn5
.byte W12
.byte Fs5
.byte W12
@ 041 ----------------------------------------
.byte TIE , Gn5
.byte W12
.byte N09 , Dn5
.byte W12
.byte N12 , Gn4
.byte W12
.byte TIE , Dn5
.byte W12
.byte Gn4
.byte W24
.byte Dn3
.byte W24
@ 042 ----------------------------------------
.byte N88 , Gn2
.byte W56
.byte W02
.byte EOT , Gn4
.byte W04
.byte Dn5
.byte Gn5
.byte W28
.byte Dn3
@ 043 ----------------------------------------
.byte GOTO
.word Heaven_8_loop
.byte W06
@ 044 ----------------------------------------
.byte FINE

@******************************************************@
.align 2

Heaven:
.byte 8 @ NumTrks
.byte 0 @ NumBlks
.byte Heaven_pri @ Priority
.byte Heaven_rev @ Reverb.

.word Heaven_grp

.word Heaven_1
.word Heaven_2
.word Heaven_3
.word Heaven_4
.word Heaven_5
.word Heaven_6
.word Heaven_7
.word Heaven_8

.end

Master_Track
May 22nd, 2008, 12:51 AM
thx, I'll try it out now ^^

@DJG: Try to download Anvil Studio.
I did it because I searched for programs which loop automatically (I was even able to loop a song, but only one instrument and that sounded odd..so I make it manually now ^^)
However, I was able to change the volume of my sound easily, and u can choose which instrument should have which volume.

E: didn't work :'(
what did I do wrong?
I think I just don't understand WHERE to put the songname_1_loop:

.include "MPlayDef.s"

.equ zelda2_grp, voicegroup000
.equ zelda2_pri, 0
.equ zelda2_rev, 0
.equ zelda2_mvl, 127
.equ zelda2_key, 0
.equ zelda2_tbs, 1
.equ zelda2_exg, 0
.equ zelda2_cmp, 1

.section .rodata
.global zelda2
.align 2

@**************** Track 1 (Midi-Chn.1) ****************@

zelda2_1:
.byte KEYSH , zelda2_key+0
@ 000 ----------------------------------------
.byte TEMPO , 148*zelda2_tbs/2
.byte VOICE , 71
.byte VOL , 74*zelda2_mvl/mxv
.byte N48 , As3 , v064
.byte W64
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 001 ----------------------------------------
zelda2_1_loop:
.byte N07 , As3 , v064
.byte W16
.byte N05 , Gs3
.byte W08
.byte N32 , As3
.byte W40
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte PEND
@ 002 ----------------------------------------
.byte PATT
.word zelda2_1_001
@ 003 ----------------------------------------
.byte N08 , As3 , v064
.byte W12
.byte N04 , Fn3
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N08
.byte W12
@ 004 ----------------------------------------
zelda2_1_004:
.byte N16 , As3 , v064
.byte W24
.byte N32 , Fn3
.byte W42
.byte N05 , As3
.byte W06
.byte N05
.byte W06
.byte Cn4
.byte W06
.byte Dn4
.byte W06
.byte Ds4
.byte W06
.byte PEND
@ 005 ----------------------------------------
zelda2_1_005:
.byte N44 , Fn4 , v064
.byte W60
.byte N08
.byte W12
.byte N07
.byte W08
.byte Fs4
.byte W08
.byte Gs4
.byte W08
.byte PEND
@ 006 ----------------------------------------
.byte N54 , As4
.byte W56
.byte N07
.byte W08
.byte N07
.byte W08
.byte N07
.byte W08
.byte Gs4
.byte W08
.byte Fs4
.byte W08
@ 007 ----------------------------------------
.byte Gs4
.byte W16
.byte Fs4
.byte W08
.byte N44 , Fn4
.byte W48
.byte N23
.byte W24
@ 008 ----------------------------------------
.byte N11 , Ds4
.byte W12
.byte N05
.byte W06
.byte Fn4
.byte W06
.byte N44 , Fs4
.byte W48
.byte N11 , Fn4
.byte W12
.byte Ds4
.byte W12
@ 009 ----------------------------------------
.byte Cs4
.byte W12
.byte N05
.byte W06
.byte Ds4
.byte W06
.byte N44 , Fn4
.byte W48
.byte N11 , Ds4
.byte W12
.byte Cs4
.byte W12
@ 010 ----------------------------------------
zelda2_1_010:
.byte N11 , Cn4 , v064
.byte W12
.byte N05
.byte W06
.byte Dn4
.byte W06
.byte N44 , En4
.byte W48
.byte N23 , Gn4
.byte W24
.byte PEND
@ 011 ----------------------------------------
.byte N08 , Fn4
.byte W12
.byte N04 , Fn3
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N08
.byte W12
@ 012 ----------------------------------------
.byte PATT
.word zelda2_1_004
@ 013 ----------------------------------------
.byte PATT
.word zelda2_1_005
@ 014 ----------------------------------------
.byte N68 , As4 , v064
.byte W72
.byte N23 , Cs5
.byte W24
@ 015 ----------------------------------------
.byte N12 , Cn5
.byte W24
.byte N40 , An4
.byte W48
.byte N23 , Fn4
.byte W24
@ 016 ----------------------------------------
.byte N52 , Fs4
.byte W72
.byte N23 , As4
.byte W24
@ 017 ----------------------------------------
.byte N12 , An4
.byte W24
.byte N40 , Fn4
.byte W48
.byte N23
.byte W24
@ 018 ----------------------------------------
.byte N44 , Fs4
.byte W72
.byte N23 , As4
.byte W24
@ 019 ----------------------------------------
.byte N11 , An4
.byte W24
.byte N44 , Fn4
.byte W48
.byte N23 , Dn4
.byte W24
@ 020 ----------------------------------------
.byte N44 , Ds4
.byte W72
.byte N23 , Fs4
.byte W24
@ 021 ----------------------------------------
.byte N11 , Fn4
.byte W24
.byte N44 , Cs4
.byte W48
.byte N23 , As3
.byte W24
@ 022 ----------------------------------------
.byte PATT
.word zelda2_1_010
@ 023 ----------------------------------------
.byte N08 , Fn4 , v064
.byte W12
.byte N04 , Fn3
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N08
.byte W08
@ 024 ----------------------------------------
.byte GOTO
.word zelda2_1_loop
.byte W06
@ 025 ----------------------------------------
.byte FINE

@**************** Track 2 (Midi-Chn.2) ****************@

zelda2_2:
.byte KEYSH , zelda2_key+0
@ 000 ----------------------------------------
zalda2_2_loop:
.byte VOICE , 71
.byte VOL , 95*zelda2_mvl/mxv
.byte PAN , c_v-1
.byte N48 , Dn3 , v060
.byte W64
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 001 ----------------------------------------
.byte N07 , Cn3
.byte W16
.byte N05
.byte W08
.byte N32
.byte W48
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 002 ----------------------------------------
.byte N07 , Cs3
.byte W16
.byte N05
.byte W08
.byte N32
.byte W40
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 003 ----------------------------------------
.byte N11
.byte W12
.byte N04 , An2
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N08
.byte W12
@ 004 ----------------------------------------
zelda2_2_004:
.byte N16 , Dn3 , v060
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte Cn3
.byte W08
.byte N11 , Dn3
.byte W18
.byte N05
.byte W06
.byte N05
.byte W06
.byte Ds3
.byte W06
.byte Fn3
.byte W06
.byte Gn3
.byte W06
.byte PEND
@ 005 ----------------------------------------
zelda2_2_005:
.byte N17 , Gs3 , v060
.byte W18
.byte N05 , As3
.byte W06
.byte N05
.byte W06
.byte Cn4
.byte W06
.byte Dn4
.byte W06
.byte Ds4
.byte W06
.byte N11 , Fn4
.byte W12
.byte N11
.byte W12
.byte N07 , Gs3
.byte W08
.byte As3
.byte W08
.byte Cn4
.byte W08
.byte PEND
@ 006 ----------------------------------------
.byte N17 , Cs4
.byte W18
.byte N05 , Fs3
.byte W06
.byte N05
.byte W06
.byte Gs3
.byte W06
.byte As3
.byte W06
.byte Cn4
.byte W06
.byte N11 , Cs4
.byte W12
.byte N11
.byte W12
.byte N07
.byte W08
.byte Cn4
.byte W08
.byte As3
.byte W08
@ 007 ----------------------------------------
.byte Cs4
.byte W16
.byte Gs3
.byte W08
.byte N07
.byte W08
.byte N07
.byte W08
.byte Fs3
.byte W08
.byte Gs3
.byte W16
.byte N07
.byte W08
.byte N07
.byte W08
.byte Fs3
.byte W08
.byte Gs3
.byte W08
@ 008 ----------------------------------------
.byte N14 , Fs3
.byte W16
.byte N03
.byte W04
.byte Fn3
.byte W04
.byte N15 , Fs3
.byte W16
.byte N03
.byte W04
.byte Gs3
.byte W04
.byte N23 , As3
.byte W24
.byte N11 , Gs3
.byte W12
.byte Fs3
.byte W12
@ 009 ----------------------------------------
.byte N15 , Fn3
.byte W16
.byte N03
.byte W04
.byte Ds3
.byte W04
.byte N15 , Fn3
.byte W16
.byte N03
.byte W04
.byte Fs3
.byte W04
.byte N23 , Gs3
.byte W24
.byte N11 , Fs3
.byte W12
.byte Fn3
.byte W12
@ 010 ----------------------------------------
zelda2_2_010:
.byte N23 , En3 , v060
.byte W24
.byte N17
.byte W18
.byte N05 , Fn3
.byte W06
.byte N15 , Gn3
.byte W16
.byte N03
.byte W04
.byte An3
.byte W04
.byte N11 , As3
.byte W12
.byte Cn4
.byte W12
.byte PEND
@ 011 ----------------------------------------
.byte N08 , An3
.byte W12
.byte N04 , An2
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N08
.byte W12
@ 012 ----------------------------------------
.byte PATT
.word zelda2_2_004
@ 013 ----------------------------------------
.byte PATT
.word zelda2_2_005
@ 014 ----------------------------------------
.byte N68 , Cs4 , v060
.byte W72
.byte N23 , En4
.byte W24
@ 015 ----------------------------------------
.byte N12 , Ds4
.byte W24
.byte N40 , Cn4
.byte W48
.byte N23 , An3
.byte W24
@ 016 ----------------------------------------
.byte N52 , Bn3
.byte W72
.byte N23 , Cs4
.byte W24
@ 017 ----------------------------------------
.byte N11 , Cn4
.byte W24
.byte N40 , An3
.byte W48
.byte N23
.byte W24
@ 018 ----------------------------------------
.byte N44 , Bn3
.byte W72
.byte N23 , Cs4
.byte W24
@ 019 ----------------------------------------
.byte N11 , Cn4
.byte W24
.byte N44 , An3
.byte W48
.byte N23
.byte W24
@ 020 ----------------------------------------
.byte N44 , Fs3
.byte W72
.byte N23 , Bn3
.byte W24
@ 021 ----------------------------------------
.byte N11 , As3
.byte W24
.byte N44 , Fn3
.byte W48
.byte N23 , Cs3
.byte W24
@ 022 ----------------------------------------
.byte PATT
.word zelda2_2_010
@ 023 ----------------------------------------
.byte N08 , An3 , v060
.byte W12
.byte N04 , An2
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N08
.byte W08
@ 024 ----------------------------------------
.byte GOTO
.word zelda2_2_loop
.byte W06
@ 025 ----------------------------------------
.byte FINE

@**************** Track 3 (Midi-Chn.3) ****************@

zelda2_3:
.byte KEYSH , zelda2_key+0
@ 000 ----------------------------------------
zelda2_3_loop:
.byte VOICE , 15
.byte VOL , 103*zelda2_mvl/mxv
.byte N16 , As1 , v127
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N16
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 001 ----------------------------------------
.byte N16 , Gs1
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N16
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 002 ----------------------------------------
.byte N16 , Fs1
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N16
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 003 ----------------------------------------
.byte N11
.byte W24
.byte N08 , Fn1
.byte W24
.byte N08
.byte W24
.byte N11 , Gn1
.byte W12
.byte An1
.byte W12
@ 004 ----------------------------------------
zelda2_3_004:
.byte N08 , As1 , v127
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte Gs1
.byte W08
.byte N08 , As1
.byte W24
.byte N08
.byte W24
.byte PEND
@ 005 ----------------------------------------
zelda2_3_005:
.byte N08 , Gs1 , v127
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte Fs1
.byte W08
.byte N08 , Gs1
.byte W24
.byte N08
.byte W24
.byte PEND
@ 006 ----------------------------------------
zelda2_3_006:
.byte N08 , Fs1 , v127
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte En1
.byte W08
.byte N08 , Fs1
.byte W24
.byte N08
.byte W24
.byte PEND
@ 007 ----------------------------------------
.byte N11 , Cs2
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte Bn1
.byte W08
.byte N11 , Cs2
.byte W24
.byte N11
.byte W24
@ 008 ----------------------------------------
.byte Bn1
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte As1
.byte W08
.byte N11 , Bn1
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte N07
.byte W08
@ 009 ----------------------------------------
.byte N11 , As1
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte Gs1
.byte W08
.byte N11 , As1
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte N07
.byte W08
@ 010 ----------------------------------------
.byte N11 , Cn2
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte As1
.byte W08
.byte N11 , Cn2
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte N07
.byte W08
@ 011 ----------------------------------------
.byte N08 , Fn1
.byte W24
.byte N08
.byte W24
.byte N08
.byte W24
.byte N11 , Gn1
.byte W12
.byte An1
.byte W12
@ 012 ----------------------------------------
.byte PATT
.word zelda2_3_004
@ 013 ----------------------------------------
.byte PATT
.word zelda2_3_005
@ 014 ----------------------------------------
.byte PATT
.word zelda2_3_006
@ 015 ----------------------------------------
.byte N08 , Fn1 , v127
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N07 , Ds1
.byte W08
.byte N08 , Fn1
.byte W24
.byte N08
.byte W24
@ 016 ----------------------------------------
zelda2_3_016:
.byte N05 , En1 , v127
.byte W08
.byte As1
.byte W08
.byte Cs2
.byte W08
.byte En2
.byte W08
.byte As2
.byte W08
.byte Cs3
.byte W08
.byte N08 , En3
.byte W48
.byte PEND
@ 017 ----------------------------------------
zelda2_3_017:
.byte N08 , Fn3 , v127
.byte W24
.byte N05 , Fn1
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N08
.byte W48
.byte PEND
@ 018 ----------------------------------------
.byte PATT
.word zelda2_3_016
@ 019 ----------------------------------------
.byte PATT
.word zelda2_3_017
@ 020 ----------------------------------------
.byte N08 , Bn1 , v127
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte As1
.byte W08
.byte N08 , Bn1
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 021 ----------------------------------------
.byte N08 , As1
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte Gs1
.byte W08
.byte N08 , As1
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 022 ----------------------------------------
.byte N08 , Cn2
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N08
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 023 ----------------------------------------
.byte N08 , Fn1
.byte W24
.byte N08
.byte W24
.byte W02
.byte N08
.byte W22
.byte N11 , Gn1
.byte W12
.byte An1
.byte W11
@ 024 ----------------------------------------
.byte GOTO
.word zelda2_3_loop
.byte W06
@ 025 ----------------------------------------
.byte FINE

@**************** Track 4 (Midi-Chn.10) ****************@

zelda2_4:
.byte KEYSH , zelda2_key+0
@ 000 ----------------------------------------
zelda2_4_loop:
.byte VOICE , 0
.byte VOL , 100*zelda2_mvl/mxv
.byte N16 , Dn1 , v044
.byte W72
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 001 ----------------------------------------
zelda2_4_001:
.byte N16 , Dn1 , v044
.byte W72
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte PEND
@ 002 ----------------------------------------
.byte PATT
.word zelda2_4_001
@ 003 ----------------------------------------
.byte N08 , Dn1 , v044
.byte W24
.byte N08
.byte W24
.byte N08
.byte W24
.byte N08
.byte W12
.byte N08
.byte W12
@ 004 ----------------------------------------
zelda2_4_004:
.byte N08 , Dn1 , v044
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N08
.byte W24
.byte N08
.byte W24
.byte PEND
@ 005 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 006 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 007 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 008 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 009 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 010 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 011 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 012 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 013 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 014 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 015 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 016 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 017 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 018 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 019 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 020 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 021 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 022 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 023 ----------------------------------------
.byte N08 , Dn1 , v044
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N08
.byte W24
.byte N08
.byte W08
@ 024 ----------------------------------------
.byte GOTO
.word zelda2_4_loop
.byte W06
@ 025 ----------------------------------------
.byte FINE

@******************************************************@
.align 2

zelda2:
.byte 4 @ NumTrks
.byte 0 @ NumBlks
.byte zelda2_pri @ Priority
.byte zelda2_rev @ Reverb.

.word zelda2_grp

.word zelda2_1
.word zelda2_2
.word zelda2_3
.word zelda2_4

.end
a few notes are played, maybe a second long, and then the game freezes.
I know I inserted it right O.o

It only looks like spaces would be wrong in the whole thing, in the original file they're okay. It's because of copying.

clonex25
May 22nd, 2008, 07:42 PM
thx, I'll try it out now ^^

@DJG: Try to download Anvil Studio.
I did it because I searched for programs which loop automatically (I was even able to loop a song, but only one instrument and that sounded odd..so I make it manually now ^^)
However, I was able to change the volume of my sound easily, and u can choose which instrument should have which volume.

E: didn't work :'(
what did I do wrong?
I think I just don't understand WHERE to put the songname_1_loop:

.include "MPlayDef.s"

.equ zelda2_grp, voicegroup000
.equ zelda2_pri, 0
.equ zelda2_rev, 0
.equ zelda2_mvl, 127
.equ zelda2_key, 0
.equ zelda2_tbs, 1
.equ zelda2_exg, 0
.equ zelda2_cmp, 1

.section .rodata
.global zelda2
.align 2

@**************** Track 1 (Midi-Chn.1) ****************@

zelda2_1:
.byte KEYSH , zelda2_key+0
@ 000 ----------------------------------------
.byte TEMPO , 148*zelda2_tbs/2
.byte VOICE , 71
.byte VOL , 74*zelda2_mvl/mxv
.byte N48 , As3 , v064
.byte W64
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 001 ----------------------------------------
zelda2_1_loop:
.byte N07 , As3 , v064
.byte W16
.byte N05 , Gs3
.byte W08
.byte N32 , As3
.byte W40
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte PEND
@ 002 ----------------------------------------
.byte PATT
.word zelda2_1_001
@ 003 ----------------------------------------
.byte N08 , As3 , v064
.byte W12
.byte N04 , Fn3
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N08
.byte W12
@ 004 ----------------------------------------
zelda2_1_004:
.byte N16 , As3 , v064
.byte W24
.byte N32 , Fn3
.byte W42
.byte N05 , As3
.byte W06
.byte N05
.byte W06
.byte Cn4
.byte W06
.byte Dn4
.byte W06
.byte Ds4
.byte W06
.byte PEND
@ 005 ----------------------------------------
zelda2_1_005:
.byte N44 , Fn4 , v064
.byte W60
.byte N08
.byte W12
.byte N07
.byte W08
.byte Fs4
.byte W08
.byte Gs4
.byte W08
.byte PEND
@ 006 ----------------------------------------
.byte N54 , As4
.byte W56
.byte N07
.byte W08
.byte N07
.byte W08
.byte N07
.byte W08
.byte Gs4
.byte W08
.byte Fs4
.byte W08
@ 007 ----------------------------------------
.byte Gs4
.byte W16
.byte Fs4
.byte W08
.byte N44 , Fn4
.byte W48
.byte N23
.byte W24
@ 008 ----------------------------------------
.byte N11 , Ds4
.byte W12
.byte N05
.byte W06
.byte Fn4
.byte W06
.byte N44 , Fs4
.byte W48
.byte N11 , Fn4
.byte W12
.byte Ds4
.byte W12
@ 009 ----------------------------------------
.byte Cs4
.byte W12
.byte N05
.byte W06
.byte Ds4
.byte W06
.byte N44 , Fn4
.byte W48
.byte N11 , Ds4
.byte W12
.byte Cs4
.byte W12
@ 010 ----------------------------------------
zelda2_1_010:
.byte N11 , Cn4 , v064
.byte W12
.byte N05
.byte W06
.byte Dn4
.byte W06
.byte N44 , En4
.byte W48
.byte N23 , Gn4
.byte W24
.byte PEND
@ 011 ----------------------------------------
.byte N08 , Fn4
.byte W12
.byte N04 , Fn3
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N08
.byte W12
@ 012 ----------------------------------------
.byte PATT
.word zelda2_1_004
@ 013 ----------------------------------------
.byte PATT
.word zelda2_1_005
@ 014 ----------------------------------------
.byte N68 , As4 , v064
.byte W72
.byte N23 , Cs5
.byte W24
@ 015 ----------------------------------------
.byte N12 , Cn5
.byte W24
.byte N40 , An4
.byte W48
.byte N23 , Fn4
.byte W24
@ 016 ----------------------------------------
.byte N52 , Fs4
.byte W72
.byte N23 , As4
.byte W24
@ 017 ----------------------------------------
.byte N12 , An4
.byte W24
.byte N40 , Fn4
.byte W48
.byte N23
.byte W24
@ 018 ----------------------------------------
.byte N44 , Fs4
.byte W72
.byte N23 , As4
.byte W24
@ 019 ----------------------------------------
.byte N11 , An4
.byte W24
.byte N44 , Fn4
.byte W48
.byte N23 , Dn4
.byte W24
@ 020 ----------------------------------------
.byte N44 , Ds4
.byte W72
.byte N23 , Fs4
.byte W24
@ 021 ----------------------------------------
.byte N11 , Fn4
.byte W24
.byte N44 , Cs4
.byte W48
.byte N23 , As3
.byte W24
@ 022 ----------------------------------------
.byte PATT
.word zelda2_1_010
@ 023 ----------------------------------------
.byte N08 , Fn4 , v064
.byte W12
.byte N04 , Fn3
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N08
.byte W08
@ 024 ----------------------------------------
.byte GOTO
.word zelda2_1_loop
.byte W06
@ 025 ----------------------------------------
.byte FINE

@**************** Track 2 (Midi-Chn.2) ****************@

zelda2_2:
.byte KEYSH , zelda2_key+0
@ 000 ----------------------------------------
zalda2_2_loop:
.byte VOICE , 71
.byte VOL , 95*zelda2_mvl/mxv
.byte PAN , c_v-1
.byte N48 , Dn3 , v060
.byte W64
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 001 ----------------------------------------
.byte N07 , Cn3
.byte W16
.byte N05
.byte W08
.byte N32
.byte W48
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 002 ----------------------------------------
.byte N07 , Cs3
.byte W16
.byte N05
.byte W08
.byte N32
.byte W40
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 003 ----------------------------------------
.byte N11
.byte W12
.byte N04 , An2
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N08
.byte W12
@ 004 ----------------------------------------
zelda2_2_004:
.byte N16 , Dn3 , v060
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte Cn3
.byte W08
.byte N11 , Dn3
.byte W18
.byte N05
.byte W06
.byte N05
.byte W06
.byte Ds3
.byte W06
.byte Fn3
.byte W06
.byte Gn3
.byte W06
.byte PEND
@ 005 ----------------------------------------
zelda2_2_005:
.byte N17 , Gs3 , v060
.byte W18
.byte N05 , As3
.byte W06
.byte N05
.byte W06
.byte Cn4
.byte W06
.byte Dn4
.byte W06
.byte Ds4
.byte W06
.byte N11 , Fn4
.byte W12
.byte N11
.byte W12
.byte N07 , Gs3
.byte W08
.byte As3
.byte W08
.byte Cn4
.byte W08
.byte PEND
@ 006 ----------------------------------------
.byte N17 , Cs4
.byte W18
.byte N05 , Fs3
.byte W06
.byte N05
.byte W06
.byte Gs3
.byte W06
.byte As3
.byte W06
.byte Cn4
.byte W06
.byte N11 , Cs4
.byte W12
.byte N11
.byte W12
.byte N07
.byte W08
.byte Cn4
.byte W08
.byte As3
.byte W08
@ 007 ----------------------------------------
.byte Cs4
.byte W16
.byte Gs3
.byte W08
.byte N07
.byte W08
.byte N07
.byte W08
.byte Fs3
.byte W08
.byte Gs3
.byte W16
.byte N07
.byte W08
.byte N07
.byte W08
.byte Fs3
.byte W08
.byte Gs3
.byte W08
@ 008 ----------------------------------------
.byte N14 , Fs3
.byte W16
.byte N03
.byte W04
.byte Fn3
.byte W04
.byte N15 , Fs3
.byte W16
.byte N03
.byte W04
.byte Gs3
.byte W04
.byte N23 , As3
.byte W24
.byte N11 , Gs3
.byte W12
.byte Fs3
.byte W12
@ 009 ----------------------------------------
.byte N15 , Fn3
.byte W16
.byte N03
.byte W04
.byte Ds3
.byte W04
.byte N15 , Fn3
.byte W16
.byte N03
.byte W04
.byte Fs3
.byte W04
.byte N23 , Gs3
.byte W24
.byte N11 , Fs3
.byte W12
.byte Fn3
.byte W12
@ 010 ----------------------------------------
zelda2_2_010:
.byte N23 , En3 , v060
.byte W24
.byte N17
.byte W18
.byte N05 , Fn3
.byte W06
.byte N15 , Gn3
.byte W16
.byte N03
.byte W04
.byte An3
.byte W04
.byte N11 , As3
.byte W12
.byte Cn4
.byte W12
.byte PEND
@ 011 ----------------------------------------
.byte N08 , An3
.byte W12
.byte N04 , An2
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N08
.byte W12
@ 012 ----------------------------------------
.byte PATT
.word zelda2_2_004
@ 013 ----------------------------------------
.byte PATT
.word zelda2_2_005
@ 014 ----------------------------------------
.byte N68 , Cs4 , v060
.byte W72
.byte N23 , En4
.byte W24
@ 015 ----------------------------------------
.byte N12 , Ds4
.byte W24
.byte N40 , Cn4
.byte W48
.byte N23 , An3
.byte W24
@ 016 ----------------------------------------
.byte N52 , Bn3
.byte W72
.byte N23 , Cs4
.byte W24
@ 017 ----------------------------------------
.byte N11 , Cn4
.byte W24
.byte N40 , An3
.byte W48
.byte N23
.byte W24
@ 018 ----------------------------------------
.byte N44 , Bn3
.byte W72
.byte N23 , Cs4
.byte W24
@ 019 ----------------------------------------
.byte N11 , Cn4
.byte W24
.byte N44 , An3
.byte W48
.byte N23
.byte W24
@ 020 ----------------------------------------
.byte N44 , Fs3
.byte W72
.byte N23 , Bn3
.byte W24
@ 021 ----------------------------------------
.byte N11 , As3
.byte W24
.byte N44 , Fn3
.byte W48
.byte N23 , Cs3
.byte W24
@ 022 ----------------------------------------
.byte PATT
.word zelda2_2_010
@ 023 ----------------------------------------
.byte N08 , An3 , v060
.byte W12
.byte N04 , An2
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N08
.byte W08
@ 024 ----------------------------------------
.byte GOTO
.word zelda2_2_loop
.byte W06
@ 025 ----------------------------------------
.byte FINE

@**************** Track 3 (Midi-Chn.3) ****************@

zelda2_3:
.byte KEYSH , zelda2_key+0
@ 000 ----------------------------------------
zelda2_3_loop:
.byte VOICE , 15
.byte VOL , 103*zelda2_mvl/mxv
.byte N16 , As1 , v127
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N16
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 001 ----------------------------------------
.byte N16 , Gs1
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N16
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 002 ----------------------------------------
.byte N16 , Fs1
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N16
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 003 ----------------------------------------
.byte N11
.byte W24
.byte N08 , Fn1
.byte W24
.byte N08
.byte W24
.byte N11 , Gn1
.byte W12
.byte An1
.byte W12
@ 004 ----------------------------------------
zelda2_3_004:
.byte N08 , As1 , v127
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte Gs1
.byte W08
.byte N08 , As1
.byte W24
.byte N08
.byte W24
.byte PEND
@ 005 ----------------------------------------
zelda2_3_005:
.byte N08 , Gs1 , v127
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte Fs1
.byte W08
.byte N08 , Gs1
.byte W24
.byte N08
.byte W24
.byte PEND
@ 006 ----------------------------------------
zelda2_3_006:
.byte N08 , Fs1 , v127
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte En1
.byte W08
.byte N08 , Fs1
.byte W24
.byte N08
.byte W24
.byte PEND
@ 007 ----------------------------------------
.byte N11 , Cs2
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte Bn1
.byte W08
.byte N11 , Cs2
.byte W24
.byte N11
.byte W24
@ 008 ----------------------------------------
.byte Bn1
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte As1
.byte W08
.byte N11 , Bn1
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte N07
.byte W08
@ 009 ----------------------------------------
.byte N11 , As1
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte Gs1
.byte W08
.byte N11 , As1
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte N07
.byte W08
@ 010 ----------------------------------------
.byte N11 , Cn2
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte As1
.byte W08
.byte N11 , Cn2
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte N07
.byte W08
@ 011 ----------------------------------------
.byte N08 , Fn1
.byte W24
.byte N08
.byte W24
.byte N08
.byte W24
.byte N11 , Gn1
.byte W12
.byte An1
.byte W12
@ 012 ----------------------------------------
.byte PATT
.word zelda2_3_004
@ 013 ----------------------------------------
.byte PATT
.word zelda2_3_005
@ 014 ----------------------------------------
.byte PATT
.word zelda2_3_006
@ 015 ----------------------------------------
.byte N08 , Fn1 , v127
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N07 , Ds1
.byte W08
.byte N08 , Fn1
.byte W24
.byte N08
.byte W24
@ 016 ----------------------------------------
zelda2_3_016:
.byte N05 , En1 , v127
.byte W08
.byte As1
.byte W08
.byte Cs2
.byte W08
.byte En2
.byte W08
.byte As2
.byte W08
.byte Cs3
.byte W08
.byte N08 , En3
.byte W48
.byte PEND
@ 017 ----------------------------------------
zelda2_3_017:
.byte N08 , Fn3 , v127
.byte W24
.byte N05 , Fn1
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N08
.byte W48
.byte PEND
@ 018 ----------------------------------------
.byte PATT
.word zelda2_3_016
@ 019 ----------------------------------------
.byte PATT
.word zelda2_3_017
@ 020 ----------------------------------------
.byte N08 , Bn1 , v127
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte As1
.byte W08
.byte N08 , Bn1
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 021 ----------------------------------------
.byte N08 , As1
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte Gs1
.byte W08
.byte N08 , As1
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 022 ----------------------------------------
.byte N08 , Cn2
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N08
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 023 ----------------------------------------
.byte N08 , Fn1
.byte W24
.byte N08
.byte W24
.byte W02
.byte N08
.byte W22
.byte N11 , Gn1
.byte W12
.byte An1
.byte W11
@ 024 ----------------------------------------
.byte GOTO
.word zelda2_3_loop
.byte W06
@ 025 ----------------------------------------
.byte FINE

@**************** Track 4 (Midi-Chn.10) ****************@

zelda2_4:
.byte KEYSH , zelda2_key+0
@ 000 ----------------------------------------
zelda2_4_loop:
.byte VOICE , 0
.byte VOL , 100*zelda2_mvl/mxv
.byte N16 , Dn1 , v044
.byte W72
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 001 ----------------------------------------
zelda2_4_001:
.byte N16 , Dn1 , v044
.byte W72
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte PEND
@ 002 ----------------------------------------
.byte PATT
.word zelda2_4_001
@ 003 ----------------------------------------
.byte N08 , Dn1 , v044
.byte W24
.byte N08
.byte W24
.byte N08
.byte W24
.byte N08
.byte W12
.byte N08
.byte W12
@ 004 ----------------------------------------
zelda2_4_004:
.byte N08 , Dn1 , v044
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N08
.byte W24
.byte N08
.byte W24
.byte PEND
@ 005 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 006 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 007 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 008 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 009 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 010 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 011 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 012 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 013 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 014 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 015 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 016 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 017 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 018 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 019 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 020 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 021 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 022 ----------------------------------------
.byte PATT
.word zelda2_4_004
@ 023 ----------------------------------------
.byte N08 , Dn1 , v044
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N08
.byte W24
.byte N08
.byte W08
@ 024 ----------------------------------------
.byte GOTO
.word zelda2_4_loop
.byte W06
@ 025 ----------------------------------------
.byte FINE

@******************************************************@
.align 2

zelda2:
.byte 4 @ NumTrks
.byte 0 @ NumBlks
.byte zelda2_pri @ Priority
.byte zelda2_rev @ Reverb.

.word zelda2_grp

.word zelda2_1
.word zelda2_2
.word zelda2_3
.word zelda2_4

.end
a few notes are played, maybe a second long, and then the game freezes.
I know I inserted it right O.o

It only looks like spaces would be wrong in the whole thing, in the original file they're okay. It's because of copying.

@ 000 ----------------------------------------
zalda2_2_loop: --- This is where things went wrong...
.byte VOICE , 71
.byte VOL , 95*zelda2_mvl/mxv
.byte PAN , c_v-1
.byte N48 , Dn3 , v060

Always check the spelling of your labels before inserting it in Sappy. Also, i recommend to place the labels AFTER the track's major info. Like this:

@ 000 ----------------------------------------
.byte VOICE , 71
.byte VOL , 95*zelda2_mvl/mxv
.byte PAN , c_v-1
zelda2_2_loop:
.byte N48 , Dn3 , v060

One more question: Do you expect that the looping starts at @001 (Measure 2 in MIDI)? If yes, then you should place the loop in it and place it BEFORE the pattern labels for example:

@ 001 ----------------------------------------
zelda2_2_loop:
zelda2_2_001:
...

@DJG: I've checked your code and I found no problems regarding the loop placements. Can you PM me for a link to the files you want to insert so that I may know the problem (actually, zel has encountered no porblem for Cyrus' Battle theme, which is from D/P and some Final Fantasy music, for Carlos' battle theme).

Master_Track
May 23rd, 2008, 12:42 AM
wow thx, I think I understand it now :)
try it out today.
And now I'll check the spelling 2 times xD

clonex25
May 23rd, 2008, 07:11 PM
hey... I got a question, but before that, I noticed this in your first post...

from that, is it the last track in new bark song?
if so, then does that mean we can only add music which is only up to 10?

other than that, it's a great tutorial. :)

No, the one you showed me (newbark_1_010:) is a pattern label. You may use any number of tracks as you want (just like in Zoids Legacy, which has 12 tracks) butI recommend to limit it to 10 tracks, as the Pokemon ROMs suggest.

destinedjagold
May 23rd, 2008, 08:35 PM
hm.., I see, so ten tracks, ei, so I guess it's the safest. :3

also, yeah, I'll PM you the link. thankies in advance...

Magnius
May 29th, 2008, 08:25 AM
I think I've pretty much given up on successfully looping. Just too hard a concept for me to grasp. I mean it's like, how do you know what measure it is? How do you know where to loop? Too complicated. When the thing started crashing I pretty much said screw it because looping doesn't make sense to me(Could've sworn I put a loop in like 3 different places on a track and it still looped the same thing, I mean what sense does that make?).

Master_Track
May 29th, 2008, 11:17 AM
I tryed loopin quite often now, and again instead of looping, the game freezes when the sound ends and the last note keeps on playing...
I'm really sure I looped it right, I did it exactly like in ur examples O.o

but well, then I'll have to try again..and again..and again, untill it works.

clonex25
May 30th, 2008, 02:18 AM
I think I've pretty much given up on successfully looping. Just too hard a concept for me to grasp. I mean it's like, how do you know what measure it is? How do you know where to loop? Too complicated. When the thing started crashing I pretty much said screw it because looping doesn't make sense to me(Could've sworn I put a loop in like 3 different places on a track and it still looped the same thing, I mean what sense does that make?).

I know, it's hard to know exactly where to loop. But to make things simple, know the parts which you want to hear over and over again. Then, place a marker (in the MIDI) to mark the parts you want to loop. Open the S file and find the measure number of the loop start (mark it Start/Begin in the MIDI) and subtract it by 1. For example, the measure is at 10, you must find @009 in the S file and place the loop label.

Hardy Har Har
May 31st, 2008, 01:41 AM
hi, can this work only on the first track?

destinedjagold
May 31st, 2008, 06:49 AM
nope...
you can put those to all tracks...

or at least, that's what I know... :\

Magnius
May 31st, 2008, 07:11 AM
I know, it's hard to know exactly where to loop. But to make things simple, know the parts which you want to hear over and over again. Then, place a marker (in the MIDI) to mark the parts you want to loop. Open the S file and find the measure number of the loop start (mark it Start/Begin in the MIDI) and subtract it by 1. For example, the measure is at 10, you must find @009 in the S file and place the loop label.
I think it might even be giving me the wrong track numbers in the s file though. For instance I found something like "Fs, G, A" which is exactly the notes the song plays where I want to loop, but then I put the loop before that and nothing happens.

clonex25
May 31st, 2008, 10:11 PM
hi, can this work only on the first track?

it may work for all tracks, provided that each track has its own loop (i will be updating the thread for the multi-track looping, for i still can't get the time due to my job demands).

Hardy Har Har
June 5th, 2008, 01:47 AM
Is the following possible also when looping? (It's in the spoiler)
@ 095 ----------------------------------------
.byte PATT
.word PKMNDP_-_GymLeaderRemix_1_019
.byte GOTO
.word PKMNDP_-_GymLeaderRemix_1_loop
.byte FINE

clonex25
June 5th, 2008, 02:43 AM
Is the following possible also when looping? (It's in the spoiler)
@ 095 ----------------------------------------
.byte PATT
.word PKMNDP_-_GymLeaderRemix_1_019
.byte GOTO
.word PKMNDP_-_GymLeaderRemix_1_loop
.byte FINE

I haven't tried this before, but it may work. Post here if something goes wrong.

Hardy Har Har
June 5th, 2008, 03:06 AM
I haven't tried this before, but it may work. Post here if something goes wrong.
It already works. Thanks for everything...

Teh Baro
June 18th, 2008, 12:56 AM
I'm glad you posted this because, although it all started with a post by me, I never had it clear.
Give and you shall receive.

shinysquirtle3
June 21st, 2008, 12:26 PM
how do you loop D/P music? my brother's working on a hack of his own, and he wants to use the Cyrus battle music for one of the 3 rivals in it.

Tony the Awesome
June 21st, 2008, 12:43 PM
how do you loop D/P music? my brother's working on a hack of his own, and he wants to use the Cyrus battle music for one of the 3 rivals in it.

It's the same thing as others. Just get it to an .s file and follow the tutorial.

shinysquirtle3
June 21st, 2008, 06:25 PM
It's the same thing as others. Just get it to an .s file and follow the tutorial.

how do I get it to an .s file?

Master_Track
June 21st, 2008, 11:55 PM
with the help of midi2agb, just drag it onto the .exe file and a s-file will be created in the same folder.
the midi file will still be there.

Master_Track
July 1st, 2008, 09:50 AM
it's been some time since the last post, so I hope my double posting is okay.
I've read your tutorial really carefully and I completely understand it now (though I have still problems figuring out where to loop xD But I'll get this too).
There's only one thing bothering me, this part of ther tes_r:
@ 050 ----------------------------------------
.byte N92 , Fs3 , v064
.byte W92
.byte W02
.byte GOTO
.word tes_7_loop
.byte FINE

@**************** Track 8 (Midi-Chn.10) ****************@

Is it a mistake in the tes_r file or am I not understanding everything?
here, the w values together are w92 + w02 = w94, but it has to be w96 like in all the other tracks.
So, a mistake or is there a rule I don't know? ^^
(it's the same like the normal tes file, I checked it. the only difference is the loop, the values are the same).

Hope you read this ^^

clonex25
July 1st, 2008, 10:11 PM
it's been some time since the last post, so I hope my double posting is okay.
I've read your tutorial really carefully and I completely understand it now (though I have still problems figuring out where to loop xD But I'll get this too).
There's only one thing bothering me, this part of ther tes_r:


Is it a mistake in the tes_r file or am I not understanding everything?
here, the w values together are w92 + w02 = w94, but it has to be w96 like in all the other tracks.
So, a mistake or is there a rule I don't know? ^^
(it's the same like the normal tes file, I checked it. the only difference is the loop, the values are the same).

Hope you read this ^^

Well, first of all, I would like to thank you for that (I didn't notice that because I was in a rush that time, I forgot to double check). To make it equal to 96 just modify the Wxx code (without anything before it) to W04 to make it W96.

addman999
July 12th, 2008, 01:57 AM
can someone tell why this will not work. it assembles in sappy but in the game there is silence. this tune worked when i hadn't tried to loop it.

.include "MPlayDef.s"

.equ Zelda_grp, voicegroup000
.equ Zelda_pri, 0
.equ Zelda_rev, 0
.equ Zelda_mvl, 127
.equ Zelda_key, 0
.equ Zelda_tbs, 1
.equ Zelda_exg, 0
.equ Zelda_cmp, 1

.section .rodata
.global Zelda
.align 2

@**************** Track 1 (Midi-Chn.1) ****************@

Zelda_1:
.byte VOL , 127*Zelda_mvl/mxv
.byte KEYSH , Zelda_key+0
@ 000 ----------------------------------------
.byte TEMPO , 148*Zelda_tbs/2
.byte VOICE , 71
.byte N48 , As3 , v064
.byte W64
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 001 ----------------------------------------
Zelda_1_001:
.byte N07 , As3 , v064
.byte W16
.byte N05 , Gs3
.byte W08
.byte N32 , As3
.byte W40
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte PEND
@ 002 ----------------------------------------
.byte PATT
.word Zelda_1_001
@ 003 ----------------------------------------
.byte N08 , As3 , v064
.byte W12
.byte N04 , Fn3
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N08
.byte W12
@ 004 ----------------------------------------
Zelda_1_004:
.byte N16 , As3 , v064
.byte W24
.byte N32 , Fn3
.byte W42
.byte N05 , As3
.byte W06
.byte N05
.byte W06
.byte Cn4
.byte W06
.byte Dn4
.byte W06
.byte Ds4
.byte W06
.byte PEND
@ 005 ----------------------------------------
Zelda_1_005:
.byte N44 , Fn4 , v064
.byte W60
.byte N08
.byte W12
.byte N07
.byte W08
.byte Fs4
.byte W08
.byte Gs4
.byte W08
.byte PEND
@ 006 ----------------------------------------
.byte N54 , As4
.byte W56
.byte N07
.byte W08
.byte N07
.byte W08
.byte N07
.byte W08
.byte Gs4
.byte W08
.byte Fs4
.byte W08
@ 007 ----------------------------------------
.byte Gs4
.byte W16
.byte Fs4
.byte W08
.byte N44 , Fn4
.byte W48
.byte N23
.byte W24
@ 008 ----------------------------------------
.byte N11 , Ds4
.byte W12
.byte N05
.byte W06
.byte Fn4
.byte W06
.byte N44 , Fs4
.byte W48
.byte N11 , Fn4
.byte W12
.byte Ds4
.byte W12
@ 009 ----------------------------------------
.byte Cs4
.byte W12
.byte N05
.byte W06
.byte Ds4
.byte W06
.byte N44 , Fn4
.byte W48
.byte N11 , Ds4
.byte W12
.byte Cs4
.byte W12
@ 010 ----------------------------------------
Zelda_1_loop:
Zelda_1_010:
.byte N11 , Cn4 , v064
.byte W12
.byte N05
.byte W06
.byte Dn4
.byte W06
.byte N44 , En4
.byte W48
.byte N23 , Gn4
.byte W24
.byte PEND
@ 011 ----------------------------------------
.byte N08 , Fn4
.byte W12
.byte N04 , Fn3
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N08
.byte W12
@ 012 ----------------------------------------
.byte PATT
.word Zelda_1_004
@ 013 ----------------------------------------
.byte PATT
.word Zelda_1_005
@ 014 ----------------------------------------
.byte N68 , As4 , v064
.byte W72
.byte N23 , Cs5
.byte W24
@ 015 ----------------------------------------
.byte N12 , Cn5
.byte W24
.byte N40 , An4
.byte W48
.byte N23 , Fn4
.byte W24
@ 016 ----------------------------------------
.byte N52 , Fs4
.byte W72
.byte N23 , As4
.byte W24
@ 017 ----------------------------------------
.byte N12 , An4
.byte W24
.byte N40 , Fn4
.byte W48
.byte N23
.byte W24
@ 018 ----------------------------------------
.byte N44 , Fs4
.byte W72
.byte N23 , As4
.byte W24
@ 019 ----------------------------------------
.byte N11 , An4
.byte W24
.byte N44 , Fn4
.byte W48
.byte N23 , Dn4
.byte W24
@ 020 ----------------------------------------
.byte N44 , Ds4
.byte W72
.byte N23 , Fs4
.byte W24
@ 021 ----------------------------------------
.byte N11 , Fn4
.byte W24
.byte N44 , Cs4
.byte W48
.byte N23 , As3
.byte W24
@ 022 ----------------------------------------
.byte PATT
.word Zelda_1_010
@ 023 ----------------------------------------
.byte N08 , Fn4 , v064
.byte W12
.byte N04 , Fn3
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N08
.byte W08
.byte FINE

@**************** Track 2 (Midi-Chn.2) ****************@

Zelda_2:
.byte VOL , 127*Zelda_mvl/mxv
.byte KEYSH , Zelda_key+0
@ 000 ----------------------------------------
.byte VOICE , 71
.byte PAN , c_v-1
.byte N48 , Dn3 , v060
.byte W64
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 001 ----------------------------------------
.byte N07 , Cn3
.byte W16
.byte N05
.byte W08
.byte N32
.byte W48
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 002 ----------------------------------------
.byte N07 , Cs3
.byte W16
.byte N05
.byte W08
.byte N32
.byte W40
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 003 ----------------------------------------
.byte N11
.byte W12
.byte N04 , An2
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N08
.byte W12
@ 004 ----------------------------------------
Zelda_2_004:
.byte N16 , Dn3 , v060
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte Cn3
.byte W08
.byte N11 , Dn3
.byte W18
.byte N05
.byte W06
.byte N05
.byte W06
.byte Ds3
.byte W06
.byte Fn3
.byte W06
.byte Gn3
.byte W06
.byte PEND
@ 005 ----------------------------------------
Zelda_2_005:
.byte N17 , Gs3 , v060
.byte W18
.byte N05 , As3
.byte W06
.byte N05
.byte W06
.byte Cn4
.byte W06
.byte Dn4
.byte W06
.byte Ds4
.byte W06
.byte N11 , Fn4
.byte W12
.byte N11
.byte W12
.byte N07 , Gs3
.byte W08
.byte As3
.byte W08
.byte Cn4
.byte W08
.byte PEND
@ 006 ----------------------------------------
.byte N17 , Cs4
.byte W18
.byte N05 , Fs3
.byte W06
.byte N05
.byte W06
.byte Gs3
.byte W06
.byte As3
.byte W06
.byte Cn4
.byte W06
.byte N11 , Cs4
.byte W12
.byte N11
.byte W12
.byte N07
.byte W08
.byte Cn4
.byte W08
.byte As3
.byte W08
@ 007 ----------------------------------------
.byte Cs4
.byte W16
.byte Gs3
.byte W08
.byte N07
.byte W08
.byte N07
.byte W08
.byte Fs3
.byte W08
.byte Gs3
.byte W16
.byte N07
.byte W08
.byte N07
.byte W08
.byte Fs3
.byte W08
.byte Gs3
.byte W08
@ 008 ----------------------------------------
.byte N14 , Fs3
.byte W16
.byte N03
.byte W04
.byte Fn3
.byte W04
.byte N16 , Fs3
.byte W16
.byte N03
.byte W04
.byte Gs3
.byte W04
.byte N23 , As3
.byte W24
.byte N11 , Gs3
.byte W12
.byte Fs3
.byte W12
@ 009 ----------------------------------------
.byte N16 , Fn3
.byte W16
.byte N03
.byte W04
.byte Ds3
.byte W04
.byte N16 , Fn3
.byte W16
.byte N03
.byte W04
.byte Fs3
.byte W04
.byte N23 , Gs3
.byte W24
.byte N11 , Fs3
.byte W12
.byte Fn3
.byte W12
@ 010 ----------------------------------------
Zelda_2_010:
.byte N23 , En3 , v060
.byte W24
.byte N17
.byte W18
.byte N05 , Fn3
.byte W06
.byte N16 , Gn3
.byte W16
.byte N03
.byte W04
.byte An3
.byte W04
.byte N11 , As3
.byte W12
.byte Cn4
.byte W12
.byte PEND
@ 011 ----------------------------------------
.byte N08 , An3
.byte W12
.byte N04 , An2
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N08
.byte W12
@ 012 ----------------------------------------
.byte PATT
.word Zelda_2_004
@ 013 ----------------------------------------
.byte PATT
.word Zelda_2_005
@ 014 ----------------------------------------
.byte N68 , Cs4 , v060
.byte W72
.byte N23 , En4
.byte W24
@ 015 ----------------------------------------
.byte N12 , Ds4
.byte W24
.byte N40 , Cn4
.byte W48
.byte N23 , An3
.byte W24
@ 016 ----------------------------------------
.byte N52 , Bn3
.byte W72
.byte N23 , Cs4
.byte W24
@ 017 ----------------------------------------
.byte N11 , Cn4
.byte W24
.byte N40 , An3
.byte W48
.byte N23
.byte W24
@ 018 ----------------------------------------
.byte N44 , Bn3
.byte W72
.byte N23 , Cs4
.byte W24
@ 019 ----------------------------------------
.byte N11 , Cn4
.byte W24
.byte N44 , An3
.byte W48
.byte N23
.byte W24
@ 020 ----------------------------------------
.byte N44 , Fs3
.byte W72
.byte N23 , Bn3
.byte W24
@ 021 ----------------------------------------
.byte N11 , As3
.byte W24
.byte N44 , Fn3
.byte W48
.byte N23 , Cs3
.byte W24
@ 022 ----------------------------------------
.byte PATT
.word Zelda_2_010
@ 023 ----------------------------------------
.byte N08 , An3 , v060
.byte W12
.byte N04 , An2
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N04
.byte W06
.byte N04
.byte W06
.byte N08
.byte W12
.byte N08
.byte W08
.byte FINE

@**************** Track 3 (Midi-Chn.3) ****************@

Zelda_3:
.byte VOL , 127*Zelda_mvl/mxv
.byte KEYSH , Zelda_key+0
@ 000 ----------------------------------------
.byte VOICE , 85
.byte N16 , As1 , v127
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N16
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 001 ----------------------------------------
.byte N16 , Gs1
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N16
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 002 ----------------------------------------
.byte N16 , Fs1
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N16
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 003 ----------------------------------------
.byte N11
.byte W24
.byte N08 , Fn1
.byte W24
.byte N08
.byte W24
.byte N11 , Gn1
.byte W12
.byte An1
.byte W12
@ 004 ----------------------------------------
Zelda_3_004:
.byte N08 , As1 , v127
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte Gs1
.byte W08
.byte N08 , As1
.byte W24
.byte N08
.byte W24
.byte PEND
@ 005 ----------------------------------------
Zelda_3_005:
.byte N08 , Gs1 , v127
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte Fs1
.byte W08
.byte N08 , Gs1
.byte W24
.byte N08
.byte W24
.byte PEND
@ 006 ----------------------------------------
Zelda_3_006:
.byte N08 , Fs1 , v127
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte En1
.byte W08
.byte N08 , Fs1
.byte W24
.byte N08
.byte W24
.byte PEND
@ 007 ----------------------------------------
.byte N11 , Cs2
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte Bn1
.byte W08
.byte N11 , Cs2
.byte W24
.byte N11
.byte W24
@ 008 ----------------------------------------
.byte Bn1
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte As1
.byte W08
.byte N11 , Bn1
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte N07
.byte W08
@ 009 ----------------------------------------
.byte N11 , As1
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte Gs1
.byte W08
.byte N11 , As1
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte N07
.byte W08
@ 010 ----------------------------------------
.byte N11 , Cn2
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte As1
.byte W08
.byte N11 , Cn2
.byte W24
.byte N07
.byte W08
.byte N07
.byte W08
.byte N07
.byte W08
@ 011 ----------------------------------------
.byte N08 , Fn1
.byte W24
.byte N08
.byte W24
.byte N08
.byte W24
.byte N11 , Gn1
.byte W12
.byte An1
.byte W12
@ 012 ----------------------------------------
.byte PATT
.word Zelda_3_004
@ 013 ----------------------------------------
.byte PATT
.word Zelda_3_005
@ 014 ----------------------------------------
.byte PATT
.word Zelda_3_006
@ 015 ----------------------------------------
.byte N08 , Fn1 , v127
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N07 , Ds1
.byte W08
.byte N08 , Fn1
.byte W24
.byte N08
.byte W24
@ 016 ----------------------------------------
Zelda_3_016:
.byte N05 , En1 , v127
.byte W08
.byte As1
.byte W08
.byte Cs2
.byte W08
.byte En2
.byte W08
.byte As2
.byte W08
.byte Cs3
.byte W08
.byte N08 , En3
.byte W48
.byte PEND
@ 017 ----------------------------------------
Zelda_3_017:
.byte N08 , Fn3 , v127
.byte W24
.byte N05 , Fn1
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N08
.byte W48
.byte PEND
@ 018 ----------------------------------------
.byte PATT
.word Zelda_3_016
@ 019 ----------------------------------------
.byte PATT
.word Zelda_3_017
@ 020 ----------------------------------------
.byte N08 , Bn1 , v127
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte As1
.byte W08
.byte N08 , Bn1
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 021 ----------------------------------------
.byte N08 , As1
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte Gs1
.byte W08
.byte N08 , As1
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 022 ----------------------------------------
.byte N08 , Cn2
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N08
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 023 ----------------------------------------
.byte N08 , Fn1
.byte W24
.byte N08
.byte W24
.byte W02
.byte N08
.byte W22
.byte N11 , Gn1
.byte W12
.byte An1
.byte W11
.byte FINE

@**************** Track 4 (Midi-Chn.10) ****************@

Zelda_4:
.byte VOL , 127*Zelda_mvl/mxv
.byte KEYSH , Zelda_key+0
@ 000 ----------------------------------------
.byte VOICE , 0
.byte N16 , Dn1 , v044
.byte W72
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
@ 001 ----------------------------------------
Zelda_4_001:
.byte N16 , Dn1 , v044
.byte W72
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte PEND
@ 002 ----------------------------------------
.byte PATT
.word Zelda_4_001
@ 003 ----------------------------------------
.byte N08 , Dn1 , v044
.byte W24
.byte N08
.byte W24
.byte N08
.byte W24
.byte N08
.byte W12
.byte N08
.byte W12
@ 004 ----------------------------------------
Zelda_4_004:
.byte N08 , Dn1 , v044
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N08
.byte W24
.byte N08
.byte W24
.byte PEND
@ 005 ----------------------------------------
.byte PATT
.word Zelda_4_004
@ 006 ----------------------------------------
.byte PATT
.word Zelda_4_004
@ 007 ----------------------------------------
.byte PATT
.word Zelda_4_004
@ 008 ----------------------------------------
.byte PATT
.word Zelda_4_004
@ 009 ----------------------------------------
.byte PATT
.word Zelda_4_004
@ 010 ----------------------------------------
.byte PATT
.word Zelda_4_004
@ 011 ----------------------------------------
.byte PATT
.word Zelda_4_004
@ 012 ----------------------------------------
.byte PATT
.word Zelda_4_004
@ 013 ----------------------------------------
.byte PATT
.word Zelda_4_004
@ 014 ----------------------------------------
.byte PATT
.word Zelda_4_004
@ 015 ----------------------------------------
.byte PATT
.word Zelda_4_004
@ 016 ----------------------------------------
.byte PATT
.word Zelda_4_004
@ 017 ----------------------------------------
.byte PATT
.word Zelda_4_004
@ 018 ----------------------------------------
.byte PATT
.word Zelda_4_004
@ 019 ----------------------------------------
.byte PATT
.word Zelda_4_004
@ 020 ----------------------------------------
.byte PATT
.word Zelda_4_004
@ 021 ----------------------------------------
.byte PATT
.word Zelda_4_004
@ 022 ----------------------------------------
.byte PATT
.word Zelda_4_004
@ 023 ----------------------------------------
.byte N08 , Dn1 , v044
.byte W24
.byte N05
.byte W08
.byte N05
.byte W08
.byte N05
.byte W08
.byte N08
.byte W24
.byte N08
.byte W08
.byte GOTO
.word Zelda_1_loop
.byte W06
@ 024 ----------------------------------------
.byte FINE

@******************************************************@
.align 2

Zelda:
.byte 4 @ NumTrks
.byte 0 @ NumBlks
.byte Zelda_pri @ Priority
.byte Zelda_rev @ Reverb.

.word Zelda_grp

.word Zelda_1
.word Zelda_2
.word Zelda_3
.word Zelda_4

.end

pokemonlover93
July 21st, 2008, 09:58 AM
I can't seem to loop, I don't want to be a burden but, Clonex25, do you hink you could loop my tracks for me? Or send me some .s files that are of the Johto series only? Please? That they're looped already?



EDIT: Okay I found the Problem but I can't fix it, I accidentally hit OPEN WITH. and I hit Notepad but the ALWAYS OPEN IT WITH THIS APPLICATION was Checked,I can't assemble .s files anymore, sappy closes itself and has that Don't send stuff, Anyway that I can fix it? I need to finish what I started!

clonex25
July 22nd, 2008, 08:00 PM
I can't seem to loop, I don't want to be a burden but, Clonex25, do you hink you could loop my tracks for me? Or send me some .s files that are of the Johto series only? Please? That they're looped already?



EDIT: Okay I found the Problem but I can't fix it, I accidentally hit OPEN WITH. and I hit Notepad but the ALWAYS OPEN IT WITH THIS APPLICATION was Checked,I can't assemble .s files anymore, sappy closes itself and has that Don't send stuff, Anyway that I can fix it? I need to finish what I started!

You must download some kernel32 fix to make this work. Worst case, you must re-install your OS (Windows XP would be fine, and I mean a full re-formatting).

clonex25
July 31st, 2008, 10:01 PM
would like know clonex why drum (acoustic grand channel 10)no sound in rom when i use string ensemble 1 and some other instrument?
all compatile instrument work fine
why drum no drum no?
what i can do?

Have you used more than 5 tracks or more than 6 instruments in your MIDI? If yes, then some of the tracks won't play at all. Also, some voicegroups don't have a percussion or has a different instrument for drums (but always use Channel 10 for it).

Magnius
July 31st, 2008, 10:44 PM
Have you used more than 5 tracks or more than 6 instruments in your MIDI? If yes, then some of the tracks won't play at all. Also, some voicegroups don't have a percussion or has a different instrument for drums (but always use Channel 10 for it).
lol pretty much same answer I gave him

destinedjagold
August 1st, 2008, 03:40 AM
hey clonex, thanks for this tutorial, though I have some questions... :\

what voices/instruments are suitable for Ruby?
for instance, 48 and 47 sounds good with the music, but I am a bit bored using the same voices... :\

thanks~

Magnius
August 1st, 2008, 03:50 AM
hey clonex, thanks for this tutorial, though I have some questions... :\

what voices/instruments are suitable for Ruby?
for instance, 48 and 47 sounds good with the music, but I am a bit bored using the same voices... :\

thanks~
lol should check out my two tutorials for all that stuff. My second tutorial especially would help you as it tells you what instruments will sound good on the GBA and stuff.

Magnius
August 4th, 2008, 12:31 PM
lol still trying to get this right. As of now, I can loop like one or two tracks, but if I put the SAME loop at the same place on another track, it won't loop correctly.

clonex25
August 6th, 2008, 10:40 PM
lol still trying to get this right. As of now, I can loop like one or two tracks, but if I put the SAME loop at the same place on another track, it won't loop correctly.

Just try to split Wxx values until you get what you want. It takes practice. Anyways, good job.

~Frozen Darkness~
September 4th, 2008, 03:45 PM
Hey for some reason this S file isn't working can someone plz tell me what's wrong? Sorry you'll have to download it the file is too big to put in one post or it would take up the whole page.

~Frozen Darkness~
September 5th, 2008, 08:49 AM
Thanks I needed to loop that song for a hack I'm helping. That song is the Route 201 music from D/P.

Craver
September 19th, 2008, 08:27 AM
Wtf? Appearently, sappy doesnt too easy too use,. In order Clonex, can u say me how to do for make repeat's any song? C u later =)

Magnius
January 3rd, 2009, 09:53 PM
I give up on trying to loop this midi. Sappy just crashes when I try to.

Ergh. I CAN'T loop this midi, it keeps crashing when I try.

I might need help on this.

Red Apple™
January 19th, 2009, 04:59 PM
WARNING:
The following steps may or may not affect the performance of your operating system. These may include DLL-related errors.
USE IT AT YOUR OWN RISK (But dont tell me I didn't warn you).

CREDITS:
Teh Baro, for posting the code primer (without that post, I couldn't get the idea of manual S file editing)
http://www.pokecommunity.com/showthread.php?p=2936767#post2936767
Kawa's Sappy bytecode help file

LET'S GET STARTED

- Before anything else, convert your custom MIDI to a GBA S file through the MIDI2GBA tool. After conversion, just open the text editor (you may choose WordPad or NotePad), Click File>Open, choose "All Documents" in "Files of Type" option, and select the S File.

REMINDERS: Associating S files with the text editor may affect the performance of Sappy especially in its assembling feature. You may get a permanent kernel32 error upon assembly.

Let's familiarize ourselves with the code (The items necessary for the looping procedure will be boldfaced):

.include "MPlayDef.s"

.equ frlgmbattlb_grp, voicegroup000
.equ frlgmbattlb_pri, 0
.equ frlgmbattlb_rev, 0
.equ frlgmbattlb_mvl, 127
.equ frlgmbattlb_key, 0
.equ frlgmbattlb_tbs, 1
.equ frlgmbattlb_exg, 0
.equ frlgmbattlb_cmp, 1

.section .rodata
.global frlgmbattlb
.align 2

@**************** Track 1 (Midi-Chn.5) ****************@

frlgmbattlb_1: @ ------> label
.byte KEYSH , frlgmbattlb_key+0
@ 000 -------- @ ------> measure number
.byte TEMPO , 182*frlgmbattlb_tbs/2
.byte VOICE , 33
.byte VOL , 127*frlgmbattlb_mvl/mxv
.byte N06 , Ds1 , v104
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte En1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte Fn1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte Fs1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
@ 001 ----------------------------------------
.byte Gn1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte Gs1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte An1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte N12 , As1
.byte W12
.byte An1
.byte W12
@ 002 ----------------------------------------
frlgmbattlb_1_002: @ ------> a pattern label
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn2
.byte W12
.byte An1
.byte W12
.byte PEND
@ 003 ----------------------------------------
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn2
.byte W12
.byte An1
.byte W12
.byte As1
.byte W12
.byte Cn2
.byte W12
.byte Gn1
.byte W12
.byte An1
.byte W12
@ 004 ----------------------------------------
.byte Ds1
.byte W12
.byte As1
.byte W12
.byte Ds1
.byte W12
.byte N32 , Ds2
.byte W08
.byte BEND , c_v-2
.byte W01
.byte c_v-8
.byte W02
.byte c_v-10
.byte W01
.byte c_v-15
.byte W02
.byte c_v-17
.byte W01
.byte c_v-21
.byte W02
.byte c_v-23
.byte W01
.byte c_v-29
.byte W02
.byte c_v-31
.byte W01
.byte c_v-39
.byte W02
.byte c_v-40
.byte W01
.byte c_v-44
.byte W02
.byte c_v-46
.byte W01
.byte c_v-52
.byte W02
.byte c_v-54
.byte W01
.byte c_v-60
.byte W02
.byte c_v-61
.byte W01
.byte c_v-63
.byte W02
.byte c_v-51
.byte W01
.byte c_v+0
.byte N12 , Ds1
.byte W12
.byte As1
.byte W12
@ 005 ----------------------------------------
.byte Ds1
.byte W12
.byte As1
.byte W12
.byte Ds2
.byte W12
.byte Cn2
.byte W12
.byte N12
.byte W12
.byte Dn2
.byte W12
.byte As1
.byte W12
.byte Cn2
.byte W12
@ 006 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_002
@ 007 ----------------------------------------
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn2
.byte W12
.byte An1
.byte W12
.byte N12
.byte W12
.byte As1
.byte W12
.byte Gn1
.byte W12
.byte An1
.byte W12
@ 008 ----------------------------------------
.byte Ds1
.byte W12
.byte As1
.byte W12
.byte N06 , Dn1
.byte W06
.byte Ds1
.byte W06
.byte Gn1
.byte W06
.byte As1
.byte W06
.byte N12 , Ds2
.byte W12
.byte Dn2
.byte W12
.byte Cn2
.byte W12
.byte Dn2
.byte W12
@ 009 ----------------------------------------
.byte Ds1
.byte W12
.byte As1
.byte W12
.byte Dn2
.byte W12
.byte Ds2
.byte W12
.byte N06 , Ds1
.byte W06
.byte Gn1
.byte W06
.byte As1
.byte W06
.byte Cn2
.byte W06
.byte N12 , Ds2
.byte W12
.byte Cn2
.byte W12
@ 010 ----------------------------------------
frlgmbattlb_1_010:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn2
.byte W12
.byte An1
.byte W12
.byte N06 , Gn1
.byte W06
.byte Fs1
.byte W06
.byte En1
.byte W06
.byte Ds1
.byte W06
.byte PEND
@ 011 ----------------------------------------
frlgmbattlb_1_011:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte As1
.byte W12
.byte An1
.byte W12
.byte PEND
@ 012 ----------------------------------------
frlgmbattlb_1_012:
.byte N12 , Ds1 , v116
.byte W12
.byte As1
.byte W12
.byte Ds1
.byte W12
.byte An1
.byte W12
.byte Ds1
.byte W12
.byte Gs1
.byte W12
.byte Ds1
.byte W12
.byte Gn1
.byte W12
.byte PEND
@ 013 ----------------------------------------
frlgmbattlb_1_013:
.byte N12 , Ds1 , v116
.byte W12
.byte Fs1
.byte W12
.byte Ds1
.byte W12
.byte Fn1
.byte W12
.byte Cn2
.byte W12
.byte Dn2
.byte W12
.byte As1
.byte W12
.byte Cn2
.byte W12
.byte PEND
@ 014 ----------------------------------------
frlgmbattlb_1_014:
.byte N24 , Dn1 , v116
.byte W24
.byte N12 , An1
.byte W12
.byte N18 , Dn1
.byte W24
.byte N12
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte PEND
@ 015 ----------------------------------------
frlgmbattlb_1_015:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W24
.byte N12
.byte W24
.byte N12
.byte W12
.byte Gs1
.byte W12
.byte N06 , An1
.byte W12
.byte PEND
@ 016 ----------------------------------------
frlgmbattlb_1_016:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W24
.byte N12
.byte W24
.byte N12
.byte W12
.byte Gs1
.byte W12
.byte An1
.byte W12
.byte PEND
@ 017 ----------------------------------------
frlgmbattlb_1_017:
.byte N24 , Dn1 , v108
.byte W24
.byte Cn2
.byte W24
.byte Cn1
.byte W24
.byte N18 , Gn1
.byte W18
.byte N03 , Fn1
.byte W03
.byte En1
.byte W03
.byte PEND
@ 018 ----------------------------------------
frlgmbattlb_1_018:
.byte N24 , Ds1 , v116
.byte W24
.byte N12 , As1
.byte W12
.byte N18 , Ds1
.byte W24
.byte N12
.byte W12
.byte N03 , As1
.byte W12
.byte N12 , Cn1
.byte W12
.byte PEND
@ 019 ----------------------------------------
frlgmbattlb_1_019:
.byte N12 , Ds2 , v116
.byte W12
.byte N06 , Gn1
.byte W12
.byte N12 , As1
.byte W12
.byte N06 , Ds2
.byte W12
.byte Ds1
.byte W06
.byte Gn1
.byte W06
.byte An1
.byte W06
.byte As1
.byte W06
.byte N12 , Ds2
.byte W12
.byte Cs2
.byte W12
.byte PEND
@ 020 ----------------------------------------
frlgmbattlb_1_020:
.byte N12 , An1 , v116
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte N06 , Dn1
.byte W12
.byte N12
.byte W12
.byte N06 , An1
.byte W12
.byte N12
.byte W12
.byte Gs1
.byte W12
.byte PEND
@ 021 ----------------------------------------
frlgmbattlb_1_021:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte N06 , Cs2
.byte W06
.byte Dn2
.byte W06
.byte As1
.byte W06
.byte Cn2
.byte W06
.byte An1
.byte W06
.byte Gs1
.byte W06
.byte Gn1
.byte W06
.byte Fs1
.byte W06
.byte PEND
@ 022 ----------------------------------------
frlgmbattlb_1_022:
.byte N06 , Cn1 , v116
.byte W12
.byte N12
.byte W24
.byte N12
.byte W12
.byte Cn2
.byte W12
.byte N18 , Cn1
.byte W24
.byte N06
.byte W12
.byte PEND
@ 023 ----------------------------------------
frlgmbattlb_1_023:
.byte N12 , Cn1 , v116
.byte W24
.byte N06
.byte W12
.byte N03
.byte W06
.byte N03
.byte W06
.byte N44 , Cn2
.byte W11
.byte BEND , c_v-2
.byte W01
.byte c_v-6
.byte W02
.byte c_v-7
.byte W01
.byte c_v-10
.byte W02
.byte c_v-12
.byte W01
.byte c_v-17
.byte W02
.byte c_v-19
.byte W01
.byte c_v-23
.byte W02
.byte c_v-25
.byte W01
.byte c_v-31
.byte W02
.byte c_v-32
.byte W01
.byte c_v-35
.byte W02
.byte c_v-37
.byte W01
.byte c_v-42
.byte W02
.byte c_v-43
.byte W01
.byte c_v-47
.byte W02
.byte c_v-51
.byte W01
.byte c_v-64
.byte W11
.byte c_v-52
.byte W01
.byte PEND
@ 024 ----------------------------------------
frlgmbattlb_1_024:
.byte BEND , c_v+0
.byte N24 , An1 , v116
.byte W24
.byte N06 , Fs1
.byte W12
.byte An1
.byte W06
.byte Bn1
.byte W06
.byte N12 , Dn2
.byte W12
.byte An1
.byte W12
.byte Fs1
.byte W12
.byte An1
.byte W12
.byte PEND
@ 025 ----------------------------------------
frlgmbattlb_1_025:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W24
.byte N32
.byte W11
.byte BEND , c_v-2
.byte W01
.byte c_v-6
.byte W05
.byte c_v-7
.byte W01
.byte c_v-10
.byte W02
.byte c_v-11
.byte W01
.byte c_v-15
.byte W02
.byte c_v-16
.byte W01
.byte c_v-20
.byte W02
.byte c_v-22
.byte W01
.byte c_v-28
.byte W02
.byte c_v-29
.byte W01
.byte c_v-32
.byte W02
.byte c_v-34
.byte W01
.byte c_v-39
.byte W02
.byte c_v-32
.byte W01
.byte c_v+0
.byte W12
.byte N12
.byte W12
.byte PEND
@ 026 ----------------------------------------
frlgmbattlb_1_026:
.byte N12 , Cn2 , v116
.byte W36
.byte N03
.byte W06
.byte N03
.byte W06
.byte N44 , Gn1
.byte W11
.byte BEND , c_v-2
.byte W01
.byte c_v-6
.byte W02
.byte c_v-7
.byte W01
.byte c_v-10
.byte W02
.byte c_v-12
.byte W01
.byte c_v-17
.byte W02
.byte c_v-19
.byte W01
.byte c_v-23
.byte W02
.byte c_v-25
.byte W01
.byte c_v-31
.byte W02
.byte c_v-32
.byte W01
.byte c_v-35
.byte W02
.byte c_v-37
.byte W01
.byte c_v-42
.byte W02
.byte c_v-43
.byte W01
.byte c_v-47
.byte W02
.byte c_v-51
.byte W01
.byte c_v-64
.byte W11
.byte c_v-52
.byte W01
.byte PEND
@ 027 ----------------------------------------
frlgmbattlb_1_027:
.byte BEND , c_v+0
.byte N12 , Dn1 , v116
.byte W12
.byte Dn2
.byte W12
.byte Dn1
.byte W12
.byte Cn2
.byte W12
.byte Dn1
.byte W12
.byte Bn1
.byte W12
.byte Fs1
.byte W12
.byte Gn1
.byte W12
.byte PEND
@ 028 ----------------------------------------
frlgmbattlb_1_028:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte Gn1
.byte W12
.byte Dn1
.byte W12
.byte Fs1
.byte W12
.byte Gs1
.byte W12
.byte An1
.byte W12
.byte PEND
@ 029 ----------------------------------------
frlgmbattlb_1_029:
.byte N12 , Dn2 , v116
.byte W12
.byte N06 , An1
.byte W12
.byte N12 , Fs1
.byte W12
.byte N06 , An1
.byte W12
.byte Cn2
.byte W06
.byte Dn2
.byte W06
.byte An1
.byte W06
.byte As1
.byte W06
.byte Fs1
.byte W06
.byte Fn1
.byte W06
.byte En1
.byte W06
.byte Ds1
.byte W06
.byte PEND
@ 030 ----------------------------------------
frlgmbattlb_1_030:
.byte N28 , Dn1 , v116
.byte W36
.byte N06
.byte W24
.byte N24
.byte W36
.byte PEND
@ 031 ----------------------------------------
frlgmbattlb_1_031:
.byte N12 , Cs2 , v116
.byte W12
.byte N24 , Dn2
.byte W24
.byte N18 , Dn1
.byte W24
.byte N06
.byte W24
.byte N06
.byte W12
.byte PEND
@ 032 ----------------------------------------
frlgmbattlb_1_032:
.byte N24 , Ds1 , v116
.byte W24
.byte N12 , Ds2
.byte W12
.byte N18 , Ds1
.byte W24
.byte N12
.byte W12
.byte N24 , Ds2
.byte W24
.byte PEND
@ 033 ----------------------------------------
.byte N12 , Dn2
.byte W12
.byte Ds2
.byte W36
.byte As1
.byte W12
.byte N06 , Cn2
.byte W12
.byte N12 , Gn1
.byte W12
.byte N06 , As1
.byte W12
@ 034 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_010
@ 035 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_011
@ 036 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_012
@ 037 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_013
@ 038 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_014
@ 039 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_015
@ 040 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_016
@ 041 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_017
@ 042 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_018
@ 043 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_019
@ 044 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_020
@ 045 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_021
@ 046 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_022
@ 047 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_023
@ 048 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_024
@ 049 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_025
@ 050 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_026
@ 051 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_027
@ 052 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_028
@ 053 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_029
@ 054 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_030
@ 055 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_031
@ 056 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_032
@ 057 ----------------------------------------
.byte N12 , Dn2 , v116
.byte W12
.byte Ds2
.byte W36
.byte As1
.byte W12
.byte N06 , Cn2
.byte W12
.byte N12 , Gn1
.byte W12
.byte N06 , As1
.byte W06
.byte FINE @ ------> end of track

@******************************************************@
.align 2

frlgmbattlb:
.byte 1 @ NumTrks
.byte 0 @ NumBlks
.byte frlgmbattlb_pri @ Priority
.byte frlgmbattlb_rev @ Reverb.

.word frlgmbattlb_grp

.word frlgmbattlb_1

.end



SINGLE TRACK LOOPING

-----------

- To make the loop, you must first find the end of the track, and it usually ends with:


.byte FINE


-Place the following code before the “.byte FINE” code line:


.byte GOTO @ ----> Unconditional jump Ref. Sappy’s Help file
.word <name of loop label/pointer> @ ----> loop label name
.byte W06


REMINDERS: Although an option to place in the code, the purpose of the ".byte W06" after the GOTO and label statement is to give the GBA processor and memory enough time to go at the specified label's position, avoiding crashes at runtime. Adding an additional measure name before the “.byte FINE” code line is also optional, but recommended to avoid confusion. Besides the “@” sign signifies commenting in the S file. I also recommend using a label name which is similar to what is already in there (e.g. frlgmbattlb_1, newbark_2...).

The end of track must look like this:

.byte GOTO
.word frlgmbattlb_1_loop
.byte W06
.byte FINE



-and place the exact same label name (in this case, frlgmbattlb_1_loop) followed by a colon (:) in the place or measure you want to consider as the start of the loop. If a measure has a pattern statement (begins with a pattern label, format: <filename>_<track number>_<measure number>, and ends with .byte PEND), place the loop label before the pattern label.


@ 010 ----------------------------------------
frlgmbattlb_1_loop:
frlgmbattlb_1_010: @ -----> start of pattern statement
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn2
.byte W12
.byte An1
.byte W12
.byte N06 , Gn1
.byte W06
.byte Fs1
.byte W06
.byte En1
.byte W06
.byte Ds1
.byte W06
.byte PEND @ -----> end of pattern statement


To make things simple, always remember that:

frlgmbattlb_1_loop: @ ----> start of GOTO (loop) statement

<lines of code to loop>

.byte GOTO @ \
.word frlgmbattlb_1_loop @ > ---> end of GOTO (loop statement)
.byte W06 @ /


.byte FINE



As an end result, you must have a code that looks like this (pay attention to the boldfaced codes for further understanding):

.include "MPlayDef.s"

.equ frlgmbattlb_grp, voicegroup000
.equ frlgmbattlb_pri, 0
.equ frlgmbattlb_rev, 0
.equ frlgmbattlb_mvl, 127
.equ frlgmbattlb_key, 0
.equ frlgmbattlb_tbs, 1
.equ frlgmbattlb_exg, 0
.equ frlgmbattlb_cmp, 1

.section .rodata
.global frlgmbattlb
.align 2

@**************** Track 1 (Midi-Chn.5) ****************@

frlgmbattlb_1:
.byte KEYSH , frlgmbattlb_key+0
@ 000 ----------------------------------------
.byte TEMPO , 182*frlgmbattlb_tbs/2
.byte VOICE , 33
.byte VOL , 127*frlgmbattlb_mvl/mxv
.byte N06 , Ds1 , v104
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte En1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte Fn1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte Fs1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
@ 001 ----------------------------------------
.byte Gn1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte Gs1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte An1
.byte W12
.byte N06
.byte W06
.byte Dn1
.byte W06
.byte N12 , As1
.byte W12
.byte An1
.byte W12
@ 002 ----------------------------------------
frlgmbattlb_1_002:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn2
.byte W12
.byte An1
.byte W12
.byte PEND
@ 003 ----------------------------------------
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn2
.byte W12
.byte An1
.byte W12
.byte As1
.byte W12
.byte Cn2
.byte W12
.byte Gn1
.byte W12
.byte An1
.byte W12
@ 004 ----------------------------------------
.byte Ds1
.byte W12
.byte As1
.byte W12
.byte Ds1
.byte W12
.byte N32 , Ds2
.byte W08
.byte BEND , c_v-2
.byte W01
.byte c_v-8
.byte W02
.byte c_v-10
.byte W01
.byte c_v-15
.byte W02
.byte c_v-17
.byte W01
.byte c_v-21
.byte W02
.byte c_v-23
.byte W01
.byte c_v-29
.byte W02
.byte c_v-31
.byte W01
.byte c_v-39
.byte W02
.byte c_v-40
.byte W01
.byte c_v-44
.byte W02
.byte c_v-46
.byte W01
.byte c_v-52
.byte W02
.byte c_v-54
.byte W01
.byte c_v-60
.byte W02
.byte c_v-61
.byte W01
.byte c_v-63
.byte W02
.byte c_v-51
.byte W01
.byte c_v+0
.byte N12 , Ds1
.byte W12
.byte As1
.byte W12
@ 005 ----------------------------------------
.byte Ds1
.byte W12
.byte As1
.byte W12
.byte Ds2
.byte W12
.byte Cn2
.byte W12
.byte N12
.byte W12
.byte Dn2
.byte W12
.byte As1
.byte W12
.byte Cn2
.byte W12
@ 006 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_002
@ 007 ----------------------------------------
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn2
.byte W12
.byte An1
.byte W12
.byte N12
.byte W12
.byte As1
.byte W12
.byte Gn1
.byte W12
.byte An1
.byte W12
@ 008 ----------------------------------------
.byte Ds1
.byte W12
.byte As1
.byte W12
.byte N06 , Dn1
.byte W06
.byte Ds1
.byte W06
.byte Gn1
.byte W06
.byte As1
.byte W06
.byte N12 , Ds2
.byte W12
.byte Dn2
.byte W12
.byte Cn2
.byte W12
.byte Dn2
.byte W12
@ 009 ----------------------------------------
.byte Ds1
.byte W12
.byte As1
.byte W12
.byte Dn2
.byte W12
.byte Ds2
.byte W12
.byte N06 , Ds1
.byte W06
.byte Gn1
.byte W06
.byte As1
.byte W06
.byte Cn2
.byte W06
.byte N12 , Ds2
.byte W12
.byte Cn2
.byte W12
@ 010 ----------------------------------------
frlgmbattlb_1_loop:
frlgmbattlb_1_010:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn2
.byte W12
.byte An1
.byte W12
.byte N06 , Gn1
.byte W06
.byte Fs1
.byte W06
.byte En1
.byte W06
.byte Ds1
.byte W06
.byte PEND
@ 011 ----------------------------------------
frlgmbattlb_1_011:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte As1
.byte W12
.byte An1
.byte W12
.byte PEND
@ 012 ----------------------------------------
frlgmbattlb_1_012:
.byte N12 , Ds1 , v116
.byte W12
.byte As1
.byte W12
.byte Ds1
.byte W12
.byte An1
.byte W12
.byte Ds1
.byte W12
.byte Gs1
.byte W12
.byte Ds1
.byte W12
.byte Gn1
.byte W12
.byte PEND
@ 013 ----------------------------------------
frlgmbattlb_1_013:
.byte N12 , Ds1 , v116
.byte W12
.byte Fs1
.byte W12
.byte Ds1
.byte W12
.byte Fn1
.byte W12
.byte Cn2
.byte W12
.byte Dn2
.byte W12
.byte As1
.byte W12
.byte Cn2
.byte W12
.byte PEND
@ 014 ----------------------------------------
frlgmbattlb_1_014:
.byte N24 , Dn1 , v116
.byte W24
.byte N12 , An1
.byte W12
.byte N18 , Dn1
.byte W24
.byte N12
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte PEND
@ 015 ----------------------------------------
frlgmbattlb_1_015:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W24
.byte N12
.byte W24
.byte N12
.byte W12
.byte Gs1
.byte W12
.byte N06 , An1
.byte W12
.byte PEND
@ 016 ----------------------------------------
frlgmbattlb_1_016:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W24
.byte N12
.byte W24
.byte N12
.byte W12
.byte Gs1
.byte W12
.byte An1
.byte W12
.byte PEND
@ 017 ----------------------------------------
frlgmbattlb_1_017:
.byte N24 , Dn1 , v108
.byte W24
.byte Cn2
.byte W24
.byte Cn1
.byte W24
.byte N18 , Gn1
.byte W18
.byte N03 , Fn1
.byte W03
.byte En1
.byte W03
.byte PEND
@ 018 ----------------------------------------
frlgmbattlb_1_018:
.byte N24 , Ds1 , v116
.byte W24
.byte N12 , As1
.byte W12
.byte N18 , Ds1
.byte W24
.byte N12
.byte W12
.byte N03 , As1
.byte W12
.byte N12 , Cn1
.byte W12
.byte PEND
@ 019 ----------------------------------------
frlgmbattlb_1_019:
.byte N12 , Ds2 , v116
.byte W12
.byte N06 , Gn1
.byte W12
.byte N12 , As1
.byte W12
.byte N06 , Ds2
.byte W12
.byte Ds1
.byte W06
.byte Gn1
.byte W06
.byte An1
.byte W06
.byte As1
.byte W06
.byte N12 , Ds2
.byte W12
.byte Cs2
.byte W12
.byte PEND
@ 020 ----------------------------------------
frlgmbattlb_1_020:
.byte N12 , An1 , v116
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte N06 , Dn1
.byte W12
.byte N12
.byte W12
.byte N06 , An1
.byte W12
.byte N12
.byte W12
.byte Gs1
.byte W12
.byte PEND
@ 021 ----------------------------------------
frlgmbattlb_1_021:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte An1
.byte W12
.byte N06 , Cs2
.byte W06
.byte Dn2
.byte W06
.byte As1
.byte W06
.byte Cn2
.byte W06
.byte An1
.byte W06
.byte Gs1
.byte W06
.byte Gn1
.byte W06
.byte Fs1
.byte W06
.byte PEND
@ 022 ----------------------------------------
frlgmbattlb_1_022:
.byte N06 , Cn1 , v116
.byte W12
.byte N12
.byte W24
.byte N12
.byte W12
.byte Cn2
.byte W12
.byte N18 , Cn1
.byte W24
.byte N06
.byte W12
.byte PEND
@ 023 ----------------------------------------
frlgmbattlb_1_023:
.byte N12 , Cn1 , v116
.byte W24
.byte N06
.byte W12
.byte N03
.byte W06
.byte N03
.byte W06
.byte N44 , Cn2
.byte W11
.byte BEND , c_v-2
.byte W01
.byte c_v-6
.byte W02
.byte c_v-7
.byte W01
.byte c_v-10
.byte W02
.byte c_v-12
.byte W01
.byte c_v-17
.byte W02
.byte c_v-19
.byte W01
.byte c_v-23
.byte W02
.byte c_v-25
.byte W01
.byte c_v-31
.byte W02
.byte c_v-32
.byte W01
.byte c_v-35
.byte W02
.byte c_v-37
.byte W01
.byte c_v-42
.byte W02
.byte c_v-43
.byte W01
.byte c_v-47
.byte W02
.byte c_v-51
.byte W01
.byte c_v-64
.byte W11
.byte c_v-52
.byte W01
.byte PEND
@ 024 ----------------------------------------
frlgmbattlb_1_024:
.byte BEND , c_v+0
.byte N24 , An1 , v116
.byte W24
.byte N06 , Fs1
.byte W12
.byte An1
.byte W06
.byte Bn1
.byte W06
.byte N12 , Dn2
.byte W12
.byte An1
.byte W12
.byte Fs1
.byte W12
.byte An1
.byte W12
.byte PEND
@ 025 ----------------------------------------
frlgmbattlb_1_025:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W24
.byte N32
.byte W11
.byte BEND , c_v-2
.byte W01
.byte c_v-6
.byte W05
.byte c_v-7
.byte W01
.byte c_v-10
.byte W02
.byte c_v-11
.byte W01
.byte c_v-15
.byte W02
.byte c_v-16
.byte W01
.byte c_v-20
.byte W02
.byte c_v-22
.byte W01
.byte c_v-28
.byte W02
.byte c_v-29
.byte W01
.byte c_v-32
.byte W02
.byte c_v-34
.byte W01
.byte c_v-39
.byte W02
.byte c_v-32
.byte W01
.byte c_v+0
.byte W12
.byte N12
.byte W12
.byte PEND
@ 026 ----------------------------------------
frlgmbattlb_1_026:
.byte N12 , Cn2 , v116
.byte W36
.byte N03
.byte W06
.byte N03
.byte W06
.byte N44 , Gn1
.byte W11
.byte BEND , c_v-2
.byte W01
.byte c_v-6
.byte W02
.byte c_v-7
.byte W01
.byte c_v-10
.byte W02
.byte c_v-12
.byte W01
.byte c_v-17
.byte W02
.byte c_v-19
.byte W01
.byte c_v-23
.byte W02
.byte c_v-25
.byte W01
.byte c_v-31
.byte W02
.byte c_v-32
.byte W01
.byte c_v-35
.byte W02
.byte c_v-37
.byte W01
.byte c_v-42
.byte W02
.byte c_v-43
.byte W01
.byte c_v-47
.byte W02
.byte c_v-51
.byte W01
.byte c_v-64
.byte W11
.byte c_v-52
.byte W01
.byte PEND
@ 027 ----------------------------------------
frlgmbattlb_1_027:
.byte BEND , c_v+0
.byte N12 , Dn1 , v116
.byte W12
.byte Dn2
.byte W12
.byte Dn1
.byte W12
.byte Cn2
.byte W12
.byte Dn1
.byte W12
.byte Bn1
.byte W12
.byte Fs1
.byte W12
.byte Gn1
.byte W12
.byte PEND
@ 028 ----------------------------------------
frlgmbattlb_1_028:
.byte N12 , Dn1 , v116
.byte W12
.byte An1
.byte W12
.byte Dn1
.byte W12
.byte Gn1
.byte W12
.byte Dn1
.byte W12
.byte Fs1
.byte W12
.byte Gs1
.byte W12
.byte An1
.byte W12
.byte PEND
@ 029 ----------------------------------------
frlgmbattlb_1_029:
.byte N12 , Dn2 , v116
.byte W12
.byte N06 , An1
.byte W12
.byte N12 , Fs1
.byte W12
.byte N06 , An1
.byte W12
.byte Cn2
.byte W06
.byte Dn2
.byte W06
.byte An1
.byte W06
.byte As1
.byte W06
.byte Fs1
.byte W06
.byte Fn1
.byte W06
.byte En1
.byte W06
.byte Ds1
.byte W06
.byte PEND
@ 030 ----------------------------------------
frlgmbattlb_1_030:
.byte N28 , Dn1 , v116
.byte W36
.byte N06
.byte W24
.byte N24
.byte W36
.byte PEND
@ 031 ----------------------------------------
frlgmbattlb_1_031:
.byte N12 , Cs2 , v116
.byte W12
.byte N24 , Dn2
.byte W24
.byte N18 , Dn1
.byte W24
.byte N06
.byte W24
.byte N06
.byte W12
.byte PEND
@ 032 ----------------------------------------
frlgmbattlb_1_032:
.byte N24 , Ds1 , v116
.byte W24
.byte N12 , Ds2
.byte W12
.byte N18 , Ds1
.byte W24
.byte N12
.byte W12
.byte N24 , Ds2
.byte W24
.byte PEND
@ 033 ----------------------------------------
.byte N12 , Dn2
.byte W12
.byte Ds2
.byte W36
.byte As1
.byte W12
.byte N06 , Cn2
.byte W12
.byte N12 , Gn1
.byte W12
.byte N06 , As1
.byte W12
@ 034 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_010
@ 035 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_011
@ 036 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_012
@ 037 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_013
@ 038 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_014
@ 039 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_015
@ 040 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_016
@ 041 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_017
@ 042 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_018
@ 043 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_019
@ 044 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_020
@ 045 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_021
@ 046 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_022
@ 047 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_023
@ 048 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_024
@ 049 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_025
@ 050 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_026
@ 051 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_027
@ 052 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_028
@ 053 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_029
@ 054 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_030
@ 055 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_031
@ 056 ----------------------------------------
.byte PATT
.word frlgmbattlb_1_032
@ 057 ----------------------------------------
.byte N12 , Dn2 , v116
.byte W12
.byte Ds2
.byte W36
.byte As1
.byte W12
.byte N06 , Cn2
.byte W12
.byte N12 , Gn1
.byte W12
.byte N06 , As1
.byte W06
.byte GOTO
.word frlgmbattlb_1_loop
@ 058 ----------------------------------------
.byte FINE

@******************************************************@
.align 2

frlgmbattlb:
.byte 1 @ NumTrks
.byte 0 @ NumBlks
.byte frlgmbattlb_pri @ Priority
.byte frlgmbattlb_rev @ Reverb.

.word frlgmbattlb_grp

.word frlgmbattlb_1

.end




MULTIPLE TRACK LOOPING

-----------
Now, if you think looping a single-tracked S file is easy, think of looping a multi-tracked S file a bit complicated. Because unlike looping a single-tracked file, looping a multi-tracked file requires that you must loop EACH AND EVERY TRACK inside it. It means that if you looped one track doesn’t mean that the others will loop as well. What makes it more complicated is that not all tracks end with the same number and the same W<xx> values (contrary to what I’ve posted previously). To know more about it, click the file tes.zip in the Attachments part of the thread (thanks to megiddo for the code). Once you’ve extracted it, open the file “tes.txt”. Upon thorough examination of the file, you will notice that some tracks end with “@ 042” measure while others end with “@ 050”. Also, some of the tracks don’t have W<xx> values that equal to 96, the “whole rest” value for a 4/4 metered file (to be explained later on).

In this kind of situation, we must adjust the other tracks to align with the track which has the highest amount of length (in this case the longest track has a measure of @ 050 and has W<xx> values equal to 96).


@ 042 ----------------------------------------
.byte N23 , Cs3 , v064
.byte W24
.byte As2
.byte W24
.byte Cn3
.byte W24
.byte Gs2
.byte W23
.byte FINE


Let's say this code above (taken from Track 2 of tes.txt) is your track’s last measure. To make this track equal to the longest track in the file, we will add the following code lines:


@ 043 ----------------------------------------
.byte W96


Do so until the track reaches the same length as the longest track. Just like:


@ 042 ----------------------------------------
.byte N23 , Cs3 , v064
.byte W24
.byte As2
.byte W24
.byte Cn3
.byte W24
.byte Gs2
.byte W23
@ 043 ----------------------------------------
.byte W96
@ 044 ----------------------------------------
.byte W96
@ 045 ----------------------------------------
.byte W96
@ 046 ----------------------------------------
.byte W96
@ 047 ----------------------------------------
.byte W96
@ 048 ----------------------------------------
.byte W96
@ 049 ----------------------------------------
.byte W96
@ 050 ----------------------------------------
.byte W96
.byte FINE


But we’re not done yet. It may look aligned to the longest track for now, but let’s go back to measure @ 042. If you add the W<xx> values, it would be: 24+24+24+23=95. We must also remember that the measure’s meter is 4/4, which has a W<xx> value of 96. Ignoring this fact may cause crashing at runtime (which we don’t want to happen). To make the W<xx> bytecodes equal to 96, simply change the value of the last W<xx> bytecode to a value that would make them equal to 96. In this code, we will change “.byte W23” to “.byte W24”. You will have a code that looks like:


@ 042 ----------------------------------------
.byte N23 , Cs3 , v064
.byte W24
.byte As2
.byte W24
.byte Cn3
.byte W24
.byte Gs2
.byte W24
@ 043 ----------------------------------------
.byte W96
@ 044 ----------------------------------------
.byte W96
@ 045 ----------------------------------------
.byte W96
@ 046 ----------------------------------------
.byte W96
@ 047 ----------------------------------------
.byte W96
@ 048 ----------------------------------------
.byte W96
@ 049 ----------------------------------------
.byte W96
@ 050 ----------------------------------------
.byte W96
.byte FINE



After that, you may start looping the file. Always remember upon looping a multi-tracked S file, you must loop each and every track of the file. Open “tes_r.txt” to see the results.

WHAT’S IN THE W<xx>?

-----------
You may ask “You keep mentioning about this W<xx> and the 4/4 meter stuff, but what exactly is it?”

Actually, here’s the definition for the W<xx> from Sappy 2006’s help file:

Wxx (0x80++)
Wait for the specified number of clock ticks

The value of W<xx> varies on its use, and it adds up to a total of:

96 – for 4/4 metered measure (4 beats per measure/beat value of 4)
72 – for 3/4 metered measure, and
48 – for 3/4 metered measure

In a W96 measure:

96 – whole (note if .byte W96 has N<xx> line before it/rest if none)
48 – half
24 – quarter
12 – half quarter


- Save the file when you're done. The next step is to insert it in Sappy. Follow the help file or Search the Forum for instructions.

NOTES:

You may preview the S file using Sappy. Just be warned that it may close the program upon playing the file on the first run. Preview using GBA emulator for safety.
If you are about to use a multi-track S file, you may want to shorten the length of your MIDI to a single repetition for easier loop coding.
Always check everything about the loop statement (the spelling, location, etc.) to avoid crashes or erroneous loops at runtime. Do so by pressing Ctrl+F, typing the loop label name, and cilck Find Next.
You must also refer to the "Event List" of your MIDI software to know where to loop in your S file (e.g. knowing the measure number, the formula is (MIDI measure number)-1).
About knowing where to (start and end a) loop, always ask yourself: “Which part of this song do I want to hear over and over again?” and “Which particular measure number does the looping start?” Simple questions that need tough answers, but you’ll be able to push through when you do.
Always backup your files.


EXAMPLES:

I have included some reference files and examples below. Use them as guides for music looping.

GOOD LUCK IN YOUR GBA MUSIC LOOPING!!!
hey clonex25 do u have anyother midi files with s file in it? except the new bark and goldenrod

shaqattacks
January 25th, 2009, 09:19 AM
Hey, I get this a little bit now. I didn't successfully loop my song because it didn't go to the place I wanted it to loop and it didn't continue on. I'm going to look more into this. Thanks clonex25!
Edit: Actually this is pretty tough. Can someone tell me what I'm doing wrong?
.include "MPlayDef.s"

.equ PkmGS-Battle6_grp, voicegroup000
.equ PkmGS-Battle6_pri, 0
.equ PkmGS-Battle6_rev, 0
.equ PkmGS-Battle6_mvl, 127
.equ PkmGS-Battle6_key, 0
.equ PkmGS-Battle6_tbs, 1
.equ PkmGS-Battle6_exg, 0
.equ PkmGS-Battle6_cmp, 1

.section .rodata
.global PkmGS-Battle6
.align 2

@**************** Track 1 (Midi-Chn.1) ****************@

PkmGS-Battle6_1:
.byte KEYSH , PkmGS-Battle6_key+0
@ 000 ----------------------------------------
.byte TEMPO , 196*PkmGS-Battle6_tbs/2
.byte VOICE , 1
.byte VOL , 100*PkmGS-Battle6_mvl/mxv
.byte PAN , c_v+0
.byte N24 , As2 , v100
.byte W06
.byte VOL , 88*PkmGS-Battle6_mvl/mxv
.byte W06
.byte 75*PkmGS-Battle6_mvl/mxv
.byte W06
.byte 63*PkmGS-Battle6_mvl/mxv
.byte W30
.byte 100*PkmGS-Battle6_mvl/mxv
.byte N24
.byte W06
.byte VOL , 88*PkmGS-Battle6_mvl/mxv
.byte W06
.byte 75*PkmGS-Battle6_mvl/mxv
.byte W06
.byte 63*PkmGS-Battle6_mvl/mxv
.byte W30
@ 001 ----------------------------------------
.byte 100*PkmGS-Battle6_mvl/mxv
.byte N24
.byte W06
.byte VOL , 88*PkmGS-Battle6_mvl/mxv
.byte W06
.byte 75*PkmGS-Battle6_mvl/mxv
.byte W06
.byte 63*PkmGS-Battle6_mvl/mxv
.byte W30
.byte 100*PkmGS-Battle6_mvl/mxv
.byte N24
.byte W06
.byte VOL , 88*PkmGS-Battle6_mvl/mxv
.byte W06
.byte 75*PkmGS-Battle6_mvl/mxv
.byte W06
.byte 63*PkmGS-Battle6_mvl/mxv
.byte W06
.byte 100*PkmGS-Battle6_mvl/mxv
.byte N24 , Bn2
.byte W24
@ 002 ----------------------------------------
PkmGS-Battle6_1_002:
.byte N12 , As2 , v100
.byte W12
.byte N24
.byte W06
.byte VOL , 88*PkmGS-Battle6_mvl/mxv
.byte W06
.byte 75*PkmGS-Battle6_mvl/mxv
.byte W06
.byte 63*PkmGS-Battle6_mvl/mxv
.byte W18
.byte 100*PkmGS-Battle6_mvl/mxv
.byte N12
.byte W12
.byte N24
.byte W06
.byte VOL , 88*PkmGS-Battle6_mvl/mxv
.byte W06
.byte 75*PkmGS-Battle6_mvl/mxv
.byte W06
.byte 63*PkmGS-Battle6_mvl/mxv
.byte W18
.byte PEND
@ 003 ----------------------------------------
PkmGS-Battle6_1_003:
.byte VOL , 100*PkmGS-Battle6_mvl/mxv
.byte N12 , As2 , v100
.byte W12
.byte N24
.byte W06
.byte VOL , 88*PkmGS-Battle6_mvl/mxv
.byte W06
.byte 75*PkmGS-Battle6_mvl/mxv
.byte W06
.byte 63*PkmGS-Battle6_mvl/mxv
.byte W18
.byte 100*PkmGS-Battle6_mvl/mxv
.byte N12
.byte W12
.byte N12
.byte W12
.byte N24 , Ds3
.byte W24
.byte PEND
@ 004 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_1_002
@ 005 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_1_003
@ 006 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_1_002
@ 007 ----------------------------------------
.byte VOL , 100*PkmGS-Battle6_mvl/mxv
.byte N12 , As2 , v100
.byte W12
.byte N24
.byte W06
.byte VOL , 88*PkmGS-Battle6_mvl/mxv
.byte W06
.byte 75*PkmGS-Battle6_mvl/mxv
.byte W06
.byte 63*PkmGS-Battle6_mvl/mxv
.byte W18
.byte 100*PkmGS-Battle6_mvl/mxv
.byte N12
.byte W12
.byte N12
.byte W12
.byte N24 , En3
.byte W24
@ 008 ----------------------------------------
PkmGS-Battle6_1_008:
.byte N12 , As2 , v100
.byte W12
.byte N12
.byte W12
.byte N24 , Ds3
.byte W24
.byte N12 , As2
.byte W12
.byte N12
.byte W12
.byte N24 , Ds3
.byte W24
.byte PEND
@ 009 ----------------------------------------
PkmGS-Battle6_1_loop:
PkmGS-Battle6_1_009:
.byte N12 , As2 , v100
.byte W12
.byte N12
.byte W12
.byte N24 , Ds3
.byte W24
.byte N12 , As2
.byte W12
.byte N12
.byte W12
.byte N24 , Bn2
.byte W24
.byte PEND
@ 010 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_1_008
@ 011 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_1_008
@ 012 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_1_008
@ 013 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_1_009
@ 014 ----------------------------------------
.byte N12 , As2 , v100
.byte W12
.byte N12
.byte W12
.byte N24 , Ds3
.byte W24
.byte N12 , As2
.byte W12
.byte N12
.byte W12
.byte N24 , En3
.byte W24
@ 015 ----------------------------------------
.byte N12 , As2
.byte W12
.byte N12
.byte W12
.byte N24 , Fs3
.byte W24
.byte N12 , As2
.byte W12
.byte N12
.byte W12
.byte N24 , Gs3
.byte W24
@ 016 ----------------------------------------
PkmGS-Battle6_1_016:
.byte N48 , As3 , v100
.byte W48
.byte As2
.byte W48
.byte PEND
@ 017 ----------------------------------------
.byte N72 , Bn3
.byte W72
.byte N06 , As3
.byte W06
.byte Bn3
.byte W06
.byte Cn4
.byte W06
.byte Cs4
.byte W05
.byte VOICE , 56
.byte W01
@ 018 ----------------------------------------
PkmGS-Battle6_1_018:
.byte N12 , Ds3 , v100
.byte W12
.byte As3
.byte W12
.byte Ds3
.byte W12
.byte N24 , Fs3
.byte W24
.byte N12 , Fn3
.byte W12
.byte En3
.byte W12
.byte Bn3
.byte W12
.byte PEND
@ 019 ----------------------------------------
PkmGS-Battle6_1_019:
.byte N12 , Fs3 , v100
.byte W12
.byte As3
.byte W12
.byte Fn3
.byte W12
.byte An3
.byte W12
.byte En3
.byte W12
.byte Gs3
.byte W12
.byte Ds3
.byte W12
.byte Gn3
.byte W12
.byte PEND
@ 020 ----------------------------------------
PkmGS-Battle6_1_020:
.byte N12 , En3 , v100
.byte W12
.byte N12
.byte W12
.byte N24 , Fs3
.byte W24
.byte N12 , En3
.byte W12
.byte N12
.byte W12
.byte N24 , Gs3
.byte W24
.byte PEND
@ 021 ----------------------------------------
.byte N12 , En3
.byte W12
.byte N12
.byte W12
.byte N24 , Gs3
.byte W24
.byte N12 , En3
.byte W12
.byte N12
.byte W12
.byte N24 , Bn3
.byte W24
@ 022 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_1_018
@ 023 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_1_019
@ 024 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_1_020
@ 025 ----------------------------------------
.byte N12 , En3 , v100
.byte W12
.byte N12
.byte W12
.byte N24 , Bn3
.byte W24
.byte N12 , En3
.byte W12
.byte N12
.byte W12
.byte N24 , En4
.byte W23
.byte VOICE , 56
.byte W01
@ 026 ----------------------------------------
PkmGS-Battle6_1_026:
.byte N12 , As3 , v100
.byte W06
.byte VOL , 66*PkmGS-Battle6_mvl/mxv
.byte W06
.byte 100*PkmGS-Battle6_mvl/mxv
.byte N12
.byte W06
.byte VOL , 66*PkmGS-Battle6_mvl/mxv
.byte W18
.byte 100*PkmGS-Battle6_mvl/mxv
.byte N12
.byte W06
.byte VOL , 66*PkmGS-Battle6_mvl/mxv
.byte W18
.byte 100*PkmGS-Battle6_mvl/mxv
.byte N12
.byte W06
.byte VOL , 66*PkmGS-Battle6_mvl/mxv
.byte W18
.byte 100*PkmGS-Battle6_mvl/mxv
.byte N12
.byte W06
.byte VOL , 66*PkmGS-Battle6_mvl/mxv
.byte W06
.byte PEND
@ 027 ----------------------------------------
.byte W12
.byte 100*PkmGS-Battle6_mvl/mxv
.byte N12
.byte W06
.byte VOL , 66*PkmGS-Battle6_mvl/mxv
.byte W18
.byte 100*PkmGS-Battle6_mvl/mxv
.byte N12
.byte W06
.byte VOL , 66*PkmGS-Battle6_mvl/mxv
.byte W06
.byte 100*PkmGS-Battle6_mvl/mxv
.byte N24 , Bn3
.byte W24
.byte Gs3
.byte W24
@ 028 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_1_026
@ 029 ----------------------------------------
.byte W12
.byte VOL , 100*PkmGS-Battle6_mvl/mxv
.byte N12 , As3 , v100
.byte W06
.byte VOL , 66*PkmGS-Battle6_mvl/mxv
.byte W18
.byte 100*PkmGS-Battle6_mvl/mxv
.byte N12
.byte W06
.byte VOL , 66*PkmGS-Battle6_mvl/mxv
.byte W06
.byte 100*PkmGS-Battle6_mvl/mxv
.byte N24 , Dn4
.byte W24
.byte N24
.byte W24
@ 030 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_1_016
@ 031 ----------------------------------------
.byte N48 , Fs3 , v100
.byte W48
.byte Fs2
.byte W44
.byte W02
.byte VOICE , 1
.byte W02
@ 032 ----------------------------------------
.byte N96 , Bn2
.byte W96
@ 033 ----------------------------------------
.byte N96
.byte W96
@ 034 ----------------------------------------
.byte Cs3
.byte W96
@ 035 ----------------------------------------
.byte Ds3
.byte W92
.byte W02
.byte VOICE , 48
.byte W02
@ 036 ----------------------------------------
PkmGS-Battle6_1_036:
.byte N24 , Fs4 , v100
.byte W24
.byte Fn4
.byte W24
.byte En4
.byte W24
.byte Ds4
.byte W24
.byte PEND
@ 037 ----------------------------------------
.byte Dn4
.byte W24
.byte Cs4
.byte W24
.byte Fs4
.byte W24
.byte N24
.byte W24
@ 038 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_1_036
@ 039 ----------------------------------------
.byte N12 , Fs4 , v100
.byte W12
.byte Gs4
.byte W12
.byte Ds4
.byte W12
.byte En4
.byte W12
.byte N24 , Fs4
.byte W24
.byte N24
.byte W24
@ 040 ----------------------------------------
.byte W92
.byte W03
.byte VOICE , 1
.byte W01
@ 041 ----------------------------------------
.byte N48 , Fs3
.byte W48
.byte N24 , En3
.byte W24
.byte N24
.byte W24
@ 042 ----------------------------------------
.byte N96 , Ds3
.byte W96
@ 043 ----------------------------------------
.byte Cs3
.byte W96
@ 044 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_1_008
@ 045 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_1_008
@ 046 ----------------------------------------
.byte N12 , Cn3 , v100
.byte W12
.byte N12
.byte W12
.byte N24 , Ds3
.byte W24
.byte N12 , Cn3
.byte W12
.byte N12
.byte W12
.byte N24 , Ds3
.byte W24
@ 047 ----------------------------------------
.byte N12 , Cn3
.byte W12
.byte N12
.byte W12
.byte N24 , Fs3
.byte W24
.byte N12 , Cn3
.byte W12
.byte N12
.byte W12
.byte N24 , Gs3
.byte W24
@ 048 ----------------------------------------
PkmGS-Battle6_1_loop:
PkmGS-Battle6_1_048:
.byte N12 , Ds3 , v100
.byte W12
.byte N12
.byte W12
.byte N24 , As3
.byte W24
.byte N12 , Ds3
.byte W12
.byte N12
.byte W12
.byte N24 , Bn3
.byte W24
.byte PEND
@ 049 ----------------------------------------
.byte N12 , Ds3
.byte W12
.byte N12
.byte W12
.byte N24 , Cs4
.byte W24
.byte N12 , Ds3
.byte W12
.byte N12
.byte W12
.byte N24 , Bn3
.byte W24
@ 050 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_1_048
@ 051 ----------------------------------------
.byte N06 , Ds3 , v100
.byte W06
.byte N12
.byte W18
.byte N24 , Cs4
.byte W24
.byte N12 , Ds3
.byte W12
.byte N12
.byte W12
.byte N24 , Dn4
.byte W24
@ 052 ----------------------------------------
.byte W96
.byte GOTO
.word PkmGS-Battle6_1_loop
.byte FINE

@**************** Track 2 (Midi-Chn.2) ****************@

PkmGS-Battle6_2:
.byte KEYSH , PkmGS-Battle6_key+0
@ 000 ----------------------------------------
.byte VOICE , 1
.byte VOL , 80*PkmGS-Battle6_mvl/mxv
.byte PAN , c_v+0
.byte N24 , Ds3 , v100
.byte W48
.byte N24
.byte W48
@ 001 ----------------------------------------
.byte N24
.byte W48
.byte N24
.byte W24
.byte Dn3
.byte W24
@ 002 ----------------------------------------
PkmGS-Battle6_2_002:
.byte N12 , Ds3 , v100
.byte W12
.byte N24
.byte W36
.byte N12
.byte W12
.byte N24
.byte W36
.byte PEND
@ 003 ----------------------------------------
.byte N12
.byte W12
.byte N24
.byte W36
.byte N12
.byte W12
.byte N12
.byte W12
.byte N24 , As3
.byte W24
@ 004 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_2_002
@ 005 ----------------------------------------
.byte N12 , Ds3 , v100
.byte W12
.byte N24
.byte W36
.byte N12
.byte W12
.byte N12
.byte W12
.byte N24 , Bn3
.byte W24
@ 006 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_2_002
@ 007 ----------------------------------------
.byte N12 , Ds3 , v100
.byte W12
.byte N24
.byte W36
.byte N12
.byte W12
.byte N12
.byte W12
.byte N24 , Cs4
.byte W21
.byte VOICE , 62
.byte W03
@ 008 ----------------------------------------
PkmGS-Battle6_2_008:
.byte N12 , Ds3 , v100
.byte W12
.byte N12
.byte W12
.byte N24 , As3
.byte W24
.byte N12 , Ds3
.byte W12
.byte N12
.byte W12
.byte N24 , Bn3
.byte W24
.byte PEND
@ 009 ----------------------------------------
PkmGS-Battle6_2_loop:
PkmGS-Battle6_2_009:
.byte N12 , Ds3 , v100
.byte W12
.byte N12
.byte W12
.byte N24 , As3
.byte W24
.byte N12 , Ds3
.byte W12
.byte N12
.byte W12
.byte N24 , Dn3
.byte W24
.byte PEND
@ 010 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_2_008
@ 011 ----------------------------------------
.byte N12 , Ds3 , v100
.byte W12
.byte N12
.byte W12
.byte N24 , As3
.byte W24
.byte N12 , Ds3
.byte W12
.byte N12
.byte W12
.byte N24 , Fn3
.byte W24
@ 012 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_2_008
@ 013 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_2_009
@ 014 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_2_008
@ 015 ----------------------------------------
.byte N12 , Ds3 , v100
.byte W12
.byte N12
.byte W12
.byte N24 , Cn4
.byte W24
.byte N12 , Ds3
.byte W12
.byte N12
.byte W12
.byte N24 , Cs4
.byte W24
@ 016 ----------------------------------------
PkmGS-Battle6_2_016:
.byte N48 , Ds4 , v100
.byte W48
.byte Ds3
.byte W48
.byte PEND
@ 017 ----------------------------------------
.byte En4
.byte W48
.byte N48
.byte W44
.byte W03
.byte VOICE , 29
.byte W01
@ 018 ----------------------------------------
PkmGS-Battle6_2_018:
.byte N36 , Ds4 , v100
.byte W36
.byte As3
.byte W36
.byte N12 , Ds4
.byte W12
.byte Dn4
.byte W12
.byte PEND
@ 019 ----------------------------------------
.byte N24 , Cs4
.byte W24
.byte Cn4
.byte W24
.byte Bn3
.byte W24
.byte As3
.byte W24
@ 020 ----------------------------------------
.byte N48 , Bn3
.byte W48
.byte En4
.byte W44
.byte W02
.byte VOICE , 24
.byte W02
@ 021 ----------------------------------------
.byte N12 , Gs3
.byte W12
.byte N12
.byte W12
.byte N24 , Bn3
.byte W24
.byte N12 , Gs3
.byte W12
.byte N12
.byte W12
.byte N24 , Cs4
.byte W23
.byte VOICE , 29
.byte W01
@ 022 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_2_018
@ 023 ----------------------------------------
.byte N24 , Cs4 , v100
.byte W24
.byte Cn4
.byte W24
.byte Bn3
.byte W24
.byte N12 , As3
.byte W12
.byte Bn3
.byte W12
@ 024 ----------------------------------------
.byte N48 , En4
.byte W48
.byte Gs4
.byte W48
@ 025 ----------------------------------------
.byte En4
.byte W48
.byte Bn4
.byte W44
.byte W03
.byte VOICE , 60
.byte W01
@ 026 ----------------------------------------
PkmGS-Battle6_2_026:
.byte N12 , Ds4 , v100
.byte W12
.byte N12
.byte W24
.byte N12
.byte W24
.byte N12
.byte W24
.byte N12
.byte W12
.byte PEND
@ 027 ----------------------------------------
.byte W12
.byte N12
.byte W24
.byte N12
.byte W12
.byte N24 , En4
.byte W24
.byte N24
.byte W24
@ 028 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_2_026
@ 029 ----------------------------------------
.byte W12
.byte N12 , Ds4 , v100
.byte W24
.byte N12
.byte W12
.byte N24 , Fs4
.byte W24
.byte N24
.byte W24
@ 030 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_2_016
@ 031 ----------------------------------------
.byte N48 , Cs4 , v100
.byte W48
.byte Cs3
.byte W44
.byte W02
.byte VOICE , 24
.byte W02
@ 032 ----------------------------------------
.byte TIE , Ds3
.byte W96
@ 033 ----------------------------------------
.byte W96
.byte EOT
@ 034 ----------------------------------------
.byte N96 , Fn3
.byte W96
@ 035 ----------------------------------------
.byte Fs3
.byte W92
.byte W02
.byte VOICE , 62
.byte W02
@ 036 ----------------------------------------
PkmGS-Battle6_2_036:
.byte N24 , Ds5 , v100
.byte W24
.byte Dn5
.byte W24
.byte Cs5
.byte W24
.byte Cn5
.byte W24
.byte PEND
@ 037 ----------------------------------------
.byte N12 , Ds5
.byte W12
.byte Dn5
.byte W12
.byte Cs5
.byte W12
.byte Cn5
.byte W12
.byte N24 , Bn4
.byte W24
.byte N24
.byte W24
@ 038 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_2_036
@ 039 ----------------------------------------
.byte N12 , Ds5 , v100
.byte W12
.byte Dn5
.byte W12
.byte Cs5
.byte W12
.byte Cn5
.byte W12
.byte N24 , Bn4
.byte W24
.byte N24
.byte W23
.byte VOICE , 1
.byte W01
@ 040 ----------------------------------------
.byte N96 , Ds3
.byte W96
@ 041 ----------------------------------------
.byte Bn3
.byte W96
@ 042 ----------------------------------------
.byte As3
.byte W96
@ 043 ----------------------------------------
.byte Gs3
.byte W96
@ 044 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_2_008
@ 045 ----------------------------------------
.byte N12 , Ds3 , v100
.byte W12
.byte N12
.byte W12
.byte N24 , As3
.byte W24
.byte N12 , Ds3
.byte W12
.byte N12
.byte W12
.byte N24 , An3
.byte W24
@ 046 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_2_008
@ 047 ----------------------------------------
.byte N12 , Ds3 , v100
.byte W12
.byte N12
.byte W12
.byte N24 , Cs4
.byte W24
.byte N12 , Ds3
.byte W12
.byte N12
.byte W12
.byte N24 , Dn4
.byte W23
.byte VOICE , 60
.byte W01
@ 048 ----------------------------------------
PkmGS-Battle6_2_048:
.byte N48 , Ds4 , v100
.byte W48
.byte En4
.byte W48
.byte PEND
@ 049 ----------------------------------------
.byte Fs4
.byte W48
.byte En4
.byte W48
@ 050 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_2_048
@ 051 ----------------------------------------
.byte N48 , Fs4 , v100
.byte W48
.byte Gs4
.byte W48
@ 052 ----------------------------------------
.byte W96
.byte GOTO
.word PkmGS-Battle6_2_loop
.byte FINE

@**************** Track 3 (Midi-Chn.3) ****************@

PkmGS-Battle6_3:
.byte KEYSH , PkmGS-Battle6_key+0
@ 000 ----------------------------------------
.byte VOICE , 48
.byte VOL , 59*PkmGS-Battle6_mvl/mxv
.byte PAN , c_v+0
.byte N06 , Ds2 , v100
.byte W48
.byte N06
.byte W48
@ 001 ----------------------------------------
.byte N06
.byte W48
.byte N06
.byte W24
.byte N24 , En2
.byte W24
@ 002 ----------------------------------------
PkmGS-Battle6_3_002:
.byte N06 , Ds2 , v100
.byte W12
.byte N06
.byte W36
.byte N06
.byte W12
.byte N06
.byte W36
.byte PEND
@ 003 ----------------------------------------
PkmGS-Battle6_3_003:
.byte N06 , Ds2 , v100
.byte W12
.byte N06
.byte W36
.byte N06
.byte W12
.byte N06
.byte W12
.byte N24 , Bn2
.byte W24
.byte PEND
@ 004 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_002
@ 005 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_003
@ 006 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_002
@ 007 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_003
@ 008 ----------------------------------------
PkmGS-Battle6_3_008:
.byte N06 , Ds2 , v100
.byte W12
.byte N06
.byte W12
.byte N24 , As2
.byte W24
.byte N06 , Ds2
.byte W12
.byte N06
.byte W12
.byte N24 , Bn2
.byte W24
.byte PEND
@ 009 ----------------------------------------
PkmGS-Battle6_3_loop:
PkmGS-Battle6_3_009:
.byte N06 , Ds2 , v100
.byte W12
.byte N06
.byte W12
.byte N24 , As2
.byte W24
.byte N06 , Ds2
.byte W12
.byte N06
.byte W12
.byte N24 , Dn2
.byte W24
.byte PEND
@ 010 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_008
@ 011 ----------------------------------------
.byte N06 , Ds2 , v100
.byte W12
.byte N06
.byte W12
.byte N24 , As2
.byte W24
.byte N06 , Ds2
.byte W12
.byte N06
.byte W12
.byte N24 , Gs2
.byte W24
@ 012 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_008
@ 013 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_009
@ 014 ----------------------------------------
.byte N06 , Ds2 , v100
.byte W12
.byte N06
.byte W12
.byte N24 , As2
.byte W24
.byte N06 , Ds2
.byte W12
.byte N06
.byte W12
.byte N24 , As2
.byte W24
@ 015 ----------------------------------------
.byte N06 , Ds2
.byte W12
.byte N06
.byte W12
.byte N24 , Bn2
.byte W24
.byte N06 , Ds2
.byte W12
.byte N06
.byte W12
.byte N24 , Cs3
.byte W22
.byte VOICE , 53
.byte W02
@ 016 ----------------------------------------
.byte N48 , Ds3
.byte W48
.byte Ds2
.byte W48
@ 017 ----------------------------------------
.byte N24 , Bn2
.byte W22
.byte VOICE , 48
.byte W02
.byte N12 , Gn2
.byte W12
.byte Bn2
.byte W12
.byte Fs2
.byte W12
.byte As2
.byte W12
.byte Fn2
.byte W12
.byte An2
.byte W12
@ 018 ----------------------------------------
PkmGS-Battle6_3_018:
.byte N12 , Ds2 , v100
.byte W12
.byte As2
.byte W12
.byte Ds2
.byte W12
.byte As2
.byte W12
.byte Ds2
.byte W12
.byte As2
.byte W12
.byte Ds2
.byte W12
.byte As2
.byte W12
.byte PEND
@ 019 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_018
@ 020 ----------------------------------------
PkmGS-Battle6_3_020:
.byte N12 , En2 , v100
.byte W12
.byte Bn2
.byte W12
.byte En2
.byte W12
.byte Bn2
.byte W12
.byte En2
.byte W12
.byte Bn2
.byte W12
.byte En2
.byte W12
.byte Bn2
.byte W12
.byte PEND
@ 021 ----------------------------------------
.byte En2
.byte W12
.byte Bn2
.byte W12
.byte En2
.byte W12
.byte Cn3
.byte W12
.byte An2
.byte W12
.byte Bn2
.byte W12
.byte Gn2
.byte W12
.byte An2
.byte W12
@ 022 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_018
@ 023 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_018
@ 024 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_020
@ 025 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_020
@ 026 ----------------------------------------
PkmGS-Battle6_3_026:
.byte N12 , Ds2 , v100
.byte W12
.byte Fs2
.byte W12
.byte Ds2
.byte W12
.byte Fs2
.byte W12
.byte Ds2
.byte W12
.byte Dn3
.byte W12
.byte Cs3
.byte W12
.byte Cn3
.byte W12
.byte PEND
@ 027 ----------------------------------------
.byte Ds2
.byte W12
.byte En2
.byte W12
.byte Ds2
.byte W12
.byte En2
.byte W12
.byte Ds2
.byte W12
.byte Dn3
.byte W12
.byte Cs3
.byte W12
.byte Cn3
.byte W12
@ 028 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_026
@ 029 ----------------------------------------
.byte N12 , Ds2 , v100
.byte W12
.byte As2
.byte W12
.byte Ds2
.byte W12
.byte As2
.byte W12
.byte Ds2
.byte W12
.byte Dn3
.byte W12
.byte Cs3
.byte W12
.byte Cn3
.byte W11
.byte VOICE , 53
.byte W01
@ 030 ----------------------------------------
.byte N48 , As2
.byte W48
.byte Ds2
.byte W48
@ 031 ----------------------------------------
.byte Bn2
.byte W48
.byte Ds2
.byte W48
@ 032 ----------------------------------------
PkmGS-Battle6_3_032:
.byte N12 , Ds2 , v100
.byte W12
.byte Fs2
.byte W12
.byte Ds2
.byte W12
.byte Fs2
.byte W12
.byte Ds2
.byte W12
.byte Fs2
.byte W12
.byte Ds2
.byte W12
.byte Fs2
.byte W12
.byte PEND
@ 033 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_032
@ 034 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_032
@ 035 ----------------------------------------
.byte N12 , Ds2 , v100
.byte W12
.byte Fs2
.byte W12
.byte Ds2
.byte W12
.byte Fs2
.byte W12
.byte Ds2
.byte W12
.byte Fs2
.byte W12
.byte Ds2
.byte W12
.byte Fs2
.byte W10
.byte VOICE , 48
.byte W02
@ 036 ----------------------------------------
PkmGS-Battle6_3_036:
.byte N12 , En2 , v100
.byte W12
.byte Bn2
.byte W12
.byte En2
.byte W12
.byte Bn2
.byte W12
.byte En2
.byte W12
.byte Bn2
.byte W12
.byte Ds3
.byte W12
.byte En3
.byte W12
.byte PEND
@ 037 ----------------------------------------
.byte En2
.byte W12
.byte Bn2
.byte W12
.byte Ds3
.byte W12
.byte En3
.byte W12
.byte Fs3
.byte W12
.byte Bn2
.byte W12
.byte Ds3
.byte W12
.byte En3
.byte W12
@ 038 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_036
@ 039 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_020
@ 040 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_018
@ 041 ----------------------------------------
.byte N12 , Ds2 , v100
.byte W12
.byte As2
.byte W12
.byte Bn2
.byte W12
.byte En3
.byte W12
.byte N06 , Ds2
.byte W24
.byte N06
.byte W24
@ 042 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_020
@ 043 ----------------------------------------
.byte N12 , En2 , v100
.byte W12
.byte Bn2
.byte W12
.byte Cs3
.byte W12
.byte En3
.byte W12
.byte N06 , En2
.byte W24
.byte N06
.byte W24
@ 044 ----------------------------------------
PkmGS-Battle6_3_044:
.byte N12 , Ds2 , v100
.byte W12
.byte Gs2
.byte W12
.byte Ds2
.byte W12
.byte Gs2
.byte W12
.byte Ds2
.byte W12
.byte Gs2
.byte W12
.byte Ds2
.byte W12
.byte Gs2
.byte W12
.byte PEND
@ 045 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_044
@ 046 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_018
@ 047 ----------------------------------------
.byte N12 , Ds2 , v100
.byte W12
.byte As2
.byte W12
.byte Ds2
.byte W12
.byte As2
.byte W12
.byte Ds2
.byte W12
.byte As2
.byte W12
.byte Bn2
.byte W12
.byte As2
.byte W11
.byte VOICE , 53
.byte W01
@ 048 ----------------------------------------
PkmGS-Battle6_3_048:
.byte N12 , Ds2 , v100
.byte W12
.byte As2
.byte W12
.byte Dn3
.byte W12
.byte Ds3
.byte W12
.byte Ds2
.byte W12
.byte As2
.byte W12
.byte Dn3
.byte W12
.byte Ds3
.byte W12
.byte PEND
@ 049 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_048
@ 050 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_3_048
@ 051 ----------------------------------------
.byte N12 , Ds2 , v100
.byte W12
.byte As2
.byte W12
.byte Dn3
.byte W12
.byte Ds3
.byte W12
.byte Cs3
.byte W12
.byte Bn2
.byte W12
.byte As2
.byte W12
.byte Gs2
.byte W12
@ 052 ----------------------------------------
.byte W96
.byte GOTO
.word PkmGS-Battle6_3_loop
.byte FINE

@**************** Track 4 (Midi-Chn.4) ****************@

PkmGS-Battle6_4:
.byte KEYSH , PkmGS-Battle6_key+0
@ 000 ----------------------------------------
.byte VOICE , 81
.byte VOL , 34*PkmGS-Battle6_mvl/mxv
.byte PAN , c_v+0
.byte N24 , As2 , v100
.byte W48
.byte N24
.byte W48
@ 001 ----------------------------------------
.byte N24
.byte W48
.byte N24
.byte W24
.byte Bn2
.byte W24
@ 002 ----------------------------------------
PkmGS-Battle6_4_002:
.byte N12 , As2 , v100
.byte W12
.byte N24
.byte W36
.byte N12
.byte W12
.byte N24
.byte W36
.byte PEND
@ 003 ----------------------------------------
PkmGS-Battle6_4_003:
.byte N12 , As2 , v100
.byte W12
.byte N24
.byte W36
.byte N12
.byte W12
.byte N12
.byte W12
.byte N24 , Ds3
.byte W24
.byte PEND
@ 004 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_4_002
@ 005 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_4_003
@ 006 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_4_002
@ 007 ----------------------------------------
.byte N12 , As2 , v100
.byte W12
.byte N24
.byte W36
.byte N12
.byte W12
.byte N12
.byte W12
.byte N24 , En3
.byte W24
@ 008 ----------------------------------------
PkmGS-Battle6_4_008:
.byte N12 , As2 , v100
.byte W12
.byte N12
.byte W12
.byte N24 , Ds3
.byte W24
.byte N12 , As2
.byte W12
.byte N12
.byte W12
.byte N24 , Ds3
.byte W24
.byte PEND
@ 009 ----------------------------------------
PkmGS-Battle6_4_loop:
PkmGS-Battle6_4_009:
.byte N12 , As2 , v100
.byte W12
.byte N12
.byte W12
.byte N24 , Ds3
.byte W24
.byte N12 , As2
.byte W12
.byte N12
.byte W12
.byte N24 , Bn2
.byte W24
.byte PEND
@ 010 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_4_008
@ 011 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_4_008
@ 012 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_4_008
@ 013 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_4_009
@ 014 ----------------------------------------
.byte N12 , As2 , v100
.byte W12
.byte N12
.byte W12
.byte N24 , Ds3
.byte W24
.byte N12 , As2
.byte W12
.byte N12
.byte W12
.byte N24 , En3
.byte W24
@ 015 ----------------------------------------
.byte N12 , As2
.byte W12
.byte N12
.byte W12
.byte N24 , Fs3
.byte W24
.byte N12 , As2
.byte W12
.byte N12
.byte W12
.byte N24 , Gs3
.byte W24
@ 016 ----------------------------------------
PkmGS-Battle6_4_016:
.byte N48 , As3 , v100
.byte W48
.byte As2
.byte W48
.byte PEND
@ 017 ----------------------------------------
.byte N72 , Bn3
.byte W72
.byte N06 , As3
.byte W06
.byte Bn3
.byte W06
.byte Cn4
.byte W06
.byte Cs4
.byte W06
@ 018 ----------------------------------------
PkmGS-Battle6_4_018:
.byte N12 , Ds3 , v100
.byte W12
.byte As3
.byte W12
.byte Ds3
.byte W12
.byte N24 , Fs3
.byte W24
.byte N12 , Fn3
.byte W12
.byte En3
.byte W12
.byte Bn3
.byte W12
.byte PEND
@ 019 ----------------------------------------
PkmGS-Battle6_4_019:
.byte N12 , Fs3 , v100
.byte W12
.byte As3
.byte W12
.byte Fn3
.byte W12
.byte An3
.byte W12
.byte En3
.byte W12
.byte Gs3
.byte W12
.byte Ds3
.byte W12
.byte Gn3
.byte W12
.byte PEND
@ 020 ----------------------------------------
PkmGS-Battle6_4_020:
.byte N12 , En3 , v100
.byte W12
.byte N12
.byte W12
.byte N24 , Fs3
.byte W24
.byte N12 , En3
.byte W12
.byte N12
.byte W12
.byte N24 , Gs3
.byte W24
.byte PEND
@ 021 ----------------------------------------
.byte N12 , En3
.byte W12
.byte N12
.byte W12
.byte N24 , Gs3
.byte W24
.byte N12 , En3
.byte W12
.byte N12
.byte W12
.byte N24 , Bn3
.byte W24
@ 022 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_4_018
@ 023 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_4_019
@ 024 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_4_020
@ 025 ----------------------------------------
.byte N12 , En3 , v100
.byte W12
.byte N12
.byte W12
.byte N24 , Bn3
.byte W24
.byte N12 , En3
.byte W12
.byte N12
.byte W12
.byte N24 , En4
.byte W24
@ 026 ----------------------------------------
PkmGS-Battle6_4_026:
.byte N12 , As3 , v100
.byte W12
.byte N12
.byte W24
.byte N12
.byte W24
.byte N12
.byte W24
.byte N12
.byte W12
.byte PEND
@ 027 ----------------------------------------
.byte W12
.byte N12
.byte W24
.byte N12
.byte W12
.byte N24 , Bn3
.byte W24
.byte Gs3
.byte W24
@ 028 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_4_026
@ 029 ----------------------------------------
.byte W12
.byte N12 , As3 , v100
.byte W24
.byte N12
.byte W12
.byte N24 , Dn4
.byte W24
.byte N24
.byte W24
@ 030 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_4_016
@ 031 ----------------------------------------
.byte N48 , Fs3 , v100
.byte W48
.byte Fs2
.byte W48
@ 032 ----------------------------------------
.byte N96 , Bn2
.byte W96
@ 033 ----------------------------------------
.byte N96
.byte W96
@ 034 ----------------------------------------
.byte Cs3
.byte W96
@ 035 ----------------------------------------
.byte Ds3
.byte W96
@ 036 ----------------------------------------
PkmGS-Battle6_4_036:
.byte N24 , Fs4 , v100
.byte W24
.byte Fn4
.byte W24
.byte En4
.byte W24
.byte Ds4
.byte W24
.byte PEND
@ 037 ----------------------------------------
.byte Dn4
.byte W24
.byte Cs4
.byte W24
.byte Fs4
.byte W24
.byte N24
.byte W24
@ 038 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_4_036
@ 039 ----------------------------------------
.byte N12 , Fs4 , v100
.byte W12
.byte Gs4
.byte W12
.byte Ds4
.byte W12
.byte En4
.byte W12
.byte N24 , Fs4
.byte W24
.byte N24
.byte W24
@ 040 ----------------------------------------
.byte W96
@ 041 ----------------------------------------
.byte N48 , Fs3
.byte W48
.byte N24 , En3
.byte W24
.byte N24
.byte W24
@ 042 ----------------------------------------
.byte N96 , Ds3
.byte W96
@ 043 ----------------------------------------
.byte Cs3
.byte W96
@ 044 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_4_008
@ 045 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_4_008
@ 046 ----------------------------------------
.byte N12 , Cn3 , v100
.byte W12
.byte N12
.byte W12
.byte N24 , Ds3
.byte W24
.byte N12 , Cn3
.byte W12
.byte N12
.byte W12
.byte N24 , Ds3
.byte W24
@ 047 ----------------------------------------
.byte N12 , Cn3
.byte W12
.byte N12
.byte W12
.byte N24 , Fs3
.byte W24
.byte N12 , Cn3
.byte W12
.byte N12
.byte W12
.byte N24 , Gs3
.byte W24
@ 048 ----------------------------------------
PkmGS-Battle6_4_048:
.byte N12 , Ds3 , v100
.byte W12
.byte N12
.byte W12
.byte N24 , As3
.byte W24
.byte N12 , Ds3
.byte W12
.byte N12
.byte W12
.byte N24 , Bn3
.byte W24
.byte PEND
@ 049 ----------------------------------------
.byte N12 , Ds3
.byte W12
.byte N12
.byte W12
.byte N24 , Cs4
.byte W24
.byte N12 , Ds3
.byte W12
.byte N12
.byte W12
.byte N24 , Bn3
.byte W24
@ 050 ----------------------------------------
.byte PATT
.word PkmGS-Battle6_4_048
@ 051 ----------------------------------------
.byte N06 , Ds3 , v100
.byte W06
.byte N06
.byte W18
.byte N24 , Cs4
.byte W24
.byte N12 , Ds3
.byte W12
.byte N12
.byte W12
.byte N24 , Dn4
.byte W24
.byte GOTO
.word PkmGS-Battle6_4_loop
@ 052 ----------------------------------------
.byte W96
.byte GOTO
.word PkmGS-Battle6_4_loop
.byte FINE

@**************** Track 5 (Midi-Chn.5) ****************@

PkmGS-Battle6_5:
.byte KEYSH , PkmGS-Battle6_key+0
@ 000 ----------------------------------------
.byte VOICE , 126
.byte VOL , 59*PkmGS-Battle6_mvl/mxv
.byte W96
@ 001 ----------------------------------------
.byte W96
@ 002 ----------------------------------------
.byte W96
@ 003 ----------------------------------------
.byte W96
@ 004 ----------------------------------------
.byte W96
@ 005 ----------------------------------------
.byte W96
@ 006 ----------------------------------------
.byte W96
@ 007 ----------------------------------------
.byte W48
.byte N48 , As6 , v064
.byte W48
@ 008 ----------------------------------------
.byte W96
@ 009 ----------------------------------------
.byte W96
@ 010 ----------------------------------------
.byte W96
@ 011 ----------------------------------------
.byte W96
@ 012 ----------------------------------------
.byte W96
@ 013 ----------------------------------------
.byte W96
@ 014 ----------------------------------------
.byte W96
@ 015 ----------------------------------------
.byte W96
@ 016 ----------------------------------------
.byte W96
@ 017 ----------------------------------------
.byte W48
.byte N48
.byte W48
@ 018 ----------------------------------------
.byte W96
@ 019 ----------------------------------------
.byte W96
@ 020 ----------------------------------------
.byte W96
@ 021 ----------------------------------------
.byte W96
@ 022 ----------------------------------------
.byte W96
@ 023 ----------------------------------------
.byte W96
@ 024 ----------------------------------------
.byte W96
@ 025 ----------------------------------------
.byte W48
.byte Cs7
.byte W48
@ 026 ----------------------------------------
.byte W96
@ 027 ----------------------------------------
.byte W96
@ 028 ----------------------------------------
.byte W96
@ 029 ----------------------------------------
.byte W96
@ 030 ----------------------------------------
.byte W96
@ 031 ----------------------------------------
.byte W48
.byte N48
.byte W48
@ 032 ----------------------------------------
.byte W96
@ 033 ----------------------------------------
.byte W96
@ 034 ----------------------------------------
.byte W96
@ 035 ----------------------------------------
.byte W48
.byte N48
.byte W48
@ 036 ----------------------------------------
.byte W96
@ 037 ----------------------------------------
.byte W96
@ 038 ----------------------------------------
.byte W96
@ 039 ----------------------------------------
.byte W96
@ 040 ----------------------------------------
.byte W96
@ 041 ----------------------------------------
.byte W96
@ 042 ----------------------------------------
.byte W96
@ 043 ----------------------------------------
.byte W96
@ 044 ----------------------------------------
.byte W96
@ 045 ----------------------------------------
.byte W96
@ 046 ----------------------------------------
.byte W96
@ 047 ----------------------------------------
.byte W48
.byte N48
.byte W48
@ 048 ----------------------------------------
.byte W96
@ 049 ----------------------------------------
.byte W96
@ 050 ----------------------------------------
.byte W96
@ 051 ----------------------------------------
.byte W48
.byte Ds7
.byte W48
@ 052 ----------------------------------------
.byte FINE

@******************************************************@
.align 2

PkmGS-Battle6:
.byte 5 @ NumTrks
.byte 0 @ NumBlks
.byte PkmGS-Battle6_pri @ Priority
.byte PkmGS-Battle6_rev @ Reverb.

.word PkmGS-Battle6_grp

.word PkmGS-Battle6_1
.word PkmGS-Battle6_2
.word PkmGS-Battle6_3
.word PkmGS-Battle6_4
.word PkmGS-Battle6_5

.end

PokeFreakBror
January 26th, 2009, 09:00 AM
Are those songs for download looped? Just asking cause your tutorial seems a little confusing, but its very organized and i like that :)

shaqattacks
January 27th, 2009, 08:39 AM
YES, I got a song to loop. It was a easy song to loop though but still I did it! Thanks again for the tutoriol!:

cubone_master
April 15th, 2009, 07:22 PM
hey,i think i maked all right,but it doesn't sounds good,it loops but whit beeps xD
where i'm wrong?

.include "MPlayDef.s"

.equ DKC2_-_Forest_Interlude_grp, voicegroup000
.equ DKC2_-_Forest_Interlude_pri, 0
.equ DKC2_-_Forest_Interlude_rev, 0
.equ DKC2_-_Forest_Interlude_mvl, 127
.equ DKC2_-_Forest_Interlude_key, 0
.equ DKC2_-_Forest_Interlude_tbs, 1
.equ DKC2_-_Forest_Interlude_exg, 0
.equ DKC2_-_Forest_Interlude_cmp, 1

.section .rodata
.global DKC2_-_Forest_Interlude
.align 2

@**************** Track 1 (Midi-Chn.2) ****************@

DKC2_-_Forest_Interlude_1:
.byte KEYSH , DKC2_-_Forest_Interlude_key+0
@ 000 ----------------------------------------
.byte TEMPO , 95*DKC2_-_Forest_Interlude_tbs/2
.byte VOICE , 1
.byte VOL , 127*DKC2_-_Forest_Interlude_mvl/mxv
.byte PAN , c_v+0
.byte VOL , 92*DKC2_-_Forest_Interlude_mvl/mxv
.byte N12 , Gs3 , v127
.byte W12
.byte Cn4
.byte W12
.byte Ds4
.byte W12
.byte Cn4
.byte W12
.byte N03 , Fn4
.byte W03
.byte N09 , Gn4
.byte W09
.byte N03 , Fn4
.byte W03
.byte N09 , Gn4
.byte W09
.byte N12 , Ds4
.byte W12
.byte Fn4
.byte W12
@ 001 ----------------------------------------
.word forest_interlude_loop
DKC2_-_Forest_Interlude_1_001:
.byte N12 , Gs3 , v127
.byte W12
.byte Cn4
.byte W12
.byte Ds4
.byte W12
.byte Cn4
.byte W12
.byte N03 , Fn4
.byte W03
.byte N09 , Gn4
.byte W09
.byte N03 , Fn4
.byte W03
.byte N09 , Gn4
.byte W09
.byte N12 , Ds4
.byte W12
.byte Fn4
.byte W12
.byte PEND
@ 002 ----------------------------------------
.byte PATT
.word DKC2_-_Forest_Interlude_1_001
@ 003 ----------------------------------------
.byte PATT
.word DKC2_-_Forest_Interlude_1_001
@ 004 ----------------------------------------
.byte FINE

@**************** Track 2 (Midi-Chn.3) ****************@

DKC2_-_Forest_Interlude_2:
.byte KEYSH , DKC2_-_Forest_Interlude_key+0
@ 000 ----------------------------------------
.byte VOICE , 56
.byte VOL , 127*DKC2_-_Forest_Interlude_mvl/mxv
.byte PAN , c_v+0
.byte N96 , Gs2 , v092
.byte TIE , Ds3
.byte W96
@ 001 ----------------------------------------
.byte N96 , Cn3
.byte W96
.byte EOT , Ds3
@ 002 ----------------------------------------
.byte TIE , As2
.byte TIE , Dn3
.byte W96
@ 003 ----------------------------------------
.byte W96
.byte EOT , As2
.byte Dn3
@ 004 ----------------------------------------
.byte FINE

@**************** Track 3 (Midi-Chn.1) ****************@

DKC2_-_Forest_Interlude_3:
.byte KEYSH , DKC2_-_Forest_Interlude_key+0
@ 000 ----------------------------------------
.byte VOICE , 80
.byte VOL , 127*DKC2_-_Forest_Interlude_mvl/mxv
.byte PAN , c_v+0
.byte N96 , Gs0 , v092
.byte N96 , Gs1
.byte W96
@ 001 ----------------------------------------
.byte Fn0
.byte N96 , Fn1
.byte W96
@ 002 ----------------------------------------
.byte TIE , As0
.byte TIE , As1
.byte W96
@ 003 ----------------------------------------
.byte W96
.byte EOT , As0
.byte As1
@ 004 ----------------------------------------
.byte FINE

@**************** Track 4 (Midi-Chn.11) ****************@

DKC2_-_Forest_Interlude_4:
.byte KEYSH , DKC2_-_Forest_Interlude_key+0
@ 000 ----------------------------------------
.byte VOICE , 0
.byte VOL , 127*DKC2_-_Forest_Interlude_mvl/mxv
.byte PAN , c_v+0
.byte N12 , Gs0 , v112
.byte W12
.byte N06
.byte W06
.byte N06
.byte W24
.byte N06
.byte W06
.byte N12
.byte W12
.byte N12
.byte W12
.byte N12
.byte W24
@ 001 ----------------------------------------
.byte Fn0
.byte W12
.byte N06
.byte W06
.byte N06
.byte W24
.byte N06
.byte W06
.byte N12
.byte W12
.byte N12
.byte W12
.byte Gs0
.byte W12
.byte An0
.byte W12
@ 002 ----------------------------------------
.byte As0
.byte W12
.byte N06
.byte W06
.byte N06
.byte W24
.byte N06
.byte W06
.byte N12
.byte W12
.byte N12
.byte W12
.byte N12
.byte W24
@ 003 ----------------------------------------
.byte N12
.byte W12
.byte N06
.byte W06
.byte N06
.byte W24
.byte N06
.byte W06
.byte N12
.byte W12
.byte N12
.byte W12
.byte N12
.byte W12
.byte Gs0
.byte W12
.byte GOTO
.word forest_interlude_loop
.byte W06
@ 004 ----------------------------------------
.byte FINE

@******************************************************@
.align 2

DKC2_-_Forest_Interlude:
.byte 4 @ NumTrks
.byte 0 @ NumBlks
.byte DKC2_-_Forest_Interlude_pri @ Priority
.byte DKC2_-_Forest_Interlude_rev @ Reverb.

.word DKC2_-_Forest_Interlude_grp

.word DKC2_-_Forest_Interlude_1
.word DKC2_-_Forest_Interlude_2
.word DKC2_-_Forest_Interlude_3
.word DKC2_-_Forest_Interlude_4

.end

Blazichu
April 15th, 2009, 08:28 PM
Do not revive month old threads.

*Locks*