The Most Minimal Homebrew Computer

chip

Perfection is achieved not when there is nothing more to add, but when there is nothing left to fail. Going by that metric, [Stian]‘s three-chip 6502 homebrew computer is the epitome of perfection. It’s a real, working, homebrew retrocomputer using only three chips: a CPU, some RAM, and a microcontroller to bootstrap the computer and provide a video output,

The key to this minimalist build is having the entire boot process controlled by an ATMega16 microcontroller, This interfaces to the 6502 through a dual-port SRAM, a 1 kilobyte Cypress CY7C130. This dual-port RAM allows the CPU and microcontroller to access the same bit of memory, making it easy to bootstrap a computer from a bit of AVR code.

Output is provided with [Stian]‘s ATMega video text generator putting a 37×17 characters on any television with an RCA jack. While input isn’t handled yet, [Stian] says it should be possible with his AVR PS/2 keyboard library.

While other 6502 homebrew computers such as [Quinn Dunki] Veronica can reach unparalleled heights of complexity, there is a lot to be said about the minimalism of [Stian]‘s three-chip computer. With some clever coding and a modified parts list, it may well be possible to put a retrocomputer in the hands of everyone with a bare minimum of cost and parts.

31 thoughts on “The Most Minimal Homebrew Computer

  1. There are a few projects similar to this using normal SRAM chip, a 6502 or Z80, and a Propeller. The prop drives the clock for the 6502, and has “full” access to the bus. Sadly it leaves you with very few free I/O pins on the prop unless you do lots more tricks.

  2. ” With some clever coding and a modified parts list, it may well be possible to put a retrocomputer in the hands of everyone with a bare minimum of cost and parts.”

    Ummmm…. but, Why???? I lived through the “retro-computing” phase, back when “retro-computing” meant punch cards…. why is this “cool” or worth doing?

        1. I’ve never even heard of someone who unironically uses a minimal homebrew computer for everyday work either; but I know people who like to collect, play with and tinker on gramophones and LP players!

    1. Oh no! How dare some one use their own resources to do something you don’t “get” if only they consulted you first!

    1. There is even a Maximite that can plug into the white solderless breadboard:

      http://www.circuitgizmos.com/products/cgmmstick1/cgmmstick1.shtml

      and it certainly can “put a retrocomputer into the hands of everyone with a bare minimum of cost and parts.” It is great for using a simple controller board that has SD card and runs an interpreted language into a project.

      There is a color version that accepts Shields if you have them from Arduino projects.

  3. Theoretically, you could make a semi-usable two-part solution. Replace the ATMega16 (which has 1KB of RAM) with a part with 2KB of RAM and you can use the extra K of memory as RAM for the 6502. This would mean the AVR needs to be clocked quickly enough to handle the 6502 bus cycles in software, but you can solve that by having the AVR generate the clock signal of the 6502.

  4. And tomorrow’s HAD brings you: how to make a Retro Hacksaw when you only have a CNC mill, a 3D printer and a high-powered laser cutter!

    SRSLY, the 6502 is a nice CPU for learning assembler, although the 6809 is more fun. But if you want to try it, why not just emulate it? To make a piece of “minimal” hardware using a *part* that would deliver the same functionality *alone* is less than pointless. I suppose even a 6502 emulator on a somewhat bigger ATMega could be made to rival the original.

  5. A minimal retro computer based on a modern microcontroller ? If that’s within the rules, why not get rid of the 6502 and RAM as well ?

    1. Exactly. I have never complained about a hack on Hackaday before, but something about this disturbs me just a little bit. It has no purpose… but okey, it can probably be an inspiration to someone.

      1. If only the poor guy consulted you before using his own resources for his own purposes. Sigh don’t people ever think…”Sure its cool to me, but isn’t it more important I impress others instead?”

    1. Older than the intarwebs and unnecessarily complicated. If you happen to have only a 6502, fine. Otherwise, a Z80 is cheaper, faster, easier to build and more useful because its NOP is 0×00 and it simply starts excecuting code at 0×0000. So you ground the entire data bus, apply a clock and A0-A15 start counting up from zero. Not from 0xeaea that I’d be hard pressed to find an application for.
      At least when I last looked like 20 years ago the Z80 was the cheapest 16-bit counter IC on the market.

  6. You guys are clearly missing the point of that project. If you read the blog entry you will see that he had 3 chips on a bread board and asked himself “can this be made into something?”.

    It is _not_ a project to make “the best minimal computer” or “make a retro computer design”. Its an exercise in duct taping something together and see if you can make it work.

    1. The first sentence of the article on this site suggested that this was, “Perfection is achieved not when there is nothing more to add, but when there is nothing left to fail.” Perhaps that is what generated the ire we’re seeing in the comments? I know it tweaked me the wrong way.

  7. While the AVR is definitely overkill for a loader, at least that’s not all that it’s doing. The video generation definitely would have taken its toll on the 6502.

  8. I thought this was pretty cool, but it got a whole lot cooler for me when I read that the guy did this in one single evening.
    Nicely done!

  9. Excellent job! This reminds me a little of my ZX81 I loved as a kid. I used to interface stuff to it also, and admired it for doing so much with just four chips and a relatively low transistor count.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s