Skip to content

The HBC-56 (65C02/TMS9918A/AY-3-8910 retro computer) fully emulated on a Raspberry Pi Pico

License

Notifications You must be signed in to change notification settings

visrealm/pico-56

Repository files navigation

PICO-56

My HBC-56, a 65C02/TMS9918A homebrew computer on a backplane, fully emulated on a Raspberry Pi Pico.

HBC-56

Emulating the following HBC-56 hardware

  • 65C02 CPU
  • 65C22 VIA
  • TMS9918A VDP
  • Dual AY-3-8910 PSGs
  • Dual NES controller inputs
  • PS/2 keyboard input
  • 96KB Banked RAM/ROM

Making use of my various emulation libraries (and more):

  • vrEmu6502 - 6502/65C02 CPU emulation library (C99)
  • vrEmu6522 - 6522/65C22 VIA emulation library (C99)
  • vrEmuTms9918 - TMS9918A/TMS9929A VDP emulation library (C99)

Follow along on YouTube here: youtube.com/@TroySchrapel

Development environment

To set up your development environment for the Raspberry Pi Pico, follow the Raspberry Pi C/C++ SDK Setup instructions.

Windows

For Windows users, there is a pre-packaged installer provided by the Raspberry Pi Foundation: https://github.com/raspberrypi/pico-setup-windows/releases/. Once installed, just open the pre-configured "Pico - Visual Studio Code" from your start menu.

The build system expects python3 to be available. If you have installed Python 3 outside of the Microsoft Store, you may need to alias your Python executable.

You can do this from an elevated (Administator) command prompt in your python directory e.g. C:\Program Files\Python310\ by creating a symlink with the command: mklink python3.exe python.exe.

Episodes

In the Episodes, I build the code from the ground up and provide a number of working demos. These are a work in progress with more to come as the videos come out.

In this episode, I build a VGA circuit on the Raspberry Pi Pico and write an intitial generic VGA output library and a number of VGA test programs from a test pattern through to moving sprites and an 800x600 framebuffer.

In this episode, I incorporate my TMS9918 library and create some test programs to test the TMS9918 functionality on the Pi Pico.

Complete kits

Complete PICO-56 kits are now available on Tindie:

I sell on Tindie

Also featured in HackerBox 0103 for those in the US:

Gerbers

Gerbers for the PICO-56 v1.4 are now available. See /schematics

If you would like to support this project, you can order your PCBs from my PCBWay project link

Schematics

PICO-56 v1.4

Bill of materials

Qty. Description Code
1 PICO-56 PCB PCB
5 100nf (104) ceramic capacitor C3,C4,C5,C6,C7
3 10uf (106) electrolytic capacitor C8,C1,C2
3 4kΩ 0.25w resistor (3.9kΩ ok) R1,R5,R9
2 10kΩ 0.25w resistor R20,R21
6 2kΩ 0.25w resistor R22,R2,R6,R10,R17,R18
9 1kΩ 0.25w resistor R3,R7,R11,R13,R14,R15,R16,R19,R23
3 500Ω 0.25w resistor (510Ω ok) R4,R8,R12
1 2N4401 transistor Q1
1 1N5819 diode D1
1 Blue LED LED1
1 Green LED LED2
1 Push button KEY1
1 Push button (locking) PWR1
1 Barrel jack connector 5V
1 VGA connector DSUB1
2 RCA connector J2,J3
2 NES connector NO1,NO2
1 PS/2 connector PS2
1 Raspberry Pi Pico (plus headers) U1
1 MicroSD card connector U2

There is a more detailed BOM in the /schematics folder. Alternatively, I have created a Mouser project for this which contains everything except for the NES connectors which can be obtained from AliExpress.

3D Printed case

A 3D printed case is available. All STLs are in the /case directory.

PICO-56 case

Videos

PICO-56 - Introduction

PICO-56 - Full Kit Build

Thanks

Thanks to PCBWay for supporting this project.

PICO-56

Resources

License

This code is licensed under the MIT license