I was wondering how possible it would be to 'fix' the Game Boy click sounds on channel 3 by modifying an accurate emulator to not make them. I understand there are ways to hide the clicks, but I would also like an option just to... not have them.
I already tried looking at the source code for an existing GB(A) emulator to see if there was a simple way of doing this, but it seems my programming knowledge is too limited to understand how it works without help. If it seems like a feasible idea, I'd love to pursue it further, but if not, I guess I'll just have to resort to hiding the clicks.
As I understand it, the click is a glitch that happens when the GB has to write a new sample over the old sample. The GBA solves this problem by having 2 banks for samples (rather, 1 bank which is twice as large but can be split in half), and it just switches to the other bank instead of overwriting the current bank. But it seems that current emulators don't make use of this feature when running lsdj, unless there is something I am missing about running lsdj on a GBA (via PC emulation).
I'm thoroughly over my head on this, but it seems to me there should be a way to do this, and I'd like to find it so we can have a blissfully click-free wav channel.
Update: I have taken a closer look at the source code for a different emulator, and it is starting to make sense to me. It seems like I might be able to layer the GBA technology behind the GB emulation code so that on the surface, the emulation doesn't change, but behind the scenes the GB emulator is running GBA style code. We'll see how this works as I continue analyzing the source code.
Last edited by Counter-chip (Jun 3, 2020 12:48 am)