A complete rewrite of DevSound for Game Boy. Unfortunately, it is incompatible with previous versions of DevSound, but it makes up for it with new features and significantly reduced CPU load.
Building the source code
General dependencies
- RGBDS
- An emulator of your choice (such as BGB, SameBoy, or Emulicious)
- VisualBoyAdvance is not supported as it fails to correctly emulate a hardware quirk that DevSound X relies on.
Build instructions
Windows
- Clone the repo:
git clone --recursive https://github.com/DevEd2/DevSoundX - Run
build.bat.
Linux and macOS
- Clone the repo:
git clone --recursive https://github.com/DevEd2/DevSoundX - Run
build.sh. If you get a "permission denied" error, runchmod +x build.shand try again.
Including DevSound X in your project
Just copy the Audio folder to your project's root directory and include Audio/DevSoundX.asm somewhere in your project.
Using DevSound X
- Call
DSX_Init. This only needs to be done once (ideally during bootup). - Load the pointer to the song you want to play into HL and call
DSX_PlaySong, i.e. like this:ld hl,Mus_Foobar :: call DSX_PlaySong - Call
DSX_Updateonce per VBlank (or on a timer interrupt if desired). - If you need to stop music playback, call
DSX_StopMusic.
Making music for DevSound X
Unfortunately, there are currently no tools to work with DevSound X, so you'll need to program songs in manually. This repository includes a test song as an example, and there is some documentation available here.