65c02_sbc
Publicrprouse/65c02-sbc
Loading…
Imported from GitHub: rprouse/65C02_SBC · commit 7280d9f · license MIT
Description
Assembly code for my 8-bit 65C02 based breadboard computer
README
8-Bit 65C02 based Computer
This repository contains assembly code for the 65C02 based 8-bit computer I am building on a breadboard. I started out writing the assembly and compiling it using vasm because it is portable to many different CPUs including the Z80 which I also program for. I recently switched to using cc65 because it allows me to specify the memory layout of this machine and ships with the memory layouts of many more machines like the VIC20, C64, Commander X16, Atari consoles, etc.
The breadboard version of this computer is based on the design by Ben Eater. If you are interested in following along, I highly recommend his video series.

After completing the breadboard version, I found an updated version with two VIA chips, a 6551 based ACIA chip for serial communications and a PS/2 keyboard port with an ATtiny4313 based keyboard controller by Dawid Buchwald who writes about the designing the computer on Hackaday.io.
I had boards made by PCBWay.com and built a version of the computer based on David's design. Much of the software here started out being written by David.

Memory Map
| Segment | BE6502 | DB6502 | Comment |
|---|---|---|---|
| RAM | 0x0000-0x3FFF | 0x0000-0x7FFF | |
| VIA1 | 0x9000 | Connected to keyboard/LCD/blink LED in my build | |
| VIA2 | 0x6000 | 0x8800 | Can be used to run Ben's programs |
| ACIA | 0x8400 | ||
| ROM | 0x8000-0xFFFF | 0xA000-0xFFFF | First 8K are not accessible, but need to be burned to the chip |
16x2 LCD addressing scheme
| 0x00 | 0x01 | 0x02 | 0x03 | ... | 0x0F |
| 0x40 | 0x41 | 0x42 | 0x43 | ... | 0x4F |
20x4 LCD addressing scheme
| 0x00 | 0x01 | 0x02 | 0x03 | ... | 0x13 |
| 0x40 | 0x41 | 0x42 | 0x43 | ... | 0x53 |
| 0x14 | 0x15 | 0x16 | 0x17 | ... | 0x28 |
| 0x53 | 0x54 | 0x55 | 0x56 | ... | 0x68 |
No comments yet. Be the first to ask about this board.