so you might recall I have been fighting an issue where my Mockingboard
hardware has really glitchy sound under some situations.
I spent some more time trying to narrow it down. I suspect it might
be the AY-3-8913 chips themselves.
The simplest test case that shows the problem is to enable only Channel C,
and then to repeatedly write $51,$3C to the register with a 20ms pause
in between. Often (and possibly always) after a power-of-two number of
repititions on the 51 to 3C transition a 30ms or so glitch occurs.
Other values will also trigger a glitch (or a more worrying similar one
where the volume drops, I've possibly seen this on my Pi chiptune player).
Sending a single tone, for example writing $51 repeatedly never triggers
the problem, only if different values are written.
Earlier in this batch of testing I thought it might be the 6522 chips.
Maybe the handshaking, as on the Mockingboard the PA1 line is pulled
high but PB1 is left floating. I tried tying PB1 to 5V, no change.
I also read out the interrupt registers to make sure they were set right.
Applewin reports IER wrong ($80 instead of $C0) for what it's worth.
I then thought maybe, despite my earlier logic probe readings, that the
AY-3-8913s were getting set wrong. So after writing I immediately read
out the values and compared them. The values always match the expected
ones.
(On real hardware at least, Applewin and MAME both don't seem to support
reading values out of the AY chips through the 6522).
Anyway I'm nearly about giving up on this. I ordered some AY-3-8913 chips
to try swapping out (I only have 8910 and 8912 spares).
Does anyone else see this issue on their Mockingboard?
You can try downloading the disk image from here:
http://www.deater.net/weave/vmwprod/chiptune/mock_problem/chiptune_debug.dsk
and BRUN CHIPTUNE_TINY and see. Maybe listen in an emulator first to
hear the expected noise, then listen (or even better, capture with
something like audacity) and see if it glitches.
Anyway a full rundown of the stuff I've tested is here:
http://www.deater.net/weave/vmwprod/chiptune/mock_problem/
Vince