libgade icon indicating copy to clipboard operation
libgade copied to clipboard

Add Audio Support

Open ellamosi opened this issue 4 years ago • 0 comments

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

ellamosi avatar Nov 12 '20 01:11 ellamosi