Datamuseum-DK / pico-smd-controller

CDC SMD disk controller for Raspberry Pi Pico (RP2040)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A work-in-progress read-only(/archival) disk controller for CDC BK4XX/BK5XX (9760/9762) Storage Module Drives. It requires a Raspberry Pi Pico (RP2040) and some custom differential line driver/receiver hardware, and allows a PC to control the drive and receive status and data from it. The PC software ("frontend") also doubles as a debugging/diagnostics tool since it allows you to send arbitrary drive commands, has graphical display of drive status, and it logs what it sees. It is part of an ongoing effort to archive disk packs for a CDC BK5XX/9762 80MB drive at datamuseum.dk

Hardware

Pico pin config:

Drive documentation:

Drive signals are balanced (both inputs and outputs) and need differential line receivers/drivers between the Pico pins and the drive. (TODO schematics/parts list)

Building

Controller

Run build.sh. Requirements: cmake, git, arm-none-eabi-gcc.

Frontend

Run make in frontend_graphical/ directory. Requirements: termios.h, SDL2, OpenGL2. (SDL2/OpenGL2 are replacable, see: https://github.com/ocornut/imgui/tree/master/examples)

Running

  • If the Pico runs the controller code it will flash the LED briefly on startup, and it should announce itself as a TTY-over-USB device (typically /dev/ttyACM0 on Linux)
  • Run the "frontend"; pass the path to the TTY as argument (it can't run without a Pico, but you can test a lot of functionality without a drive).

License/Credit

About

CDC SMD disk controller for Raspberry Pi Pico (RP2040)

License:SIL Open Font License 1.1


Languages

Language:C++ 84.2%Language:C 15.6%Language:Python 0.1%Language:Shell 0.1%Language:CMake 0.0%Language:Makefile 0.0%