I recently released a demo (including sources) called GBVisualizer. It's supposed to demonstrate the use of two undocumented hardware registers, nicknamed PCM12 and PCM34, which I previously mentioned in GBDev Wiki.
Basically, these two registers allow reading the current PCM samples of each of the 4 APU channels in real time. This allows me to display real time oscillator-like audio visualization while playing music.
Some interesting notes:
- Since it's not documented, and as far as I know, never used in any official game or demo, not a single released emulator supports these registers. (My yet-to-be-released emulator does support them)
- Some emulators read these registers as constant zeros, which are the correct values when sound is not playing.
- These registers allow an entire different class of test ROMs to be created, which will eventually allow sample-perfect nanosecond-accurate APU emulation.
- Music for this demo is adapted from another project of mine, a disassembly of Super Bomberman.
- I actually discovered these registers by coincidence.