NitroTracker v0.3 offline documentation
Overview
- Foreword
- FAQ
- "Installation"
- How to load and play a song (free tour included)
- How to load samples and compose a basic track
- Reference card
- Resources
Foreword
Disclaimer
NitroTracker is still beta software. Therefore, bugs exist. As long as I have been playing with it now, it has behaved rather nicely. It has neither destroyed my CF card nor my DS. Anyway, if this happens to you, I won't take responsibility, i.e. you try NitroTracker at your own risk!
About bugs
If you find a bug, please remeber what you did before the bug occured. Perhaps even try to reproduce it. Then, send an e-Mail to: me (at) <thisdomain> or post it in the NitroTracker thread in the GBADev forums. Plase include all information you can provide on the bug, if necessary including the song/sample that causes it.Known issues
Several problems that I know of are not fixed up till now. An important rule you should consider when composing is:
Save early, save often!
Also:
Make sure your CF/SD card is 100% consistent!
Use scandisk or fsck for this.
The worst known issues are:
- When you try to load a song that does not fit into RAM, it crashes. About 3.4 MB are free after the program is started, but XMs generally need more RAM than their actual size.
- Loading/recording too many samples and overloading the RAM causes crashes.
Requirements
Easy version
If you just want to know what you need and don't care about the details, read on. For more in-depth info, check the next section.
The cheapest and most compatible solution is this combination:
![]() | ![]() |
Max Media Launcher (~20€/$) | GBA Movie Player CF v2 (~25€/$) |
This is a personal recommendation. I own both of these devices and use them for development. They are not available in stores, you can only buy them online. Just google for them and you will find a dealer.
Also, you will need a compact flash card (128MB will do, but if you want to also use your DS for playing back mp3 and video, you will probably want a bigger one) and a compact flash card reader for your PC.
You may want to buy another card instead of the GBAMP v2 if you don't like the fact that it sticks out very much, but in general, the compatibility with GBAMP is the best. Check the compatbility list below for alternatives.
When you have the GBAMP v2 and the Max Media Launcher:
- Follow this guide to flash the GBAMP, to make it compatible with DS homebrew.
- Get GBAMP Multiboot or some other loader and copy it to the CF card.
- Then download NitroTracker and copy it to the CF card.
- Get some samples in WAV format and/or some XM files and copy them to the card.
- Put the CF card into the GBA Movie Player and plug it into your DS.
- Start your DS, launch NitroTracker and start tracking.
More detailed version
In fact, you have a wide choice of cards to run NitroTracker from and a lot of possibilities to run homebrew code on your DS:- First of all, you need a DS that can run homebrew.
- Second of all, you need a CF/SD adapter.
But because the CF/SD-card adapters on the market are different in the way they load programs, homebrewers are having a hard time to make software run on all of them. And when it comes to accessing the filesystem on the CF/SD card, things get even more complicated. That's because the library that is used to access these cards is mainly written by a single person named chishm (who is doing a great job, by the way!) But like all homebrewers, he also has limited time and money, so the FAT library he is writing still has limited support. Based on the reports of several testers, I've put together a compatibility list of cards that work / don't work. If your card is listed as unknown, I'd appreciate if you could let me know whether or not your card works.
Compatibility List
GBAMP v2 CF | Works |
SuperCard CF | Works |
SuperCard SD | Works |
SuperCard miniSD | Works |
SuperCard lite | Works |
M3 CF | Works |
M3 SD | Works |
M3 miniSD v1 | Works |
M3 Lite / M3 Lite perfect | Works |
Max Media Launcher/Dock | Works |
M3 Simply (Slot 1) | Works (use DLDI for R4DS) |
EZ4 lite | Works (use .ds.gba version) |
NinjaDS | Works (use DLDI) |
R4DS | Works (use DLDI) |
SuperCard DS One (Slot 1) | Works, but has sample corruption (use DLDI) |
DS-Xtreme | Works with latest firmware, but has sample corruption (still waiting for their fatlib) |
G6 Lite | Loading/Saving does not work! (There's no FAT driver) |
SuperCard Lite Rumble | Does not work! |
GBAMP v2 SD | Unknown (reports wanted!) |
M3 SD slim | Unknown (reports wanted!) |
M3 miniSD v2 | Unknown (reports wanted!) |
Max Media Dock | Unknown (reports wanted!) |
Ewin2 | Unknown (reports wanted!) |
MK2/3 | Unknown (reports wanted!) |
Everything else | Might work too! (see DLDI section) |
DLDI (or: why unsupported cards might still work)
If NitroTracker does not work with your card, you can try patching it with a DLDI driver. If a homebrew application supports DLDI, you can add new card drivers to it. So, if a new card is released or a driver is updated, you don't have to wait until it is included in NitroTracker, becaue you can include it yourself. Instructions, the drivers and the patching tools are available from the DLDI homepage.
FAQ
In addition to this FAQ, there is a FAQ section in the NitroTracker wiki pages that you might want to check out if your questions are not answered here.NitroTracker does not start!
Check if you use the right version (.gba.nds for SuperCard, M3 or Flashcart, .ds.gba for EZ4 Lite, .nds for everything else). Fixing the filesystem with fsck or scandisk, or reformating the card has helped sometimes, too.
Oh noes! I cannot save!
Check if saving is supported for your card. If it is and it doesn't work, check the filesystem with fsck/scandisk, or try reformating the card.
NitroTracker crashes!
Check if you have the newest version. If not, update. Else, send a bug report with reproduction steps immediately!
It seems to have hung up while saving
Saving can be very slow if the RAM is rather full. Wait for at least a minute! If it succeeded, restart NitroTracker to clear RAM.
I have screen corruption and I'm using an M3
Defrag or reformat your card. Don't ask me why, but this has helped!
"Installation"
Just copy NitroTracker.nds and some XMs and/or WAVs to your CF/SD-Card. Get them for example at The MOD Archive.How to load and play a song (free tour included)
When you first see the user interface, you might think "What the schnitzel? This looks really complicated!" But don't worry: There are not really that many controls and you can learn how to handle them quite fast. But let's first start off really simple by just loading a song.
Tap on the icon that shows three pancakes that are poked with a stick (actually I intended to draw a hard drive). This will open the file dialog.
Now navigate to the folder where you stored your XMs (or just scroll down if they are in the top folder) and tap on a file.
To load it, click the "load" button and wait for a second.
You should now see some strange numbers appearing on the top screen. You can use the d-pad to scroll. You should also see that the list on the right becomes filled. This list shows the instrument names. But alomost no XM composer uses it for that purpose any more. Instead, they put additional song info into the instrument names. Wanna see how the instruments look? Then tap on the icon next to the pancakes that looks like a sound wave.
What you see now is the sample that belongs to the instrument selected in the list on the right. You can select other instruments in the list and play them by using the keyboard. You can see some more song information by going back to the first screen (click the note icon).
Did I forget something? Well, the "play" button plays the song :-)
How to load samples and compose a basic track
Loading samples
A word of warning: I may write mobile trackers in my spare time, but I'm rather musically illiterate, at least when it comes to producing music. So, this is not meant to be composing class, this is meant to explain how to track with NitroTracker.
Warning (2): Make sure that the filesystem of the CF/SD is consistent by checking with scandisk/fsck! Sometimes, when NDS apps write to the card, the filesystem gets corrupted although you won't realize. When saving to a corrupt filesystem you may loose your work!
First of all, we need samples. We all like retro sound, so we use this nice LSDJ sample pack from the freesound project kindly provided by starpause. Download the pack and unzip it to a new folder on your CF/SD card. Then put it into your DS and start NitroTracker.
To load some samples, click on the hard disk icon.
Then select "smp". This will cause that only samples are displayed in the browser.
Now go to the folder where the sample pack lies. When you load a sample, it is loaded into the currently selected intrument bank, i.e. the highlighted item in the list on the right. Make sure, the first item is selcted, then tap on the file starting with "3044" and tap "load".
Now select the second sample bank and the sample starting with "3049" and tap "load" again.
You can play around on the keyboard to listen to the samples. Since their names are not very descriptive, you might want to rename them.
To do this, press the "ren" button under the instrument list and enter the new name with the typewriter that appears. (I use the old-fashioned term typewriter to differentiate the (computer) keyboard from the (musical) keyboard.)
Composing something
Now we come to the fun part. To record a song, press the "record" button that is under the "ren" button. This button toggles record mode. Now, when you press a key on the keyboard, an entry is added to the pattern (the strange table on the top screen that we've been ignoring so far). Just try it out. Something like this will occur:
Here, blue stands for the note, orange for the instrument and green for the volume. The first blue character is the note itself, in this case an "H". The blue "4" is the octave of the note. You can chance the base octave using the "oct" numberbox. The orange "2" means that we have used instrument nr. 2 and the green "FF" is a hex value that means that this note is played at maximum volume, which is standard.
The pattern is played from top to bottom. I.e. when you press "play", it scrolls down and plays the notes, row after row. By push the d-pad left or right, you can switch channels. Two notes that are in the same row on different channels are played at the same time. To get some practice, try to track the following:
The first channel is a drum pattern and the second channel is a stupid melody, known as the swedish car symphony (it's not very famous). When you make a mistake, you can just scroll up with the d-pad and correct it. To clear a note, press the "clr" key right of the keyboard. Holding the B button with accelerate scrolling.
You can also press the "flp" button on the top right of the screen and make selections in the pattern by dragging the stylus. The "cpy" button copies the selected area to the clipboard. The "pst" button pastes it with the upper right corner at the current cursor position.
When you're ready, press the play button the listen to this annoyying song. You will realize that the pattern goes on even after the melody is finished.
To change this, tap the note icon. This will bring you to the song view. There is a numberslider named "ptn len". It's used by putting the stylus down anywhere on it and then sliding it up or down. In our case, we slide it down until the number reaches 20. When you scroll down in the pattern using the d-pad, you will see that the pattern now ends at the same time as the song.
Now we want our patterns to be looped three times to make the song even more annoyying. For this, we edit the pattern order table (the table on the left). It currently has one entry that sais "0 0". This means that pattern 0 is played at position 0. You can change the pattern by using the "<" and ">" buttons right to it. Pushing ">" will automatically create a new empty pattern of the same size as the current one. but since we only want one pattern, change it back to 0.
Press the "ins" button twice to insert the current pattern into the pattern order table two more times. If you press play now, the pattern will be played three times and you will notice how the highlighted item in the pattern order table changes automatically.
Think that your song is too slow or too fast? Change the speed with the "tmp" and "bpm" number boxes.
Currently the name of our song is "unnamed", as you can read below the tempo settings. To change it to something more suitable, press the "..." button right of the name.
There we go :-) Now to save the song, press the "three pancakes" icon.
In the file dialog, select "sng" again, then navigate to the folder where you want to save it. To enter a name, press "..." right of the empty name field. You don't have to enter ".xm" in the end, because it is appended automatically. Now press "save". When the window disappears, it's safe to turn off your DS.
You can now copy the file to your computer and play it with Winamp, XMMS or whatever you like. You can also edit it with a PC tracker like Milkytracker.
Well, this concludes my introduction to bad tracking. Have fun and send me your results!
Reference card
Tabs
The song tab
Opens song controls, where you can change several song parameters.
The disk tab
Opens the file browser there you can load and save samles and songs.
The sample tab
Here you can view samples and record your own.
The settings tab
Adjust settings to your preferences.
Song controls
![]() |
"ins" inserts the current pattern into the pattern order table at the current position. "cln" clones the current pattern "del" deletes the highlighted pattern. "<" chooses the previous pattern ">" chooses the next pattern |
![]() |
"sub" deletes the last channel (in all patterns) "add" adds a new channel after the last (in all patterns) |
![]() |
Changes the length of the current pattern (Usage: Put your pen down anywhere on the numberslider and slide the pen up or down) |
![]() |
"tmp" defines the tempo (coarse speed) lower = faster "bmp" defines the bpm (fine speed) lower = slower |
![]() |
"restart" defines the position from where the song is restarted when it has reached the end. |
![]() |
"..." shows a typewriter for changing the name of the song | ![]() |
Shows a dialog box for zapping the patterns, the instruments or the entire song. |
Editing / playback controls
![]() |
This, ladies and gentlemen, is called a "keyboard". |
![]() |
D'uh! |
![]() |
Toggles pattern looping |
![]() |
Toggles record mode |
![]() |
Flips the screens. |
![]() |
Defines how many rows to scroll forward in the pattern when a note is entered. |
![]() |
Defines the base octave of the keyboard, i.e. if the value is 4, the leftmost key on the keyboard plays a C-4. |
![]() |
inserts an empty note under the cursor, moving all notes below it down one row |
![]() |
deletes the note under the cursor, moving all all notes below it up one row |
![]() |
deletes the note under the cursor |
![]() |
enters a stopnote, i.e. a silent note that stops the previously toggled note |
![]() |
copies the selection to the cipboard and clears it |
![]() |
copies the selection to the cipboard |
![]() |
pastes the contents of the clipboard with the upper left corner at the cursor position |
![]() |
select whole column(s): make a selection over the columns you want to select and press this button. Without an existing selection, the column under the cursor is selected. |
![]() |
"ren" shows a typewriter for renaming the currently selected instrument |
Sample controls
Sample settings
![]() |
Adjusts the sample volume (0 - 64) |
![]() |
Sets the note relative to C-4 on the keyboard |
![]() |
Fine-tunes the note (-128 - 127) |
Sample editor
![]() |
Record a sample with the microphone |
![]() |
Selects all / nothing |
![]() |
Fades the selection in / out. If there is no selection, the whole sample is used. |
![]() |
Brings up a dialog for changing the sample amplitude |
![]() |
Reverses the selected part of the sample. If there is no selection, the whole sample is used. |
![]() |
Deletes the selected part |
Settings
![]() |
Choose if you're left-handed or right-handed. For lefties, the functions of the D-pad and the ABXY buttons are swapped. |
![]() |
DSMIDIWiFi settings. "connect" connects to the access point. Sending and receiving can be toggled independently. |
Buttons
D-Pad | scrolls in the pattern |
B | Accelerates vertical scrolling |
Start | Start / pause playback |
Select | Stops playback |
X or L | Flips the screens |
R + up/down | Scrolls to the beginning / end of the pattern |
Lid | Yes, the lid is a button :-) Closing enters standby mode Opening leaves standby mode |
Start+Select | Reset DS |
Resources
Samples and example music
Good resources for samples and XM files are:Further reading
If you have never touched a tracker before and if if you have read all of the above, you should know how to use NitroTracker, but you should still know very little about tracking. To learn how to track, you should use THE INTARWEB! Besides googling, I would recommend reading some articles on United-Trackers, especially The Process of Learning to Track.
Also, there are the NitroTracker wiki pages in the DS Wiki that have some more information and can be used for feedback.
Otherwise, all that's left to say is: Be creative and have fun!