Build An 8-bit CPU To Know “But How Do It Know?”

Sometime around 2009, [J. Clark Scott] published a book aimed to demystify computers for everyone by walking through construction of an 8-bit CPU from scratch. The book had a catchy, but somewhat confusing title But How Do It Know?. The back story on the title goes something like this: Joe is a very nice fellow, but has always been a little slow. He goes into a store where a salesman is standing on a soapbox in front of a group of people. The salesman is pitching the miracle new invention, the Thermos bottle. He is saying, “It keeps hot food hot, and cold food cold….” Joe thinks about this a minute, amazed by this new invention that is able to make a decision about which of two different things it is supposed to do depending on what kind of food you put in it. He can’t contain his curiosity, he is jumping up and down, waving his arm in the air, saying “but, but, but, but…” Finally he blurts out his burning question “But how do it know?” Joe looked at what this Thermos bottle could do, and decided that it must be capable of sensing something about its contents, and then performing a heating or cooling operation accordingly. Joe’s concept of how the bottle worked was far more complicated than the truth. With that introductory opening, [J. Clark Scott] goes on to cover basic number theory, leading on to logic gates, and finally the 8-bit CPU.

[Patrick LeBoutillier] decided to build a hardware version of the CPU/computer as described in [John Clark Scott]’s book. In order to keep size and cost within reasonable bounds, he choose a hybrid construction using a combination of micro-controllers and SN74HC logic IC’s. When used as a companion project alongside reading the book, he hopes people can get their hands dirty and try it out for themselves. He has published a series of 14 videos covering construction of the CPU and the first Introductory video is embedded after the break below. For the micro-controller part of the project, he is using four Arduino Nanos, the code and install instructions for which are available at his Git repo. The Fritzing schematic, also available at the repo, might look a bit daunting at first look, but when you follow along his video series, it becomes easier. You can preview the first three chapters of the book at the “But How Do It Know?” website.

If FPGA’s are more of a thing for you, or you’d like to dip your feet learning FPGA, then [Patrick] has another series of 17 videos (embedded below) where he goes through the same process using a Digilent BASYS3 FPGA development board. These aren’t your only options — if you just want to understand how it works, without having to build the hardware, then check out the online, browser based implementation of the [Clark Scott] CPU.

If it seems the breadboard build of this 8-bit CPU looks complex, then this
Home Made 8-bit CPU Is A Wiry Blinky Build and a veritable rats nest of jumper wires.

Continue reading “Build An 8-bit CPU To Know “But How Do It Know?””

A Pocket Retro Computer Anyone Can Build

Not satisfied with any of the DIY retro computer kits on the market, [Leonardo Leoni] decided to make his own. Built using only the finest through-hole technology and powered by the ATmega328 microcontroller, his diminutive 8-bit computer is easy to build and even easier to develop for. Whether you’re looking to hone your BASIC skills or play some Zork on the bus, this little computer looks like a great project for anyone who has a soft spot for computing’s simpler days.

All things considered, using this tiny machine looks like it would be relatively pleasant. [Leonardo] is using a common SH1106 OLED display, and there’s a full QWERTY keyboard (with number row) done up with tactile momentary buttons. There’s very few passive components involved in the build, which is sure to be appealing to new players; especially after they’ve finished soldering all those switches to the board.

On the software side, [Leonardo] says he leaned heavily on open source projects to get his machine up and running. Beyond the hardware drivers for things like the display, he specifically calls out the Tiny Basic and Tiny Lisp Computer projects for their code. If small-scale programming isn’t your style, the machine is compatible with the Arduino IDE so you can easily throw something else on it. If you’ve ever dreamed of a QWERTY Arduboy, this might be your chance.

From the way [Leonardo] describes the computer, which he calls the Cobalt 3, we get the impression a commercial kit might be in the cards. We hope the community shows enough interest to make it happen. After all, not everyone was able to make it to Hackaday Belgrade 2018 to get their own pocket retro computer.

Teardown: VTech PreComputer 1000

Back in the days before kids could be placated with a $50 Android burner phone, many a youngster was gifted a so-called “educational computer” to keep them occupied. Invariably looking like a fever dream version of the real computer their parents didn’t want to let them use, these gadgets offered monochromatic exploits that would make Zork look like Fortnite. Due equally to their inherent hardware limitations and the premise of being an educational toy, the “games” on these computers often took the form of completing mathematical equations or answering history questions.

