diff options
| author | Benedict <benedict@0xb8000.de> | 2018-04-26 11:34:52 +0200 |
|---|---|---|
| committer | Benedict <benedict@0xb8000.de> | 2018-04-26 12:36:19 +0200 |
| commit | 52fe336a804fc0124ca167c2d25b0f148e4c4249 (patch) | |
| tree | a0506aaab87826bd94a6b26e21dc9c607d16d301 /README.md | |
| parent | 44b6d1019c6c4c6b08039be9c4043d5c0b2bcf89 (diff) | |
completed readme
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 44 |
1 files changed, 42 insertions, 2 deletions
@@ -1,2 +1,42 @@ -With this little programm you can write an EEPORM which is connected to a -Raspberry Pi with the GPIO pins. +# 8bit breadboard computer + +This is a collection of little scripts to write the EEPROMs for a 8 bit +breadboard computer (by Ben Eater). +The EEPROM is connected to the Raspberry Pi via the GPIO pins. + +## 7 hex display +the computer has two 7 hex displays attach to it. With those display an 8bit +number can be displayed in hex format. The dispaly are controlled by two +EEPROMs. Setting the addresss lines to 0x1 on the EEPROM display a 1 on the 7 +hex display. Setting the address lines to 0x2 displays a 2, ... + +## Control logic +The control logic of the 8bit computer is implemented as two EEPROMs, which +computes a boolean function. +In the script inst.py are the definitions of the hard-wired connections of the +EEPROM to the control signals. On top of that some micro instructions are +constructed. +Furthermore the real instructions are implemented upon these micro instructions. + +Currently implemented instructions are: + +- LD{A,B}: Load the last four bits of the instruction into the A/B + register +- ADD/SUB_{A,B}: add/subtract the content of register B from the content of register A + and save the results in register A or B respectively. +- REG_{A,B}_OUT: display the conent of the register A/B on the 7 hex display +- PC_LOAD: load the last four bits of the instruction into the programm counter + register +- HLT: halt the computer + +On the TODO list are conditional jump instructions and an instruction, so that +the 8bit breadbord computer an write to the EEPORM itself, and using it e.g. as +a stack. + +## example programms +The following example programms are currently impletemened: + +- test programm: load the value 0x1 into register A and 0x2 into register B, + adds the content and save it to register A. +- fibonacci: loads the start values 0x1 and 0x1 into the register A and B and + computes the fibonacci sequence. |
