Skip to content

USBSID-Pico is a RPi Pico (RP2040) based board for interfacing one or two MOS SID chips and/or hardware SID emulators over (WEB)USB with your computer, phone or ASID supporting player

License

Notifications You must be signed in to change notification settings

LouDnl/USBSID-Pico

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

USBSID-Pico
USBSID-PicoLouD

USBSID-Pico

USBSID-Pico is a RasberryPi Pico based board for interfacing one or two MOS SID chips and/or hardware SID emulators with your PC over USB.

Project status

While in development any of the here mentioned items are subject to change. Firmware support will be limited until the PCB is released.

Supported platforms

During in development any examples will only work on Linux. Chrome webbrowser ASID is Supported in Linux and on Android.

Firmware

See the firmware changelog for more information on previous releases

Firmware features

The firmware is still in development

  • Custom protocol for playing SID files or usage with emulators
    • An adapted version of Vice emulator is available via de link under examples
    • SidBerry for command line SID file play is available via de link under examples
    • More to come?
  • Midi (in) ASID support (heavily inspired by multiple sources)
    • Play SID files in your (midi supporting) browser via Deepsid by Chordian
    • Play SID files in your (midi supporting) browser via IneSID by Fazibear
  • Single or dual SID support (firmware specific)
    • Remaps known SID addresses to $D400 & $D440
  • Dual, triple or quad SID support with SIDKick-Pico (firmware specific)
    • Remaps known SID addresses to $D400, $D420, $D440 & $D460
  • Quad SID support (addresses remixed) with SIDKick-Pico (firmware specific)
    • SID2->SID3 SID3->SID2
  • Onboard LED acts as VUE meter calculated by the voices of SID1
  • Onboard RGB LED acts as second VUE meter calculated by the voices of SID1 and SID2
    • Requires Black Pico clone board!
  • Uses the TinyUSB stack

Planned and in development

Version: 0.1.0-BETA (UNRELEASED)

  • Midi support in development
    • Basic support is finished
    • Configurable Midi commands
  • WebUSB support in development (Currently uses an adapted version of Hermit's emulator)
    • Proof of concept is finished
    • Needs better client side emulation
  • Improve GPIO handling
    • Add bus control via DMA and PIO for cycle perfect writes and reads
  • Customizable config
    • In development

ISSUES that need addressing (Any help is welcome)

  • Digiplay does not work like it should. This is a driver issue (client side). At one point I had this working with Async LIBUSB but forgot to backup it, DOH!

Building

You can build the firmware using the Pico SDK and TinyUSB

Hardware

The PCB is still in development

Where to buy

An assembled board - minus Pico - will be available at PCBWay when v1.0 is finished

PCB Features

  • Supports all MOS SID chips e.g. MOS6581, MOS6582 & MOS8580
  • Supports SID chip replacements e.g. SIDKick-Pico, SwinSID, ARMSID (untested), FPGASID (untested)
  • 1 MHz oscillator (external optional, enabled via jumper pad)
    • if no external clock is detected USBSID-Pico will generate a 1 MHz square wave using pio
    • if an external clock is detected will read the external clock signal
  • Power via USB
    • 5v stepup for clean 5v VCC to both SID chips
    • 12v or 9v stepup for clean VDD to both SID chips
  • Audio out filter as in the C64 schematics
    • With optional 8580 cap, solder the 8580 jumper pad in each audio circuit for this.
  • Audio jumper
    • SID1 audio left & right
    • SID1 audio left & SID2 audio right

PCB Development

  • v1.0 in development
  • v0.2 improved testboard
  • v0.1 testboard

Examples

USBSID-Pico in action

While in development any videos and/or audio links are subject to be changed or updated.

MOS8580 chip

Mojo
Bonzai & Pretzel Logic
Spy vs Spy II
The Island Caper
MOS8580 MOS8580

Visit my Youtube channel, other socials or the SHOWCASE page to see more examples.

Software

Available examples with USBSID-Pico support:
HardSID USB / SidBlaster USB driver example
Vice fork is available @ https://github.com/LouDnl/Vice-USBSID
SidBerry fork is available @ https://github.com/LouDnl/SidBerry
RetroDebugger fork is available @ https://github.com/LouDnl/RetroDebugger

Acknowledgements

Special thanks goes out to Tobozo for making the USBSID-Pico logo and for his (mental🤣) support since starting this project.

Some portions of this code and board are heavily inspired on projects by other great people. Some of those projects are - in no particular order:

License

Software License ~ GNUv2

All code written by me in this repository islicensed under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. Any code in this repository that is not written by me automatically falls under the licensing conditions by the authors of said code as mentioned in the source code header.

Hardware License ~ Creative Commons

USBSID-Pico PCB by LouD is licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International

Changelog

Version: 0.0.1-ALPHA

  • Basic working functions
    • Multiple firmware binaries per config type
    • SID control via GPIO
    • USB support
      • see examples
    • Midi support
      • messy and unfinished
    • ASID support
      • basic functionality
    • Onboard LED works as Vue
      • RGB LED support for clone Pico boards

About

USBSID-Pico is a RPi Pico (RP2040) based board for interfacing one or two MOS SID chips and/or hardware SID emulators over (WEB)USB with your computer, phone or ASID supporting player

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published