All Projects → adumont → hb6502

adumont / hb6502

Licence: GPL-3.0 License
My Homebrew 6502 breadboard computer with my own #FORTH implementation

Programming Languages

assembly
5116 projects
python
139335 projects - #7 most used programming language
C++
36643 projects - #6 most used programming language
forth
179 projects
Makefile
30231 projects
c
50402 projects - #5 most used programming language
Batchfile
5799 projects

Projects that are alternatives of or similar to hb6502

6502-npp-syntax
Notepad++ Syntax Highlighting for 6502 Assembly (and NESASM)
Stars: ✭ 21 (+61.54%)
Mutual labels:  6502, 6502-assembly
elite-a-beebasm
Fully documented and annotated source code for Angus Duggan's Elite-A on the BBC Micro
Stars: ✭ 24 (+84.62%)
Mutual labels:  6502, 6502-assembly
retro-computing
🤓🕹💾 This hobby project contains software implementations of old microprocessors and complete computer systems. I'm very interested in retrocomputing and this is how I learn about the inner workings of these old, classic and amazing computers and game consoles.
Stars: ✭ 15 (+15.38%)
Mutual labels:  6502, 6502-assembly
apple2 rwts18
Roland Gustafsson's RWTS18 source code.
Stars: ✭ 17 (+30.77%)
Mutual labels:  6502, 6502-assembly
disc-elite-beebasm
Fully documented and annotated source code for the disc version of Elite on the BBC Micro
Stars: ✭ 19 (+46.15%)
Mutual labels:  6502, 6502-assembly
n65
An assembler for the 6502 microprocessor written in Ruby
Stars: ✭ 12 (-7.69%)
Mutual labels:  6502, 6502-assembly
ManicMiner2021
Manic Miner remastered on the BBC Micro
Stars: ✭ 46 (+253.85%)
Mutual labels:  6502-assembly
language-65asm
Adds syntax highlighting to 65816/65C816/65802/6502/65C02 files in Atom, with extra support for various compilers.
Stars: ✭ 32 (+146.15%)
Mutual labels:  6502
bad-apple
“Bad Apple” - The definitive BBC Micro/Teletext Version
Stars: ✭ 46 (+253.85%)
Mutual labels:  6502-assembly
js-nes-emulator
NES emulator in javascript.
Stars: ✭ 12 (-7.69%)
Mutual labels:  6502
pettil
6502 Forth-83 dialect for the Commodore PET 2001
Stars: ✭ 31 (+138.46%)
Mutual labels:  6502
SixtyPical
A 6502-oriented low-level programming language supporting advanced static analysis
Stars: ✭ 25 (+92.31%)
Mutual labels:  6502-assembly
asm6f
A fork of loopy's ASM6, a 6502 assembler.
Stars: ✭ 79 (+507.69%)
Mutual labels:  6502
TaliForth2
A Subroutine Threaded Code (STC) ANS-like Forth for the 65c02
Stars: ✭ 78 (+500%)
Mutual labels:  6502
Apple-1-Mini
A minified replica of the Apple 1
Stars: ✭ 32 (+146.15%)
Mutual labels:  6502
cbmtapepi
Use a Raspberry Pi as fast mass storage solution for your Commodore 8-bit computer using just the datassette port.
Stars: ✭ 41 (+215.38%)
Mutual labels:  6502
Thistle
6502 based architecture for OpenComputers
Stars: ✭ 26 (+100%)
Mutual labels:  6502
champ
A 65C02 profiler
Stars: ✭ 17 (+30.77%)
Mutual labels:  6502
Gearnes
NES / Famicom emulator for iOS, Mac, Raspberry Pi, Windows, Linux and RetroArch.
Stars: ✭ 23 (+76.92%)
Mutual labels:  6502
BE6502-Build-a-65c02-computer
A PCB being made while watching Ben Eaters "Build a 6502 computer" video series. Includes the computer itself, a standalone slow clock and an Arduino Mega shield for the bus monitor sketch..
Stars: ✭ 70 (+438.46%)
Mutual labels:  6502

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

See this file.

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:

FORTH

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

Read more here hb6502/forth.

Datasheets

References

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].