Imagine you’re time-warped back to 1979 and tasked with constructing a personal computer. Could you do it? [RadicalBrad] thinks he can, and his 6502-based “Super VIC” build looks like it’s off to a great retrocomputing start.
Most emulations of old hardware these days go the FPGA route, and while we respect those projects immensely, there’s something to be said for applying a highly artificial constraint at the outset of a project. [RadicalBrad] chose to design like it’s 1979, and limited his ode to the machines of his youth to the 6502 CPU and logic and RAM chips available before 1980. The computer will support NTSC video output and 4-channels of 8-bit sound. No circuit boards will be used – everything is to be assembled on solderless breadboards. So far he has 48 (!) of them ganged together, which sounds like an enormous amount of space to work with, but he still found things crowded enough that some of the DIP bodies were trimmed a bit to fit more closely on the breadboards. The SRAM posed a problem, though, in that the 512K chips he wanted were not available in DIPs. To stay faithful to the constraints, he soldered the SOJ-packaged RAM chips into 40-PIN DIP headers – all 25 chips! We can’t recall a PC of the era sporting 12 megabytes of RAM, but no matter – it’s too cool not to love.
[RadicalBrad] has his work cut out for him, and this could take years to finish. We’re keen to follow his progress and can’t wait till it boots for the first time. Until it does, we’ll just gaze upon such discrete computing wonders as this almost-as-simple-as-possible computer, or even this delightfully noisy adder for a relay computer.
49 thoughts on “A 6502 Computer, With Acres Of Breadboard And Dozens Of Chips”
I can definitely see the validity of using FPGAs in retro designs as some chips are not produced anymore and are hard to find even as NOS. Most of the availability of those chips, when they can be found have been pulls/canabalized from other computers.
Hats off to trying to use original era parts though. Hardware design should be easy enough… Implementation and supporting software/firmware can require much more work.
This is were pal chips come in handy, although I have a hard time finding out how to program those bastards.
If you have any good tutorial to program “modern” PAL, or at least old PAL/GAL with modern hardware, I’m more than interested (meaning, if possible, not using a DOS emulator).
Even if most of the “new” PAL / GAL are military ones, some are still produced ( ex : http://www.ti.com/logic-circuit/specialty/programmable/products.html ). I even give a shot and tried to contact the local ti help center, basically, they said “We don’t have any help. If you don’t now how to use our products, don’t buy them.”
Some of the sub-$50 Chinese USB programmers on EBay can burn GALs ( I believe the one called miniPro or something similar definitely can).
There is fork of Logisim that can generate a JED file from gate schematics.
There is a tool called WinCUPL which supports most of the GALs made by Lattice. For burning JED files into actual chips I use the TL866A programmer (miniPro is the software for it).
as always eevblog to the rescue: GAL chip programmer for Arduino https://github.com/ole00/afterburner
Thank you [Salvador Limones] and [rasz_pl].
I will have a look at this whenever I get some free time.
Back in the days, National Semiconductor was the only one that gave me the programming specs for their GAL. It was a dry read, but I managed to design my own parallel port programmer to program their 16V8 and 16V10.
BTW: http://elm-chan.org/fsw/fgal.zip – open source
>FGAL is a GAL assembler that supports GAL16V8, GAL20V8 and GAL22V10. Its format of source file is compatible to PALASM2.
CPLD is much better than PAL/GAL. PAL/GAL burns a lot of power and are very resource constrained.
Thank you [tekkieneet] for this additional information.
I already know the elm chan website (which is awesome btw) but the program is unfortunately running using DOS.
I wasn’t aware about power consumption tho. I do believe that PAL and GAL consume less than CPLD, but it seems it’s the opposite.
It should be relatively easy to port to most OS as it is just regular C code for a command line interface.
FYI: I had ported this GAL assembler to AmigaOS ages ago and it was painless.
GAL/PAL burns a lot of static power in the Sum of Product array. CPLD are built with much newer technology and are much more power conscious.
GAL “Low Power” = 75mA typ, “Quarter Power” = 45mA typ.
Even more: a lot of personal computers had custom chips, like the VIC in the Commodore products, or the ULA in the Sinclair ones.
I had an 80286 with 12 megabytes of RAM. Most of it was on three huge ISA cards, split between XMS and hardware EMS.
AMD Am2900 came out in ’75.
yup – I built a hard disk controller with them around that time. 32 bit wide microcode, ran at 5mhz, did up to 5 functions per cycle.
74HC chips were introduced in 1984. Before that it would have been 74LS or 74F. Much more power hungry.
Please don’t get me wrong, in find this stuff “cute” but, it’s been done to death for 20 years, i’d rather see cpld or fpga implementations. Please, join the 21st, or, get real and use valves; implement a 6502 using valves. That’d be ace! Prolly been done. :-(. Share if you know, please. (With core). Lol.
Did this in a Spartan-3 originally.
Found the experience boring and unrewarding.
Too damn easy!
Thought I best back up my last statement!
Here is one version, done in a single day on an FPGA..
I won’t be doing that again, as it really wasn’t a challenge.
Verilog is even easier than C, which is also not my bag.
6502 Assembly all the way from now on.
Boy, that brings back memories. We had a guy in college who used 3 or 4 chassis worth of those white plug-in proto boards. Each of the chassis had four of the proto boards, plus a bunch of lights and switches, and a power supply.
Anyway, he built an entire 8008 system complete 2102 1kx1 RAM and NTSC video out. With TTL logic (and the 8008 parts, of course, which came in a blue box as an Educational Kit from Intel). Lab manager was PO’d at him because he used a good part of the lab’s supply of those proto chassis, leaving not much for anyone else.
He got a job with Intel when he graduated, probably on the strength of that project.
Stop in the name of the law! You can’t do that with breadboard! It doesn’t support the high frequency! Aaaauuughh couugh cough The contacts won’t conduct properly! The plastic has too much capacitance! [/sarcasm]
I thought the same thing at first. But there are others that have done this very same thing and it works. Using processors of today he woulden’t have a chance to pull this off. Not sure why a guy would go through all the effort into doing something like this. After all, once he boots it and see’s the fruits of his efforts on the monitor come up he is going to get a huge smile, turn it off and stick it in a closet to never be touched again.
Hard to find a area of “stability” between been truly retro and actually useful. I went off and decided to build a “Basic Engine” since it had the retroesque feel with out knobbing around trying to find too much unobtainium!
I’m not going to tell [RadicalBrad] what he can’t do. However, if I ever tackle something like this, it will be wire-wrapped, not breadboarded. Still true to the era, and it got the job done for Bill Herd and the gang at Commodore (https://hackaday.com/2014/12/18/wire-wrap-101/).
I considered wire wrap, but today that is a rich man’s game!
Now that I know 40MHz works perfectly fine on my MOAB (Mother Of All Breadboards), I am sticking with it for both cost and efficiency.
The WW works of Herd and the gang… respect!
I just looked at some prices of wire wrap sockets, I see your point.
It’s good to know that 40MHz is doable on breadboards, and at such a scale.
I’m pretty sure I’ve seen posts in various forums along the lines of [dynamodan]’s sarcastic take, I hope the authors see what you’ve done.
You do need to plan ahead when going above 20Mhz for sure, but I have done many breadboards with 20-40MHz speeds. 74HC574’s are your friend when it comes to straightening up digital signals and aligning them to a clock.
There is always point to point soldering. If you are squeamish soldering down chips, regular IC sockets are cheaper and a lot easier to find.
The final version will be point-2-point built on a huge grid made of copper wire. It will be created in a semi circular configuration, looking like a Cray computer. I will be posting SolidWorks 3D models on my site as I update.
Yeah, the breadboard police will certainly be knocking down my door with this one… 40MHz, 500 ICs, and wires as long as 20 inches in some places. Being a repeat offender, I am going away forever.
He obviously didnt put a lot of effort into finding 512K Byte SRAMS in DIP as I found tubes full from a main supplier for my projects !!
I have many DIP-40 Srams, but they are expensive as I stated in the write-up. THe SOJ packages were much less expensive. I also enjoy the work.
The go for about £3 ea so not that expensive but as you say it’s all about the fun. I’ll stick to the DIP SRAM and have my fun else where in the circuit ;-)
I could stare at his cabling all day: mesmerizing!
Hey, hey! We’ll have none of that on a family friendly site. ;-p
Thanks for posting my project! It will be updated once per week as I work towards the end goals.
This is going to be a fun and rewarding journey!
Radical Brad aka AtomicZombie
Here is some actual video being displayed on the original prototype, running at 40MHz on the breadboard (yes 40MHz)…
That version was just a basic test, and was only VGA.
The new version will be NTSC and have much better color.
These other YT vids are actually better than the one they chose, It would be nice to see some more discussion on design choices etc please …Ta!
if you follow my posted blog, there will be a LOT more to see. By the time Vulcan-74 is complete, I would expect the blog to be 300+ pages with thousands of photos.
Sorry I found your Lucid Science site first since that was what you posted the videos on YT as!
Atomic Zombie is cool and yesh the doco is much improved but obviously a Recumbent bike site….nearly bought a plan ;-)
Yeah, I am retiring LucidScience soon. I just don’t have time to keep all my various domains going, so AZ will br the last one standing. It’s all a weekend hobby for me, so I have to scale it all back. I am going to set a few hours aside to day and get some updates on the Vulcan-74 project as well.
In case anyone else cares: it would take 454,128 garden-variety 830 point breadboards to cover an acre.
Thanks, depending on how this project progresses, that data may actually be useful.
Good bot. Oh, wait – this isn’t reddit…
Hacking is fun and easy… if you do it like I do it, you can see it do something all along the way, bug test, fix, add more, revise, feature creep whenever you have a brilliant idea of something you can add with not much more work, etc. But it always does *something*.
Try building an airplane. The project stretches out for years and years and it won’t do much of anything until the very end, if you even make it. That’s brutal. Every friggin day you think of giving up, but you keep on plowing forward with some kind of batshit crazy faith that one day you’ll see the end, and you’ll actually get to fly…
[RadicalBrad] really does capture what a retro computer was.
Early computers had to be “interesting” to people who knew nothing about computers.
They achieved this one interest with sound, music, graphics and games.
Nobody cared about how much RAM or how fast the CPU was. They only cared about how interesting it was.
I still want to do something like this but I will be aiming for 64 or 256 pixel sprites with a lower colour depth and palette to keep that 8 bit look.
Also, out of respect for my sanity I will he using some CPLD.
When you get going on your project, stop by my forum and share some pics. Would love to see it come to life!
I have made a few updates to this project, including getting the 6502 to boot. I will be adding new material once per week for the next… 5 years perhaps!
It won’t be long before I start on the NTSC Video Generator and then the Sprite Engine.
TOC page here, broken into 10 photos per page…
I’m curious where the breadboards were sourced. Even using lower quality breadboards the price can quickly add up. It’s possible they are the single most expensive part in this whole build. In my experience, the lower price (lower quality) breadboards just don’t cut it.
Many years ago,1975-8, we developed the prototypes for chips on 11 x4 stripboards, loads of them, which were then attached to 8’ x 4’ pegboard, interwired and hung on the wall. Not so different to those blocks, more reliable, but tricky when the management would only pay for one colour cable for the interconnects !! We even developed standardised layouts on the strip board, rails top and bottom and 7 holes per chip spacing each side with the power connects closest to the chip – it was all series 4000 cmos, so wasn’t fast. The only issue was that we drew copper wire to straighten it. It heated up when we made a joint then bowed the board slightly as it cooled.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)