https://github.com/issotm/fortissimo
A speed-and size-focused Game Boy music driver, drop-in replacement for hUGEDriver ~ Try the demo!
https://github.com/issotm/fortissimo
chiptune chiptune-player game-boy game-boy-color game-boy-development hugetracker
Last synced: about 2 months ago
JSON representation
A speed-and size-focused Game Boy music driver, drop-in replacement for hUGEDriver ~ Try the demo!
- Host: GitHub
- URL: https://github.com/issotm/fortissimo
- Owner: ISSOtm
- License: other
- Created: 2019-10-12T22:05:49.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2025-01-25T00:10:45.000Z (4 months ago)
- Last Synced: 2025-03-16T14:51:34.517Z (2 months ago)
- Topics: chiptune, chiptune-player, game-boy, game-boy-color, game-boy-development, hugetracker
- Language: Rust
- Homepage: http://eldred.fr/fortISSimO/
- Size: 306 KB
- Stars: 21
- Watchers: 2
- Forks: 4
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# fortISSimO
A speed- and size-focused Game Boy music driver, intended for use with [hUGETracker](https://nickfa.ro/index.php/HUGETracker).
**Do you want to use fortISSimO? Then please read [the manual](https://eldred.fr/fortISSimO)!**
For an **example of usage**, as well as something to **quickly & easily make a ROM out of your song**, see [fortISSimO-demo](https://github.com/ISSOtm/fortISSimO-demo).
A table [comparing pros and cons of many GB music drivers](https://github.com/ISSOtm/fortISSimO/wiki/Drivers-comparison) is also available on the wiki.
This requires RGBDS 0.9.0 or later.
## Debugging features
If you're hacking on fortISSimO, you should use an emulator that supported [debugfiles], such as [Emulicious].
This will enable a lot of runtime checks.Additionally, since fO stores music data in a fairly oblique way, you can define the variable `FORTISSIMO_LOG` when building (e.g. `rgbasm -DFORTISSIMO_LOG=idx,main_row fortISSimO.asm`) to have some information logged to your emulator's console (again, via debugfiles):
- `row_idx` prints the order and row indices every time they change;
- `main_row` prints every row that gets read from the "main" grid;
- `subpat_row` prints every row that gets read from subpatterns.[^row_fmt]: The format is arguably a little weird: subpatterns don't print the channel number but the channel “mask” instead; the note ID/offset is simply printed in decimal; and the instrument ID and FX ID are kind of just mashed together.
## License
[](http://creativecommons.org/publicdomain/zero/1.0/)
To follow the license of hUGETracker and hUGEDriver, fortISSimO is dedicated to the public domain.
To the extent possible under law, all copyright and related or neighboring rights to
fortISSimO have been waived.
This work is published from France.[debugfiles]: https://github.com/aaaaaa123456789/gb-debugfiles/blob/master/debugfile.md
[Enulicious]: https://emulicious.net