So, after downloading a special program called "NITRO-SoundMaker", which is an in-house tool to develop music for the NDS, I discovered how to loop, and it was stupidly simple. Following on a hunch, I decided to ask someone to send me a MIDI, I added the needed data to it, send it back, and have him insert it. But, there was one condition:
do not touch the .s file. And my hunch was correct: the file did loop. So, this tutorial is killing two birds with one stone, as the same official tools for converting MIDI files for use on the GBA use the exact same command to loop as the official NDS tools. And it's been overlooked for many years, so it's beyond me how this was totally missed. Anyways, let's get started.
You will need:
1. Your MIDI file
2. Anvil Studio
3. Official NDS/GBA conversion tools (Based on what system you want to use)
-MID2AGB and Sappy for GBA
-smfconv, and seqconv for NDS
Oh, and don't ask me where to find the Nintendo programs. I
will not link to them.
Now, as I said, it's stupidly simple to loop, and I'm not kidding. These commands are built into both MID2AGB and smfconv, but they've been overlooked until today. Here's how to tap into the hidden potential:
1. Open your MIDI file in Anvil Studio, and view your MIDI in the Piano Roll Editor (View -> Piano Roll Editor)
Now, to start, go right to the end of the song, and head to the top of the window. Look for a button called "New cue" and click on it:
Now, since we're at the end of the file, we're going to add one special character to the box that shows up, simply, "]":
Now, here comes the hardest part, and it's not even that hard. In the piano roll editor, place the marker arrow at the point in the song you want the game to loop it to, then go back up to the top and add a new cue, "[":
And that's all! Now, export your MIDI file (MIDI-Format 0 File), and compile it using your choice of tools (mid2agb for GBA, or smfconv + seqconv for NDS), and insert. Don't even touch your .s file, as there is no need to, well, unless you need to adjust something. Have fun looping music!