Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/DevEd2/DevSound
Game Boy sound driver
https://github.com/DevEd2/DevSound
asm demoscene game-boy game-boy-color rgbds rom
Last synced: 2 months ago
JSON representation
Game Boy sound driver
- Host: GitHub
- URL: https://github.com/DevEd2/DevSound
- Owner: DevEd2
- License: mit
- Archived: true
- Created: 2017-04-13T21:23:07.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2022-04-19T09:49:13.000Z (about 2 years ago)
- Last Synced: 2024-02-23T04:00:29.613Z (4 months ago)
- Topics: asm, demoscene, game-boy, game-boy-color, rgbds, rom
- Language: Assembly
- Homepage:
- Size: 594 KB
- Stars: 49
- Watchers: 5
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-gbdev - DevSound - Sound driver embeddable in homebrews which supports pulse width manipulation, arpeggios, and multiple waveforms. (Software Development / Tools)
- awesome-gb-dev-zh - DevSound - 可嵌入自制软件的声音驱动程序,支持脉冲宽度操作、琶音和多种波形。 (软件开发 / 工具)
README
# DevSound
DevSound is a sound driver for the Game Boy which supports pulse width manipulation, arpeggios, and multiple waveforms. This version is no longer under development, and I recommend using [DevSound Lite](https://github.com/DevEd2/DevSoundLite) instead.# Building a demo ROM and/or GBS
Note that the demo ROM is included already; these instructions are if you want to try your own modifications.## Windows
1. Grab the [RGBASM binaries](https://github.com/rednex/rgbds/releases). If you already have them, you can skip this step.
2. Open a command prompt in the `demo` folder.
3. Run build.bat. If that doesn't work, try either adding the RGBASM binaries to your PATH or copying them to the repository directory.## Linux
1. Install [RGBDS](https://github.com/rednex/rgbds). If RGBDS is already installed, skip this step.
2. Open a terminal in the `demo` folder.
3. Run `make`.# Adding DevSound to your project
1. Copy DevSound.asm, DevSound_Variables.asm, DevSound_Constants.asm, DevSound_Macros.asm, DevSound_SongData.asm, and NoiseData.bin to your project directory. If you're not using a file such as [hardware.inc](https://github.com/tobiasvl/hardware.inc) or gbhw.inc, you will need to include it as well.
2. Allocate a ROM bank for DevSound. Make note of the bank number (unless your ROM does not use banking).
3. Add the following line to your main loop: `call DS_Play`
4. In order to load a song, use the following code:
```
ld a,SongID ; replace SongID with the ID of the song you want to load
call DS_Init
```
5. In order to stop playback, use the following line of code: `call DS_Stop`
6. In order to fade sound in/out, use the following code:
```
ld a,X ; replace X with 0 to fade out, replace X with 1 to fade in
call DS_Fade
```
7. If you need help, let me know. I can usually be reached on IRC at irc.efnet.org #gbdev, with the nick DevEd. I may also be reached on Discord in this server: https://discord.gg/gpBxq85. Just ping me (I go by the name DevEd on that server) if you need anything.# Projects that use DevSound
- **BotB Invitro** (https://github.com/DevEd2/BotBInvite) - A one-screen Game Boy invite I created along with Pigu for Battle of the Bits. *Note: Uses an earlier version of DevSound*
- **Aevilia** (https://github.com/ISSOtm/Aevilia-GB) - An RPG for Game Boy Color by ISSOtm, which I'm providing music for.
- **Scoot the Burbs** (https://github.com/DevEd2/ScootTheBurbs) - A Vinesauce-related project I am currently working on.
If you are using DevSound in your project, let me know and I'll add it to this list.
# Frequently Asked Questions
*TODO*