Built Completely From 1970's Logic and a 6502 CPU!
This project rewinds the clock all the way back to the mid 1970’s, when electronic video games consisted of nothing more than a few moving black and white pixels, and the home computer was still a vision only shared by garage hackers who were willing to connect all of the ICs by hand and then enter their code using toggle switches, watching the results on nothing more than a few blinking LEDs.
Although the immortal 6502 CPU was released in 1975, it did not spawn any of the original home computer greats such as the Commodore PET, Apple II, Atari 8-Bit, VIC-20, C64, BBC, and Acorn until the late 1970’s and early 1980’s. Early video game consoles and arcade games also adopted the affordable 6502 CPU in the late 70’s, the most famous of these being the Atari 2600 Video Game System, released in 1977.
Vulcan-74 is a DIY video game system as well as a complete computer, and it will also be powered by a single 6502 processor. The 6502 CPU will be the only processor on the entire board. All of the other ICs will be only 7400 variant logic gates and basic Static RAMs, which were the same types of ICs that were available in the mid-1970s, and used to create all electronic products from arcade games to aerospace navigation systems. Interestingly, the 6502 is still being manufactured and sold today in multiple packages and formats, including the original 40 Pin DIP as first released so many decades ago.
I am restricting myself to using components that were available before 1980 so that I can make good on a dream project I envisioned when I was only 12 years old, sitting in front of a big old vacuum tube powered color TV, and tapping basic code into my Commodore VIC-20 keyboard. Although I only had a very basic understanding of digital electronics at the time, I still popped open the case to see what type of magic it took to generate this amazing color image on the TV screen. Just 32 ICs inside the VIC, that didn’t look all that complex, so I imagined a system based on the same technology, but with no limit on the number of ICs and amount of RAM.
Although I did sketch up some crude ideas of my “Super VIC”, I didn’t have the knowledge or budget to turn it into reality. At that age, my electronics projects usually only consisted of a few transistors and basic passive semiconductors. Today however, I have both the know-how and the budget to make my 40 year old dream a reality, and I am going to do it using only the technology that was available when I first became inspired by the home computer and all its wonder.
The Vulcan-74 Project will be bound by the following rules…
– Only a single 6502 Processor can be used to control everything.
– All other ICs must be only 7400 series logic or basic Static RAM.
– Video will be NTSC compliant 320×200 with 4096 colors or better.
– Sound will be 4 channels of 8 bit digital samples or better.
– Input will be keyboard and joysticks with some external storage.
– Games and Demos will be coded in 6502 assembly.
– All coding will be done on the actual system itself.
– No circuit board can be used. Everything must be hand wired.
– There is no limit on the number of ICs that can be used.
– The final version will be self-contained in a work of art cabinet.
Looking at the above lofty goals, it is obvious that the final design is going to require somewhere in the neighborhood of 500 ICs, and offer a multimedia experience better than anything that could have been fathomed until the release of the Amiga many years later. Everything I am about to build “could have” been created in late 1970, but the limiting factor would have been cost. RAM was extremely expensive, and gate count pushed up production costs, but I am not limiting myself to either restraint.
Ok, let the journey begin. What follows will be a graphically intensive blog, lasting several years that will include schematics, detailed descriptions of old-school technology, and all accounts of both successes and failures as Vulcan-74 comes to life.
* Note : The photo shown above is not the final project, it is just a small test I did to prove out some of the video circuitry. The final Vulcan-74 design will be MUCH larger!
48 individual breadboard panels, each with 830 tie points.
How does a person create a 500 chip homebrew computer that will most likely evolve drastically during the initial testing phase? Well, obviously there is no 1980 “easy way” since I am limiting myself to parts and tools of the era. Today, I would just purchase a five dollar FPGA, and spend 2 hours coding in the extremely easy to use Verilog language to complete this entire design, but no such technology existed in the time I am stuck living in. Meet my new best friend… the solderless breadboard.
An electronics breadboard is a term that defines a board that you stick components to and then wire by hand. Early breadboards were just thin wood panels with holes, often used to create homebrew vacuum tube radios and early transistor projects. In the early 1970’s breadboard evolved into vertically connected strips that could contain ICs that contained .1” pitch dual inline packages (DIPs), as this format dominated the industry for many years to come. DIPs are still widely produced today, which is why I am able to source the 7400 logic gates I need to create this project.
Other DIY circuit board creation methods also existed in the 70’s, such as wire wrapping and point to point wiring, but I am a fan of the solderless breadboard, as it is by far the most inexpensive method of rapid prototyping, making changes as easy as moving a wire. I still use breadboards in the modern age to prototype 90% of my projects, many of which include modern components reaching speeds of 100MHz or more. Some believe that breadboards are not suitable for anything above a few megahertz, but I completely disagree as my experience has proven time and time again. In fact, some of the graphics systems I intend to create for this project will run above 20 MHz.
24 breadboards joined together to create one panel.
Since I have no idea how many ICs I will require to meet all of my goals, I am starting with 48 individual breadboards, joined together as two panels, each containing 24 breadboards which equates to 19,920 individual tie points to install wires. Both panels together offer almost 40,000 tie points, and depending on the number of pins on the IC used, space for approximately 250 ICs in total. No doubt, I will require more space than this before the end, but for now this will keep me busy.
The reason I am creating two panels is for both portability and to keep some of the systems separate. These massive boards take up a lot of desk real-estate, so if I can build individual sub-system, it should be possible to work on them individually, leaving room on my desk for tools and notes. The goal will be to build the Video Generator on one board and the Sound Generator on the other. If the design grows beyond the 2 panels, it will still be possible to expand, yet keep larger systems portable.
These breadboards are only a temporary home for Vulcan-74 as well, and the final design will be rebuilt again, and then moved to a permanent home inside a cabinet. I intend to manually solder everything to a handmade grid of copper lines that will site behind a curved clear front cabinet to show off the internals. More on this much later!
An aluminum baseplate for one panel of 24 boards.
Having used breadboard for decades, I have learnt that those with metal bases yield better results, especially for high speed designs over 10 MHz. Vulcan-74 may have some complex systems exceeding 20 MHz in speed, so I am building the highest quality breadboards that I can. The individual breadboards are North American made units, and the base plate is quarter inch thick aluminum plate. The difference between the ten dollar Twin Industries boards I purchase from Digikey (Part #438-1045-ND) and the five dollar China made EBay deal boards is often the difference between success and failure.
The back plate fastened to the base plate.
Each base plate also comes with an aluminum back plate that will be drilled to support whatever connectors I plan to use. I have drilled out holes for several video jacks, an audio jack, dual joysticks, DC power, and a few extras for switches. The back plates will evolve as required, and the can be removed from the board with the bolts that fasten them to the base plates.
The surface area of the base plates allows room to fasten 24 individual breadboard panels, with a slight border around the edges to protect the boards when panels are moved around. The breadboards come with their own sticky tape on the underside, so it’s just a matter of dropping them down in the correct position. The breadboards also have built in VCC and GND bus rails on the top and bottom, and I like to align them so VCC (+) is at the top and GND (-) is at the bottom. This matches the orientation of VCC and GND on most standard 7400 type logic ICs as well.
One completed panel consisting of 24 breadboards.
The completed single panel has 24 separate breadboards, and contains 19,920 places to connect individual wires. This may seem perhaps be the World’s largest breadboard, but I know it won’t take long at all to populate this one and the other one as well. I have given myself strict rules on the type of components allowed, but no limitations whatsoever on the quantity, so 500 ICs will quickly overwhelm the capacity of both boards.
The back plates are also fastened to the top edge of the bas plates using 3 small bolts that are threaded into holes tapped on the back plates, which are made from half inch aluminum flatbar. Most back plate ports will be simple drilled holes, but some are more complex and will require hand filing, like the Commodore compatible 9 pin D-Sub port shown drawn with marker here.
My original Cookie Sheet Breadboard is looking small now!
This isn’t the first time I strung a bunch of individual breadboards together to make a large prototype, but it is by far my largest. In this photo, you can see my older 10 board unit made onto a Cookie Sheet stolen from the baking supply drawer. Ironically, I used to think this board was large enough much the same way that Bill Gates once thought that 640K of RAM was enough. Life teaches that there will always be a bigger fish!
This new Breadboard shall now be referred to as The MOAB… The Mother of All Breadboards.
That 50 IC circuit shown on the smaller board above the MOAB is actually a simple NTSC capable Retro Game System as well, but nothing to the level of what Vulcan-74 will soon become.
A 500 foot box of standard CAT-5 computer wiring.
Before I start inserting ICs onto the breadboard, some preliminary work needs to be done to make the job easier. All of the individual boards need to have their VCC and GND rails joined together electrically, and decoupling capacitors need to be added to help reduce hi frequency switching noise.
Most breadboard kits include a series of pre-cut wires, often stranded wire in various colors. I find the wire supplied with breadboard kits to be completely useless. First of all, stranded wire is horrible for breadboarding, as the strands unwrap, and don’t make perfect contact. Some kits have solid copper pins soldered to the ends, but these are much too expensive for any large work. Also, the wire is often too large in diameter, making even a simple 10 IC project look like a scrambled rat’s nest. If you look ahead, you can see that neatness and organization is my style, and I attribute my breadboard successes to this attention to detail.
If you are serious about breadboarding, toss away the fat wire that came with your kit, and roll your own wiring using CAT-5 wire as shown here. CAT-5 wire is a standard computer networking cable that comes with 4 twisted pairs of solid copper core wire, yielding 8 individual wires that are absolutely perfect for breadboarding. If you cut your own wire, it will be a lot less expensive and much more versatile that the standard stranded wire people try using for breadboarding. This type of wire is also much smaller in diameter, and able to retain its bent form, so a large board will look so much nicer and will be easy to debug later.
Cutting up CAT-5 wire to the required length.
I use so much wire on my breadboards that I often pre-cut hundreds of wires to known predetermined lengths for later use. My standard lengths are; half inch, one inch, two inch, four inch, and then several increments form there. The half inch segments are most often used to connect VCC or GND pins in ICs to the breadboard rails.
Each segment you cut from the CAT-5 wire will yield eight individual wires with the colors of Red, Green, Blue, Brown, and four white with smaller color stripes. This combination of color is great for breadboarding, especially the Red for VCC and Green for Ground, which makes your power rails very obvious when it comes time for debugging. Yes, that time will indeed come!
Cutting the shielding to expose the individual wires.
Over my entire breadboarding hobby, I have probably used enough wire to go from here to the Moon, so the following few photos will show what I have found to be the most efficient way of getting your CAT-5 wire prepared for breadboard use. Ok, perhaps the Moon was an exaggeration, but I have used one full 500 foot box of wire, and am through most of a second box!
Start by cutting a length of wire as required from the CAT-5 spool. Most likely, you will need more than eight wires, so use the first cut length as a guide to cut the others. Once cut to length, clip into the plastic shield with side cutters as shown here