Hi Jeff!
Dr Jefyll wrote:
Two questions that somehow drifted to mind. Referring to the quote above, what happens if you replace the Rockwell part with a WDC65C51 and DON'T clock Blue August back up to 16MHz?
I did do that, and in my memory it was a successful attempt; I didn't leave it in that configuration for very long, though, and since the glitches were intermittent I can't say for sure that it was 100% stable. I can pretty easily revert to that and give it another try, but see below.
Quote:
And, is the 1.8432 MHz oscillator rated to generate CMOS output levels, or do its specs only promise TTL levels? As a quick n dirty test, can you reduce/eliminate the glitches by hanging a pullup on the oscillator output?
It's this one:
https://www.mouser.com/datasheet/2/96/C ... 665263.pdf I have the half-can variant with no output-enable that's rated at 50ppm.
This morning I got back to testing. I put a little tracking kludge in my ISR to help with debugging - whenever it executes it sends an 'i' to the serial port. I was getting lots and lots of 'i's. Sometimes Blue August would stabilize after a while and I could actually interact with WOZMON; other times it would just spam 'i's forever, like the interrupt wasn't being cleared. So, I disabled interrupts on the ACIA. No change. Disabled interrupts on the 65C02. *Still* no change. Checked all the IRQ lines on the scope and with my DMM. All holding steady at just over 5 volts. Pullups in the right place. I'm seeing lots of 'i's, but the scope is not triggering. I realize that my tracking kludge tells me when the ISR executes, but not necessarily when an actual hardware interrupt happens. I check through my code to make sure I haven't done something dumb like leave out a '#' or allowed a fall-through by leaving out a 'rts.' Everything seems OK. I remember that running at a slower clock speed yesterday seemed to improve things, so I start thinking maybe it's power/ground related. I fuss with adding a few connections between the main board and the IO board. I do manage to make the board totally unresponsive, but no improvements. The noisiest, hardest-switching IC on the board is the AC163 for the clock stretcher. I pull that out and replace it with an HC163. Like magic, the board now works perfectly.
This is a little disappointing. I had thought my careful ground layout and careful hand-wire-wrapped connections had resulted in a pretty robust board this time. Also, the HC163 has a longer setup time to parallel load, so the maximum clock speed is lower. (Going OK at
12.6MHz, but won't stretch at 14MHz.)