Skip to content

Picocomputer 6502

Background

The Picocomputer 6502 is a real 8-bit computer you can build yourself, from a WDC 65C02, a couple of Raspberry Pi Picos, and very little else. It has 64 KB of RAM and 64 KB of XRAM, no ROM, nothing reserved, and a 6502 that runs from 0.1 to 8.0 MHz cycle accurate. Video is three planes of tiles, bitmaps, and sprites in RGB555, programmable per scanline. Software is distributed as .rp6502 ROM files.

The primary documentation for the Picocomputer 6502 is at https://picocomputer.github.io/, which covers the machine down to the register, along with the SDK and the operating system.

Controllers

The Picocomputer 6502 core supports the following device types in all four ports, the bolded device type is the default:

  • Gamepad - Joypad
  • Gamepad (Analog) - Analog
  • Lightgun - Lightgun - The Picocomputer's tablet. See Mouse and tablet.

Save states and netplay

Save states are supported and are deterministic, so rewind, run-ahead, and netplay all work.

Quirks

The Picocomputer is a gaming-centric computer, with keyboard, mouse, tablet, and gamepad support. libretro was built for consoles, with gamepads. What follows are limitations of libretro, not of the Picocomputer, and a core cannot work around them. Desktop users may prefer a native emulator where one is available.

Keyboard

The keyboard defaults to gamepad emulation. RetroArch binds your keys to a virtual RetroPad and to its own hotkeys, so typing does nothing useful until you enable Game Focus, which is the Scroll Lock key by default.

There is no way for a core to tell libretro that it wants the keyboard to be a keyboard. The core cannot turn Game Focus on, and it cannot ask whether Game Focus is on. All it can do is put a message on screen the first time a program asks for the keyboard.

You can change the default in Settings > Input > Auto Enable 'Game Focus' Mode. Setting it to Detect turns Game Focus on whenever this core is loaded, because the core always asks for keyboard input. That is usually what you want, but Game Focus also captures the mouse, which can cause some confusion. See below.

See RetroArch's direct keyboard input guidance for more on Game Focus and frontend hotkeys.

Mouse and tablet

The Picocomputer communicates the pointer shape in both directions. A program asks the host for an arrow, a crosshair, an I-beam, or no cursor at all, and the host tells the program whether it has a cursor to lend. libretro has no channel for any of this, so the core always reports that there is no host cursor and the program draws its own.

With Game Focus off, RetroArch keeps its own cursor, and you may see two of them — the frontend's and the program's. With Game Focus on, RetroArch captures the mouse, and reaching the edges of the screen is difficult.

The Picocomputer's tablet is an absolute pointing device, and libretro's absolute pointing device is a lightgun. Set a port's device type to Lightgun to use one.