The difficulties of writing for a sound driver

I think a lot of people would be surprised when I say writing for an existing sound driver produced as early as 1989 for the Gameboy was nothing short of a large endeavor and a huge task. The process was no easy task, so I'll explain the whole process in detail here, as I described my frustrations previously about using this sound driver for an unreleased GBC Quarth port and the Rockman World 2 Music Improvement project.

Initial Reverse-engineering

Reverse engineering a sound driver isn't an easy task. For those with experience it's trivial, but if you're like my past self, you'd have essentially no idea what to look for aside from a basic understanding of the difference of "code" and "data". In the sound driver case, we'd want to look for the sound driver's data, as while the code is useful, being able to alter the data to understand how the code behaves is rather important. Or rather, that's what I'd come to think, because in actuality it's probably better for a experienced programmer to simply read the code provided so one knows how the data is structured and formatted.