lørdag den 30. august 2014
Some tips for starting a microcomputer project
When setting out to build a microcomputer, especially for a first computer project, there are a lot of unknowns. There's a lot of project schematics out there, some more advanced than others, and a lot of them seems like just a schematic with no notes attached.
Since none of my projects are in any state near "complete", this is simply some of the points I've noticed so far.
- Decide on a processor
You'll probably need to base your computer around a microprocessor. Wiring your own is an interesting idea, but leagues ahead of most computer hobbyists (assuming they still exist).
I'd recommend an 8-bit processor, since that's basically all you need, and there's no need adding to the complexity.
Popular ones include the ZILOG Z80, my favorite. It is fairly easy to interface to other hardware, only needs a single phase clock, and the instruction set (for programming) seems rather intuitive to me. The MOS 6502, made famous by the Commodore and Acorn computers is also pretty easy, and has found many applications in DIY computers in the past, though it does need a two phase clock, and the instruction set is a little more confusing ( i MAY be biased on this, if you started learning 6502 assembly, you'd probably feel the same way about the z80's).
The RCA COSMAC 1802 , notably used in the COSMAC ELF DIY computer, is very easy to interface, and RUNS WITHOUT A ROM, which eliminates the need for a device programmer, is very rare, and although classic and awesome, i really wouldn't recommend it for first time builders. The COSMAC ELF articles talk about a video interface on a chip, which is even harder to find. Don't bother, unless you REALLY want to.
- Learning to program
You'll need to be able to program your ROM, so you'll need to learn %PROCESSORNAME% assembly. So explained in BASIC:
10 you build a microcomputer to learn assembly,
20 for which you need a microcomputer
30 goto 10
See the problem? Yeah, you NEED an actual computer to learn to program (or an emulator, but that's cheating).
You can get decent priced micro's still, use Wikipedia to find which mico's uses your processor. I've learned z80 assembler on a SINCLAIR ZX spectrum +2, which i found at a flea market.
You need to find literature on system architecture. many books on this matter were published in the late 70's and the 80's. A lot of electronics can be learned by "monkey see monkey do" but understanding memory interfacing, I/O mapping (and some logic) will help you immensely.