The VTech PreComputer 1000 is a perfect specimen of this particular style of educational toy. Released in 1988, it was advertised as a way for pre-teens to become more comfortable with operating a real computer; since at that point, it had become abundantly clear that the coming decade would see a beige box on every professional’s desk. Its full-size QWERTY keyboard was specifically mentioned in the product’s accompanying literature as a way to get young hands accustomed to the ways of touch typing.

Words of wisdom from the PreComputer 1000’s manual.

By the mid-1990s these devices would have progressed far enough to include passable text-to-speech capabilities and primitive graphics, but the junior professional who found him or herself seated in front of the PreComputer 1000 was treated to a far more spartan experience. It’s perhaps just as well that this particular educational computer was listed as a training tool, because even in 1988, surely a session with this toy must have felt very much like work.

But that’s not to say the PreComputer 1000 is without its own unique charms. In an effort to help cement its role as a “trainer” for more conventional computers, VTech saw fit to equip the PreComputer with its own BASIC interpreter. They even included generous written documentation that walked young programmers through the various commands and functions. Even today, there’s something oddly appealing about a mobile device with a full keyboard that can run BASIC programs for better than 24 hours on batteries (even if they’re alkaline “C” cells).

Let’s take a look inside this more than 30 year old mobile device, and see how the designers managed to create a reasonable facsimile of actual computing on a kid-friendly budget.

Continue reading “Teardown: VTech PreComputer 1000”

Back To Where (For Most Of Us) It Started, The Intel 8080

The early history of microprocessors is a surprisingly complex one, with more than one claimant for the prize of being the first, and multiple competing families. That the first commercially available part was the Intel 4004 is a matter of record, but it’s fair to say that few of us will have ever encountered one. Even its 8-bit sibling the 8008 would not have featured heavily in a 1974 version of Hackaday, such was its exotic nature. If there’s a microprocessor that can be claimed to have started it all for us then, it’s the Intel 8080. It established the 8-bit microporcessor with an 8-bit bus and a 16-bit address space, it had an order of maginitude more performance than its predecessors, and crucially it would become affordable enough for experimenters. It provided the guts of the MITS Altair 8800 microcomputer, and thus kickstarted the progression of home computers which led to the devices you use every day.

The 8080 is in our sights today, thanks to [DeviceGuru], who was sent down memory lane by thoughts of the 6502-based KIM-1 from his master’s thesis project. This led to memories of the 8080 Abie computer that he built for himself in 1979, for which he provides us some details and hand-drawn schematics. By then the 8080’s need for several support chips made it somewhat outdated, but from his perspective the chip could be had from Radio Shack without too much outlay. His tale of hand-assembling 8080 code and sending it to a friend for blowing onto a PROM might be familiar to some readers of a certain age.

Though the 8080 ceased volume production a quarter century ago (surprisingly there are still places you can get a new one though) it hasn’t entirely disappeared from our community’s consciousness. [DeviceGuru] tells us about the 8080 Microprocessor kit from [Wichit Sirichote] in Thailand which is a single board computer in the 1970s vein, hex keypad and all.

As you might expect, the 8080 hasn’t appeared in many projects here due to its rarity. Those that have seem more likely to feature its Eastern Bloc clones, such as this Polish model or this Russian one. It’s worth the reminder that if you fancy exploring some 8080 code of your own that you don’t even need an 8080 to run it on some silicon. The hugely popular Zilog Z80 as found in retrocomputers such as the RC2014 is fully mostly 8080 code compatible, indeed some of us learned about microprocessors that way because 8080 books were discounted in 1983 and Z80 ones weren’t.

Header image: Konstantin Lanzet [CC BY-SA 3.0].

CPU Made From 74HC Chips Is A Glorious Mess

Did you ever start a project that you felt gained a life of its own? This project by [Paulo Constantino] is an entire CPU named dreamcatcher on breadboards, and is a beautiful jungle of digital. On top of that, it works to connect to an analog VGA display. How cool is that!

Designing an ALU and then a CPU is a typical exercise for students of digital design and is done using VerilogHDL or VHDL. It involves creating an ALU that can add, subtract etc while a control unit manages data moves and the like. There is also a memory fetch and instruction decode made up of de-mulitiplexers and a bunch of flip-flops that make up registers and flags. They are as complex as they sound if not more.

