Pokey two tone timing problem
Been measuring cases on the scope...
Confirmed the extra cycle delays described in that forum post on my 600XL. Confirmed missing on the EclaireXL implementation.
I was concerned that my clocks were off at first since I was running in VGA mode, but that changes vsync slightly (50Hz vs 4.86Hz) which of course also impacts audio frequency:-) Debugging in RGB mode gives a perfect match.
A 2 cycle delay on the reset fixes both the 4 cycle and the 9 cycle case.
Now to check this specific example!
Nope, seems to be some interaction with the noise filtering. I wonder if the delay also needs applying to the pulse from the timer, that then hits the noise filter.
So, errr identical then! Going to have to think about this one...
B is Atari, A is EclaireXL.
I found if I pokey 53775,11+128 on the Atari then it matches the Eclaire output. Unfortunately forcing the serious output on eclaire to 1 or 0 does not change anything. Still its something to go on!
I have audio test pcbs now to allow synchronised writes to pokeymax vs pokey. Which should help track down this kind of thing.
This was fixed following investigation and a simple test case/detailed spreadsheet from Synthpopalooza.
I used these new audio test pcbs and a cycle exact fpga comparison program to check it against the real pokey.
Incidentally I found another few small intermittent cycle differences which I'll be able to track down with this too.
- Status changed from New to Resolved
Also available in: Atom