Homebrew computer
From Bob's Basement
Status: Incomplete but feasible.
Project Leader: Mike
Project Members: Glen
Status: Planning
Contents |
Introduction
The Homebrew Computer project is a leap back to the day of the Homebrew Computer Club. The plan is to build my own computer. I'm thinking of building my own OISC CPU around the SUBLEQ (Subtract and Branch if Negative) instruction. I plan to use an off the shelf memory system and a MOS 6581 (SID) chip for sound. I haven't thought any further about IO at the moment but it has to have a SID :-)
The plan is to start simple, with the CPU, memory, probably a flash chip for storage and some limited IO and then to build from there.
Word of warning
I'm no CPU designer and my electronics knowledge is not what I'd like it to be. This project plots my research into the subject and so initial ideas and designs may be wildly inaccurate. If you spot any blatant balls ups, then feel free to let me know. The aim of the game is not so much to build a working product, though I hope very much that I can, but rather to learn as much as I can about the inner workings of computers.
SUBLEQ
SUBLEQ a b c
SUBLEQ subtracts the value of memory address a from memory address b and then writes the result to address b. If the result is less than or equal to zero then the code branches to the address c. If not, the program continues from the next address. This instruction allows the construction of a Universal Turning Machine.
The CPU
Method of operation
1) Take first address and load onto ALU
2) Take 2nd address and load onto ALU
3) Take the result from the ALU and store at address b
4a) If result is <=0, get address c and place on program counter
4b) If result >0, increment program counter

