Are there any bugs in the GB sound hardware ?
Yes. A problem with sound being cut off prematurely can occur when several conditions are met. The conditions are the following: – the sound length registers, NR11, NR21 or NR31 – bits 0~6 are non-zero – the continuous bit of sound registers NR14, NR24 or NR34 is set to 0 (continuous) – and the initial bit of sound registers NR14, NR24 or NR34 is changed from 1 to 0 while the upper frequency is incremented or decremented. This problem seems to be dependent on the value in the sound length registers, NR11, NR21 or NR31 – bits 0~6. The larger the value, the sooner it stops. To get around this sound bug, set the duration again after the frequency high byte.