Giter Club home page Giter Club logo

8bit-computer-programs's Introduction

Programmable 8-bit Computer on Breadboards

Computer

shields shields shields

This repository contains the code, schematics, and documentation for a programmable 8-bit computer built from scratch using simple logic gates on breadboards. The project is open source and fully scalable, capable of integrating additional functions and ICs.

Project Overview

The computer is divided into several parts:

  • PWM Clock
  • Address Register
  • RAM
  • Instruction Register
  • Control Logic
  • Program Counter
  • A Register
  • B Register
  • ALU (Arithmetic Logic Unit)
  • Output Display
  • Output Register
  • Control Word
  • Overflow, Underflow, Negative Flag Register

Credits

This project is inspired by and credits Ben Eater for the original idea and guidance. While based on his concepts, this implementation includes updates and differences, enhancing functionality and scalability.

Features

  • Scalability: Easily expandable with additional functions and integrated circuits.
  • Custom Updates: Includes enhancements and modifications beyond the original design.
  • Open Source: Available for anyone to study, modify, and contribute to.

Repository Structure

  • code/: Contains the code for each component of the computer. Code
  • eepromFlasher/: Contains the code to flash OP Code into EEPROM for anyone following Ben Eaters Approach of Creating Control Logic. eepromFlasher.ino
  • schematics/: Includes schematics and diagrams detailing the computer's architecture.Schematics
  • docs/: Documentation, user manual, and design notes at Dedicated Docs Dropping Soon

Getting Started

  1. Clone the repository to your local machine.
  2. Refer to the documentation for assembly instructions, usage, and programming the computer.
  3. Explore and contribute to the project as desired.

Computer

Schematic2 Schematic3 Schematic1

##Changes

  • Used Arduino Nano to drive control logic in place of ATC16 EEPROMS Code
  • Added a negative flag register to the system [Specific Schematic will be Dropping Soon]
IF ALU_MSB == 1 and SUB = 1 THEN NEG_FLAG = 1
  • Updated the Code to detect negative number and push a -ve sign at the output display mux ![Specific Code will be Dropping Soon]
#define NFLAG 11;
pinMode(NFLAG, INPUT);

if(NFLAG == 1)
{
  negativeFlgFunc();
}
  • Updated the B register to be able to output contents to the BUS
  • Updated the step counter to be able to count from (000)2 to (110)2 Now the Step Counter can Count Upto 7 Steps, the current repo code has only 5 Steps without NOP)
  • Smoother Clock Speed with 20ms delay from Arduino and 333Hz PWM Clock.

Contributions

Contributions are welcome! If you have ideas, improvements, or bug fixes, feel free to open an issue or submit a pull request.

License

This project is licensed under the MIT License.

8bit-computer-programs's People

Contributors

circuit-overtime avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.