Git Product home page Git Product logo

jcpu's Introduction

jCPU: My homebuilt 8-bit Ben Eater inspired CPU
===============================================

A few months ago, inspired by Ben Eater's wonderful Youtube video series, I built my very
own 8-bit CPU from scratch, on breadboards using basic digital logic components (gates, 
latches, EEPROMs).

I have documented the entire adventure on my Youtube channel:
https://www.youtube.com/channel/UCH09NwwJsfThwLKvc6kxl4Q

This repository contains the supporting software for this project. It is divided into a
number of sub-projects:

+ arduino/ contains the Arduino C++ code, which is used to program the various EEPROMs 
           used in the project.
---+  arduino/DigitalDisplay/ programs an EEPROM to display decimal digits, based on 
                              8-bit bainry input. See 
                              https://www.youtube.com/watch?v=b3iytSzYhSs
---+  arduino/Erase/ erases an entire EEPROM, resetting every byte to 0xFF
---+  arduino/Microcode/ programs microcode into the 4 EEPROMs, which make up the control
                         unit. See https://www.youtube.com/watch?v=CE615IDVVNA and
                         https://www.youtube.com/watch?v=O_mTxnFYLXE
---+  arduino/libraries/MyEEPROM/ support library to provide high-level EEPROM read- and
                                  write-functions. See
                                  https://www.youtube.com/watch?v=b3iytSzYhSs

+ assembler/ A very simple assembler, written in C, using UN*X lex and yacc, which can
             translate the assembly files in programs/ to machine code, suitable for the
             8-bit CPU. See https://www.youtube.com/watch?v=-_u6HhAb5mo&t=1509s

+ programs/ Contains several example programs in assembly for the 8-bit CPU. Some
            (primes.s and qsport.s) are hand-compiled from corresponding C-code. Others
            were written in assembly from scratch.

+ schematics/ generated PDF, and source .sch (gEDA schematics) files, for electrical
              schematics describing the various parts of the 8-bit CPU. Shown throughout
              the videos in the series.

jcpu's People

Contributors

jamesbates avatar

Watchers

James Cloos 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.