Page 6 of 8

Re: Zero glue logic 6502 SBC?

Posted: Fri Oct 31, 2025 1:09 pm
by Michael
plasmo wrote:
On paper W27C512 is 45nS access, so no, not on paper. In practice, it is faster than spec and furthermore its chip select and output enable are grounded, so the access is from valid addresses to valid data out. W65C02 addresses are valid significantly earlier than the rising edge of clock, so I’m able to run successfully. My guess is it can run close to 20mhz.
Bill
Very cool. Question, please? Based on your results do you think the W27C512 would work in the circuit below at 14.7-MHz or 16-MHz? If the ROM /OE pin goes low 1.8-nS after a valid address would its 20-nS propagation delay be concurrent with the ROMs 45-nS TACC (which you've demonstrated is much shorter)?

Re: Zero glue logic 6502 SBC?

Posted: Fri Oct 31, 2025 2:03 pm
by plasmo
It should work fine. There may be slight loss in max operating frequency, but simplicity itself can improve speed by reducing load capacitance.
Bill
Edit, in rev0, it only has W65C51 so I like ROM to be paged out to accommodate additional I/O expansion. Rev1’s W65C22 is a more capable I/O device, so having ROM present in top 16K is a reasonable design option.

Re: Zero glue logic 6502 SBC?

Posted: Wed Nov 05, 2025 4:33 am
by plasmo
I have built 2nd ZG6502 rev1 board. It performed the same as the first board; run OK at 16mhz, but failed at 18.4Mhz. So the nominal operating frequency of ZG6502 rev1 will now be 14.7mhz. The bitbang serial port is still 115200 bps.
RAM can be as fast as 10nS, I think the speed limiting component is the 45nS W27C512. It maybe interesting to boot from W27C512 at 14.7Mhz, after the program is running in the fast RAM, then increase the clock until failure. One way to change clock while running is using a DS1086 oscillator that can be controlled via I2C. So I’ve added an I2C function such that VIA portB D[5] is I2C SDA; and portB D[6] is I2C SCL. I tested out the I2C function by driving an 128x64 OLED I2C display. It can display an ASCII table successfully, so I think the I2C interface is working correctly. Now I’ll try driving a DS1086 raising its own clock until it crashes…
Bill

Re: Zero glue logic 6502 SBC?

Posted: Thu Nov 06, 2025 5:41 am
by plasmo
I’ve prototyped a DS1086 oscillator in DIP14 package so it can plug into the oscillator socket of ZG6502. The I2C signals are connected to a 4-pin header on the DIP14 prototype so I can drive them with W65C22. Before plugging in the DS1086 prototype into ZG6502 oscillator socket, I first programmed it to run 14.7mhz. Then it is plugged into ZG6502 oscillator socket and verified it will run correctly. Then the I2C signals are patched to W65C22.
I wrote a test software running in RAM that steps DS1086 frequency from 15.3mhz, 16.6Mhz, 17.9mhz, 19.2Mhz, 20.5mhz, 21.7mhz, 23mhz, 24.3mhz, 25.6Mhz, 26.9mhz, 28.1mhz, 29.4Mhz, and 30.7mhz. They all worked! These frequency steps require W65C22 to bit bang I2C signals, so as long as the frequencies are stepping up, W65C22 is working at that particular frequency. This is a pretty good indication that ZG6502 rev1 is good to 30.7mhz as long as the program is running in fast RAM.
To further prove proper operation at 30.7mhz, the test program returns to the monitor which originally communicates at 115200bps with 14.7mhz clock. Now the clock is 30.7mhz, the serial port is within 3% error of 230400bps so it can communicate at 230400bps just fine. I can now load a memory diagnostic and watch the memory test runs twice as fast. Total power consumption is 89mA at 5.1V at 30.7mhz. Power consumption is 59mA at 14.7mhz. Cool!
The take away is W65C22 can pair with W65C02 and overclocked recklessly!
Bill

Re: Zero glue logic 6502 SBC?

Posted: Thu Nov 06, 2025 8:01 am
by BigEd
Amazing, and very impressive!

Re: Zero glue logic 6502 SBC?

Posted: Thu Nov 06, 2025 9:00 am
by barnacle
plasmo wrote:
The take away is W65C22 can pair with W65C02 and overclocked recklessly!
Bill
Very nice. Next step: liquid nitrogen :mrgreen:

Neil

Re: Zero glue logic 6502 SBC?

Posted: Thu Nov 06, 2025 2:33 pm
by plasmo
I’m not done with overclock testing since it hasn’t failed yet. The RAM I’m using is 25nS part which is really too slow for 30+mhz operation. I need to swap in a 10nS RAM. I’m actually surprised that dynamically changing clock worked, all that worries about fractional clock phase or glitches in clock output do not appear to a problem, then again I need to run the tests repeatedly to be sure. Changing clock is a different way of working with slow peripherals; maybe there are applications for this approach. Alternatively I can use a 22V10 as a fast bootstrap ROM, add a CF interface such that 22V10 ROM loads and runs programs from CF disk.
Bill

Re: Zero glue logic 6502 SBC?

Posted: Thu Nov 06, 2025 4:25 pm
by BigDumbDinosaur
plasmo wrote:
The take away is W65C22 can pair with W65C02 and overclocked recklessly!
I can’t say I’m totally surprised by this.  The current 65C22s are fabricated with TSMC 0.6µ dice, same as the current 65C02s, so I’d expect that both parts would have similar FMAX vs. VDD curves.

Re: Zero glue logic 6502 SBC?

Posted: Thu Nov 06, 2025 4:42 pm
by plasmo
That was my thought regarding W65C51N6TPG-14; I thought it is .6u thus capable of much higher clock, at least to 14mhz, but I could hardly get it run faster than 7.37mhz. W65C22 turns out to be more like W65C02. It is also a more powerful peripheral, so much the better.
Bill

Re: Zero glue logic 6502 SBC?

Posted: Thu Nov 06, 2025 4:55 pm
by BigDumbDinosaur
plasmo wrote:
That was my thought regarding W65C51N6TPG-14; I thought it is .6u thus capable of much higher clock, at least to 14mhz, but I could hardly get it run faster than 7.37mhz.

To which clock are you referring?  Ø2 or the 1.8432 MHz bit rate clock?

Quote:
W65C22 turns out to be more like W65C02. It is also a more powerful peripheral, so much the better.

If you need a UART, there are much better choices than the 65C51.  That thing is as obsolete as a Conestoga wagon.  :D

Re: Zero glue logic 6502 SBC?

Posted: Thu Nov 06, 2025 7:30 pm
by gfoot
plasmo wrote:
I’m not done with overclock testing since it hasn’t failed yet. The RAM I’m using is 25nS part which is really too slow for 30+mhz operation. I need to swap in a 10nS RAM. I’m actually surprised that dynamically changing clock worked, all that worries about fractional clock phase or glitches in clock output do not appear to a problem, then again I need to run the tests repeatedly to be sure. Changing clock is a different way of working with slow peripherals; maybe there are applications for this approach. Alternatively I can use a 22V10 as a fast bootstrap ROM, add a CF interface such that 22V10 ROM loads and runs programs from CF disk.
Bill
I'm not so surprised, as the DS1086 should guarantee that, although I didn't check the datasheet - but from what I remember it does guarantee things like not outputting any signal on power-up until it is able to output the stable oscillating signal that you've programmed it for, so it ought to also be able to guarantee that frequency changes happen without for example generating short pulses in the transition. It's a nice little device - I used one too, and also made an adaptor board to fit it into the corner pins of a DIP-8 socket.

It is interesting to see that the 65C22 does work at those speeds, and I wonder whether there's an existing test suite that can be used to more thoroughly validate all the functionality. I know that with the 65C02 it can sometimes appear to be stable though fail something like the Dormann tests. It would be hard to properly validate that for a 65C22 though because some of the validation would need to be done by external hardware.

It would be good to kick the tyres a bit more though on things like the shift register and externally-triggered interrupts to make sure those things are also OK. Shift register I/O at >30MHz would be great for a lot of things, e.g. faster reads from SD cards if the card can also keep up.
Quote:
That was my thought regarding W65C51N6TPG-14; I thought it is .6u thus capable of much higher clock, at least to 14mhz, but I could hardly get it run faster than 7.37mhz. W65C22 turns out to be more like W65C02. It is also a more powerful peripheral, so much the better.
I wonder whether the 65C22N also works at these clock speeds, perhaps there is a difference in the process for "N" devices that means they don't scale as well.

Re: Zero glue logic 6502 SBC?

Posted: Thu Nov 06, 2025 8:50 pm
by BigDumbDinosaur
gfoot wrote:
I wonder whether the 65C02N also works at these clock speeds, perhaps there is a difference in the process for "N" devices that means they don't scale as well.

You mean the 65C22N?

Re: Zero glue logic 6502 SBC?

Posted: Thu Nov 06, 2025 8:58 pm
by gfoot
BigDumbDinosaur wrote:
gfoot wrote:
I wonder whether the 65C02N also works at these clock speeds, perhaps there is a difference in the process for "N" devices that means they don't scale as well.

You mean the 65C22N?
Yes, sorry that one! I'll edit it to be clear

Re: Zero glue logic 6502 SBC?

Posted: Fri Nov 07, 2025 4:05 am
by plasmo
I replaced the 25nS RAM with 10 nS RAM. The max frequency where ZG6502 is able to pass memory diagnostic at 5V and room temperature is around 32.3mhz. Considering this is a 2-layer board with DIP components and no attention to minimizing traces (done with an autorouter), this is roughly the result I’d expect with just W65C02. W65C22 may operate at higher frequency, but W65C02 is likely maxed out. Maybe 2-3 more megahertz is possible with better board layout and optimal component selection, but I’m satisfied that low 30Mhz operation can be achieved with average pair of W65C02 and W65C22 running in fast RAM.
Bill

Re: Zero glue logic 6502 SBC?

Posted: Fri Nov 07, 2025 11:38 am
by Michael
32.3-MHz (TCYC = ~30.96 nS)? That's incredible, Bill. Way to go...