cbmeeks / rp6502

Picocomputer 6502

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Rumbledethumps' Picocomputer 6502

The RP6502 is an 8-bit computer with VGA, Audio, and USB. It can be built entirely with through-hole components, compactly using surface mount devices, or even on a breadboard. No programming devices need to be purchased and the only component used that wasn't available in the 1980s is a $4/€4 Raspberry Pi Pico.

Join me on YouTube as I develop this project. https://www.youtube.com/channel/UC7kMjECYMyiSgFfiAm6c55w

Dev Setup

Standard Raspberry Pi Pico C SDK setup per the official docs; set PICO_SDK_PATH and PICO_EXTRAS_PATH, use cmake. The VSCode launch settings connect to a remote debug session. For example, I use a PicoProbe under WSL by passing the device to Linux with usbipd-win then bringing up a couple of terminals for the debugger and monitor.

PS> usbipd list
BUSID  DEVICE
7-4    USB Serial Device (COM6), Picoprobe

PS> usbipd wsl attach --busid 7-4
$ sudo openocd -f interface/picoprobe.cfg -f target/rp2040.cfg -s tcl
$ sudo minicom -c on -b 115200 -o -D /dev/ttyACM0

Pi Pico - Power, CDC, and PicoProbe.

#Pins Description
17 VGA - 640x480 32768 colors
2 STDIO UART
2 SWD
1 PHI2
1 RESB
3 PBUS

Pi Pico - USB Host for Hub.

GP# Description
0 Chip Select
1 Write Enable
2-9 Data D0-D7
10-14 Address A0-A4
15 Bank A16
16-17 STDIO UART
18-19 PWM Audio L-R
20 IRQB
21 PHI2
22 RESB
26-28 PBUS

Memory Map

Addr Description
FFFE-FFFF BRK/IRQB
FFFC-FFFD RESB
FFFA-FFFB NMIB
FFF0-FFF9 10 bytes for fast load
FFE0-FFEF 16 bytes for I/O TBD

Fast Load

Self modifying RAM avoids some indirection. It's not much, so this may not happen if the resources are needed elsewhere, but it's worth trying for.

.org FFF0
loop:
LDA #00
STA $0000
BRA loop
JMP $0000

About

Picocomputer 6502

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:C 100.0%Language:CMake 0.0%