XM converter + player for Game Boy
Requirements: Python 3 and a tracker of your choice (OpenMPT, MilkyTracker, FT2 Clone, etc.)
-
Download the easypack here
-
Unzip it
-
Use the provided template module to write a tune
- Volume column is allowed, but you should use the note off command (in the note column) instead of setting the volume to zero
- Tempo must be 150, speed can be whatever
- Allowed effects: 0xy (CH1-CH3 only), 1xy/2xy (CH1-CH3 only), Axx, Bxx, Dxx, Fxx
- Using Cxx to set note volume is not supported, use the volume column instead
- Instruments 1-4 can be used on CH1, CH2, and CH3
- Instruments 5-16 may only be used on CH3
- Instruments 17 and 18 may only be used on CH4
- The samples for instruments 5-16 may be redrawn as you see fit, but don't change the sample size
- Each pattern must be 64 rows long (if you need to cut a pattern early use D00)
- Do not use C00 in order to do note cuts, instead you should use the note off command (in the note column)
- You must save your module in .XM format
-
Run xmconv.py
python xmconv.py yourmodule.xm music.bin
-
Build the ROM
- If on Windows, run "type player.bin music.bin > rom.gb"
- If on Linux or Mac OS X, run "cat player.bin music.bin > rom.gb"
- Change the ROM name to your song's name
- Optional: Use RGBFIX to fix the checksum of the resulting ROM
Requirements: RGBDS, Python 3
- Clone the repository.
- If on Windows, run
build.bat
. - If on macOS or Linux, run
build.sh
. If you get a "permission denied" error, runchmod +x build.sh
and try again.