Ultim809
Schematics, design files, and software for my Ultim809 homebrew 8-bit computer.
Install / Use
/learn @74hc595/Ultim809README
Ultim809 Homebrew 8-Bit Computer
Matt Sarnoff (http://msarnoff.org/)
The Ultim809 is a homebrew 8-bit computer built around the Motorola 6809 processor. It's a full-featured home computer with color graphics, sound, and support for game controllers and PS/2 keyboards.
It won two blue ribbons (Editor's Choice awards) at Bay Area Maker Faire 2011!
Full feature list:
- Motorola 68B09E processor at 2 MHz
- 512KB static RAM (bank-switched, 48KB available at once) expandable to 4MB
- 8KB EEPROM, self-programmable
- TMS9918A graphics chip and composite video output (256x192 resolution, 15 colors, 32 sprites)
- YM2149 sound chip (3 channels, square wave/noise, envelope generator)
- Two ports for 9-pin Atari joysticks or Sega Genesis gamepads
- Serial interface (16550 UART) with 6-pin FTDI connector
- PS/2 keyboard support
- I2C interface and DS1307 real-time clock with backup battery
- SD card slot (not working yet...)
- Expansion slot, supports 4 devices without additional decoding circuitry
I am making the schematics, design files, and source code available to anyone interested in learning about the project, or constructing their own. All material is made available under my (very simple) msarnoff.org license.
Schematics and PCB layout file are provided for use with the open-source gEDA suite. Be aware that board revision 0 has errors: I have provided instructions on correcting them by cutting traces and adding wires.
Ultim809 currently has no working mass storage, so a PC with a Unix-like operating system (Linux, Mac OS X, etc.) and command-line skills are recommended for working with Ultim809. You'll also want a 5 volt FTDI USB-to-serial cable.
No microcontrollers or programmable logic chips are used, so an expensive programmer is not required. The 8K EEPROM can be programmed with a simple Arduino circuit.
The 68B09E is still available from Jameco and other electronics retailers, but you'll probably have to buy the TMS9918A and YM2149 from eBay.
Directory structure
circuit/ contains the schematic, bill of materials, and PCB layout files.
code/ contains the assembly code for the ROM and application programs, as well as tools for writing your own programs.
code/user/DEVELOPING.md contains tips for developing Ultim809 applications. It assumes a familiarity with 6809 assembly language.
Related Skills
clearshot
Structured screenshot analysis for UI implementation and critique. Analyzes every UI screenshot with a 5×5 spatial grid, full element inventory, and design system extraction — facts and taste together, every time. Escalates to full implementation blueprint when building. Trigger on any digital interface image file (png, jpg, gif, webp — websites, apps, dashboards, mockups, wireframes) or commands like 'analyse this screenshot,' 'rebuild this,' 'match this design,' 'clone this.' Skip for non-UI images (photos, memes, charts) unless the user explicitly wants to build a UI from them. Does NOT trigger on HTML source code, CSS, SVGs, or any code pasted as text.
openpencil
2.1kThe world's first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.
HappyColorBlend
HappyColorBlendVibe Project Guidelines Project Overview HappyColorBlendVibe is a Figma plugin for color palette generation with advanced tint/shade blending capabilities. It allows designers to
Flyaro-waffle-app
Waffle Delight - Full Stack MERN Application Rules & Documentation Project Overview A comprehensive waffle delivery application built with MERN stack featuring premium UI/UX, admin management, a
