Pico56
Developer | Voidstar Tech |
---|---|
Type | Hobbyist microcomputer |
Operating system | Pico BASIC, Monitor |
CPU | 65C02 softcore (PicoCore) |
Memory | 56 KB RAM |
Storage | microSD |
Graphics | Tile-based 240×240 VGA output |
Sound | 4-channel programmable sound |
Input | PS/2 keyboard |
Power | USB-C |
Website | voidstar.tech/pico56 |
The Pico56 is a modern FPGA-based 8-bit microcomputer developed by Steve Lewis (aka Xiphod) of Voidstar Tech. Inspired by the Commodore 64 and similar vintage platforms, the Pico56 is designed as an educational and retrocomputing platform using a Raspberry Pi Pico (RP2040) microcontroller as its base.
It features a 65C02-compatible soft CPU core, 56 KB of RAM, tile-based VGA graphics, and a built-in BASIC interpreter. The project gained attention in the retro DIY and maker communities for its simplicity, affordability, and compatibility with vintage programming paradigms.
Design
The Pico56 is built around the Raspberry Pi Pico, leveraging its dual-core ARM Cortex-M0+ processor to emulate an 8-bit 65C02-based microcomputer in real time using one core for CPU emulation and the other for I/O and display handling.
It is implemented using Verilog soft cores and runs entirely within the RAM and flash of the RP2040. The device includes:
- **56 KB of usable RAM** for programs and display memory
- A **PicoCore** 65C02-compatible CPU core
- **VGA output** at 240×240 resolution with tile and sprite graphics
- **4-channel programmable audio** with square and noise waveforms
- **PS/2 keyboard input**
- **microSD storage** for loading and saving programs
The computer is fully open source, with schematics, firmware, and hardware design files available on GitHub.
Software
The Pico56 boots directly into a built-in **Pico BASIC** environment, modeled after 1980s-style BASICs. Users can write programs using familiar commands like `PRINT`, `POKE`, `FOR/NEXT`, and `GOTO`. The environment includes commands for drawing graphics, playing tones, and file I/O.
An integrated **machine language monitor** is also included for users interested in assembly programming. The system supports:
- Direct memory inspection and editing
- Assembling and running native 65C02 machine code
- Saving and loading programs from SD card
Features
- VGA video with a 16-color palette
- 4-channel tone and noise sound generator
- Up to 240 sprites with hardware collision detection
- Interrupt-driven timing and keyboard input
- BASIC interpreter with graphics and sound commands
- Expandable I/O headers for add-ons and breadboarding
Community and usage
The Pico56 is targeted at hobbyists, educators, and retrocomputing fans. It is often used in classrooms and workshops to teach principles of low-level computing, graphics programming, and digital electronics.
Users have created games, demos, educational tools, and hardware expansions. Its simplicity and affordability (usually under $20 USD in parts) make it attractive to beginners and veteran coders alike.