This repository documents my journey in building and experimenting with Ben Eater's 8-bit computer. The project is built using Transistor-Transistor Logic (TTL) chips on a breadboard, and I'm currently in the development stage.
The 8-bit computer is inspired by Ben Eater's excellent tutorials and uses 74HC series chips. Some modifications have been made to work around the lack of internal pull-up resistors in HC chips by adding external pull-up resistors.
I have completed the following modules:
- Clock Module: Designed a clock with adjustable frequency.
- ALU (Arithmetic Logic Unit): Built a fully functional ALU for basic arithmetic and logic operations.
- RAM (Random Access Memory): Implemented a memory module using TTL chips.
- ROM (Read-Only Memory): Programmed ROM to store machine instructions.
- CRUMB Software: Initially used for planning and testing circuits. Recently updated to support HC series chips.
- 74HC Series Chips: Used throughout the project with external pull-up resistors to compensate for design differences.
- Breadboard and Wires: For physical prototyping.
- Adapting the 74HC series chips to behave similarly to LS series chips by using external pull-up resistors.
- Debugging circuit connections on the breadboard.
- Add an I/O interface for basic input and output.
- Integrate a display for visualizing data.
- Optimize and clean up the wiring on the breadboard for better reliability.
- Write detailed documentation for each module.
-
Clone the repository:
git clone https://github.com/leen-S/ben-eater-8bit-computer.git
-
Explore the directories for individual modules:
/clock/alu/ram/rom
-
Refer to the
READMEfiles in each module for specific details and instructions.
- Special thanks to Ben Eater for his incredible tutorials.
- CRUMB Software by Mike Bushell for circuit visualization.
Since this project is still under development, contributions and suggestions are welcome. Please open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
Stay tuned for updates as I continue to build and refine this project!