[Paulo Constantino] went ahead and designed the whole thing in Eagle as a schematic using 74HC logic chips. To build it though instead of a PCB he used breadboards. Everything from bus decoders to controlling an external VGA display is done using jumper wires. We did cover a video on the project a while back, but this update adds a video card interface to the build.

The CPU updates the display buffer on the VGA card, and in the video below shows the slow and steady update. The fact that the jungle of wires can drive a display is awesome. He has since started working on a 16-bit version of the processor and we’d love to see someone take it up a notch.

For those more accustomed to the PCB, the Z80 membership card project is a great build for 8-bit computer fans.

Thanks to [analog engineer] for the tip.

Continue reading “CPU Made From 74HC Chips Is A Glorious Mess”

Home Made 8-Bit CPU Is A Wiry Blinky Build

It might look like a random pile of wires to some, but it is far from random: [Paulo Constantino] built this 8-bit CPU himself from scratch. He built his remarkable creation using wires and 74HC shift register chips, plus a selection of LEDs to show the various registers.

Running at a maximum of 5MHz, it has an 8-bit data and address bus, although the latter can be expanded to 16 bits. It’s not mining Bitcoin (yet), but it can do things like play the Mario theme. His latest addition is the addition of the ability to write data out to flash memory, and he is looking to add a keyboard to make programming easier.

At the moment, he has to program the CPU by setting DIP jumpers. It’s an impressive, if somewhat frightening build that [Paulo] says took him a couple of days to design and a week or so to build. We’ve seen a few breadboard CPU builds, (some of which were tidier) and builds with similar shift register chips, but this one scores big in the blinky light and mad genius stakes.

Thanks to [AnalogMind] for the tip!

Continue reading “Home Made 8-Bit CPU Is A Wiry Blinky Build”

The 1980s Called – Asking For The Z80 Membership Card

The ’80’s and early ’90’s saw a huge proliferation of “personal” computers, spawning an army of hacker kids who would go on to hone their computing chops on 8-bit and 16-bit computers from brands such as Sinclair, Commodore, Acorn, Apple, Atari, Tandy/RadioShack and Texas Instruments. Fast forward to 2017, and Raspberry-Pi, BeagleBone and micro:bit computers reign supreme. But the old 8-bit and 16-bit computer systems can still teach us a lot.

[Lee Hart] has built the amazing Z80 Membership Card — a Z80 computer that fits in an Altoids tin. His design uses generic through hole parts mounted on a PCB with large pads, thick tracks and lots of track clearances, making assembly easy. Add to this his detailed documentation, where he weaves some amazing story telling, and it makes for a really enjoyable, nostalgic build. It makes you want to get under the hood and learn about computers all over again. The Z80 Membership Card features a Zilog Z80 microprocessor running at 4 MHz with 32k RAM and 32K EPROM, loaded with BASIC interpreter and monitor programs. A pair of 30-pin headers provide connections to power, I/O pins, data, address and control signals.

To accompany this board, he’s built a couple of companion “shield” boards. The Front Panel Card has a 16-key hex pad, 7-digit 7-segment LED display and Serial port. [Lee] has packed in a ton of features on the custom monitor ROM for the front panel card making it a versatile, two board, 8-bit system. Recently, he finished testing a third board in this series — a Serial/SD-Card/RAM shield which adds bank-switchable RAM and SD-card interface to provide “disk” storage. He’s managed to run a full CP/M-80 operating system on it using 64k of RAM. The two-board stack fits nicely in a regular Altoids tin. A fellow hacker who built the three-board sandwich found it too tall for the Altoids tin, and shared the design for a 3D printable enclosure.

[Lee] provides detailed documentation about the project on his blog with schematics, assembly instructions and code. He’s happy to answer questions from anyone who wants help building this computer. Do check out all of his other projects, a couple of which we’ve covered in the past. Check out Lee Hart’s Membership Card — a similar Altoids tin sized tribute to the 1802 CMOS chip and how he’s Anthropomorphizing Microprocessors.

Finally, we have to stress this once again — check out his Assembly Manuals [PDF, exhibit #1] — they are amazingly entertaining.

Thanks to [Matthew Kelley] who grabbed one of [Lee]’s kits and then tipped us off.