Maybe it is already well known issue (just not yet for me ) or maybe it is and PSG emulation bug... Or maybe there is a secret to writing the tone period registers that avoids this unwanted byproduct when updating both low and high at the same time ... which is not 100% possible and this is the problem I think.
Anyway the following basic program demonstrates the issue. The program plays an A-4 note on the PSG with some modulation:
10 SOUND 7,128+62 20 SOUND 8,13 30 SOUND 0,254:SOUND 1,0 40 FORI=0TO200:NEXT 50 SOUND 0,0:SOUND 1,1 60 FORI=0TO200:NEXT 70 GOTO 30
In emulators (openMSX, blueMSX) this sounds pretty bad. Does it also sound bad on real MSX? Can anyone confirm?
It improves a bit when changing the order of sound commands in line 50, thus:
50 SOUND 1,1:SOUND 0,0
But it is still not perfect solution, at least not in emulator (or in basic) it seems.
So is there a better way to update the tone period registers?
Or should we just live with this?