This site was set up to document my attempts to build a fully-featured, self-contained microcomputer using only basic logic elements (74-series TTL). The idea itself is nothing new and projects like this one are already out there (and completed – check my links page to see Bill Buzbee’s or Steve Chamberlin’s masterpieces which inspired me to take the challenge, too). I don’t really know the reasons why I do it, so I am not going to push myself into time or budget constraints. I will buy and use whatever tools and parts I find appropriate (lots of stuff is available on ebays worldwide these days) and work on the project whenever I find some spare time.
The high level plan for the computer outlined below. Hardware will have the following features:
- 16-bit datapath
- custom instruction set (CISC, most probably two-address, with up to one address to memory)
- a couple of MB of total physical memory addressable by banks or paging (physical address bus width still to be determined)
- system (supervisor) and user modes
- isolated user mode memory for process code and data (16-bit logical addressing)
- traps and interrupts mechanism
- some kind of mass storage (IDE maybe)
- serial port or USB (I hope not to need a keyboard and video for the initial working version)
In software space my goals are to have:
- ANSI C compiler (retargeting lcc is an option)
- multitasking OS (probably custom, porting Minix seems way beyond my reach now)
- TCP/IP stack
- telnet server
- web server (so that the machine can serve a web page about itself)
I am going to use wire wrapping, as this is the only prototyping method I know that allows for easy bug-fixing and re-work without compromising possible system complexity and reliability. Most of homebrew computers are built using this technique, anyway, so there must be a good reason.
I have spent the last few weeks studying computer design articles and digital logic books. I am still optimistic, but I am sure things will get worse when I go into details. We’ll see. People who managed are out there to help. I’ll be back as soon as I have anything interesting to share. Instruction set architecture, an initial microcode sequencer design and the computer’s block diagram will probably come out first.