-
-
Notifications
You must be signed in to change notification settings - Fork 82
Home
PiSCSI is a virtual SCSI device emulator that runs on a Raspberry Pi. It is a two piece solution, with a hardware and software component. PiSCSI can emulate multiple SCSI devices concurrently, provides a control interface to attach / detach drives, as well as insert and eject removable media. Simply connect the PiSCSI interface board to your system, launch the PiSCSI software on the Raspberry Pi, and the virtual devices will be accessible as physical SCSI devices! |
|
|
|
|
Join us on Discord with questions, concerns or to just socialize with some vintage computing users.
PiSCSI is forked from RaSCSI, which was originally developed by by GIMONS for use with the Sharp X68000.
The purpose of this repository is to take the awesome work by GIMONS and build upon it, using the open source community. This project was forked from version 1.47 of GIMONS' RaSCSI project. At first it was named RaSCSI 68kmla Edition, then renamed to RaSCSI Reloaded, and finally PiSCSI. Over time, PiSCSI has had significant updates and architectural changes, providing unique capabilities beyond RaSCSI's original feature set. The PiSCSI software maintains compatibility with all RaSCSI board variants.
PiSCSI has been demonstrated on dozens of retro computing platforms and digital samplers. A compatibility list is available showing which platforms have been tested. Additional testing is appreciated, along with updating the system compatibility table with your findings.
Warning: Older videos may contain outdated information, since PiSCSI is a rapidly developing project.
- The Macintosh Librarian tutorial and demonstration on a Color Classic (Dec 30, 2021)
- Introduction to using PiSCSI on DEC VAXstation / Alphaserver (Nov 6, 2021)
- Mac84 tutorial and DaynaPORT Ethernet interface how-to (Jul 31, 2021)
- Demonstration of PiSCSI in use on a SE/30 (Oct 11, 2020)
- Livestream of PiSCSI assembly (Oct 10, 2020)
PiSCSI | RaSCSI | BlueSCSI v2 | SCSI2SD | MacSD | |
---|---|---|---|---|---|
Links to more information | Wiki, GitHub | Archived homepage | Homepage | Wiki | macsd.com |
Cost | $$ | $$ | $ | $$ | $$$ |
Primary target systems | SCSI standards compliant | Sharp X68000 | General SCSI | General SCSI | SCSI Macintosh |
Run-time configurable | ✅ | ✅ | ✅ | ❌ | ❌ |
Web app control interface | ✅ | ❌ | ❌ | ❌ | ❌ |
Android App | ✅ | ❌ | ❌ | ❌ | ❌ |
HD device | ✅ | ✅ | ✅ | ✅ | ✅ |
CD/DVD device | ✅ | ✅ | ✅ | ✅ | ✅ |
Floppy device | ✅ | ❌ | ✅ | ✅ | ❌ |
Removable device | ✅ | ✅ | ✅ | ✅ | ❌ |
MO device | ✅ | ✅ | ✅ | ✅ | ❌ |
Printer device | ✅ | ❌ | ❌ | ❌ | ❌ |
Ethernet device (DaynaPort SCSI/Link) |
✅ | ❌ | ✅ | ❌ | ❌ |
CD Audio | ❌ | ❌ | ❌ | ❌ | ✅ |
Sharp X68000 Host Adapter | ❌ | ✅ | ❌ | ❌ | ❌ |
SASI Support | ❌ | ✅ | ❌ | ❌ | ❌ |
SCSI Initiator Mode | ✅ | ❌ | ✅ | ❌ | ❌ |
With many people working on and testing PiSCSI on their own systems, you can find details on what Raspberry Pis and which computers work together. Check out the Compatibility page.
Benchmark testing has been performed with the PiSCSI on a few different Raspberry Pi models. Please check the benchmarks page for additional details.
The hardware component of PiSCSI interfaces with GPIO pins on the Raspberry Pi to read/control the SCSI signals. As the Raspberry Pi GPIO pins operate at 3.3v and SCSI signalling is 5v, the PiSCSI interface uses bus transceivers allowing the Raspberry Pi to safely communicate on the SCSI bus. The SCSI I/O signal is used to control the direction of the Data signals, and a dedicated GPIO pin is used to control the direction of several control signals. As of Sept 2020, the suggested transceiver is the SN74LS641-1 from Texas Instruments. As development is still underway, a comparison of different transceivers has been compiled.
For those who have purchased the DIY kit on Tindie, or have procured your own PCBs and components, check the full size or Zero assembly page for instructions on building your own PiSCSI board.
Some people have reported successfully connecting the Raspberry Pi GPIO pins directly to a SCSI interface. This may work, but runs the Raspberry Pi GPIO beyond the specifications, and is not recommended.
The PiSCSI board has had an additional header installed exposing the I2C bus. With this you can install additional features like an OLED display. Read more on how to connect an OLED display or a Control Board to the PiSCSI.
Once you have PiSCSI board, instructions on how to setup your Raspberry Pi, and downloading and installing the PiSCSI software can be found on the Setup Instructions page.
Now that you have the PiSCSI board connected to your Raspberry Pi, and have the software downloaded and installed, next is to connect the PiSCSI device to your computer. Details on SCSI devices, termination and cabling can be found on the Connecting the PiSCSI page.
With the PiSCSI board attached to your computer, and PiSCSI downloaded and installed, instructions on creating and attaching disk images can be found on the Drive Setup page.
Additionally, a web interface can be used to attach and detach images, manage the images, and the Raspberry Pi itself. More details on the web interface and how to set it up can be found on the Web Interface page.
- piscsi manpage
- scsictl manpage
- scsimon manpage
- RaSCSI 68kmla Edition development thread
- PiSCSI Control App for Android
- The original GIMONS RaSCSI code
- GIMONS's RaSCSI website (archive.org)
- Mirror of Mac OS 8 Documentation
- ATAPI list of SCSI commands
- Pioneer CD-ROM SCSI command set
- Seagate SCSI Commands Reference Manual (maybe too new to use as a reference?)
- Inside Macintosh "devices" mirror
- DVD Command Set
- Mirror of Apple's original SCSI Manager documentation
- PDF versions of the SCSI Manager documentation
- Apple CD-ROM and Apple CD/DVD Driver Reference
- CD-ROM Drivers
- Inside Macintosh "Network Setup" (mirror)
- Inside Macintosh "Communications Toolbox" (mirror)
- Network Services Location manager Developers Kit
- Very detailed, thorough document on SCSI2
- T10 Working Drafts for the SCSI standard
- Home
- Initial Setup
- Documentation
- Companion Apps
- Developer Notes