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.

Comments

  1. David Kuder says:

    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. steve says:

    ” 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?

  3. Manuka says:

    It’d be more feasible (& -ah-neater! ) these days to go for a modern “all in one” offering – perhaps the PIC32 based “Maximite” UBW32 => http://geoffg.net/ubw32.html

  4. thoriumbr says:

    I assumed this (http://hackaday.com/2012/03/28/building-the-worst-linux-pc-ever/) would be the most minimal computer ever.

  5. Ron Sharp says:

    What does that make the ZX-81 with four chips, avant-retro?

  6. Jacqques says:

    My VPC-32 use only one chip. Namely PIC32MX150F128B. It as b/w NTSC video, PS/2 keyboard input, a serial port, mono audio output and SDcard file system. 16Kb RAM available for user programs. Although the project is not completed at this time: there is a command shell and DIOSForth functionnal. http://picatout-jd.blogspot.ca/2013/08/vpc-32-schema-electronique.html

  7. Sprite_tm says:

    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.

  8. Acido says:

    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.

  9. Trui says:

    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 ?

  10. Rob says:

    i can’t reach the page, keeps on loading for ever.
    never mind, this other guy is also doing freaky stuff with a microcontroller and a 6502:
    http://uebersquirrel.blogspot.co.uk/2013/10/run-free-little-cpu.html
    lets find out how much bandwidth he has left.

    • Acido says:

      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.

  11. Notepid says:

    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.

    • pcf11 says:

      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.

  12. willrandship says:

    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.

  13. Andy7 says:

    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!

  14. Taz says:

    The 8 bit home brew computer that my friend and I built is also a “3 chip” home brew computer but can do a lot more then this. Ok it also has an SD card but the graphics are much better…. It’s more like Veronica (we actually built it before Veronica thou) and is still a “3 chip” homebrew computer….

    With SD: http://www.youtube.com/watch?v=mouST3FGpQY
    Testing graphics: http://www.youtube.com/watch?v=XzxHBcHXqUg

  15. rue_mohr says:

    ooo I can use an avr as an initial bootloader for the z80 isa motherboard I made…

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