Skip to content

Arduino EEPROM Programmer for 28C64 IC and Arduino control Logic for 8 Bit Computer

License

Notifications You must be signed in to change notification settings

Circuit-Overtime/8Bit-Computer-Programs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Arduino EEPROM Programmer for 28C64 IC and Arduino control Logic for 8 Bit Computer

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages