Skip to content

Latest commit

 

History

History
216 lines (159 loc) · 8.85 KB

10-Inspirations.md

File metadata and controls

216 lines (159 loc) · 8.85 KB

YAPC - Inspirations

_   __   _   
\ \ / /__| |_ 
 \ V / -_)  _|
  |_|\___|\__|
   _            _   _            
  /_\  _ _  ___| |_| |_  ___ _ _ 
 / _ \| ' \/ _ \  _| ' \/ -_) '_|
/_/ \_\_||_\___/\__|_||_\___|_|  
 ___ _        
| _ (_)__ ___ 
|  _/ / _/ _ \
|_| |_\__\___/ 
  ___                     _           
 / __|___ _ __  _ __ _  _| |_ ___ _ _ 
| (__/ _ \ '  \| '_ \ || |  _/ -_) '_|
 \___\___/_|_|_| .__/\_,_|\__\___|_|  
               |_|                    

(from http://www.network-science.de/ascii/, "small" font)

From the release of the Raspbery Pi Pico in January 2021 till now (december 2023), there are many projects around VGA and DVI/HDMI screen output, surrounded by a more ancient wave of other retro computers using other micro-controllers and/or 8 or 16 bits CPUs, mainly because old 8 bits computers are either too old or too expensive compared to what Arduino, ESP32 & al. cost and are able to achieve.

Here's now a list of projects that are related to this:

Pico stuff

VGA scanvideo from pico-extras by the Raspberry Pi Foundation

VGA demo board by Pimoroni

First thread about VGA on the Raspberry Pi forums

HAGL by tuupola

HAGL HAL for Pico VGA board by CHiPs44 (it’s me ;-))

pshell by lurk101

  • Serial accessible shell
  • With vi (from busybox)
  • And C compiler generating ARM M0+ code
  • https://github.com/lurk101/pshell
  • Uses internal flash by default with LittleFS, SD card support for VGA board

pt52 by DarkElevenAngel

PicoVGA by Miroslav Nemecek

MCUME by Jean-Marc Harvengt

PicoSystem from Pimoroni

PicoBB by Memotech-Bill & others

Picocomputer 6502 by Rumbledethumps

  • https://github.com/picocomputer
  • 8 Mhz 65C02 as CPU + 2 supporting Picos for VGA and I/O
  • Interesting concept of the PIX to handle communication between the Picos via PIO
  • Back to an publicly open source project after a blackout period of time
  • Great features on "GPU" side: 3 layers (bitmap, tilemap, text) with scrolling and "affine" sprites
  • 8 channels PSG with waveforms and ADSR parameters (january 2024)

RP2040-PICO-PC by Olimex

PicoMiteVGA & WebMite by Geoff & others

Neotron Pico by Jonathan Pallant (the JPster)

  • https://github.com/Neotron-Compute/Neotron-Pico
  • VGA is a 12 bits (RGB444) implementation of scanvideo to limit the amount of GPIO pins used
  • Code is written in Rust (and intended as a showcase of embedded Rust)
  • I/O controller is not a Pico, but there is an interesting notion of BIOS and an API to communicate via SPI (or serial ?)
  • Motherboard is in micro ATX form factor and embeds several expansion connectors usable with SPI (or I²C?)

Picoputer by amen

Pico-56 by Troy Schrapel

  • "The HBC-56 (65C02/TMS9918A/AY-3-8910 retro computer) fully emulated on a Raspberry Pi Pico"
  • 12 bits VGA with homemade PIO (not scanvideo based)
  • PS/2 keyboard, 2 NES ports,
  • 65C02 CPU, 65C22 VIA, TMS9918A VDP, Dual AY-3-8910 PSGs, Dual NES controller inputs, PS/2 keyboard input, 96KB Banked RAM/ROM
  • cf. https://github.com/visrealm/pico-56/
  • MIT license
  • can be repurposed to be whatever computer, see "episodes" for examples

Neo6502 by OLIMEX

PicoVision by Pimoroni

pico-vdp by Patrick Alastair

  • https://github.com/alastairpatrick/pico-vdp
  • Raspberry Pi Pico based Video Display Processor RC2014 Board with video and audio output, keyboard and mouse input
  • Seems to be stalled in the "sprite" branch since 2022
  • C, GPL 3.0

Non pico stuff

FabGL by Fabrizio Di Vittorio

  • C++ graphics library for ESP32 with 64 colors VGA output supporting PS/2 keyboard and mouse
  • http://www.fabglib.org/

LVGL by the LVGL team

  • Light and Versatile Graphic Library
  • https://lvgl.io/
  • License: MIT
  • Language: C99 (C++ compatible)
  • Very complete / complex
  • Ported to Pico / RP2040 with LCD SPI/I²C screens in mind

Pico-8 and TIC-80 fantasy consoles

Agon light 2 from the Byte Attic

RC2014 ecosystem