libgade
libgade copied to clipboard
Add Audio Support
Add support for audio following the documentation within the GB Development Wiki: https://gbdev.gg8.se/wiki/articles/Gameboy_sound_hardware
What's supported
- [x] Square 1 Channel with Frequency Sweep
- [x] Square 2 Channel
- [x] Wave Channel
- [x] Noise Channel
- [x] Blargg's DMG Audio Tests, except the ones that rely on mid instruction timings:
- 09-wave read while on
- 10-wave trigger while on
- 12-wave write while on
- [x] Documentation
What's not supported (left for another iteration)
- Zombie mode
- Blargg's DMG Audio Tests requiring mid instruction timings
- Non DMG specific behavior
- Prehistorik Man's Intro might destroy ears (Zombie mode related probably)
- Smooth Player Will probably require some changes to make it work, properly emulating the analog high pass filter instead of taking shortcuts for instance.
Additional Notes
- Updates GNAT compiler URL
- Fixes HALT flag not being initialized (was breaking O2 optimized builds)
- Minor non audio related cleanups