MCPcopy Create free account
hub / github.com/PiSCSI/piscsi

github.com/PiSCSI/piscsi @v25.12.01

Chat with this repo
repository ↗ · DeepWiki ↗ · release v25.12.01 ↗ · + Follow
1,528 symbols 4,220 edges 234 files 355 documented · 23% updated 8d agov25.12.01 · 2026-01-01★ 60436 open issues

Browse by type

Functions 1,324 Types & classes 164 Endpoints 40
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

What is PiSCSI?

Build Status Project releases Project contributors License: BSD 3-Clause Security Reliability Maintainability

PiSCSI is a virtual SCSI device emulator that runs on a Raspberry Pi. It runs in userspace, and can emulate several SCSI devices at one time. There is a control interface to attach / detach drives during runtime, as well as insert and eject removable media. This project is aimed at users of vintage Macintosh and Atari computers and more (see compatibility list) from the 1980's and 1990's.

Please check out the full story with much more detail on the wiki!

How do I contribute?

PiSCSI is using the Gitflow Workflow. A quick overview:

  • The main branch should always reflect the contents of the last stable release
  • The develop branch should contain the latest tested & approved updates. Pull requests should be used to merge changes into develop.
  • The rest of the feature branches are for developing new features
  • A tag will be created for each "release". The releases will be named .. where the release number is incremented for each subsequent release tagged in the same calendar month. The first release of the month of January 2021 is called "21.01.01", the second one in the same month "21.01.02" and so on.

Typically, releases will only be planned every few months.

When you are ready to contribute code to PiSCSI, follow the GitHub Forking and Pull Request workflow to create your own fork where you can make changes, and then contribute it back to the project. Please remember to always make Pull Requests against the develop branch.

If you want to add a new translation, or improve upon an existing one, please follow the instructions in the Web Interface README. Once the translation is complete, please use the same workflow as above to contribute it to the project.

GitHub Sponsors

Thank you to all of the GitHub sponsors who support the development community!

Special thank you to the Gold level sponsors! - @mikelord68 - @samplerspa-de

Special thank you to the Silver level sponsors! - @stinkerton18 - @hsiboy - @pendleton115 - @Teufelhunden-0311 - Private sponsor ;]

Thank you to Lin van der Slikke for the red panda logo design!

Core symbols most depended-on inside this repo

Shape

Method 1,109
Function 215
Class 151
Route 40
Enum 13

Languages

C++72%
Python28%

Modules by API surface

python/web/src/web.py89 symbols
cpp/hal/gpiobus_raspberry.cpp40 symbols
cpp/controllers/abstract_controller.h39 symbols
cpp/devices/device.h38 symbols
cpp/test/mocks.h36 symbols
cpp/devices/scsi_streamer.cpp36 symbols
cpp/hal/gpiobus_virtual.cpp33 symbols
cpp/devices/disk.cpp33 symbols
cpp/scsidump/scsidump_core.cpp28 symbols
python/ctrlboard/src/ctrlboard_event_handler/ctrlboard_menu_update_event_handler.py26 symbols
cpp/controllers/scsi_controller.cpp26 symbols
python/common/src/piscsi/piscsi_cmds.py23 symbols

For agents

$ claude mcp add piscsi \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page