You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Sep 21, 2025. It is now read-only.
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.
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, run chmod +x build.sh and 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_Update once 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.