GithubHelp home page GithubHelp logo

adumont / hb6502 Goto Github PK

View Code? Open in Web Editor NEW
30.0 7.0 0.0 20.21 MB

My Homebrew 6502 breadboard computer with my own #FORTH implementation

License: GNU General Public License v3.0

Assembly 54.76% Makefile 2.64% Python 25.25% C++ 10.60% C 0.90% Batchfile 0.06% Forth 5.36% Shell 0.43%
6502 forth breadboard-computer 6502-assembly

hb6502's Introduction

Homebrew 6502 SBC

Introduction

This project is about building a single board 65c02 computer.

It's powered by a WDC 65C02s CPU driven by a 1.8432MHz oscillator clock, with 32KB of SRAM (only 16K used), 32K of ROM, a 65c22 VIA interface, a 6551 ACIA serial interface, and an 20x4 LCD screen.

The ROM is programmed using my self-made EEPROM programmer.

Hardware

Schematics

Schematics in PDF format.

Memory Map

The address decoding logic is following the one described by Garth Wilson in his 6502 Primer, Address decoding page. The corresponding schematics is:

(picture by Garth Wilson from his 6502 Primer)

Address Component
$0000-$3FFF RAM (16KB)
$4200-$4203 ACIA
$6000-$600F VIA
$8000-$FFFF ROM (32KB)

Software

Monitor

At the moment the monitor is very rudimentary, but it serves its purpose.

Monitor will show content at ADDR. You can type:

  • a new ADDR (4 char, hex): this will set ADDR to the new value, and display the content. For ex. 04F0
  • a value (2 char, hex): this will store the value at ADDR. For ex. FB
  • ' followed by a char: store the char at ADDR. For ex. 'A
  • j restore registers to saved values and jump to ADDR
  • c continue (after a BRK). restore registers to saved values, set ADDR to saved PC (after BRK) and jump to ADDR

Registers manipulation (saved values):

  • aXX : store XX (hex) in A
  • xXX : store XX (hex) in X
  • yXX : store XX (hex) in Y
  • sXX : store XX (hex) in S
  • pXX : store XX (hex) in P
  • r : print registers value

Early demo of the Monitor in Kowalksi 6502 simulator:

AlexFORTH for 6502

I have implemented my own FORTH kernel for this Homebrew 6502.

Read more here hb6502/forth.

Datasheets

References

hb6502's People

Contributors

adumont avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  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.