The short answer
Use the project's PicoVision CMake frontend with local Pico SDK and Pimoroni PicoVision source checkouts, provide legally obtained XT-compatible BIOS files, then boot a hard-disk image named hd0.img from microSD. PicoVision supplies CGA video output and accepts USB HID keyboard and mouse input through the emulator frontend.
Experienced Pico SDK users who want a documented retro-computing project that exercises PicoVision's video output, PSRAM and USB host support.
Before you start
Have these basics ready before choosing parts or flashing firmware.
- A PicoVision, HDMI display and cable, micro-USB data/power cable, accessory injector cable, microSD card, and USB HID keyboard.
- A working CMake toolchain plus local Pico SDK and Pimoroni PicoVision source checkouts; use the emulator's current CI workflow to identify its tested PicoVision revision.
- XT-compatible BIOS and disk images that you are legally permitted to use.
Prove the PicoVision setup first
Follow Pimoroni's getting-started guide to connect the display and power, verify the board, and understand BOOTSEL and RESET before replacing the bundled MicroPython firmware.
- Keep a current PicoVision MicroPython UF2 available so you can restore the board.
- Confirm the display and USB cabling before debugging the emulator build.
Build the PicoVision frontend
Clone the emulator repository, place the required BIOS files at its root, and configure the documented build with the Pico SDK and Pimoroni PicoVision source paths. Compile the PicoVision target without changing emulator defaults first.
- Use the repository's default branch, read its current README, and check its CI workflow for the tested PicoVision source revision before compiling.
- Do not download BIOS or operating-system images from untrusted or unauthorized sources.
Prepare storage and input
Put the emulator's single supported hard-disk image at hd0.img on the microSD card. Connect PicoVision directly to the HDMI display. Plug the keyboard into the accessory injector's USB-A port, connect the micro-USB power/data cable to the injector's micro-USB socket, and plug the injector into PicoVision before booting.
- Start with a small known-good disk image you have permission to use.
- Keep an untouched backup of the card image before testing writes.
Troubleshooting
CMake cannot configure the PicoVision target. Confirm the Pico SDK and Pimoroni PicoVision source paths resolve to compatible checkouts, compare the emulator's current CI workflow, and re-read its build command.
The emulator starts but cannot boot a disk. Check that the microSD card is readable and that the hard-disk image is named exactly hd0.img.
Video or input is unstable. Return to the PicoVision getting-started checks, simplify to one keyboard, and verify the HDMI display and power path independently.
Next steps
Keep the next experiment small and reproducible.
- Boot a minimal known-good image without customizing the emulator.
- Record the Pico SDK and emulator commit used for the working build.
- Add further USB HID input only after keyboard and display output are stable and you have confirmed a compatible connection arrangement.
