In doing so, I was able to overclock the W65C02 all the way up to just short of 40MHz at 5v, before things got really unstable. This was using 20cm of un-optimised stripboard, housing the CPU and a couple of other bits, running from a clock which was constructed on, you guessed it, ‘a breadboard’.
Yeah. And you're not the only one. Radical Brad's Vulcan 74 runs at "only" 25 MHz, but it's dead stable, and also a bit larger than your project. It was actually first introduced in this very forum, and I didn't see much comment to him about being headed for disaster because breadboards.
I must admit, when I first joined the forum here (not that long ago), being strongly urged to wire wrap keep the tracks as short as possible, avoid breadboards at all costs, etc… I was a little disheartened. And thought, geez, if I don’t do all this to the letter, things just will not work.
Then you get reports that feel contradictory, like ‘at 1MHz you can get away with murder’.
The "you can get away with murder at 1 MHz" aphorism does have a degree of truth to it. We've seen around here more than a few sloppily-constructed systems that would function at that speed, and even faster.
However, a more-important matter in any build using modern silicon is the effect of circuit reactance on signal edges, as well as the possibility of ground bounce and Vcc sag being introduced by long paths. The effects of these factors are largely independent of how fast Ø2 is running—they can be just as deleterious at 1 MHz as at 20 MHz. Succinctly, you will not get away with murder at 1 MHz if your wiring distorts signal edges or skews parallel signals (such as the address bus) to a degree that results in timing being trashed.
Quote:
So in a way, I chose to take some information with a grain of salt and just push on and try things. Which, to me, is one of the best ways to learn. “Try and see what happens”.
"Your mileage may vary." As long as you understand the implications of what you are doing it's a free-for-all. I've personally never used breadboard for constructing any kind of digital hardware beyond low-speed stuff using 4000-series CMOS. Some have gotten good results with high-speed digital circuits built on breadboard (q.v., Radical Brad's Vulcan 74) and others have experienced dismal failure. The odds of failure can only be increased if a cavalier attitude toward construction methods is taken.
Quote:
In doing so, I was able to overclock the W65C02 all the way up to just short of 40MHz at 5v, before things got really unstable. This was using 20cm of un-optimised stripboard, housing the CPU and a couple of other bits, running from a clock which was constructed on, you guessed it, ‘a breadboard’.
The question would be if your overclocked setup built on a breadboard would be stable once embodied as a practical computer. When I say "practical," I'm referring to a design with sufficient RAM, ROM and I/O to enable it to do useful work. Once you add those pieces, along with the necessary glue logic, the game will change due to lengthened signal paths, increased parasitic capacitance, etc.
Quote:
So while wire wrap might be the best case scenario for the guru’s here, it’s not the end of the world if you chose stray from that, for whatever reason that may be.
In actuality, wire wrap construction has diminished since inexpensive PCB options became widely available. I haven't wire-wrapped anything in some 20 years and in fact, I'm not sure where my wire-wrap tools and supplies are stashed right now. I have built point-to-point stuff on perf board using soldered wiring (my Ø2 clock single-stepper is built that way) but nothing at the complexity level of a computer. PCBs have becomes sufficiently economical that I don't even consider other construction methods anymore for anything of more-than-basic complexity, unless I need to get it done ASAP.
In theory, any construction method that correctly connects all the parts of a properly-designed computer should result in a functional unit. In practice, effects related to high switching speeds can trip you up in non-obvious ways, which leads to this.
Cautioning an inexperienced hobbyist about the potential pitfalls that may be encountered in building a computer on breadboard is not "discouragement," despite Ed's statement. It's nothing more than advice, advice that is meant to "discourage" failure. One who has never built a functioning computer is not likely to be fully aware of where things can go awry for no apparent reason. They can find out the hard way by building something that doesn't work, or they can look to the experiences of others for guidance and ultimately, success.
The most important thing to get right will be the clock distribution (including ground returns). If data and address lines and control lines have time to settle enough before the next clock edge, a lot of ringing probably won't stop things from working. Radical Brad is amazing; but his 25MHz video circuit is using 74HC logic which isn't fast enough to run a 65c02 at that speed. There are certain things you can and cannot get away with; but the beginner won't know what those are, which is why we just try to maximize the chance of success by giving good guidelines. I've done a lot of PCB designs since my last wire-wrap, but I still think there's a place for WW (even though the availability and price aren't what they were 25 years ago).