Any home computer needs at least an input device, a computing device and an output device. I plan to use a keyboard as input, an ATmega1284 microcontroller with some external SRAM as the computing device and a VGA display as output.
I happen to have a working VGA color graphics circuit (as a result of my RC 2017/10 entry) that I’m going to recycle for this home computer project. First step is to compress its breadboard footprint:
Main components from left to right:
– 25 MHz TTL oscillator
– top: ATmega1284P microcontroller, bottom: 74ALS573 latch
– top: 74ALS573 latch, bottom: IS61C5128AS 512K x 8 25ns SRAM
– 21 resistors (560 ohm) forming 3 digital to analog converters
plus several capacitors and pull up/pull down resistors.
Meaning of wire colours:
– black: ground
– red: supply voltage (+5V DC) or data lines for the red color path
– green: data lines for the green color path
– blue: data lines for the blue color path
– orange: system clock (25 MHz)
– purple: address lines A0, A1, A2
– grey: address lines A3 to A10
– white: address lines A11 to A18
– yellow: control lines (like chip enable, output enable, …)
– pink: horizontal sync
– brown: vertical sync
To be honest, I’m violating rule #1 here: The external SRAM is a SMD chip on a breakout board. I simply couldn’t find any DIP SRAM with an access time of 40ns or less. The RC2017/10 project successfully used a 55ns chip well beyond its specifications, but only when wired in a special way. The MCU is also overclocked (max. clock speed 20 MHz specified) but it runs easily at more than 30 MHz, so I consider 25 MHz to be save.
Ok, I need something to eat now, so I’m going to declare this circuit to be the minus56 home computer, version 0.01 alpha. 😉
Moderated comments are used to prevent spamming,
so it’ll take some time
before your comment gets published.