Skip to content

ianhan/picograph

Repository files navigation

PicoGraph

PicoGraph is a Pico 2 mounted on a PicoMEM 1.4, running custom firmware that hosts a USB DisplayLink adapter via TinyUSB and emulates PC graphics adapters on the ISA bus. It started out as tooling to snoop and visualize I/O and memory accesses for my FPGA projects, and turned into the first Pico-based ISA video card.

PicoGraph running on PicoMEM hardware

Modules:

  • CL5429: Cirrus Logic CL-GD5429-compatible emulation based on PCem.
  • VGA: IBM VGA-compatible emulation based on PCem.
  • EGA: IBM EGA-compatible emulation based on PCem.
  • HERCULES: Hercules/MDA text and graphics based on PCem.
  • MDA: Strict MDA support.
  • REGISTER_VIEW: passive VGA/MCGA register, POST, and palette display.
  • SAMPLE: minimal example for I/O traps, memory traps, and write-only snoops.

DisplayLink/libdlo

The DisplayLink support lives in tusb_libdlo, a heavily modified libdlo - first ported to TinyUSB a couple of years ago, later extended with run-length and mixed encodings, 16bpp scanout, and pipelined USB writes. It is included here as a submodule. USB 2.0 DisplayLink adapters (DL-1x0 and DL-1x5) are supported.

License

The software portions of this repository as a collection are licensed under the GNU GPL version 2. Some files are individually dual-licensed under BSD or MIT licenses – see the license in the file headers for details.

Experimental firmware for FreddyV’s PicoMEM hardware, inspired by Ian Polpo’s PicoGUS software architecture.

About

PicoGraph is a Pi Pico 2 ISA video card that supports several PC graphics standards using DisplayLink

Resources

License

Stars

37 stars

Watchers

2 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors