rename rascsi to piscsi

Tony Kuker 2022-12-04 13:38:31 -06:00
parent 8ed8b242b3
commit 6493221faf
37 changed files with 492 additions and 492 deletions

@ -1,6 +1,6 @@
= Overview =
AFP is Apple's legacy file sharing protocol, originally standing for AppleTalk Filing Protocol. This is what classic Mac OS as well as earlier versions of Mac OS X (until 10.8) uses for file sharing. On this page, we will be using an open source implementation of an AFP server called [http://netatalk.sourceforge.net/ Netatalk] to set up a file sharing server running in parallel with RaSCSI on a Raspberry Pi.
AFP is Apple's legacy file sharing protocol, originally standing for AppleTalk Filing Protocol. This is what classic Mac OS as well as earlier versions of Mac OS X (until 10.8) uses for file sharing. On this page, we will be using an open source implementation of an AFP server called [http://netatalk.sourceforge.net/ Netatalk] to set up a file sharing server running in parallel with PiSCSI on a Raspberry Pi.
As of RaSCSI 21.11.1, the RaSCSI Web Interface has integration with Netatalk built into the UI, allowing you to easily see the status of the AFP service running on your Pi, as well as downloading files directly onto the shared directory to make them instantly accessible to Macs that have mounted the AppleShare file system.
@ -12,7 +12,7 @@ As of RaSCSI 21.11.1, the RaSCSI Web Interface has integration with Netatalk bui
'''Note:''' The following process has been automated through the ''easyinstall.sh'' script. If you don't want to use the script, follow the manual steps below.
This section assumes that you have already installed RaSCSI and therefore have the dependent libraries on your Pi. We will need a few more libraries installed.
This section assumes that you have already installed PiSCSI and therefore have the dependent libraries on your Pi. We will need a few more libraries installed.
```
$ sudo apt install libssl-dev libdb-dev libcups2-dev libavahi-client-dev libgcrypt20-dev autotools-dev automake libtool

@ -1,5 +1,5 @@
# Overview
Below are some benchmarks comparing the RaSCSI running on different variants of Raspberry Pi's, along with the SCSI2SD version 5 and an original Apple hard drive as a comparison.
Below are some benchmarks comparing the PiSCSI running on different variants of Raspberry Pi's, along with the SCSI2SD version 5 and an original Apple hard drive as a comparison.
# Test results
## Overall Disk scores
@ -7,7 +7,7 @@ Below are some benchmarks comparing the RaSCSI running on different variants of
_Some notes on this:_
* _There are multiple SCSI2SD scores. I ran the test on two different volumes on the SCSI2SD and got slightly different scores._
* _I suspect that the Pi 0 got higher scores because the RaSCSI software only uses one core. This gives the Pi 0 a slight clock speed advantage_
* _I suspect that the Pi 0 got higher scores because the PiSCSI software only uses one core. This gives the Pi 0 a slight clock speed advantage_
## Disk Read Scores
[[images/benchmark_read.png|Disk Read Benchmark]]
@ -25,26 +25,26 @@ Macintosh Quadra 840av
* Drive cache configured at 128KB
* Norton System Info 3.5 [Part of Norton Utilities](http://macintoshgarden.org/apps/norton-utilities-353)
## RaSCSI - Raspberry Pi 4
## PiSCSI - Raspberry Pi 4
* 1.5GHz ARM Cortex-A72 - Quad core
* 4GB RAM
* Samsung 32GB EVO Plus SD Card
* Raspberry Pi OS - 2020-05-27-raspios-buster-full-armhf
* RaSCSI - akuker version 1.5 - [[https://github.com/akuker/RASCSI-68kmlaver/tree/dual_connector]]
* PiSCSI - piscsi version 1.5 - [[https://github.com/akuker/RASCSI-68kmlaver/tree/dual_connector]]
## RaSCSI - Raspbery Pi 2
## PiSCSI - Raspbery Pi 2
* 900MHz ARM Cortex 7 - Quad core
* 1GB RAM
* Samsung 32GB EVO Plus SD Card
* Raspberry Pi OS - 2020-05-27-raspios-buster-full-armhf
* RaSCSI - akuker version 1.5 - [[https://github.com/akuker/RASCSI-68kmlaver/tree/dual_connector]]
* PiSCSI - piscsi version 1.5 - [[https://github.com/piscsi/RASCSI-68kmlaver/tree/dual_connector]]
## RaSCSI - Raspberry Pi Zero
## PiSCSI - Raspberry Pi Zero
* 1GHz ARM11 - Single core
* 512MB RAM
* Samsung 32GB EVO Plus SD Card
* Raspberry Pi OS - 2020-05-27-raspios-buster-full-armhf
* RaSCSI - akuker version 1.5 - [[https://github.com/akuker/RASCSI-68kmlaver/tree/dual_connector]]
* PiSCSI - piscsi version 1.5 - [[https://github.com/piscsi/RASCSI-68kmlaver/tree/dual_connector]]
## SCSI2SD
* Version v5.0a - [[http://inertial.biz/index.php?title=SCSI2SD]]

@ -1,11 +1,11 @@
= RaSCSI Reloaded Compatibility details =
= PiSCSI Reloaded Compatibility details =
Below you will find information around the various compatibility aspects of the RaSCSI hardware and software. As the project is under active development, this page will get frequent updates. As much as the page lists systems that work with RaSCSI, configurations listed do not indicate an guarantee on the setup, just that someone just like you has tested and verified it works for them.
Below you will find information around the various compatibility aspects of the PiSCSI hardware and software. As the project is under active development, this page will get frequent updates. As much as the page lists systems that work with PiSCSI, configurations listed do not indicate an guarantee on the setup, just that someone just like you has tested and verified it works for them.
__TOC__
= Raspberry Pi compatibility =
RaSCSI has been tested with several Raspberry Pi models.
PiSCSI has been tested with several Raspberry Pi models.
{| class="wikitable"
! scope="col"| Raspberry Pi model
@ -38,17 +38,17 @@ RaSCSI has been tested with several Raspberry Pi models.
Any Raspberry Pi with a 40-pin connector should work fine. For the best performance, use a Raspberry Pi 4 with a fast SD card. Please be mindful of cooling your RPi, as the CPU clock may fluctuate due to the influence of heat, leading to unreliable operation. It is also recommended to run your RPi system without a desktop environment, e.g. the ''Lite'' version of Raspberry Pi OS.
The RaSCSI software does not have any special software requirements beyond a Linux OS with root access. It should run on most standard Linux distributions, but testing is performed against [https://www.raspberrypi.org/downloads/raspberry-pi-os/ Raspberry Pi OS] (formerly called Raspbian).
The PiSCSI software does not have any special software requirements beyond a Linux OS with root access. It should run on most standard Linux distributions, but testing is performed against [https://www.raspberrypi.org/downloads/raspberry-pi-os/ Raspberry Pi OS] (formerly called Raspbian).
'''Note:''' RaSCSI is primarily used on 32-bit operating systems, but it has been proven to work with 64-bit too.
'''Note:''' PiSCSI is primarily used on 32-bit operating systems, but it has been proven to work with 64-bit too.
= System compatibility =
This table contains the various systems RaSCSI has been tested with, and the test results. It also includes if the system was bootable from the RaSCSI presented SCSI disk.
This table contains the various systems PiSCSI has been tested with, and the test results. It also includes if the system was bootable from the PiSCSI presented SCSI disk.
{| class="wikitable"
! scope="col"| System
! scope="col"| Tested and working?
! scope="col"| Bootable from RaSCSI?
! scope="col"| Bootable from PiSCSI?
! scope="col"| Software version
|-
|Acorn RISC PC w/ Eesox Fast SCSI II (RISC OS 3.70/4.39)
@ -77,7 +77,7 @@ This table contains the various systems RaSCSI has been tested with, and the tes
|22.05.01
|-
|Apple Macintosh Plus
|✅ (Use [https://github.com/akuker/RASCSI/wiki/Drive-Setup#Initializing_a_new_disk_on_Classic_Mac_OS Silverlining drivers])
|✅ (Use [https://github.com/piscsi/PiSCSI/wiki/Drive-Setup#Initializing_a_new_disk_on_Classic_Mac_OS Silverlining drivers])
|✅
|22.07.02
|-
@ -278,7 +278,7 @@ This table contains the various systems RaSCSI has been tested with, and the tes
|-
|Sun SPARCstation IPC & IPX
|✅
|✅ ([https://github.com/akuker/RASCSI/issues/618#issuecomment-1017618751 workaround] for CD-ROMs)
|✅ ([https://github.com/piscsi/PiSCSI/issues/618#issuecomment-1017618751 workaround] for CD-ROMs)
|21.12.1
|-
|Sun SPARCStation 5/10
@ -312,30 +312,30 @@ This table contains the various systems RaSCSI has been tested with, and the tes
If you're looking to add a new system to the System compatibility list, please perform the following tests. The following items are considered the bare minimum of functionality, and should work on other systems with your same configuration.
'''Note:''' If you are testing RaSCSI on a digital sampler, please update the [[RaSCSI for Hardware Samplers#compatibility|Sampler Compatibility]] section instead.
'''Note:''' If you are testing PiSCSI on a digital sampler, please update the [[PiSCSI for Hardware Samplers#compatibility|Sampler Compatibility]] section instead.
== Tested and Working ==
To be considered '''Tested and working''', please test and confirm the following functions work, and are working consistently.
The following steps require attaching a Hard Drive image with RaSCSI and presenting it on a SCSI ID.
The following steps require attaching a Hard Drive image with PiSCSI and presenting it on a SCSI ID.
'''1.''' With a Hard Drive image mounted in RaSCSI, can your system (computer, sampler, etc) see the SCSI ID presented from RaSCSI?
'''1.''' With a Hard Drive image mounted in PiSCSI, can your system (computer, sampler, etc) see the SCSI ID presented from PiSCSI?
'''2.''' Are you able to mount the RaSCSI presented SCSI disk in the operating system on your system?
'''2.''' Are you able to mount the PiSCSI presented SCSI disk in the operating system on your system?
'''3.''' Are you able to format the RaSCSI presented SCSI disk?
'''3.''' Are you able to format the PiSCSI presented SCSI disk?
'''4.''' Are you able to successfully read files from the RaSCSI presented SCSI disk?
'''4.''' Are you able to successfully read files from the PiSCSI presented SCSI disk?
'''5.''' Are you able to successfully write files from the RaSCSI presented SCSI disk?
'''5.''' Are you able to successfully write files from the PiSCSI presented SCSI disk?
== Bootable from RaSCSI ==
== Bootable from PiSCSI ==
To be considered '''Bootable from RaSCSI''', please test and confirm the following functions work, and are working consistently.
To be considered '''Bootable from PiSCSI''', please test and confirm the following functions work, and are working consistently.
'''1.''' If possible, confirm that your system will boot its main operating system from the RaSCSI. This may not be possible as not all configurations have the ability to boot from a SCSI device.
'''1.''' If possible, confirm that your system will boot its main operating system from the PiSCSI. This may not be possible as not all configurations have the ability to boot from a SCSI device.
= See Also =
* [[RaSCSI for Hardware Samplers#compatibility|Sampler Compatibility]]
* [[PiSCSI for Hardware Samplers#compatibility|Sampler Compatibility]]
* [https://github.com/rdmark/RASCSI-X68k/wiki#Compatibility Japanese Home Computer Compatibility] (RaSCSI-X68k)

@ -1,59 +1,59 @@
= Connecting your RaSCSI board to a computer =
= Connecting your PiSCSI board to a computer =
This document discusses status indicators, termination, and connecting the RaSCSI board to a computer. The following examples will focus on older Macintosh computers, but the RaSCSI is not Mac specific. At it's heart, the RaSCSI software can talk with SCSI controllers on any SCSI bus. You could connect it to Sun workstations, Amiga computers, audio samplers, keyboards, servers, or any number of other devices. We can't test and document every system, but don't let that stop you from experimenting on your own.
This document discusses status indicators, termination, and connecting the PiSCSI board to a computer. The following examples will focus on older Macintosh computers, but the PiSCSI is not Mac specific. At it's heart, the PiSCSI software can talk with SCSI controllers on any SCSI bus. You could connect it to Sun workstations, Amiga computers, audio samplers, keyboards, servers, or any number of other devices. We can't test and document every system, but don't let that stop you from experimenting on your own.
__TOC__
= What are all these green lights? =
The RaSCSI is outfitted with four green LEDs. They are used as diagnostic tools, with one doubling as an activity indicator.
The PiSCSI is outfitted with four green LEDs. They are used as diagnostic tools, with one doubling as an activity indicator.
Depending which model of board, the status LEDs will be in different locations. Regardless of their location, they are used to monitor the following.
* 3.3 volt power
* 5 volt power
* ENB/DBG - monitoring if the RaSCSI software is running. On version 2.1 and newer boards are labelled ENB, and older boards label this as DBG.
* ACT - flashes when images presented via RaSCSI are being accessed on the SCSI bus
* ENB/DBG - monitoring if the PiSCSI software is running. On version 2.1 and newer boards are labelled ENB, and older boards label this as DBG.
* ACT - flashes when images presented via PiSCSI are being accessed on the SCSI bus
The '''3v''' and '''5v''' LEDs should be lit at all times when the RaSCSI is connected to the Raspberry Pi, and the Pi powered up,
The '''3v''' and '''5v''' LEDs should be lit at all times when the PiSCSI is connected to the Raspberry Pi, and the Pi powered up,
The '''ENB/DNG''' LED will only illuminate when the RaSCSI daemon is running. During the initial setup, this LED will not illuminate until the RaSCSI software is installed and running.
The '''ENB/DNG''' LED will only illuminate when the PiSCSI daemon is running. During the initial setup, this LED will not illuminate until the PiSCSI software is installed and running.
The '''ACT''' LED flashes only when images presented via RaSCSI are being accessed, and will otherwise stay dark.
The '''ACT''' LED flashes only when images presented via PiSCSI are being accessed, and will otherwise stay dark.
= Understanding the SCSI bus =
No need to re-write what many other sites have already covered. [https://computer.howstuffworks.com/scsi.htm This howstuffworks article] gives a good breakdown of the SCSI bus, controllers, connectors and other useful information.
The RaSCSI software and hardware work together to emulate one or more SCSI devices and present them to the SCSI bus. The upside to using software for this emulation is the ability to present multiple devices on the SCSI bus from a single piece of hardware. Where SCSI devices typically present a single SCSI ID, RaSCSI can present multiple. Examples of this are covered under [[Drive Setup]].
The PiSCSI software and hardware work together to emulate one or more SCSI devices and present them to the SCSI bus. The upside to using software for this emulation is the ability to present multiple devices on the SCSI bus from a single piece of hardware. Where SCSI devices typically present a single SCSI ID, PiSCSI can present multiple. Examples of this are covered under [[Drive Setup]].
= Termination =
If you haven't already, take a quick read through the [https://computer.howstuffworks.com/scsi.htm This howstuffworks] article, making sure to cover the section on [https://computer.howstuffworks.com/scsi.htm#pt4 Termination].
The SCSI terminators on the RaSCSI board can be turned on or off. Depending on the version of your RaSCSI board, this is handled by jumpers or switches.
The SCSI terminators on the PiSCSI board can be turned on or off. Depending on the version of your PiSCSI board, this is handled by jumpers or switches.
On a version 2.1 or newer boards, you enable termination by moving '''both''' switches 1 and 2 the two ON position. To disable termination, move '''both''' switches 1 and 2 away from the ON position. The switch is also labelled '''Term Enable''' on the silkscreen.
On a version 1.6 or older boards, you enable termination by putting jumpers on '''JP1''' and '''JP2'''. To disable termination, remove jumpers from '''both''' '''JP1''' and '''JP2'''. They are also marked with '''Terminator Enable''' on the silkscreen.
If your RaSCSI board is the final device on the SCSI chain, you enable termination. If your RaSCSI board is plugged into the middle of a SCSI chain, disable termination.
If your PiSCSI board is the final device on the SCSI chain, you enable termination. If your PiSCSI board is plugged into the middle of a SCSI chain, disable termination.
= Using different connectors =
These RaSCSI boards provide both a DB-25 interface for external SCSI connections, and a 50 pin interface for internal SCSI connections. You could easily mount the RaSCSI attached to your Raspberry Pi inside the computer, and connect the 50 pin SCSI interface to the internal cabling on your computer.
These PiSCSI boards provide both a DB-25 interface for external SCSI connections, and a 50 pin interface for internal SCSI connections. You could easily mount the PiSCSI attached to your Raspberry Pi inside the computer, and connect the 50 pin SCSI interface to the internal cabling on your computer.
As this project was aimed at older Apple Macintosh computers, and those computers use a DB-25 interface for SCSI connections, the PCB design uses a DB-25 connector. However, not all systems use DB-25 connectors for their SCSI interface. Apple PowerBook laptops of the same era use an HDI-30 connector for which there are adapters available online. You could also purchase adapters to use the RaSCSI with Centronics 50pin or 68 pin SCSI connectors. Using adapters in this manner is untested, but should work.
As this project was aimed at older Apple Macintosh computers, and those computers use a DB-25 interface for SCSI connections, the PCB design uses a DB-25 connector. However, not all systems use DB-25 connectors for their SCSI interface. Apple PowerBook laptops of the same era use an HDI-30 connector for which there are adapters available online. You could also purchase adapters to use the PiSCSI with Centronics 50pin or 68 pin SCSI connectors. Using adapters in this manner is untested, but should work.
= Just plug it in? =
With the RaSCSI attached to your Raspberry Pi, and the Mac computer turned off, connect the RaSCSI board to your Mac. This may require a short cable to attach the two. Many people are using 3' (90cm) or 6' (180cm) DB-25 Male to Male cables for this connection. Visit your favourite electronics retailer for this if you don't have one already.
With the PiSCSI attached to your Raspberry Pi, and the Mac computer turned off, connect the PiSCSI board to your Mac. This may require a short cable to attach the two. Many people are using 3' (90cm) or 6' (180cm) DB-25 Male to Male cables for this connection. Visit your favourite electronics retailer for this if you don't have one already.
Once connected, you can power up the Macintosh.
= Accessories you can use =
== External SCSI Cables ==
The most common approach in connecting your RaSCSI to a Macintosh will be with a Male to Male DB25 SCSI cable. Make sure that any cable you buy is marked as SCSI (not Parallel) or IEEE-1284 compliant. These cables connect to the DB25 port on the RaSCSI board, and to the back of most Macs manufactured prior to 1998. Using these cables are ideal if you want to use the RaSCSI as an external drive. A cheap option are these [https://www.amazon.com/Monoprice-3-Feet-Molded-Cable-101582/dp/B002HWNS58/ Monoprice cables]. Again, just ensure you have the correct cable before attempting to use them. If you want to use the RaSCSI with a PowerBook that has a HDI30 port, you will need a DB25 to HDI30 adapter, [https://www.monoprice.com/product?p_id=552 like this one].
The most common approach in connecting your PiSCSI to a Macintosh will be with a Male to Male DB25 SCSI cable. Make sure that any cable you buy is marked as SCSI (not Parallel) or IEEE-1284 compliant. These cables connect to the DB25 port on the PiSCSI board, and to the back of most Macs manufactured prior to 1998. Using these cables are ideal if you want to use the PiSCSI as an external drive. A cheap option are these [https://www.amazon.com/Monoprice-3-Feet-Molded-Cable-101582/dp/B002HWNS58/ Monoprice cables]. Again, just ensure you have the correct cable before attempting to use them. If you want to use the PiSCSI with a PowerBook that has a HDI30 port, you will need a DB25 to HDI30 adapter, [https://www.monoprice.com/product?p_id=552 like this one].
Some additional options that have been tested are:
@ -61,10 +61,10 @@ Some additional options that have been tested are:
* [https://www.ebay.com/itm/292770514237 Cablesonline.net]
== Internal SCSI Cables ==
The internal ribbon cables required for connecting your RaSCSI to the internal connector are typically included in any Macintosh that supports this option. However, if not included you need cables [https://www.amazon.com/PC-Accessories-Connectors-Inches-Internal/dp/B01EHB2YVK/ such as these].
The internal ribbon cables required for connecting your PiSCSI to the internal connector are typically included in any Macintosh that supports this option. However, if not included you need cables [https://www.amazon.com/PC-Accessories-Connectors-Inches-Internal/dp/B01EHB2YVK/ such as these].
== Powering the RaSCSI Internally ==
If you decide to mount your RaSCSI inside your Macintosh, you will need a way to power it. Luckily, Molex to USB cables exist and will do the trick. The cable tested for this wiki article is [https://www.amazon.com/CRJ-4-Pin-Female-Sleeved-Adapter/dp/B07FK7TJG1/ available here]. The Macintosh's power supply has enough juice to power both the Raspberry Pi and RaSCSI with just one cable.
== Powering the PiSCSI Internally ==
If you decide to mount your PiSCSI inside your Macintosh, you will need a way to power it. Luckily, Molex to USB cables exist and will do the trick. The cable tested for this wiki article is [https://www.amazon.com/CRJ-4-Pin-Female-Sleeved-Adapter/dp/B07FK7TJG1/ available here]. The Macintosh's power supply has enough juice to power both the Raspberry Pi and PiSCSI with just one cable.
= Everything is connected, what next? =

@ -5,7 +5,7 @@
The current version is made available under [Creative Commons BY-SA](https://creativecommons.org/licenses/by-sa/4.0/legalcode). For additional information, see the end of this document.
Some reference data captures are available here:
https://github.com/akuker/RASCSI/tree/daynaport/doc/data_captures/daynaport
https://github.com/piscsi/PiSCSI/tree/daynaport/doc/data_captures/daynaport
# SCOPE
This document applies to the following hardware devices:
@ -287,4 +287,4 @@ The original revision history of this document follows:
- Version 1.10 (22/April/2005) Added description of 'Set Interface Mode/Set MAC Address' command
- Version 1.20 (16/July/2005) Corrected description of 'Set Interface Mode/Set MAC Address' command
The current version history of this document is maintained in the RaSCSI Github Wiki at: https://github.com/akuker/RASCSI/wiki/Dayna-Port-Command-Set
The current version history of this document is maintained in the PiSCSI Github Wiki at: https://github.com/piscsi/piscsi/wiki/Dayna-Port-Command-Set

@ -1,5 +1,5 @@
# DaynaPort SCSI/Link Ethernet
RaSCSI has the ability to emulate a DaynaPort SCSI/Link device. This allows for a host to connect to a local area network through the Raspberry Pi's network connection (either wired or wireless)
PiSCSI has the ability to emulate a DaynaPort SCSI/Link device. This allows for a host to connect to a local area network through the Raspberry Pi's network connection (either wired or wireless)
<table>
<tr>
<td><a href="images/rascsi_daynaport_wired.png"><img src="images/rascsi_daynaport_wired.png" alt="DaynaPort wired diagram" width="200"></a>
@ -14,7 +14,7 @@ Depending upon which use case matches your situation, the Raspberry Pi configura
## Automated Setup
- Download and install latest version of RaSCSI by following the [[setup instructions]].
- Download and install latest version of PiSCSI by following the [[setup instructions]].
- Run the network bridge setup script for wired or wireless:
@ -23,7 +23,7 @@ Depending upon which use case matches your situation, the Raspberry Pi configura
./easyinstall.sh # Select option 6 to configure wired, and 7 to configure wireless bridge
```
- Let the Pi reboot, and attach a DaynaPORT adapter to your RaSCSI as instructed in the script
- Let the Pi reboot, and attach a DaynaPORT adapter to your PiSCSI as instructed in the script
## Manual Setup
If you're *not* using easyinstall.sh to configure the network bridge, you can follow the manual steps below.
@ -40,7 +40,7 @@ In this section, we're going to reconfigure the network so that eth0 is just an
- Copy the bridge configuration to `/etc/network/interfaces.d/`
```sudo cp ~/RASCSI/src/raspberrypi/os_integration/rascsi_bridge /etc/network/interfaces.d/```
```sudo cp ~/PiSCSI/src/raspberrypi/os_integration/rascsi_bridge /etc/network/interfaces.d/```
- Modify the `/etc/dhcpcd.conf` file to add the following line at the bottom
@ -63,12 +63,12 @@ bridge name bridge id STP enabled interfaces
rascsi_bridge 8000.869bacd8de6f no eth0
```
- After you create/attach the daynaport in Rascsi, you should be able to see a "ras0" interface attached to the bridge. Run 'brctl show' on Linux to validate this. (Note the formatting may be garbled on your terminal)
- After you create/attach the daynaport in Rascsi, you should be able to see a "piscsi0" interface attached to the bridge. Run 'brctl show' on Linux to validate this. (Note the formatting may be garbled on your terminal)
```
pi@rascsi:~ $ brctl show
bridge name bridge id STP enabled interfaces
rascsi_bridge 8000.869bacd8de6f no eth0
ras0
piscsi0
```
@ -104,7 +104,7 @@ sudo apt-get install iptables-persistent
Reboot the Pi
Note that unlike the wired configuration above, RaSCSI will stand up the rascsi_bridge interface automatically when you attach the DaynaPORT device, so there is no need to copy over the interface config file to interfaces.d .
Note that unlike the wired configuration above, PiSCSI will stand up the rascsi_bridge interface automatically when you attach the DaynaPORT device, so there is no need to copy over the interface config file to interfaces.d .
On the Mac side, in the TCP/IP or MacTCP control panel choose Manual and input:
* IP address 10.10.20.2
@ -117,35 +117,35 @@ On the Mac side, in the TCP/IP or MacTCP control panel choose Manual and input:
**Note:** AppleTalk/DDP won't work to communicate with other devices on the network with this configuration, but TCP will work fine.
# Attach a DaynaPORT adapter to your RaSCSI configuration
# Attach a DaynaPORT adapter to your PiSCSI configuration
There are four ways to accomplish this:
1. Launch 'rascsi' with parameters on the command line (when not running as a service)
2. Edit the rascsi.service configuration to attach devices on launch (when running as a service)
3. Use 'rasctl' to dynamically attach the device on a running rascsi instance
3. Use 'scsictl' to dynamically attach the device on a running rascsi instance
4. Use the [[web interface]] to attach the device
Note that by default, the DaynaPORT device will launch with parameters 'eth0,wlan0' meaning it will attempt to use eth0 first, and if unavailable then wlan0. Also, note that the default IP address / netmask is 10.10.20.1/24. So for most usecases, if you follow the automated process and use the default values, you don't have to specify any parameters when attaching the DaynaPORT device and it should work out of the box.
Ex. with rascsi / wired / DHCP, RaSCSI *not* running as a service
Ex. with rascsi / wired / DHCP, PiSCSI *not* running as a service
```sudo rascsi -ID 6 -t scdp eth0```
Ex. with rasctl / wired / DHCP, RaSCSI already running
```rasctl -i 6 -c attach -t scdp -f eth0```
Ex. with scsictl / wired / DHCP, PiSCSI already running
```scsictl -i 6 -c attach -t scdp -f eth0```
Ex. with rascsi / wireless / static IP, RaSCSI *not* running as a service
Ex. with rascsi / wireless / static IP, PiSCSI *not* running as a service
```sudo rascsi -ID 6 -t scdp wlan0:10.10.20.1/24```
Ex. with rasctl / wireless / static IP, RaSCSI already running
```rasctl -i 6 -c attach -t scdp -f wlan0:10.10.20.1/24```
Ex. with scsictl / wireless / static IP, PiSCSI already running
```scsictl -i 6 -c attach -t scdp -f wlan0:10.10.20.1/24```
## **(Optional)** Configure RaSCSI to start up with your DaynaPORT configuration
## **(Optional)** Configure PiSCSI to start up with your DaynaPORT configuration
Here you have two options. Either have the RaSCSI Web UI read your *default* configuration file on startup, or hard code the launch parameters in the rascsi.service ExecStart argument. The latter is more permanent, while the former can be managed more easily through the Web UI. Also note that the Web UI configuration will override whatever is defined in rascsi.service.
Here you have two options. Either have the PiSCSI Web UI read your *default* configuration file on startup, or hard code the launch parameters in the rascsi.service ExecStart argument. The latter is more permanent, while the former can be managed more easily through the Web UI. Also note that the Web UI configuration will override whatever is defined in rascsi.service.
- Web UI configuration option:
Once you've attached your DaynaPORT device with just the right parameters, you can save that as a RaSCSI Web UI configuration file. If you name it *default* (~/.config/rascsi/default.json) that configuration will be loaded when the Web UI starts up for ultimate convenience!
Once you've attached your DaynaPORT device with just the right parameters, you can save that as a PiSCSI Web UI configuration file. If you name it *default* (~/.config/rascsi/default.json) that configuration will be loaded when the Web UI starts up for ultimate convenience!
- rascsi.service ExecStart option:
Modify your service startup script to automatically add the DaynaPort at startup. To do this, open `/etc/systemd/system/rascsi.service` with a text editor. Modify the ExecStart line to add the ID and device. For example:
@ -176,7 +176,7 @@ MacTCP is your only option if you want to get your Mac with a 68000 or 68020 CPU
- Download [MacTCP 2.0.6](https://macintoshgarden.org/apps/mactcp-206) and apply the unofficial 2.1 patch, then move it into the Extensions folder (SSW 7.0+) or in the root of the System Folder (SSW 6.0.x or earlier)
- Download and install the [DaynaPort 7.5.3 Drivers](https://macintoshgarden.org/apps/daynaport-drivers)
- Reboot your Macintosh
- Open up the MacTCP control panel and configure it with a static IP address matching the rascsi_bridge configuration on your RaSCSI
- Open up the MacTCP control panel and configure it with a static IP address matching the rascsi_bridge configuration on your PiSCSI
-- Example below for when rascsi_bridge is set to 10.10.20.1, and using Google Public DNS servers
- Reboot your Macintosh again
- Test your network connection with [MacTCP Ping](https://macintoshgarden.org/apps/mactcp-ping) by f.e. pinging a DNS server (8.8.8.8)
@ -223,7 +223,7 @@ After you click Continue, it may take a few seconds for the diagnostics to run.
Another excellent troubleshooting tool it Apple's [OTTool 1.2.1](https://macintoshgarden.org/sites/macintoshgarden.org/files/apps/OTTool_1.2.1.sit). It requires Open Transport 1.3 to be installed, provides detailed information about the network interface, and has several built-in features for domain name resolution, ping, traceroute, etc.
One way to know that your DaynaPort interface is set up correctly locally, is that OTTool shows that the interface has been assigned an IP address. That helps you eliminate other problems such as bridge or NAT configuration on the RaSCSI host.
One way to know that your DaynaPort interface is set up correctly locally, is that OTTool shows that the interface has been assigned an IP address. That helps you eliminate other problems such as bridge or NAT configuration on the PiSCSI host.
# <img src="images/atari.jpg" alt="Atari Logo" height="30"> Atari ST/TT/Falcon Setup Instructions

@ -1,12 +1,12 @@
= Creating and attaching disk images =
This section digs into creating hard drive images, checking SCSI IDs, and presenting images with RaSCSI. This document assumes you have completed the [[Full Size RaSCSI Assembly|full size]] or [[RaSCSI Zero Assembly|Zero]] assembly of your RaSCSI (if needed), have the software covered in the [[Setup Instructions]] page and connected your RaSCSI as described in the [[Connecting the RaSCSI]] instructions. If you're starting here, consider checking those documents before proceeding.
This section digs into creating hard drive images, checking SCSI IDs, and presenting images with PiSCSI. This document assumes you have completed the [[Full Size PiSCSI Assembly|full size]] or [[PiSCSI Zero Assembly|Zero]] assembly of your PiSCSI (if needed), have the software covered in the [[Setup Instructions]] page and connected your PiSCSI as described in the [[Connecting the PiSCSI]] instructions. If you're starting here, consider checking those documents before proceeding.
__TOC__
= Creating and attaching an empty SCSI hard drive image =
Boiled down, RaSCSI simply presents one or more files on the Raspberry PI file system as SCSI Disks. So you will create or already have a file somewhere on your Raspberry Pi, use rasctl to presents it as a disk on the SCSI Bus, then your computer treats it like a hard drive, MO disk, CD Rom, etc. This document talks about creating images, presenting them with RaSCSI on the SCSI Bus, and how to use them on your target computer.
Boiled down, PiSCSI simply presents one or more files on the Raspberry PI file system as SCSI Disks. So you will create or already have a file somewhere on your Raspberry Pi, use scsictl to presents it as a disk on the SCSI Bus, then your computer treats it like a hard drive, MO disk, CD Rom, etc. This document talks about creating images, presenting them with PiSCSI on the SCSI Bus, and how to use them on your target computer.
== Initial setup ==
@ -61,37 +61,37 @@ The image size is specified in bytes.
== Check existing SCSI IDs ==
Once you have the image created, we need to find an unused SCSI ID to attach the image to. Use <code>rasctl -l</code> to list the current SCSI IDs being used by RaSCSI.
Once you have the image created, we need to find an unused SCSI ID to attach the image to. Use <code>scsictl -l</code> to list the current SCSI IDs being used by PiSCSI.
```
rasctl -l
scsictl -l
```
For a new installation, you should see an output similar to the following.
```
pi@raspberrypi:~ $ rasctl -l
pi@raspberrypi:~ $ scsictl -l
No images currently attached.
```
From the output above, we see RaSCSI is using no SCSI IDs. We will use ID 1 to attach our newly created 400MB image.
From the output above, we see PiSCSI is using no SCSI IDs. We will use ID 1 to attach our newly created 400MB image.
'''Note:''' <code>rasctl -l</code> only shows SCSI IDs presented via RaSCSI. It does not report other devices on the SCSI bus. You will want to use a utility or tool on your target computer to find what SCSI IDs are available to use. For example, Macintosh computers reserve SCSI ID 7 the onboard SCSI controller.
'''Note:''' <code>scsictl -l</code> only shows SCSI IDs presented via PiSCSI. It does not report other devices on the SCSI bus. You will want to use a utility or tool on your target computer to find what SCSI IDs are available to use. For example, Macintosh computers reserve SCSI ID 7 the onboard SCSI controller.
== Attach new image to an unused SCSI ID ==
The next two commands will attach the new_drive.hda to SCSI ID 1, then show a list of the currently attached images.
```
rasctl -i 1 -c attach -t hd -f /home/pi/images/new_drive.hda
rasctl -l
scsictl -i 1 -c attach -t hd -f /home/pi/images/new_drive.hda
scsictl -l
```
And once done, you should see something similar to ...
```
pi@raspberrypi:~ $ rasctl -i 1 -c attach -t hd -f /home/pi/images/new_drive.hda
pi@raspberrypi:~ $ rasctl -l
pi@raspberrypi:~ $ scsictl -i 1 -c attach -t hd -f /home/pi/images/new_drive.hda
pi@raspberrypi:~ $ scsictl -l
+----+-----+------+-------------------------------------
| ID | LUN | TYPE | IMAGE FILE
@ -100,9 +100,9 @@ pi@raspberrypi:~ $ rasctl -l
+----+-----+------+-------------------------------------
```
From the <code>rasctl</code> output above, we see <code>new_drive.hda</code> image is now attached to SCSI ID 1.
From the <code>scsictl</code> output above, we see <code>new_drive.hda</code> image is now attached to SCSI ID 1.
With that complete, you can boot up the target computer that has the RaSCSI attached, and initialize or format the new disk.
With that complete, you can boot up the target computer that has the PiSCSI attached, and initialize or format the new disk.
== Initializing a new disk on Classic Mac OS ==
@ -114,7 +114,7 @@ The following images show this process on a Macintosh running Mac OS 8 (I think)
* '''Note 1:''' Apple HD SC Setup and earlier versions of Drive Setup has fine grained whitelisting controlling what drives it will initialize, and how large partitions it will create on those drives. You can spoof the INQUIRY data to pretend to be a particular old drive, but that may give you a very small partition (e.g. 20MB).
* '''Note 2:''' If you have issues initializing the drive, you may try a [https://lowendmac.com/2007/format-any-hard-drive-for-older-macs-with-patched-apple-tools/ patched Apple Drive Setup] or [https://macintoshgarden.org/apps/apple-hd-sc-setup-753-patch HD SC Setup] to bypass hard coded limitations. Or, you may also consider trying a 3rd party tool such as [https://macintoshgarden.org/apps/lido-756 Lido], [https://macintoshgarden.org/apps/scsiprobe SCSI Probe] or [https://macintoshgarden.org/apps/lacie-silverlining-531-more Silverlining]. They can be more forgiving than Apple's Drive Setup.
* '''Note 3:''' At the time of writing, only ''Silverlining'' drivers are confirmed working with the ''Macintosh Plus''. Lido drivers and Apple drivers are known to not be compatible with a RaSCSI emulated drive on the Plus. See [https://github.com/akuker/RASCSI/issues/656 issue#656] for more information.
* '''Note 3:''' At the time of writing, only ''Silverlining'' drivers are confirmed working with the ''Macintosh Plus''. Lido drivers and Apple drivers are known to not be compatible with a PiSCSI emulated drive on the Plus. See [https://github.com/piscsi/PiSCSI/issues/656 issue#656] for more information.
|-
|[[images/initialize_drive2.png]]
@ -127,19 +127,19 @@ The following images show this process on a Macintosh running Mac OS 8 (I think)
'''Note:''' This area is for Mac OS disk setup application notes.
= Understanding and doing more things with RaSCSI =
= Understanding and doing more things with PiSCSI =
The instructions up to this point are great for new users of the RaSCSI software. The following sections dig deeper into things you can do with RaSCSI.
The instructions up to this point are great for new users of the PiSCSI software. The following sections dig deeper into things you can do with PiSCSI.
== Mounting CD / DVD ISO or MO images ==
RaSCSI can mount [https://en.wikipedia.org/wiki/ISO_image CD or DVD ISO] images and MO [https://en.wikipedia.org/wiki/Magneto-optical_drive (Magneto Optical)] images. In most cases, drivers work out of the box with RaSCSI. You may have to use INQUIRY masquerading to get certain drivers to recognize the emulated optical drive.
PiSCSI can mount [https://en.wikipedia.org/wiki/ISO_image CD or DVD ISO] images and MO [https://en.wikipedia.org/wiki/Magneto-optical_drive (Magneto Optical)] images. In most cases, drivers work out of the box with PiSCSI. You may have to use INQUIRY masquerading to get certain drivers to recognize the emulated optical drive.
=== Mac OS Drivers ===
'''Note:''' As of RaSCSI v22.10.01, any Apple CD-ROM and DVD driver for classic Mac OS should work as-is. In previous versions of RaSCSI, they did NOT work with RaSCSI out of the box, which is why patched versions of the Apple drivers are provided below.
'''Note:''' As of PiSCSI v22.10.01, any Apple CD-ROM and DVD driver for classic Mac OS should work as-is. In previous versions of PiSCSI, they did NOT work with PiSCSI out of the box, which is why patched versions of the Apple drivers are provided below.
Macintosh CD-ROM drivers that have been verified working with RaSCSI:
Macintosh CD-ROM drivers that have been verified working with PiSCSI:
* [https://macintoshgarden.org/apps/apple-cd-rom-extension-patched Apple CD/DVD Driver 1.2.2] patched (recommended for Mac OS 8.6)
* [https://macintoshgarden.org/apps/apple-cd-rom-extension-patched Apple CD-ROM 5.4.2] patched
@ -148,17 +148,17 @@ Macintosh CD-ROM drivers that have been verified working with RaSCSI:
* [https://macintoshgarden.org/apps/cd-sunrise-v22b CD-Sunrise 2.2c]
* [https://macintoshgarden.org/apps/rapidcd RapidCD 1.0.4] (recommended for the highest CD-ROM image compatibility, but consumes a lot of memory)
== What else can RaSCSI do? ==
== What else can PiSCSI do? ==
Seriously, who named this section ? :)
As the RaSCSI software was originally written for use with the Sharp X68000 computer, it supports a few image formats. The following shows the output from rascsi --help. The list of supported image types is at the bottom.
As the PiSCSI software was originally written for use with the Sharp X68000 computer, it supports a few image formats. The following shows the output from rascsi --help. The list of supported image types is at the bottom.
```
$ rascsi --help
SCSI Target Emulator RaSCSI Reloaded version 22.11 --DEVELOPMENT BUILD-- (Oct 23 2022 21:39:11)
SCSI Target Emulator PiSCSI Reloaded version 22.11 --DEVELOPMENT BUILD-- (Oct 23 2022 21:39:11)
Powered by XM6 TypeG Technology / Copyright (C) 2016-2020 GIMONS
Copyright (C) 2020-2022 Contributors to the RaSCSI Reloaded project
Copyright (C) 2020-2022 Contributors to the PiSCSI Reloaded project
Connect type: FULLSPEC
Usage: rascsi [-idn[:m] FILE] ...
@ -179,14 +179,14 @@ Usage: rascsi [-idn[:m] FILE] ...
iso : SCSI CD image (ISO 9660 image)
```
== How to detach an image with rasctl ==
== How to detach an image with scsictl ==
In this section we will review the images currently attached to RaSCSI, and detach one or two.
In this section we will review the images currently attached to PiSCSI, and detach one or two.
'''1.''' use <code>rasctl -l</code> to get a listing of currently attached images.
'''1.''' use <code>scsictl -l</code> to get a listing of currently attached images.
```
pi@raspberrypi:~ $ rasctl -l
pi@raspberrypi:~ $ scsictl -l
+----+-----+------+-------------------------------------
| ID | LUN | TYPE | DEVICE STATUS
@ -200,18 +200,18 @@ pi@raspberrypi:~ $ rasctl -l
+----+-----+------+-------------------------------------
```
'''2.''' We want to detach <code>/home/pi/images/small_drive.hda</code>, which is on SCSI ID6. Use the following commands will detach new_drive.hda, then run <code>rasctl -l</code> again to show the still mounted images.
'''2.''' We want to detach <code>/home/pi/images/small_drive.hda</code>, which is on SCSI ID6. Use the following commands will detach new_drive.hda, then run <code>scsictl -l</code> again to show the still mounted images.
```
rasctl -i 6 -c detach
rasctl -l
scsictl -i 6 -c detach
scsictl -l
```
And the output should look like this..
```
pi@raspberrypi:~ $ rasctl -i 6 -c detach
pi@raspberrypi:~ $ rasctl -l
pi@raspberrypi:~ $ scsictl -i 6 -c detach
pi@raspberrypi:~ $ scsictl -l
+----+----+------+-------------------------------------
| ID | UN | TYPE | DEVICE STATUS
@ -224,15 +224,15 @@ pi@raspberrypi:~ $ rasctl -l
+----+----+------+-------------------------------------
```
== Presenting SCSI disks when the RaSCSI service starts ==
== Presenting SCSI disks when the PiSCSI service starts ==
At this point we can start the RaSCSI service and attach images to it. There are two methods to have RaSCSI automatically present disks on the SCSI bus when the service starts up.
At this point we can start the PiSCSI service and attach images to it. There are two methods to have PiSCSI automatically present disks on the SCSI bus when the service starts up.
=== Web Interface method ===
The first approach requires the RaSCSI [[Web Interface]] to be installed. Launch the Web Interface and attach the devices that you want as your default configuration. Then click the 'Save' button under the ''Current RaSCSI Configuration'' heading. This will save a configuration file called '''default.json''' into the RaSCSI config directory (~/.config/rascsi). The next time the Web Interface starts up, it will read this configuration file and attach the devices.
The first approach requires the PiSCSI [[Web Interface]] to be installed. Launch the Web Interface and attach the devices that you want as your default configuration. Then click the 'Save' button under the ''Current PiSCSI Configuration'' heading. This will save a configuration file called '''default.json''' into the PiSCSI config directory (~/.config/rascsi). The next time the Web Interface starts up, it will read this configuration file and attach the devices.
=== RaSCSI Service method ===
The second approach involves modifying the RaSCSI service configuration, and is recommended only for advanced users, or those who prefer to not run the Web Interface.
=== PiSCSI Service method ===
The second approach involves modifying the PiSCSI service configuration, and is recommended only for advanced users, or those who prefer to not run the Web Interface.
The configuration for the rascsi service lives in <code>/etc/systemd/system/rascsi.service</code>. We will edit this file and update ExecStart.
@ -272,7 +272,7 @@ sudo vi /etc/systemd/system/rascsi.service
ExecStart=/usr/local/bin/rascsi -ID1 /home/pi/images/400MB-system-disk.hda -ID2 /home/pi/images/this-house-is-a-prison.hda -ID5 /home/pi/images/simcity.iso
```
'''Note:''' There is a current bug when providing multiple IDs - see this issue for more info https://github.com/akuker/RASCSI/issues/101
'''Note:''' There is a current bug when providing multiple IDs - see this issue for more info https://github.com/piscsi/PiSCSI/issues/101
'''5.''' Save the file and exit the editor.
@ -285,7 +285,7 @@ ExecStart=/usr/local/bin/rascsi -ID1 /home/pi/images/400MB-system-disk.hda -ID2
```
sudo systemctl daemon-reload
sudo systemctl restart rascsi.service
rasctl -l
scsictl -l
```
If everything worked, you should see the following
@ -293,7 +293,7 @@ If everything worked, you should see the following
```
pi@raspberrypi:~ $ sudo systemctl daemon-reload
pi@raspberrypi:~ $ sudo systemctl restart rascsi.service
pi@raspberrypi:~ $ rasctl -l
pi@raspberrypi:~ $ scsictl -l
+----+----+------+-------------------------------------
| ID | UN | TYPE | DEVICE STATUS
@ -306,13 +306,13 @@ pi@raspberrypi:~ $ rasctl -l
= I have the hardware and software, what next? =
If you've made it this far, you're awesome!! The next part is how to make mounting/unmounting images easier. A web interface for RaSCSI has been developed to help in this area. Proceed to the [[Web Interface]] page. There we will learn about setting up the RaSCSI management web page, and how to use it.
If you've made it this far, you're awesome!! The next part is how to make mounting/unmounting images easier. A web interface for PiSCSI has been developed to help in this area. Proceed to the [[Web Interface]] page. There we will learn about setting up the PiSCSI management web page, and how to use it.
= Mounting images on your Raspberry Pi locally (advanced) =
In the following steps, we will take a hard drive image that has already been formatted by a Macintosh computer, and mount it on your Raspberry Pi. The example assumes the disk was formatted with the HFS file system on Mac OS 7 or similar.
'''Note!''' Make sure the image you're about to mount is NOT attached with RaSCSI. You may be able to mount a currently attached disk image, but chances are high the file system will be damaged, leading to data loss. Use the <code>rasctl</code> commands covered earlier to confirm the image is not attached.
'''Note!''' Make sure the image you're about to mount is NOT attached with PiSCSI. You may be able to mount a currently attached disk image, but chances are high the file system will be damaged, leading to data loss. Use the <code>scsictl</code> commands covered earlier to confirm the image is not attached.
'''1.''' Install the <code>hfsprogs</code> package on your Raspberry Pi. This package contains the modules required to mount HFS formatted disks (and images). Run the following command to install the <code>hfsprogs</code> package.
@ -367,10 +367,10 @@ pi@raspberrypi:~ $ lsmod | grep hfs
hfs 65536 0
```
'''3.''' Create a directory to mount the hard disk image to. This can be any directory. We are using /mnt/RaSCSI in this example.
'''3.''' Create a directory to mount the hard disk image to. This can be any directory. We are using /mnt/PiSCSI in this example.
```
sudo mkdir /mnt/RaSCSI
sudo mkdir /mnt/PiSCSI
```
'''Note:''' sudo is being used with the above command as <code>/mnt</code> is not writeable by the pi user. You are welcome to create a target directory somewhere the Pi user already has permissions, and would not need to prepend sudo to mkdir
@ -396,18 +396,18 @@ drwxr-xr-x 7 pi pi 4096 Sep 11 00:45 ..
'''5.''' Mount the image. The following command will use a loop device to mount the image. Using a loop device allows the kernel to treat the image like a typical block device (hard drive, usb storage, optical drive, etc). You can find more information on loop devices at [https://en.wikipedia.org/wiki/Loop_device this Wikipedia article].
```
sudo mount -o loop /home/pi/images/small_drive.hda /mnt/RaSCSI
mount | grep RaSCSI
ls -la /mnt/RaSCSI
sudo mount -o loop /home/pi/images/small_drive.hda /mnt/PiSCSI
mount | grep PiSCSI
ls -la /mnt/PiSCSI
```
If the mount was successful, you will see the mount information, and get a directory listing of the contents from your hard disk image.
```
pi@raspberrypi:~ $ sudo mount -o loop /home/pi/images/small_drive.hda /mnt/RaSCSI
pi@raspberrypi:~ $ mount | grep RaSCSI
/home/pi/images/small_drive.hda on /mnt/RaSCSI type hfs (rw,relatime,uid=0,gid=0)
pi@raspberrypi:~ $ ls -la /mnt/RaSCSI
pi@raspberrypi:~ $ sudo mount -o loop /home/pi/images/small_drive.hda /mnt/PiSCSI
pi@raspberrypi:~ $ mount | grep PiSCSI
/home/pi/images/small_drive.hda on /mnt/PiSCSI type hfs (rw,relatime,uid=0,gid=0)
pi@raspberrypi:~ $ ls -la /mnt/PiSCSI
total 130
drwxr-xr-x 1 root root 10 Sep 10 23:43 .
drwxr-xr-x 3 root root 4096 Sep 11 01:00 ..
@ -426,15 +426,15 @@ drwxr-xr-x 1 root root 5 Jul 18 2010 'StuffIt Expander'$'\252'' 4.0.2'
'''7.''' Once you are done working on the mounted image, use the following command to unmount the hard disk image.
```
sudo umount /mnt/RaSCSI
mount | grep RaSCSI
sudo umount /mnt/PiSCSI
mount | grep PiSCSI
```
The above will umount the HFS disk image, and show the output from <code>mount</code>, confirming the image is no longer mounted.
```
pi@raspberrypi:~ $ sudo umount /mnt/RaSCSI
pi@raspberrypi:~ $ mount | grep RaSCSI
pi@raspberrypi:~ $ sudo umount /mnt/PiSCSI
pi@raspberrypi:~ $ mount | grep PiSCSI
```
'''8.''' From here you could use rasctl to re-attach the image and present it on the SCSI bus.
'''8.''' From here you could use scsictl to re-attach the image and present it on the SCSI bus.

@ -1,9 +1,9 @@
Frequently Asked Questions about RaSCSI.
Frequently Asked Questions about PiSCSI.
= My RaSCSI is running very hot is this normal? =
= My PiSCSI is running very hot is this normal? =
The four SN74LS641-1 transceiver ICs that drive the SCSI bus on the RaSCSI are known to run hot. These chips are [rated for 70°C](https://68kmla.org/bb/index.php?threads/rascsi-development-thread.6868/page-25#post-426873) so as long as they are kept below this temperature they should be fine. Some users have [attached heatsinks](https://github.com/akuker/RASCSI/issues/484#issuecomment-980522338) to their RaSCSIs as a precaution, but this is not mandatory.
The four SN74LS641-1 transceiver ICs that drive the SCSI bus on the PiSCSI are known to run hot. These chips are [rated for 70°C](https://68kmla.org/bb/index.php?threads/rascsi-development-thread.6868/page-25#post-426873) so as long as they are kept below this temperature they should be fine. Some users have [attached heatsinks](https://github.com/piscsi/PiSCSI/issues/484#issuecomment-980522338) to their PiSCSIs as a precaution, but this is not mandatory.
= What is 68kmla? =
[https://68kmla.org/forums/ 68kmla] is the “68k Mac Liberation Army”. Its a group of vintage Mac (and Apple) enthusiasts who talk about nerdy stuff on the forum. This development started as [https://68kmla.org/bb/index.php?threads/rascsi-development-thread.6868/ part of a forum thread]. This RaSCSI project has grown far beyond the original 68k MLA community though.
[https://68kmla.org/forums/ 68kmla] is the “68k Mac Liberation Army”. Its a group of vintage Mac (and Apple) enthusiasts who talk about nerdy stuff on the forum. This development started as [https://68kmla.org/bb/index.php?threads/rascsi-development-thread.6868/ part of a forum thread]. This PiSCSI project has grown far beyond the original 68k MLA community though.

@ -1,12 +1,12 @@
= Congratulations on your purchase! =
If you are reading this page, it is most likely because you have purchased the PiSCSI kit (full sized version). Alternatively, you've ordered the PCBs and procured the parts to build the RaSCSI pHAT for your Raspberry Pi. Either way, the following instructions are provided on how to assemble your new RaSCSI Reloaded board.
If you are reading this page, it is most likely because you have purchased the PiSCSI kit (full sized version). Alternatively, you've ordered the PCBs and procured the parts to build the PiSCSI pHAT for your Raspberry Pi. Either way, the following instructions are provided on how to assemble your new PiSCSI Reloaded board.
Note that PiSCSI was originally called "RaSCSI Reloaded". There are no differences in the hardware between "RaSCSI Reloaded" and PiSCSI!.
Note that PiSCSI was originally called "RaSCSI Reloaded". There are no differences in the hardware between "PiSCSI Reloaded" and PiSCSI!.
If you have the RaSCSI Zero version, see the assembly instructions [https://github.com/akuker/RASCSI/wiki/RaSCSI-Zero-Assembly here]
If you have the PiSCSI Zero version, see the assembly instructions [https://github.com/piscsi/PiSCSI/wiki/PiSCSI-Zero-Assembly here]
If you have not yet purchased one, you can pick up your very own RaSCSI Reloaded board on [https://www.tindie.com/products/landogriffin/rascsi-macintosh-version/ Tindie].
If you have not yet purchased one, you can pick up your very own PiSCSI Reloaded board on [https://www.tindie.com/products/landogriffin/rascsi-macintosh-version/ Tindie].
__TOC__
@ -98,7 +98,7 @@ extra long pins
Mounting holes have been placed in the PiSCSI board to attach it securely to any of the supported Raspberry Pi models. M2.5 standoffs can be purchased to affix your PiSCSI to the Raspberry Pi from [https://www.amazon.com/HVAZI-320pcs-Standoffs-assortment-Male-Female/dp/B06XKWDSPT/ Amazon]
=== OLED Screen ===
A header is included for mounting an optional OLED screen to the PiSCSI board. The recommended OLED screen is [https://github.com/akuker/RASCSI/wiki/OLED-Status-Display-(Optional)#Overview MakerFocus SSD1306]. Other models may be compatible, but this version has been tested with the python script included in the [https://github.com/akuker/RASCSI/tree/master/src/oled_monitor RaSCSI github repo].
A header is included for mounting an optional OLED screen to the PiSCSI board. The recommended OLED screen is [https://github.com/piscsi/piscsi/wiki/OLED-Status-Display-(Optional)#Overview MakerFocus SSD1306]. Other models may be compatible, but this version has been tested with the python script included in the [https://github.com/piscsi/piscsi/tree/master/src/oled_monitor PiSCSI github repo].
= Orientation options =
@ -138,7 +138,7 @@ board. This image shows some important connection points
on the PiSCSI board.
</PRE>
|[[images/assembly/RaSCSI_Options.png]]
|[[images/assembly/PiSCSI_Options.png]]
|}
@ -245,7 +245,7 @@ to remove the extra solder.
|-
|}
With the first transceiver attached, do it three more times. But please ''please'' '''''please''''' heed the notice at the [https://github.com/akuker/RASCSI/wiki/Assembly#Install_Transceivers top of this section].
With the first transceiver attached, do it three more times. But please ''please'' '''''please''''' heed the notice at the [https://github.com/piscsi/piscsi/wiki/Assembly#Install_Transceivers top of this section].
== Install Terminator Power Switch ==
@ -275,9 +275,9 @@ The board should look similar to this.
== Correction for issue # 672 ==
There is a potential issue with the PiSCSI (aka RaSCSI reloaded) board versions 2.4 and 2.5 when it is assembled with the DB-25 connector. If you are installing the DB-25 connector on your board, it is highly recommended that you make a small "cut" on your board. Over time, it appears that the DB-25 shield will wear through the solder mask and may come into contact with the 5v signal right below it. This essentially shorts 5v to Ground. Making this small cut will prevent this from happening.
There is a potential issue with the PiSCSI (aka PiSCSI reloaded) board versions 2.4 and 2.5 when it is assembled with the DB-25 connector. If you are installing the DB-25 connector on your board, it is highly recommended that you make a small "cut" on your board. Over time, it appears that the DB-25 shield will wear through the solder mask and may come into contact with the 5v signal right below it. This essentially shorts 5v to Ground. Making this small cut will prevent this from happening.
https://github.com/akuker/RASCSI/issues/672
https://github.com/piscsi/piscsi/issues/672
{|

@ -1,53 +1,53 @@
= Full Sized Versions =
The table below shows the known versions of the RaSCSI hardware, and whether it has been tested with the Reloaded version of the RaSCSI software.
The table below shows the known versions of the PiSCSI hardware, and whether it has been tested with the Reloaded version of the PiSCSI software.
[[images/assembly/IMG_9516.jpg | width=200px]]
{| class="wikitable"
! scope="col"| RaSCSI Hw Version
! scope="col"| PiSCSI Hw Version
! scope="col"| Connection Type
! scope="col"| Tested and working?
! scope="col"| Schematic
! scope="col"| Gerbers
! scope="col"| Comments
|-
|[https://github.com/akuker/RASCSI/tree/master/hw/rascsi_2p1 akuker 2.2]
|[https://github.com/piscsi/piscsi/tree/master/hw/rascsi_2p1 akuker 2.2]
|FULLSPEC<br>(Initiator or Target)
|YES
|[https://github.com/akuker/RASCSI/wiki/sch/rascsi_2p2_sch.pdf PDF]<br>
[https://github.com/akuker/RASCSI/blob/master/hw/rascsi_2p2/rascsi_2p2.sch KiCad]
|[https://github.com/akuker/RASCSI/blob/master/hw/rascsi_2p2/gerbers/rascsi_2p2.zip Gerbers]
|[https://github.com/piscsi/piscsi/wiki/sch/rascsi_2p2_sch.pdf PDF]<br>
[https://github.com/piscsi/piscsi/blob/master/hw/rascsi_2p2/rascsi_2p2.sch KiCad]
|[https://github.com/piscsi/piscsi/blob/master/hw/rascsi_2p2/gerbers/rascsi_2p2.zip Gerbers]
|No major issues<br>5v/3v silkscreen captions swapped
|-
|[https://github.com/akuker/RASCSI/tree/master/hw/rascsi_2p3 akuker 2.3]
|[https://github.com/piscsi/piscsi/tree/master/hw/rascsi_2p3 akuker 2.3]
|FULLSPEC<br>(Initiator or Target)
|Yes
|[https://github.com/akuker/RASCSI/wiki/sch/rascsi_2p3_sch.pdf PDF]<br>
[https://github.com/akuker/RASCSI/blob/master/hw/rascsi_2p3/rascsi_2p3.sch KiCad]
|[https://github.com/akuker/RASCSI/blob/master/hw/rascsi_2p3/gerbers/gerbers.zip Gerbers]
|[https://github.com/piscsi/piscsi/wiki/sch/rascsi_2p3_sch.pdf PDF]<br>
[https://github.com/piscsi/piscsi/blob/master/hw/rascsi_2p3/rascsi_2p3.sch KiCad]
|[https://github.com/piscsi/piscsi/blob/master/hw/rascsi_2p3/gerbers/gerbers.zip Gerbers]
|No known issues
|-
|[https://github.com/akuker/RASCSI/tree/master/hw/rascsi_2p4 akuker 2.4]
|[https://github.com/piscsi/piscsi/tree/master/hw/rascsi_2p4 akuker 2.4]
|FULLSPEC<br>(Initiator or Target)
|Yes
|[https://github.com/akuker/RASCSI/wiki/sch/rascsi_2p4_sch.pdf PDF]<br>
[https://github.com/akuker/RASCSI/blob/master/hw/rascsi_2p4/rascsi_2p4.sch KiCad]
|[https://github.com/akuker/RASCSI/blob/master/hw/rascsi_2p4/gerbers/gerbers.zip Gerbers]
|[https://github.com/piscsi/piscsi/wiki/sch/rascsi_2p4_sch.pdf PDF]<br>
[https://github.com/piscsi/piscsi/blob/master/hw/rascsi_2p4/rascsi_2p4.sch KiCad]
|[https://github.com/piscsi/piscsi/blob/master/hw/rascsi_2p4/gerbers/gerbers.zip Gerbers]
|Added optional high-density connector for PowerBooks and [https://en.wikipedia.org/wiki/Berg_connector Berg] power connector.
|-
|[https://github.com/akuker/RASCSI/tree/master/hw/rascsi_2p5 akuker 2.5]
|[https://github.com/piscsi/piscsi/tree/master/hw/rascsi_2p5 akuker 2.5]
|FULLSPEC<br>(Initiator or Target)
|Yes
|[https://github.com/akuker/RASCSI/wiki/sch/rascsi_2p5_sch.pdf PDF]<br>
[https://github.com/akuker/RASCSI/blob/develop/hw/rascsi_2p5/rascsi_2p5.kicad_sch KiCad]
|[https://github.com/akuker/RASCSI/blob/develop/hw/rascsi_2p5/gerbers/rascsi_2p5b_gerbers.zip Gerbers]
|[https://github.com/piscsi/piscsi/wiki/sch/rascsi_2p5_sch.pdf PDF]<br>
[https://github.com/piscsi/piscsi/blob/develop/hw/rascsi_2p5/rascsi_2p5.kicad_sch KiCad]
|[https://github.com/piscsi/piscsi/blob/develop/hw/rascsi_2p5/gerbers/rascsi_2p5b_gerbers.zip Gerbers]
|Updated to make external activity LED brighter (bypassed the extra 2k resistor)
|}
= RaSCSI Target Board =
The RaSCSI Target Board is a minimal spec , low component count DIY version intended for enclosed applications ( external scsi housings etc. )<br><br>
[[https://levosretrocomputerprojects.co.uk/images/RaSCSI/20220219_144152.jpg | width=300px]]
= PiSCSI Target Board =
The PiSCSI Target Board is a minimal spec , low component count DIY version intended for enclosed applications ( external scsi housings etc. )<br><br>
[[https://levosretrocomputerprojects.co.uk/images/PiSCSI/20220219_144152.jpg | width=300px]]
* Low component count
* 50 pin ribbon connector only
* No Parity
@ -55,7 +55,7 @@ The RaSCSI Target Board is a minimal spec , low component count DIY version inte
* Intended for DIY
{| class="wikitable"
! scope="col"| RaSCSI Hw Version
! scope="col"| PiSCSI Hw Version
! scope="col"| Connection Type
! scope="col"| Tested and working?
! scope="col"| Schematic
@ -77,8 +77,8 @@ The RaSCSI Target Board is a minimal spec , low component count DIY version inte
|
|}
= RaSCSI Zero =
The RaSCSI Zero is a compact version of the RaSCSI board that is intended for use with the Raspberry Pi Zero family. Differences from the Full Sized RaSCSI include:
= PiSCSI Zero =
The PiSCSI Zero is a compact version of the PiSCSI board that is intended for use with the Raspberry Pi Zero family. Differences from the Full Sized PiSCSI include:
* Only has DB-25 connector. No ribbon cable connector.
* Termination is always enabled.
* Smaller board size (same size as Raspberry Pi Zero)
@ -86,19 +86,19 @@ The RaSCSI Zero is a compact version of the RaSCSI board that is intended for us
[[images/assembly_zero/IMG_0771.png | width=200px]]
{| class="wikitable"
! scope="col"| RaSCSI Hw Version
! scope="col"| PiSCSI Hw Version
! scope="col"| Connection Type
! scope="col"| Tested and working?
! scope="col"| Schematic
! scope="col"| Gerbers
! scope="col"| Comments
|-
|[https://github.com/akuker/RASCSI/tree/master/hw/rascsi_zero_1p0 akuker RaSCSI Zero 1.0]
|[https://github.com/piscsi/piscsi/tree/master/hw/rascsi_zero_1p0 akuker PiSCSI Zero 1.0]
|FULLSPEC<br>(Initiator or Target)
|YES
|[https://github.com/akuker/RASCSI/wiki/sch/rascsi_zero_1p0_sch.pdf PDF]<br>
[https://github.com/akuker/RASCSI/blob/master/hw/rascsi_zero_1p0/rascsi_zero.sch KiCad]
|[https://github.com/akuker/RASCSI/blob/master/hw/rascsi_zero_1p0/gerbers/gerbers_rascsi_zero_1p0.zip Gerbers]
|[https://github.com/piscsi/piscsi/wiki/sch/rascsi_zero_1p0_sch.pdf PDF]<br>
[https://github.com/piscsi/piscsi/blob/master/hw/rascsi_zero_1p0/rascsi_zero.sch KiCad]
|[https://github.com/piscsi/piscsi/blob/master/hw/rascsi_zero_1p0/gerbers/gerbers_rascsi_zero_1p0.zip Gerbers]
|No major issues.
|-
|
@ -112,7 +112,7 @@ The RaSCSI Zero is a compact version of the RaSCSI board that is intended for us
= Obsolete / Deprecated Versions =
{| class="wikitable"
! scope="col"| RaSCSI Hw Version
! scope="col"| PiSCSI Hw Version
! scope="col"| Connection Type
! scope="col"| Tested and working?
! scope="col"| Schematic
@ -126,27 +126,27 @@ The RaSCSI Zero is a compact version of the RaSCSI board that is intended for us
|N/A
|Requires re-mapping of GPIO pins - doesn't match original GIMONS design
|-
|[https://github.com/akuker/RASCSI/tree/master/hw/rascsi_1p5 akuker 1.5]
|[https://github.com/piscsi/piscsi/tree/master/hw/rascsi_1p5 akuker 1.5]
|STANDARD<br>(Target Only)
|[https://github.com/akuker/RASCSI/issues/10 Yes - with Fix]
|[https://github.com/akuker/RASCSI/wiki/sch/rascsi_1p5_sch.pdf PDF]<br>
[https://github.com/akuker/RASCSI/blob/master/hw/rascsi_1p5/rascsi_din.sch KiCad]
|[https://github.com/akuker/RASCSI/blob/master/hw/rascsi_1p5/gerber/gerber.zip Gerbers]
|[https://github.com/piscsi/piscsi/issues/10 Yes - with Fix]
|[https://github.com/piscsi/piscsi/wiki/sch/rascsi_1p5_sch.pdf PDF]<br>
[https://github.com/piscsi/piscsi/blob/master/hw/rascsi_1p5/rascsi_din.sch KiCad]
|[https://github.com/piscsi/piscsi/blob/master/hw/rascsi_1p5/gerber/gerber.zip Gerbers]
|Cut/Jump required to get this board to work
|-
|[https://github.com/akuker/RASCSI/tree/master/hw/rascsi_1p6 akuker 1.6]
|[https://github.com/piscsi/piscsi/tree/master/hw/rascsi_1p6 akuker 1.6]
|STANDARD<br>(Target Only)
|Not Tested
|[https://github.com/akuker/RASCSI/wiki/sch/rascsi_1p6_sch.pdf PDF]<br>
[https://github.com/akuker/RASCSI/blob/master/hw/rascsi_1p6/rascsi_din.sch KiCad]
|[https://github.com/akuker/RASCSI/blob/master/hw/rascsi_1p6/gerber/gerber.zip Gerbers]
|Same as 1.5, but with fix for [https://github.com/akuker/RASCSI/issues/10 Issue 10]. *Should* work, but is currently untested.
|[https://github.com/piscsi/piscsi/wiki/sch/rascsi_1p6_sch.pdf PDF]<br>
[https://github.com/piscsi/piscsi/blob/master/hw/rascsi_1p6/rascsi_din.sch KiCad]
|[https://github.com/piscsi/piscsi/blob/master/hw/rascsi_1p6/gerber/gerber.zip Gerbers]
|Same as 1.5, but with fix for [https://github.com/piscsi/piscsi/issues/10 Issue 10]. *Should* work, but is currently untested.
|-
|[https://github.com/akuker/RASCSI/tree/master/hw/rascsi_2p1 akuker 2.1]
|[https://github.com/piscsi/piscsi/tree/master/hw/rascsi_2p1 akuker 2.1]
|FULLSPEC<br>(Initiator or Target)
|NO
|[https://github.com/akuker/RASCSI/blob/master/hw/rascsi_2p1/rascsi_2p1_sch.pdf PDF]<br>
[https://github.com/akuker/RASCSI/blob/master/hw/rascsi_2p1/rascsi_2p1.sch KiCad]
|[https://github.com/akuker/RASCSI/blob/master/hw/rascsi_2p1/gerber/gerber.zip Gerbers]
|[https://github.com/piscsi/piscsi/blob/master/hw/rascsi_2p1/rascsi_2p1_sch.pdf PDF]<br>
[https://github.com/piscsi/piscsi/blob/master/hw/rascsi_2p1/rascsi_2p1.sch KiCad]
|[https://github.com/piscsi/piscsi/blob/master/hw/rascsi_2p1/gerber/gerber.zip Gerbers]
|Several issues, including the connector being flipped. Not recommended for ANYONE to use
|}

@ -38,7 +38,7 @@
|-
| <dl>
<dt>You are welcome to build your own!</dt>
<dd>- The [https://github.com/akuker/RASCSI/raw/master/hw/rascsi_2p4/gerbers/gerbers_rascsi_2p4a.zip Gerber files] are available in the Github repo. You can order these from any PCB manufacturer.</dd>
<dd>- The [https://github.com/piscsi/piscsi/raw/master/hw/rascsi_2p4/gerbers/gerbers_rascsi_2p4a.zip Gerber files] are available in the Github repo. You can order these from any PCB manufacturer.</dd>
<dd>- [https://www.jlcpcb.com JLCPCB] is commonly used, since they are able to pre-install the tiny resistors in the factory for a low fee.</dd>
</dl>
|}
@ -53,16 +53,16 @@ PiSCSI was originally developed by [https://web.archive.org/web/20220520151335/h
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. Over time, this project has had significant updates and architectural changes, providing unique capabilities beyond the original PiSCSI project.
PiSCSI has been demonstrated on dozens of retro computing platforms and digital samplers. A [https://github.com/akuker/RASCSI/wiki/Compatibility compatibility list] is available showing which platforms have been tested. Additional testing is appreciated, along with updating the system comparability table with your findings.
PiSCSI has been demonstrated on dozens of retro computing platforms and digital samplers. A [https://github.com/piscsi/piscsi/wiki/Compatibility compatibility list] is available showing which platforms have been tested. Additional testing is appreciated, along with updating the system comparability table with your findings.
== Select Tutorial Videos ==
Warning: Older videos may contain outdated information, since PiSCSI Reloaded is a rapidly developing project.
* [https://www.youtube.com/watch?v=-qRG-0Pne-I The Macintosh Librarian tutorial and demonstration on a Color Classic] (Dec 30, 2021)
* [https://www.youtube.com/watch?v=dMgAJnxiYGQ Introduction to using RaSCSI on DEC VAXstation / Alphaserver] (Nov 6, 2021)
* [https://www.youtube.com/watch?v=dMgAJnxiYGQ Introduction to using PiSCSI on DEC VAXstation / Alphaserver] (Nov 6, 2021)
* [https://www.youtube.com/watch?v=Pat42MNRhhA Mac84 tutorial and DaynaPORT Ethernet interface how-to] (Jul 31, 2021)
* [https://www.youtube.com/watch?v=kLyDP9FLHlk Demonstration of RaSCSI in use on a SE/30] (Oct 11, 2020)
* [https://www.youtube.com/watch?v=tUgxcchH2yg Livestream of RaSCSI assembly] (Oct 10, 2020)
* [https://www.youtube.com/watch?v=kLyDP9FLHlk Demonstration of PiSCSI in use on a SE/30] (Oct 11, 2020)
* [https://www.youtube.com/watch?v=tUgxcchH2yg Livestream of PiSCSI assembly] (Oct 10, 2020)
= Project Comparison =
{|class="wikitable"
@ -73,7 +73,7 @@ Warning: Older videos may contain outdated information, since PiSCSI Reloaded is
!scope="col"| MacSD
|-
|Links to more information
|[https://github.com/akuker/RASCSI/wiki Wiki], [https://github.com/akuker/RASCSI GitHub]
|[https://github.com/piscsi/piscsi/wiki Wiki], [https://github.com/piscsi/piscsi GitHub]
|[http://scsi.blue Homepage]
|[http://www.codesrc.com/mediawiki/index.php/SCSI2SD Wiki]
|[http://macsd.com macsd.com]
@ -160,10 +160,10 @@ Warning: Older videos may contain outdated information, since PiSCSI Reloaded is
= Raspberry Pi and System compatibility =
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 [https://github.com/akuker/RASCSI/wiki/Compatibility Compatibility] page.
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 [https://github.com/piscsi/piscsi/wiki/Compatibility Compatibility] page.
= Benchmarks =
Benchmark testing has been performed with the PiSCSI on a few different Raspberry Pi models. Please check the [https://github.com/akuker/RASCSI/wiki/Benchmarks benchmarks] page for additional details.
Benchmark testing has been performed with the PiSCSI on a few different Raspberry Pi models. Please check the [https://github.com/piscsi/piscsi/wiki/Benchmarks benchmarks] page for additional details.
-----
@ -177,13 +177,13 @@ The hardware component of PiSCSI interfaces with GPIO pins on the Raspberry Pi t
|}
== Assembling your own ==
For those who have purchased the DIY kit on [https://www.tindie.com/products/landogriffin/rascsi-macintosh-version/ Tindie], or have procured your own PCBs and components, check the [[Full Size RaSCSI Assembly|full size]] or [[RaSCSI Zero Assembly|Zero]] assembly page for instructions on building your own PiSCSI board.
For those who have purchased the DIY kit on [https://www.tindie.com/products/landogriffin/rascsi-macintosh-version/ Tindie], or have procured your own PCBs and components, check the [[Full Size PiSCSI Assembly|full size]] or [[PiSCSI Zero Assembly|Zero]] assembly page for instructions on building your own PiSCSI board.
== Alternate Connection Method ==
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''.
== Expansion options ==
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 [[OLED Status Display (Optional)|connect an OLED display]] or a [[RaSCSI-Control-Board|Control Board]] to the PiSCSI.
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 [[OLED Status Display (Optional)|connect an OLED display]] or a [[PiSCSI-Control-Board|Control Board]] to the PiSCSI.
-----
@ -192,7 +192,7 @@ The PiSCSI board has had an additional header installed exposing the I2C bus. Wi
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.
== Connecting PiSCSI to your computer ==
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 RaSCSI]] 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.
== I have the software and everything connected, what next? ==
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.
@ -204,9 +204,9 @@ Additionally, a web interface can be used to attach and detach images, manage th
= References =
== PiSCSI manpages ==
* [https://raw.githubusercontent.com/akuker/RASCSI/master/doc/rascsi_man_page.txt rascsi manpage]
* [https://raw.githubusercontent.com/akuker/RASCSI/master/doc/rasctl_man_page.txt rasctl manpage]
* [https://raw.githubusercontent.com/akuker/RASCSI/master/doc/scsimon_man_page.txt scsimon manpage]
* [https://raw.githubusercontent.com/piscsi/piscsi/master/doc/rascsi_man_page.txt rascsi manpage]
* [https://raw.githubusercontent.com/piscsi/piscsi/master/doc/scsictl_man_page.txt scsictl manpage]
* [https://raw.githubusercontent.com/piscsi/piscsi/master/doc/scsimon_man_page.txt scsimon manpage]
== Software ==
* [http://mirror.informatimago.com/next/developer.apple.com/documentation/macos8/mac8.html Mirror of Mac OS 8 Documentation]
@ -228,7 +228,7 @@ Additionally, a web interface can be used to attach and detach images, manage th
* [http://mirror.informatimago.com/next/developer.apple.com/documentation/macos8/pdf/NSL_Mgr.pdf Network Services Location manager Developers Kit]
* [https://www.staff.uni-mainz.de/tacke/scsi/SCSI2.html Very detailed, thorough document]
* [https://www.t10.org/drafts.htm T10 Working Drafts for the SCSI standard]
* [https://www.rascsi.de RaSCSI Control App for Android]
* [https://www.rascsi.de PiSCSI Control App for Android]
== Hardware ==
* Microchip SCSI documentation
@ -238,5 +238,5 @@ Additionally, a web interface can be used to attach and detach images, manage th
* [http://www.bitsavers.org/pdf/adaptec/ACB-4000/400003-00A_ACB-4000A_Users_Manual_Oct85.pdf Seagate HD Technical Information]
== Others ==
* [https://68kmla.org/bb/index.php?threads/rascsi-development-thread.6868/ The original RaSCSI development thread on 68kmla]
* [https://github.com/rdmark/RASCSI-X68k RASXSI-X68k], a fork of GIMONS' RaSCSI that retains support for the X68000
* [https://68kmla.org/bb/index.php?threads/rascsi-development-thread.6868/ The original PiSCSI development thread on 68kmla]
* [https://github.com/rdmark/piscsi-X68k RASXSI-X68k], a fork of GIMONS' RaSCSI that retains support for the X68000

@ -6,12 +6,12 @@ Report taken on a Mac Classic II running OS 7.5.3, and v4.04 of the Iomega Flopt
I don't have a report of what it looks like with a 21MB disk in the drive because I haven't got one yet.
## Usage with RaSCSI
## Usage with PiSCSI
As of RaSCSI v21.11.01, an Iomega Floptical 1.44MB named drive profile comes standard with the package which can be used on the fly from the Web Interface. You can also use the -n option with rasctl on the command line to set up a simulated Floptical device with RaSCSI.
As of PiSCSI v21.11.01, an Iomega Floptical 1.44MB named drive profile comes standard with the package which can be used on the fly from the Web Interface. You can also use the -n option with scsictl on the command line to set up a simulated Floptical device with PiSCSI.
```
$ rasctl -i 6 -c attach -t scrm -n "IOMEGA:Io20S *F:PP33" -f floppy_image.hdr
$ scsictl -i 6 -c attach -t scrm -n "IOMEGA:Io20S *F:PP33" -f floppy_image.hdr
```
The Floptical driver seems to only recognize an image if it is 1474560 bytes long. An existing HFS formatted image can be adjusted to fit this size.
@ -20,16 +20,16 @@ The Floptical driver seems to only recognize an image if it is 1474560 bytes lon
$ sudo truncate --size 1474560 floppy_image.hdr
```
For convenience, it is recommended to give the floppy image files the file ending 'hdr' in order for RaSCSI to auto-detect them as removable disk images.
For convenience, it is recommended to give the floppy image files the file ending 'hdr' in order for PiSCSI to auto-detect them as removable disk images.
What works:
* Disk images can be read from and written to.
* Applications and be launched and used off the image.
* Disks ejected by dragging them to the trash can, and new ones inserted via RaSCSI.
* Disks ejected by dragging them to the trash can, and new ones inserted via PiSCSI.
Current known limitations:
* The inability to format disk images. An error is thrown when attempting to initialize. As a workaround, use existing good HFS formatted images or a [blank 1.44MB image](files/Blank_Floppy_HFS_1_44MB.hdr).
* Automatic ejections triggered by Mac OS (f.e. multi-disk installers) aren't recognized by RaSCSI. Manual ejection in RaSCSI are not recognized by Mac OS.
* Automatic ejections triggered by Mac OS (f.e. multi-disk installers) aren't recognized by PiSCSI. Manual ejection in PiSCSI are not recognized by Mac OS.
* Booting from a floppy disk. I have tried modifying existing boot disks and add the Floptical driver to them (e.g. Mac OS 8.1 Disk Tools) with a Power Mac 8600. The machine stalls for a minute on a grey screen attempting to boot off the Floptical device, but ultimately fails to recognize it.
## Report with no disk in drive

@ -1,14 +1,14 @@
<b>Work on the Nuvolink emulation has stopped. The Nuvolink relies on the Reselection operation, which is NOT currently supported by RaSCSI. Since the <a href="https://github.com/akuker/RASCSI/wiki/Dayna-Port-SCSI-Link">Dayna Port SCSI/Link</a> functionality is working, no additional effort is planned for the Nuvolink.<b>
<b>Work on the Nuvolink emulation has stopped. The Nuvolink relies on the Reselection operation, which is NOT currently supported by PiSCSI. Since the <a href="https://github.com/piscsi/piscsi/wiki/Dayna-Port-SCSI-Link">Dayna Port SCSI/Link</a> functionality is working, no additional effort is planned for the Nuvolink.<b>
---------
# Background
[Saybur](https://github.com/saybur) has developed some fantastic [documentation](https://github.com/saybur/scuznet/blob/master/PROTOCOL.md) about how the Nuvolink SCSI protocol works. He has taken that and implemented it into the ["Scuznet"](https://github.com/saybur/scuznet) device.
# Nuvolink & RaSCSI
# Nuvolink & PiSCSI
The first attempt at a SCSI Ethernet device was using the documentation from Saybur. All of this code is in the "nuvolink" Github branch. The current status is:
- The Macintosh driver will recognize the simulated Nuvolink device
- Outgoing traffic from the Macintosh will go out the SCSI bus and be received by the RaSCSI. It is then passed on to the TAP Linux device, where it can be seen in wireshark.
- Outgoing traffic from the Macintosh will go out the SCSI bus and be received by the PiSCSI. It is then passed on to the TAP Linux device, where it can be seen in wireshark.
Below is a summary of the SCSI commands and their current status:
- 0x00: TEST UNIT READY (cmmd_tstrdy) **WORKING**
@ -27,6 +27,6 @@ Below is a summary of the SCSI commands and their current status:
# Current status - ON HOLD
The "Standard Packet Reception" functionality of the NuvoLink relies on a RESELECT SCSI function. Typically, only the computer will initiate a SCSI transaction using a SELECT operation. However, the NuvoLink will initiate a transaction with the host computer whenever a new packet is received.
This approach prevents the host driver from needing to periodically "poll" the Nuvolink device, which is a definite benefit. However, in its current design, RaSCSI is set up to do a RESELECT.
This approach prevents the host driver from needing to periodically "poll" the Nuvolink device, which is a definite benefit. However, in its current design, PiSCSI is set up to do a RESELECT.
It will be a non-trivial architectural change to enable RESELECT functionality. Therefore, the RaSCSI NuvoLink emulation is indefinitely **ON HOLD**. The DaynaPort SCSI Link driver for the Mac OS appears to periodically poll the DaynaPort, which means that the RESELECT function may not be needed.
It will be a non-trivial architectural change to enable RESELECT functionality. Therefore, the PiSCSI NuvoLink emulation is indefinitely **ON HOLD**. The DaynaPort SCSI Link driver for the Mac OS appears to periodically poll the DaynaPort, which means that the RESELECT function may not be needed.

@ -1,5 +1,5 @@
= Overview =
You can optionally attach an OLED display to monitor the status of RaSCSI. This can be especially useful when running "headless" (without a monitor). The RaSCSI board (akuker version) has the I2C bus available on a header, as well as 3.3v power and ground.
You can optionally attach an OLED display to monitor the status of PiSCSI. This can be especially useful when running "headless" (without a monitor). The PiSCSI board (akuker version) has the I2C bus available on a header, as well as 3.3v power and ground.
[[images/OLED_on_RaSCSI.jpg | 10x]]
@ -10,17 +10,17 @@ Currently the following OLEDs are known to work:
If you're using a different OLED, '''make sure that it will run at 3.3v'''. Some only work with 5v controllers (such as the Arduino)
For example, here is the display when RaSCSI is configured with two devices on SCSI ID 1 and 6. This shows when there is no CD-ROM in the virtual drive.
For example, here is the display when PiSCSI is configured with two devices on SCSI ID 1 and 6. This shows when there is no CD-ROM in the virtual drive.
[[images/OLED_no_media.jpg]]
By executing the following command, the ISO image will on the display...
rasctl -i 6 -c insert -f /home/pi/marathon.iso
scsictl -i 6 -c insert -f /home/pi/marathon.iso
[[images/OLED_with_media.jpg]]
= How to install =
== Hardware install ==
Ensure that your display matches the pinout on the RaSCSI board:
Ensure that your display matches the pinout on the PiSCSI board:
{|
|Pin
@ -45,9 +45,9 @@ Ensure that your display matches the pinout on the RaSCSI board:
'''''Important:''''' ''The Raspberry Pi I2C bus is designed to operate at 3.3v levels. Do not use a 5v OLED and expect it to work!''
You will need to solder a pin header on your OLED board (if it didn't come with one). Then, plug it into J4 on the RaSCSI board.
You will need to solder a pin header on your OLED board (if it didn't come with one). Then, plug it into J4 on the PiSCSI board.
''If you're really brave, you could solder the OLED board directly to the RaSCSI board.''
''If you're really brave, you could solder the OLED board directly to the PiSCSI board.''
== Software Install ==
@ -74,16 +74,16 @@ Below follows the manual steps to install it.
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
* Clone the RaSCSI git repository and install RaSCSI (if you haven't already, follow the [[setup instructions]])
* Clone the PiSCSI git repository and install PiSCSI (if you haven't already, follow the [[setup instructions]])
* Install python libraries
cd ~/RASCSI/python/oled
cd ~/piscsi/python/oled
* Make a virtual environment called venv
python3 -m venv venv
* Activate the newly created environment
source venv/bin/activate
* Install the dependencies
sudo pip3 install -r requirements.txt
* Try running it to verify it works. (You will need the OLED connected and RaSCSI running for this to work)
* Try running it to verify it works. (You will need the OLED connected and PiSCSI running for this to work)
PYTHONPATH=$PWD/src:$(dirname $PWD)/common/src python3 src/rascsi_oled_monitor.py
* Or, so start with the display rotated 0 degrees and 64px vertical resolution:
PYTHONPATH=$PWD/src:$(dirname $PWD)/common/src python3 src/rascsi_oled_monitor.py --rotation 0 --height 64
@ -93,7 +93,7 @@ Below follows the manual steps to install it.
=== Create a systemd service to automatically run ===
Copy the systemd service description file using the following command:
sudo cp ~/RASCSI/python/oled/service-infra/rascsi-oled.service /etc/systemd/system/
sudo cp ~/piscsi/python/oled/service-infra/rascsi-oled.service /etc/systemd/system/
After you've installed the monitor_rascsi.service file, you'll need to enable it with the following command:
sudo systemctl enable rascsi-oled.service
@ -103,19 +103,19 @@ After you've installed the monitor_rascsi.service file, you'll need to enable it
You can start the service (without rebooting) using the following command:
sudo systemctl rascsi-oled.service
When you run 'systemctl status rascsi-oled.service', it should be reported that the RaSCSI Monitor is Loaded and Active:
When you run 'systemctl status rascsi-oled.service', it should be reported that the PiSCSI Monitor is Loaded and Active:
```
pi@rascsi:~/RASCSI/python/oled $ sudo systemctl status rascsi-oled.service
● rascsi-oled.service - RaSCSI-OLED service
pi@rascsi:~/piscsi/python/oled $ sudo systemctl status rascsi-oled.service
● rascsi-oled.service - PiSCSI-OLED service
Loaded: loaded (/etc/systemd/system/rascsi-oled.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2022-02-09 15:29:00 CET; 49s ago
Main PID: 13827 (bash)
Tasks: 2 (limit: 877)
CGroup: /system.slice/rascsi-oled.service
├─13827 bash /home/pi/RASCSI/python/oled/start.sh
├─13827 bash /home/pi/piscsi/python/oled/start.sh
└─13845 python3 src/rascsi_oled_monitor.py
feb 09 15:29:00 rascsi systemd[1]: Started RaSCSI-OLED service.
feb 09 15:29:00 rascsi systemd[1]: Started PiSCSI-OLED service.
feb 09 15:29:22 rascsi RASCSIMON[13827]: Starting OLED Screen...
feb 09 15:29:22 rascsi RASCSIMON[13827]: No screen rotation parameter given; falling back to the default.
feb 09 15:29:22 rascsi RASCSIMON[13827]: No screen height parameter given; falling back to the default.
@ -123,6 +123,6 @@ feb 09 15:29:22 rascsi RASCSIMON[13827]: No screen height parameter given; falli
= Additional Details =
* Adafruit introduction to SSD1306 OLED displays: [https://learn.adafruit.com/ssd1306-oled-displays-with-raspberry-pi-and-beaglebone-black]
* Adafruit library used for this python script: [https://github.com/adafruit/Adafruit_Python_SSD1306]
* OLED Schematic: [http://github.com/akuker/RASCSI/wiki/images/OLED_Schematic.jpg]
* OLED Schematic: [http://github.com/piscsi/piscsi/wiki/images/OLED_Schematic.jpg]
* OLED Users Manual: [https://drive.google.com/open?id=14A_luFwqvZaKu-PKTfJdWmUZ4T4Wk65]

@ -1,6 +1,6 @@
## RaSCSI Client Tools for Atari 16/32 Bit Computers
## PiSCSI Client Tools for Atari 16/32 Bit Computers
With the SCSI Printer device (SCLP) and the Host Services device (SCHS) RaSCSI supports two devices that are neither mass storage nor network devices. For both device types special free drivers for Atari 16/32 bit computers (ST/TT/Falcon) and clones like the Milan are available: The <a href="https://www.hddriver.net/en/rascsi_tools.html">RaSCSI Client Tools</a>.
With the SCSI Printer device (SCLP) and the Host Services device (SCHS) PiSCSI supports two devices that are neither mass storage nor network devices. For both device types special free drivers for Atari 16/32 bit computers (ST/TT/Falcon) and clones like the Milan are available: The <a href="https://www.hddriver.net/en/rascsi_tools.html">PiSCSI Client Tools</a>.
With these tools you can print files from the Atari via RaSCSI and set the Atari's clock based on RaSCSI's realtime clock service. In addition, you can shut down RaSCSI or the Raspberry Pi, e.g. as part of the Atari shutdown sequence in case you are using the MiNT operating system. Please refer to the <a href="https://www.hddriver.net/en/rascsi_tools.html">RaSCSI Client Tools</a> webpage for further information and a download link. The sources are [available on GitHub](https://github.com/uweseimet/atari_public/tree/main/RASCSI).
With these tools you can print files from the Atari via PiSCSI and set the Atari's clock based on PiSCSI's realtime clock service. In addition, you can shut down PiSCSI or the Raspberry Pi, e.g. as part of the Atari shutdown sequence in case you are using the MiNT operating system. Please refer to the <a href="https://www.hddriver.net/en/rascsi_tools.html">PiSCSI Client Tools</a> webpage for further information and a download link. The sources are [available on GitHub](https://github.com/uweseimet/atari_public/tree/main/RASCSI).

@ -0,0 +1,3 @@
## Managing PiSCSI with a smartphone or tablet
With the <a href="https://www.rascsi.de">PiSCSI Control app<a> for Android you manage the virtual SCSI devices, the image files and much more. In addition, you stay up to date by push messages with PiSCSI-related news. The app is directly connected to the PiSCSI server (rascsi) on the Pi. The <a href="https://www.rascsi.de">PiSCSI Control website</a> provides more information.

@ -1,12 +1,12 @@
# Overview
You can optionally attach the RaSCSI Control Board to your RaSCSI pHAT. It's designed to be used for a minimal hardware-based UI for RaSCSI which sits on top of the full-size pHat or RaSCSI Zero board and it's made to match the RaSCSI Zero size and holes. The RaSCSI Control Board communicates with the Pi through the I2C bus. It features an OLED display, two buttons and a rotary encoder. The RaSCSI Control Board is used along with the RaSCSI Control Board software (ctrlboard) which **is/will be** bundled with RaSCSI.
You can optionally attach the PiSCSI Control Board to your PiSCSI pHAT. It's designed to be used for a minimal hardware-based UI for PiSCSI which sits on top of the full-size pHat or PiSCSI Zero board and it's made to match the PiSCSI Zero size and holes. The PiSCSI Control Board communicates with the Pi through the I2C bus. It features an OLED display, two buttons and a rotary encoder. The PiSCSI Control Board is used along with the PiSCSI Control Board software (ctrlboard) which **is/will be** bundled with PiSCSI.
<img src="https://user-images.githubusercontent.com/884834/153959141-000e0f48-17de-4a7a-8e25-10d064f46a29.jpg" height="450">
[Schematic](https://github.com/akuker/RASCSI/files/8936235/Control_Board_1p5_Schematic.pdf)
[Schematic](https://github.com/piscsi/piscsi/files/8936235/Control_Board_1p5_Schematic.pdf)
The RaSCSI Control Board software currently covers the following functionality:
The PiSCSI Control Board software currently covers the following functionality:
* Attaching/Inserting/Detaching/Ejecting disk images to the SCSI slots.
* Displaying information about the attached/inserted disk images.
* Loading Profiles
@ -38,7 +38,7 @@ In the slot action menu, the following actions can be performed:
* Attach/Insert: inserts/Attaches an image. When selected, a follow-up menu opens where the image to attach/insert can be chosen.
* Detach/Eject: detached/ejects an image from a slot. When selected, the current image on the chosen slot is detached/ejected. If an image is ejected, it is detached when performed a second time on an empty drive.
* Info: displays information such as ID, LUN, filename, image type etc. of the image on the selected slot. On empty slots, only "Return" is shown.
* Load profile: opens a follow-up menu with the profiles stored in the RaSCSI web interface. When a profile is selected, it is loaded.
* Load profile: opens a follow-up menu with the profiles stored in the PiSCSI web interface. When a profile is selected, it is loaded.
* Shutdown: When selected, the Raspberry Pi performs a graceful shutdown.
## Screensaver and auto-refresh
@ -49,8 +49,8 @@ The SCSI ID list is refreshed every 6 seconds when active.
# Hardware Assembly
There are two assembly variants of the control board:
* Variant 1: the RaSCSI hat, either the full-size one or the Zero hat, must have stacking headers installed for this variant. If the RaSCSI hat has those GPIO stacking headers soldered, it's possible install a female GPIO pin header on P1 to connect the control board to the RaSCSI hat.
* Variant 2: if the RaSCSI hat does not have stacking headers installed, female 2.54mm pin header sockets must be installed on the RaSCSI full-size hat J3 and J4. The RaSCSI Zero hat cannot be used with Variant 2 as the necessary pin on J4 does not exist.
* Variant 1: the PiSCSI hat, either the full-size one or the Zero hat, must have stacking headers installed for this variant. If the PiSCSI hat has those GPIO stacking headers soldered, it's possible install a female GPIO pin header on P1 to connect the control board to the PiSCSI hat.
* Variant 2: if the PiSCSI hat does not have stacking headers installed, female 2.54mm pin header sockets must be installed on the PiSCSI full-size hat J3 and J4. The PiSCSI Zero hat cannot be used with Variant 2 as the necessary pin on J4 does not exist.
The control board contains 0805 SMD components as well as a 16TSSOP IC. Hence, not everyone might feel comfortable soldering these surface-mount components. Assembly files for JLCPCB can be found in the GIT repository under hw/ctrl_board_v1p5/gerbers: ctrl_board_bottom-pos.csv (CPL File) as well as ctrl_board_jlcpcb_bom.csv (BOM File). Make sure to select assembly of the bottom side for the assembly service.
@ -67,7 +67,7 @@ The URLs provided are just examples.
| | | | |
| 1 | P1 | Variant 1: [GPIO pin header female][gpio] | |
| 1 | J4 | Variant 2: [2 pin 2.54mm pin header aux GPIO connector][pinheader] | |
| 1 | J1 | Variant 2: [4 pin 2.54mm pin header RaSCSI connector][pinheader] | |
| 1 | J1 | Variant 2: [4 pin 2.54mm pin header PiSCSI connector][pinheader] | |
[pca9554]: https://www.digikey.com/en/products/detail/nxp-usa-inc/PCA9554APW-118/1157073
[encoder]: https://www.digikey.com/en/products/detail/bourns-inc/PEC11L-4120F-S0020/4699171
@ -76,15 +76,15 @@ The URLs provided are just examples.
Additional notes for the assembly.
* For variant 2, JP4 needs to be solder-bridged.
* For the RaSCSI control board hat to sit tight and stable, it's useful (or let's rather say essential) to install four M2.5 spacers between the RaSCSI hat and the control board hat.
* For the PiSCSI control board hat to sit tight and stable, it's useful (or let's rather say essential) to install four M2.5 spacers between the PiSCSI hat and the control board hat.
# Hardware Installation
No matter what the chosen variant is, the control board hat usually sits on top of the RaSCSI hat. There might be custom case or enclosure designs that require a cable between the RaSCSI hat and the control board, for example, when the control board is installed in a 19" casing or similar.
No matter what the chosen variant is, the control board hat usually sits on top of the PiSCSI hat. There might be custom case or enclosure designs that require a cable between the PiSCSI hat and the control board, for example, when the control board is installed in a 19" casing or similar.
# Software Installation
The installation of the Control Board UI is integrated into easyinstall.sh as as separate installation option under experimental features. It is declared experimental as it hasn't been widely tested by end users yet. However, the UI has been tested on multiple raspberry pi devices and should work fine for most. At some point in the future, it will probably be merged with the RASCSI OLED service.
The installation of the Control Board UI is integrated into easyinstall.sh as as separate installation option under experimental features. It is declared experimental as it hasn't been widely tested by end users yet. However, the UI has been tested on multiple raspberry pi devices and should work fine for most. At some point in the future, it will probably be merged with the piscsi OLED service.
Please note that the installation of the Control Board UI automatically disables the rascsi-oled service and vice-versa as only one of them can be active at the same time.
@ -92,6 +92,6 @@ The easyinstall.sh script also takes care of detecting your Raspberry Pi model a
# Additional Details
* The Control Board UI cannot be used with an OLED alone. The complete RaSCSI Control Board hardware with OLED, rotary encoder and two buttons is required. The Control Board UI detects on startup whether all necessary devices are present.
* The Control Board UI cannot be used with an OLED alone. The complete PiSCSI Control Board hardware with OLED, rotary encoder and two buttons is required. The Control Board UI detects on startup whether all necessary devices are present.
* The Control Board UI currently requires and SSD1306 128x64 display. While the Control Board UI generally supports different displays (such as SH1106) and resolutions, this is currently not enabled and accessible for users.
* On Pi 3, Pi Zero 2 and Pi 4 models, transition animations are enabled. For smaller/older models, animations are disabled. Thus, the experience might be less good with smaller/older models.

@ -1,18 +1,18 @@
= Congratulations on your purchase! =
If you are reading this page, it is most likely because you have purchased the RaSCSI Zero kit. Alternatively, you've ordered the PCBs and procured the parts to build the RaSCSI pHAT for your Raspberry Pi. Either way, the following instructions are provided on how to assemble your new RaSCSI Zero board.
If you are reading this page, it is most likely because you have purchased the PiSCSI Zero kit. Alternatively, you've ordered the PCBs and procured the parts to build the PiSCSI pHAT for your Raspberry Pi. Either way, the following instructions are provided on how to assemble your new PiSCSI Zero board.
If you have the full-sized version of the RaSCSI Reloaded board, see the assembly instructions [https://github.com/akuker/RASCSI/wiki/Full-Size-RaSCSI-Assembly here]
If you have the full-sized version of the PiSCSI Reloaded board, see the assembly instructions [https://github.com/piscsi/piscsi/wiki/Full-Size-PiSCSI-Assembly here]
If you have not yet purchased one, you can pick up your very own RaSCSI Reloaded board on [https://www.tindie.com/products/landogriffin/ Tindie].
If you have not yet purchased one, you can pick up your very own PiSCSI Reloaded board on [https://www.tindie.com/products/landogriffin/ Tindie].
If you have a Raspberry Pi Zero WH (With Headers already installed), see [https://github.com/akuker/RASCSI/wiki/RaSCSI-Zero-Assembly#Alternate_Assembly_for_Raspberry_Pi_WH This Note]
If you have a Raspberry Pi Zero WH (With Headers already installed), see [https://github.com/piscsi/piscsi/wiki/PiSCSI-Zero-Assembly#Alternate_Assembly_for_Raspberry_Pi_WH This Note]
__TOC__
= Kit contents =
The RaSCSI Reloaded kit available on [https://www.tindie.com/products/landogriffin/ Tindie] contains everything you need to get going. If you In your package, you should see the following.
The PiSCSI Reloaded kit available on [https://www.tindie.com/products/landogriffin/ Tindie] contains everything you need to get going. If you In your package, you should see the following.
[[images/assembly_zero/IMG_0742.png | width=200px]]
@ -27,7 +27,7 @@ Regardless if you are building from a kit, or purchased your own parts, confirm
|-
|1
|[[images/RZ_Bare_Board_1.png | width = 200px]]
|RaSCSI Zero Main Board with Resistors & LEDs<BR>
|PiSCSI Zero Main Board with Resistors & LEDs<BR>
pre-installed
|[https://www.tindie.com/products/landogriffin/ Tindie]
|-
@ -58,7 +58,7 @@ pre-installed
|}
= Orientation options =
Please take careful note of the orientation of the RaSCSI Zero board, as well as the orientation of the Raspberry Pi Zero. If you assemble these incorrectly, DAMAGE MAY OCCUR!
Please take careful note of the orientation of the PiSCSI Zero board, as well as the orientation of the Raspberry Pi Zero. If you assemble these incorrectly, DAMAGE MAY OCCUR!
= Assembly Instructions =
@ -68,7 +68,7 @@ The following section covers installing the transceivers.
{|
|'''Note:''' Several people have had a common mistake while<BR>
assembling their RaSCSI the first time. Please make a special<BR>
assembling their PiSCSI the first time. Please make a special<BR>
note of the orientation of IC1 and IC2 vs IC3 and IC4<BR>
(the transceivers). Don't assume that they are all oriented the<BR>
same way. Check that the dot on the chip (indicating pin 1)<BR>
@ -110,10 +110,10 @@ Solder the top pins in place.
== Alternate Assembly for Raspberry Pi WH ==
{|
|If you have a Raspberry Pi Zero WH (with headers), you will need to assemble your RaSCSI Zero differently.
|If you have a Raspberry Pi Zero WH (with headers), you will need to assemble your PiSCSI Zero differently.
| [[https://user-images.githubusercontent.com/34318535/198755035-e2940ef7-5c74-4257-a4cb-d48987599139.png | width = 400px]]
|-
|The most critical thing to check during assembly is that the pins are not reversed. <BR>A good way to check this is to verify Pin 1 on the RaSCSI connects to Pin 1 on the Raspberry Pi. <BR>Pin 1 has a square pad instead of circular.
|The most critical thing to check during assembly is that the pins are not reversed. <BR>A good way to check this is to verify Pin 1 on the PiSCSI connects to Pin 1 on the Raspberry Pi. <BR>Pin 1 has a square pad instead of circular.
||[[https://user-images.githubusercontent.com/34318535/198754056-da6af5d0-5a57-439b-9411-59511e5ee6c3.png | width = 400px]] [[https://user-images.githubusercontent.com/34318535/198754380-38f48c17-8770-498a-aba5-ee7c89d1ed97.png | width = 400px]]
|}
@ -123,18 +123,18 @@ Solder the top pins in place.
|Take the straight 40-pin breakaway header and cut it EXACTLY in half. You should end up with two headers that are 20 pins long.
|[[images/assembly_zero/IMG_0753.png | width=500px]]
|-
| Insert the breakaway headers into the RaSCSI Zero board as shown here. Make sure you match the orientation of the board. The pins should point AWAY from the transceivers. <br>
| Insert the breakaway headers into the PiSCSI Zero board as shown here. Make sure you match the orientation of the board. The pins should point AWAY from the transceivers. <br>
Use the 20 pin female header as a guide to hold the male pins straight while you're soldering.
| [[images/assembly_zero/IMG_0755.png | width=500px]]
|-
| Flip the board and solder all of the male pins into the RaSCSI Zero board. You can remove the female header after a few pins are soldered in each row.
| Flip the board and solder all of the male pins into the PiSCSI Zero board. You can remove the female header after a few pins are soldered in each row.
|[[images/assembly_zero/IMG_0757.png | width=500px]]
|}
== Install the DB 25 connector ==
{|
|Snap the DB-25 connector in the RaSCSI board. The mechanical clips should hold it in place. The DB-25 connector should be installed on the same side as the resistors. It should NOT be installed on the same side as the transceivers.
|Snap the DB-25 connector in the PiSCSI board. The mechanical clips should hold it in place. The DB-25 connector should be installed on the same side as the resistors. It should NOT be installed on the same side as the transceivers.
|[[images/assembly_zero/IMG_0758.png | width=500px]]
|-
| Solder all of the pins of the DB-25 connector
@ -147,7 +147,7 @@ Use the 20 pin female header as a guide to hold the male pins straight while you
== Install the Disk Activity LED Connector ==
{|
| This step is OPTIONAL. You only need to install the 2-pin LED connector if you're using the RaSCSI Zero with an external LED.<br>
| This step is OPTIONAL. You only need to install the 2-pin LED connector if you're using the PiSCSI Zero with an external LED.<br>
Insert the 2-pin right angle header into the holes, as shown. Solder these two pins into place.<br>
Tip: you can use the table to hold the right angle header in place (as shown here). Be careful not to touch the pins while soldering. They'll get VERY hot.
| [[images/assembly_zero/IMG_0763.png | width=500px]]
@ -169,18 +169,18 @@ Tip: you can use the table to hold the right angle header in place (as shown her
= Final Assembly =
{|
|You should now have a fully assembled RaSCSI Zero with the male pins on the same side as the resistors. Double check that your assembled pieces match this image.
|You should now have a fully assembled PiSCSI Zero with the male pins on the same side as the resistors. Double check that your assembled pieces match this image.
|[[images/assembly_zero/IMG_0768.png | width=500px]]
|-
|You can now install the Raspberry Pi Zero on top of the RaSCSI Zero as shown here.
|You can now install the Raspberry Pi Zero on top of the PiSCSI Zero as shown here.
|[[images/assembly_zero/IMG_0773.png | width=500px]]
|-
|You can now continue with setting up the SD card and configuring your RaSCSI Zero!
|You can now continue with setting up the SD card and configuring your PiSCSI Zero!
|[[images/assembly_zero/IMG_0771.png | width=500px]]
|}
= You're done! =
If you've gotten to this point, your RaSCSI board and optional daughter board are ready to use.
If you've gotten to this point, your PiSCSI board and optional daughter board are ready to use.
Proceed to the [https://github.com/akuker/RASCSI/wiki/Setup-Instructions Setup Instructions] page.
Proceed to the [https://github.com/piscsi/piscsi/wiki/Setup-Instructions Setup Instructions] page.

@ -1,14 +1,14 @@
1. [FAQ](https://github.com/akuker/RaSCSI/wiki/RaSCSI-for-Hardware-Samplers#faq)
2. [Setup](https://github.com/akuker/RaSCSI/wiki/RaSCSI-for-Hardware-Samplers#setup)
3. [Troubleshooting](https://github.com/akuker/RaSCSI/wiki/RaSCSI-for-Hardware-Samplers#troubleshooting)
4. [Compatibility](https://github.com/akuker/RaSCSI/wiki/RaSCSI-for-Hardware-Samplers#compatibility)
5. [Performance Tests](https://github.com/akuker/RaSCSI/wiki/RaSCSI-for-Hardware-Samplers#performance-tests)
1. [FAQ](https://github.com/piscsi/piscsi/wiki/PiSCSI-for-Hardware-Samplers#faq)
2. [Setup](https://github.com/piscsi/piscsi/wiki/PiSCSI-for-Hardware-Samplers#setup)
3. [Troubleshooting](https://github.com/piscsi/piscsi/wiki/PiSCSI-for-Hardware-Samplers#troubleshooting)
4. [Compatibility](https://github.com/piscsi/piscsi/wiki/PiSCSI-for-Hardware-Samplers#compatibility)
5. [Performance Tests](https://github.com/piscsi/piscsi/wiki/PiSCSI-for-Hardware-Samplers#performance-tests)
# Introduction
The RaSCSI is a SCSI emulator that is built on the Raspberry Pi Ultra Low Cost Computer platform. It will mount virtual CD-ROM's and Hard Drives directly into your sampler using the SCSI port on the back.
The PiSCSI is a SCSI emulator that is built on the Raspberry Pi Ultra Low Cost Computer platform. It will mount virtual CD-ROM's and Hard Drives directly into your sampler using the SCSI port on the back.
The benefits of using a RaSCSI are:
The benefits of using a PiSCSI are:
* Easy to use with a web-based admin interface
* Low cost ($60 for a basic setup, $150 for a high-end setup)
@ -16,7 +16,7 @@ The benefits of using a RaSCSI are:
* Effectively a CD-ROM jukebox that can manage dozens of ISO images without SD card swapping
* Create and mount hard drive images
If you get comfort from the clicking and clacking and whirring of old SCSI devices then the RaSCSI isn't for you. If you enjoy the thrill of wondering whether or not your Zip cartridge will save your sample editing session, we don't judge.
If you get comfort from the clicking and clacking and whirring of old SCSI devices then the PiSCSI isn't for you. If you enjoy the thrill of wondering whether or not your Zip cartridge will save your sample editing session, we don't judge.
If you want to learn more about the best mass storage solution for vintage samplers then you should read on.
@ -29,7 +29,7 @@ If you want to learn more about the best mass storage solution for vintage sampl
<p>
The project lead sells them on Tindie. Ignore the signs about it being a product for Macintosh, he was a little confused when he created that page and didn't realize how awesome this product would be for all of us sampler users. This is the version to get:
RaSCSI [Tindie Store](https://www.tindie.com/products/landogriffin/rascsi-english-version-assembled/)
PiSCSI [Tindie Store](https://www.tindie.com/products/landogriffin/rascsi-english-version-assembled/)
</p>
</td></tr></table>
@ -46,7 +46,7 @@ RaSCSI [Tindie Store](https://www.tindie.com/products/landogriffin/rascsi-englis
The Zero +WH (with Wifi and Headers) works well or if you want more power the 4B models provide a performance boost. If you're planning on hooking up more USB storage or use Gigabit Ethernet for very fast transfer speeds, choose any 4B that fits your budget.
Check out the [RaSCSI compatibility page](https://github.com/akuker/RaSCSI/wiki/Compatibility) if you are thinking of using an older 1/2/3 Raspberry Pi.
Check out the [PiSCSI compatibility page](https://github.com/piscsi/piscsi/wiki/Compatibility) if you are thinking of using an older 1/2/3 Raspberry Pi.
Current Raspberry Pi computers are found on the [RaPi project's product page](https://www.raspberrypi.org/products/).
@ -60,7 +60,7 @@ As fast and as large as you are comfortable buying, minimum recommended is 16GB.
**4 - SCSI cable**
Check the tables below to see which cable you need for your sampler(s). The RaSCSI needs DB25 on one end and the appropriate connector for your sampler on the other.
Check the tables below to see which cable you need for your sampler(s). The PiSCSI needs DB25 on one end and the appropriate connector for your sampler on the other.
**5 - Keyboard, Mouse, Monitor for setup**
@ -77,7 +77,7 @@ To set up the device you will need a micro-HDMI cable, monitor, and USB keyboard
<p>
<table><tr><td>
We are actively working to get a groovy 3d printed case designed. Sitting exposed on your desktop won't damage the RaSCSI, just don't lick it by mistake.
We are actively working to get a groovy 3d printed case designed. Sitting exposed on your desktop won't damage the PiSCSI, just don't lick it by mistake.
</td></tr></table>
@ -87,7 +87,7 @@ We are actively working to get a groovy 3d printed case designed. Sitting expos
<details><summary>Can I mount it inside the sampler?</summary>
<p>
<table><tr><td>
Sure you could probably figure out how to do this and you'd need to either drill holes or create a custom mount for the floppy bay. Even after all that it is better to keep it outside where the RaSCSI can stay cooler - this is healthy for both the RaSCSI and your sampler.
Sure you could probably figure out how to do this and you'd need to either drill holes or create a custom mount for the floppy bay. Even after all that it is better to keep it outside where the PiSCSI can stay cooler - this is healthy for both the PiSCSI and your sampler.
</td></tr></table>
</p>
</details>
@ -96,9 +96,9 @@ Sure you could probably figure out how to do this and you'd need to either drill
<details><summary>What SD card should I buy?</summary>
<p>
<table><tr><td>
At the time of writing this, amazon.com is selling a 64GB Sandisk Ultra microSD card for $12, 128GB for $20, and 256GB for $35. At those prices the 64GB is a no-brainer for a well-spec'ed RaSCSI setup.
At the time of writing this, amazon.com is selling a 64GB Sandisk Ultra microSD card for $12, 128GB for $20, and 256GB for $35. At those prices the 64GB is a no-brainer for a well-spec'ed PiSCSI setup.
The OS and RaSCSI software will take a little over 8GB, leaving you the balance of the card to store disk images.
The OS and PiSCSI software will take a little over 8GB, leaving you the balance of the card to store disk images.
A CD-ROM image will have a maximum size of 650MB but most are in the 200-300MB range. Roland CD-ROM's are a little different as for some strange reason they specified that all discs must fill up the empty space with zeros, so they're all 650MB no matter what. Let's also assume that the average hard drive for sampler use is 500MB - you can definitely have larger drives but most older samplers don't have folder/subfolder implementations and it's a PITA to scroll through hundreds of banks/multis/programs to find what you're looking for.
@ -106,7 +106,7 @@ Using that logic, a 64GB SD card will give you roughly 56GB of storage. Let's b
If that's not enough for you, spend the extra $8 on the 128GB card and you'll have enough capacity for 20 virtual hard drives and over 400 CD-ROM images.
Also remember that RaSCSI has an awesome web admin interface that lets you transfer files directly onto the Raspberry Pi, so it's very easy to swap out CD-ROM images if you have a very large library stored on another computer somewhere. You could also hook up an external USB 3.0 hard drive if you bought the Raspberry Pi 4B and use that as your local high-speed RaSCSI image library location.
Also remember that PiSCSI has an awesome web admin interface that lets you transfer files directly onto the Raspberry Pi, so it's very easy to swap out CD-ROM images if you have a very large library stored on another computer somewhere. You could also hook up an external USB 3.0 hard drive if you bought the Raspberry Pi 4B and use that as your local high-speed PiSCSI image library location.
It should also be noted that over the years of using SD cards in samplers that generic cards seem to have higher failure rates than name-brand cards, and counterfeit name-brand SD cards are more common than you might think on auction sites. Generally speaking, you get what you pay for.
</td></tr></table>
@ -122,11 +122,11 @@ Sure, the SCSI bus can handle up to eight devices at once with no limitations on
<br><br>
You could connect two Roland S-760 samplers at ID's 6 and 7, a RaSCSI configured with two virtual Roland-formatted hard drives at ID's 0 and 1, then four Roland CD-ROM images from the same RaSCSI at ID's 2, 3, 4, and 5.
You could connect two Roland S-760 samplers at ID's 6 and 7, a PiSCSI configured with two virtual Roland-formatted hard drives at ID's 0 and 1, then four Roland CD-ROM images from the same PiSCSI at ID's 2, 3, 4, and 5.
You could also connect a Kurzweil K2000 as ID 0, an e-mu E6400 Classic as ID 2, an Akai S1000 as ID 4, and a Yamaha A4000 as ID 6. Then set up the RaSCSI with a Kurzweil hard drive on ID 1, an e-mu drive on ID 3, and Akai drive on ID 5, and a Yamaha drive on ID 7. Of course you'd need a number of SCSI Y-splitters and none of the samplers could access the drives that are formatted using another file system (i.e. Akai can't read Kurzweil) but this is completely possible with only one RaSCSI in the chain.
You could also connect a Kurzweil K2000 as ID 0, an e-mu E6400 Classic as ID 2, an Akai S1000 as ID 4, and a Yamaha A4000 as ID 6. Then set up the PiSCSI with a Kurzweil hard drive on ID 1, an e-mu drive on ID 3, and Akai drive on ID 5, and a Yamaha drive on ID 7. Of course you'd need a number of SCSI Y-splitters and none of the samplers could access the drives that are formatted using another file system (i.e. Akai can't read Kurzweil) but this is completely possible with only one PiSCSI in the chain.
The one universal caution was always to not allow two devices to write to the same SCSI hard drive at the same time, but with a RaSCSI there's no danger of physical drive damage so maybe we should test that too.
The one universal caution was always to not allow two devices to write to the same SCSI hard drive at the same time, but with a PiSCSI there's no danger of physical drive damage so maybe we should test that too.
</td></tr></table>
</p>
</details>
@ -137,9 +137,9 @@ The one universal caution was always to not allow two devices to write to the sa
<table><tr><td>
Completely 100% totally A-OK.
<br><br>
If you have content from an old 1GB external hard drive that you'd like to back up, just create a virtual 1GB hard drive in the RaSCSI and mount it to a free SCSI ID. Then use your sampler to copy all of the files from the physical drive to the virtual drive.
If you have content from an old 1GB external hard drive that you'd like to back up, just create a virtual 1GB hard drive in the PiSCSI and mount it to a free SCSI ID. Then use your sampler to copy all of the files from the physical drive to the virtual drive.
You could use the same method to copy content from your favorite physical CD-ROM's or Zip Disks and consolidate them on a virtual hard drive. Then put them in a box in that dark corner of the garage no one ever looks at, give them to the local tech-friendly recycle depot, or sell them on ebay to people who have never heard of RaSCSI.
You could use the same method to copy content from your favorite physical CD-ROM's or Zip Disks and consolidate them on a virtual hard drive. Then put them in a box in that dark corner of the garage no one ever looks at, give them to the local tech-friendly recycle depot, or sell them on ebay to people who have never heard of PiSCSI.
</td></tr></table>
</p>
</details>
@ -150,16 +150,16 @@ You could use the same method to copy content from your favorite physical CD-ROM
<p>
<table><tr><td>
These devices are directly comparable to the RaSCSI, but in the opinion of the unofficial RaSCSI Sampler Team it's the clearly superior solution and can be recommended to all sampler users who use SCSI-equipped electronic musical instruments.
These devices are directly comparable to the PiSCSI, but in the opinion of the unofficial PiSCSI Sampler Team it's the clearly superior solution and can be recommended to all sampler users who use SCSI-equipped electronic musical instruments.
SCSI2SD has been the leading modern mass storage solution since soon after its introduction in 2013. Relative to the more expensive SCSI2SD V6 the RaSCSI offers:
SCSI2SD has been the leading modern mass storage solution since soon after its introduction in 2013. Relative to the more expensive SCSI2SD V6 the PiSCSI offers:
- (+) Vastly more intuitive administration/management
- (+) Wi-Fi/network connectivity
- (~) Similar performance
- (-) Can't easily be mounted internally
Relative to the SCSI2SD V5.5 the RaSCSI scores:
Relative to the SCSI2SD V5.5 the PiSCSI scores:
- (+) Vastly more intuitive administration/management
- (+) Wi-Fi/network connectivity
@ -168,7 +168,7 @@ Relative to the SCSI2SD V5.5 the RaSCSI scores:
- (-) Larger physical footprint
Blue SCSI is another new SCSI emulation device which shows a lot of promise as an inexpensive drive emulator, however the RaSCSI is a far more powerful solution for sampler users:
Blue SCSI is another new SCSI emulation device which shows a lot of promise as an inexpensive drive emulator, however the PiSCSI is a far more powerful solution for sampler users:
- (+) Much faster performance
- (+) Mounts ISO images as virtual CD-ROM's
@ -192,7 +192,7 @@ The vendors of these floppy drive emulators can be really deceptive with their d
A lot of people see "USB Storage" and think "Oh this is awesome because transferring files to my computer using that USB stick is so fast!" so you'd definitely not be the first person to get excited then experience the letdown of the cold, hard truth of the floppy ribbon cable of life.
A USB floppy emulator is perfect for older samplers without SCSI, and their on-board memory capacity is usually less than the 720KB or 1.44MB floppies that they use. However, if your sampler has SCSI, you should be using a RaSCSI.
A USB floppy emulator is perfect for older samplers without SCSI, and their on-board memory capacity is usually less than the 720KB or 1.44MB floppies that they use. However, if your sampler has SCSI, you should be using a PiSCSI.
If you are interested in a floppy emulator for an older sampler then check out [HxC](http://hxc2001.free.fr/floppy_drive_emulator/index.html#Download_HxCFirmwareForGotek) or [FlashFloppy](https://github.com/keirf/FlashFloppy/wiki) and don't pay a crazy price for an underpowered and oversold floppy emulator. $30-$60 is a fair price for a USB emulator, and in our opinion you should avoid anyone selling them for over $100.
@ -221,7 +221,7 @@ If you are just learning how to solder, don't have quality soldering/desoldering
### Step 1 - Set up Raspberry Pi
Connect the RaSCSI to the Raspberry Pi using the header pins (there's only one way it will fit). Connect a monitor to the HDMI port and a keyboard and mouse to the USB ports.
Connect the PiSCSI to the Raspberry Pi using the header pins (there's only one way it will fit). Connect a monitor to the HDMI port and a keyboard and mouse to the USB ports.
### Step 2 - Install the Raspberry Pi software onto the SD card
@ -231,7 +231,7 @@ Follow the [standard instructions](https://www.raspberrypi.org/documentation/ins
Insert the SD card into the Raspberry Pi and power it up. Follow the on-screen instructions to configure it, and connect it to your Wi-Fi network at this time if you like.
Then follow the [RaSCSI setup procedure](https://github.com/akuker/RaSCSI/wiki/Setup-Instructions) to install that software.
Then follow the [PiSCSI setup procedure](https://github.com/piscsi/piscsi/wiki/Setup-Instructions) to install that software.
### Step 4 - Connect to the admin web page
@ -257,7 +257,7 @@ You will then be able to log in using the user "pi" and the password you provide
(NOTE: this section is a work in progress)
Although you can use the web interface to manage files on the RaSCSI, it's often easier just to mount the images folder to a Windows share then you can cut/copy/paste files from your main computer.
Although you can use the web interface to manage files on the PiSCSI, it's often easier just to mount the images folder to a Windows share then you can cut/copy/paste files from your main computer.
`sudo apt install samba -y`
@ -269,8 +269,8 @@ Although you can use the web interface to manage files on the RaSCSI, it's often
Add this to the bottom of the file:
> [RaSCSI Images]
> comment = RaSCSI Images
> [PiSCSI Images]
> comment = PiSCSI Images
> path = /home/pi/images/
> directory mask = 0777
> create mask = 0777
@ -294,7 +294,7 @@ Add this to the bottom of the file:
We're still in the early stages of developing this knowledge base and are only starting to collect troubleshooting information. However, the vast majority of SCSI problems that sampler users have encountered over the past 30 years come down to two things: 1) Improper SCSI termination or 2) Duplicate SCSI ID's on the same chain.
If you've checked those things, please join us on the [RaSCSI-Samplers Discord Channel](https://discord.com/channels/749261651978748014/839337309752262696) or the [RaSCSI for Samplers Facebook Group](www.facebook.com/groups/RaSCSIforsamplers/) for more support.
If you've checked those things, please join us on the [PiSCSI-Samplers Discord Channel](https://discord.com/channels/749261651978748014/839337309752262696) or the [PiSCSI for Samplers Facebook Group](www.facebook.com/groups/RaSCSIforsamplers/) for more support.
There are also several hardware sampler groups on Facebook providing peer support for the samplers themselves:
@ -313,7 +313,7 @@ The tables below show the testing status for all known samplers with SCSI. It i
<table><tr><td>
<p>
There are three major connector types used in hardware samplers: DB25, CN50, and HD50. Although RaSCSI uses a DB25 connector, the SCSI standard ensures that every connector is compatible with the others. The most convenient way to connect a RaSCSI to a sampler with CN50 or HD50 is to buy a cable with DB25 on one end and the appropriate SCSI connector for your sampler on the other end. You can also use adapters, but they do tend to put stress on the SCSI jacks that they are connected to which might cause maintenance issues.
There are three major connector types used in hardware samplers: DB25, CN50, and HD50. Although PiSCSI uses a DB25 connector, the SCSI standard ensures that every connector is compatible with the others. The most convenient way to connect a PiSCSI to a sampler with CN50 or HD50 is to buy a cable with DB25 on one end and the appropriate SCSI connector for your sampler on the other end. You can also use adapters, but they do tend to put stress on the SCSI jacks that they are connected to which might cause maintenance issues.
DB25 is the oldest of the connector types, and was also common among Macintosh computers. The prevalence of the Macintosh computer in studios of all levels through the 80's and 90's is probably why the vast majority of hardware samplers used this connector.
@ -440,8 +440,8 @@ SD Card|Sandisk Ultra 32GB
Device|Analog Odyssey (32MB)|Vintage Combo (16MB)|Moog Synths (8MB)
---|---|---|---
RaSCSI (4B 8GB)|0:31|0:17|0:09
RaSCSI (pi Zero)|0:33|0:19|0:09
PiSCSI (4B 8GB)|0:31|0:17|0:09
PiSCSI (pi Zero)|0:33|0:19|0:09
SCSI2SD 5.5|0:58|0:31|0:16
SCSI2SD 6.0|0:26|0:15|0:08
@ -458,7 +458,7 @@ SD Card|Sandisk Ultra 32GB
Device|Analog Odyssey (32MB)|Vintage Combo (16MB)|Moog Synths (8MB)
---|---|---|---
RaSCSI|0:50|0:30|0:16
PiSCSI|0:50|0:30|0:16
SCSI2SD 5.5|1:10|0:41|0:21
SCSI2SD 6.0|0:51|0:32|0:16
@ -475,7 +475,7 @@ SD Card|Sandisk Ultra 32GB
Device|Analog Odyssey (32MB)|Vintage Combo (16MB)|Moog Synths (8MB)
---|---|---|---
RaSCSI|1:40|0:53|0:27
PiSCSI|1:40|0:53|0:27
SCSI2SD 5.5|1:39|0:53|0:27
SCSI2SD 6.0|1:39|0:53|0:27
@ -490,7 +490,7 @@ SD Card|Sandisk Ultra 32GB
Device|Partition A (32MB)|Partition M (24MB)
---|---|---
RaSCSI|0:00|0:00
PiSCSI|0:00|0:00
SCSI2SD 5.5|1:13|0:00
SCSI2SD 6.0|0:37|0:00
@ -505,7 +505,7 @@ SD Card|Sandisk Ultra 32GB
Device|24bit G Piano (320MB)
---|---
RaSCSI|6:36
PiSCSI|6:36
SCSI2SD 5.5|
SCSI2SD 6.0|
USB CD|8:30

@ -8,13 +8,13 @@
* The web interface will NOT work with this feature branch (yet)
* To use this branch, perform the following:
```
cd ~/RASCSI
cd ~/piscsi
git checkout feature_powerview
git pull
./easyinstall.sh
# After easyinstall is completed...
rasctl -c attach -i 4 -f powerview
# Currently, there is a special case in RaSCSI where it keys off the filename "powerview"
scsictl -c attach -i 4 -f powerview
# Currently, there is a special case in PiSCSI where it keys off the filename "powerview"
```
* I've never tried to emulate multiple PowerViews at the same time.

@ -1,3 +0,0 @@
## Managing RaSCSI with a smartphone or tablet
With the <a href="https://www.rascsi.de">RaSCSI Control app<a> for Android you manage the virtual SCSI devices, the image files and much more. In addition, you stay up to date by push messages with RaSCSI-related news. The app is directly connected to the RaSCSI server (rascsi) on the Pi. The <a href="https://www.rascsi.de">RaSCSI Control website</a> provides more information.

@ -3,9 +3,9 @@ This page summarizes the status of major new features for PiSCSI.
# Current
Project|Details|References|Status
---|---|---|---
SCSI Video Card | Emulating a PowerView SCSI video card | [wiki](https://github.com/akuker/RASCSI/wiki/PowerView---SuperView), [branch](https://github.com/akuker/RASCSI/tree/feature_powerview) | On Hold
New Web UI | Modern and flexible Web UI that can be easily customized for particular use cases. This is not meant to replace the old Web UI, but rather builds upon the same endpoints. The old Web UI is still valuable as the "vintage" version that works on really old browsers. | [branch](https://github.com/akuker/RASCSI/tree/eric/newweb) | On Hold
Super UPS | A Supercapacitor UPS hat for graceful shutdown on loss of power | [wiki](https://github.com/akuker/RASCSI/wiki/supercapacitor-ups) | Active
SCSI Video Card | Emulating a PowerView SCSI video card | [wiki](https://github.com/piscsi/piscsi/wiki/PowerView---SuperView), [branch](https://github.com/piscsi/piscsi/tree/feature_powerview) | On Hold
New Web UI | Modern and flexible Web UI that can be easily customized for particular use cases. This is not meant to replace the old Web UI, but rather builds upon the same endpoints. The old Web UI is still valuable as the "vintage" version that works on really old browsers. | [branch](https://github.com/piscsi/piscsi/tree/eric/newweb) | On Hold
Super UPS | A Supercapacitor UPS hat for graceful shutdown on loss of power | [wiki](https://github.com/piscsi/piscsi/wiki/supercapacitor-ups) | Active
Banana Pi Support | The ability to use PiSCSI with Pi-like single-board computers | [branch](https://github.com/piscsi/piscsi/tree/develop) | Active
LaserWriter SC | Emulating a SCSI Printer with compatible Macintosh drivers| Examples: [Personal LaserWriter SC](https://apple.fandom.com/wiki/Personal_LaserWriter_SC) [LaserWriter II SC](https://apple.fandom.com/wiki/LaserWriter_IISC) | Future
Fast Booting "Embedded" Image | Create customized Linux distro with a boot time < 5 seconds | | Future

@ -18,8 +18,8 @@ sudo apt install genisoimage sshpass
# Running tests
To run the test suite, run the following commands:
```
git clone https://github.com/akuker/RASCSI.git
cd RASCSI/test/robot
git clone https://github.com/piscsi/piscsi.git
cd piscsi/test/robot
robot ./
```
If everything works, you should see something like this:

@ -6,7 +6,7 @@ Steps for adding a new device type:
2. Add code for creating the device type to the DeviceFactory class in `devices/device_factory.cpp`.
3. Add the device type specific implementation in new .cpp/.h files located in the devices folder.
4. Ensure to initialize the device type with its device type properties and supported SCSI commands in the Init() method.
5. Verify that _rasctl -s_ reports the correct device type properties.
5. Verify that _scsictl -s_ reports the correct device type properties.
6. Update the manpages.
Devices have to be subclasses of PrimaryDevice or ModeSenseDevice. Only devices backed by image files may be subclasses of the StorageDevice class. See the implementations of the Host Services (SCHS) and the SCSI Printer (SCLP) for device implementations with low complexity.

@ -4,7 +4,7 @@ This page is intended for developers and/or advanced users only.
The scsimon tool allows you to capture all of the traffic on the SCSI bus and log it to a file. The data is stored in a "Value Change Data" VCD file that can be read by GTKWave
```
+---------+ +-----------+ +----------+
| | | RaSCSI | | Other |
| | | PiSCSI | | Other |
| HOST | | running | | SCSI |
| PC | | scsimon | | device(s)|
| | | | | |
@ -16,18 +16,18 @@ The scsimon tool allows you to capture all of the traffic on the SCSI bus and lo
# Checkout and build scsimon
scsimon is included in the main installation of RaSCSI. It should be located in `/usr/local/bin/scsimon`. If its not, you may need to upgrade to a newer version of the RaSCSI software.
scsimon is included in the main installation of PiSCSI. It should be located in `/usr/local/bin/scsimon`. If its not, you may need to upgrade to a newer version of the PiSCSI software.
## Special RaSCSI 1.5/1.6 modification
If you're using a RaSCSI 2.x board ("FULLSPEC"), you do not need this modification!
## Special PiSCSI 1.5/1.6 modification
If you're using a PiSCSI 2.x board ("FULLSPEC"), you do not need this modification!
If you're using a RaSCSI version 1.5 or 1.6, you will need to make the following modification to your board. This will force all of the transceivers into a RECEIVE-ONLY mode.
If you're using a PiSCSI version 1.5 or 1.6, you will need to make the following modification to your board. This will force all of the transceivers into a RECEIVE-ONLY mode.
<a href="./images/scsimon_mods.png"><img src="./images/scsimon_mods.png" width="400"/></a>
# Capture data
Make sure you've stopped the RaSCSI service. Then run scsimon. If you're trying to capture a specific scenario, you'll want to wait to start scsimon until immediately before the scenario.
Make sure you've stopped the PiSCSI service. Then run scsimon. If you're trying to capture a specific scenario, you'll want to wait to start scsimon until immediately before the scenario.
```
sudo ./scsimon
```

@ -1,26 +1,26 @@
# SCSI Network Card emulation
The aim is to provide network capabilities through SCSI interface emulated by RaSCSI.
The aim is to provide network capabilities through SCSI interface emulated by PiSCSI.
This documentation is for developer who would like to contribute to this project.
## Current status
This is not yet ready and still under development.
Packets go through `ras0` tun/tap and are read by RaSCSI service, and are sent to SCSI. I haven't been able to verify the packet arrived on the Mac yet.
Packets go through `piscsi0` tun/tap and are read by PiSCSI service, and are sent to SCSI. I haven't been able to verify the packet arrived on the Mac yet.
## How does it work?
Packets can come from `wlan0` or from localhost, they are sent to a tun/tap virtual interface named `ras0`.
The RaSCSI software connects to `ras0` and reads the packets, then write those packets to the SCSI interface.
Packets can come from `wlan0` or from localhost, they are sent to a tun/tap virtual interface named `piscsi0`.
The PiSCSI software connects to `piscsi0` and reads the packets, then write those packets to the SCSI interface.
On the Mac, the device driver, reads the packets from the SCSI physical port of the Mac and provide them to the System.
Same operation happen in the other direction when packets are sent from the Mac to the SCSI (thanks the driver).
RaSCSI reads the packets from the SCSI emulation and write then to the virtual network interface `ras0`, packets can then travel to the internet through `wlan0`.
PiSCSI reads the packets from the SCSI emulation and write then to the virtual network interface `piscsi0`, packets can then travel to the internet through `wlan0`.
```
[ wlan0 ] <---> [ ras0 ] <---> [ RaSCSI + SCSI NIC Emulation ] <---> SCSI <--> [ Mac OS Device Driver ] <-> [ Mac System ]
[ internet ] [ tun virtual ] [ read packets from ras0 and ]
[ wlan0 ] <---> [ piscsi0 ] <---> [ PiSCSI + SCSI NIC Emulation ] <---> SCSI <--> [ Mac OS Device Driver ] <-> [ Mac System ]
[ internet ] [ tun virtual ] [ read packets from piscsi0 and ]
[ interface ] [ write them to the SCSI. ]
[ read the packets from SCSI ]
[ and write them to ras0. ]
[ and write them to piscsi0. ]
```
@ -41,14 +41,14 @@ tail -f /var/log/rascsi.log
## Tools
### arping
```
arping -c 5 -I ras0 D6:90:8C:7A:17:6E
arping -c 5 -I ras0 192.168.0.1
arping -c 5 -I piscsi0 D6:90:8C:7A:17:6E
arping -c 5 -I piscsi0 192.168.0.1
```
### TCP Dump
Filter tcp traffic on the tun/tap interface
```
sudo tcpdump -I ras0 tcp
sudo tcpdump -I piscsi0 tcp
```

@ -1,12 +1,12 @@
A SCSI printer is implemented as ''SCLP'' device since RaSCSI release 22.05.
A SCSI printer is implemented as ''SCLP'' device since PiSCSI release 22.05.
Device drivers for [Atari ST/TT/Falcon and the Milan](https://github.com/akuker/RASCSI/wiki/RaSCSI-Client-Tools) are available. The device driver sources are [provided on GitHub](https://github.com/uweseimet/atari_public/tree/main/RASCSI).
Device drivers for [Atari ST/TT/Falcon and the Milan](https://github.com/piscsi/piscsi/wiki/PiSCSI-Client-Tools) are available. The device driver sources are [provided on GitHub](https://github.com/uweseimet/atari_public/tree/main/RASCSI).
# Development Resources
## Classic Macintosh
Apple produced *two* SCSI printers which could be emulated. They made the low cost [LaserWriter SC], which uses bitmaps like the ImageWriter while the [LaserWriter IISC] is a higher cost PostScript printer. Emulating these devices in RaSCSI would be one way to support printing using Apple drivers.
Apple produced *two* SCSI printers which could be emulated. They made the low cost [LaserWriter SC], which uses bitmaps like the ImageWriter while the [LaserWriter IISC] is a higher cost PostScript printer. Emulating these devices in PiSCSI would be one way to support printing using Apple drivers.
[LaserWriter SC]: https://lowendmac.com/1990/personal-laserwriter-sc
[LaserWriter IISC]: https://lowendmac.com/1988/laserwriter-iisc

@ -1,20 +1,20 @@
= Raspberry Pi operating system installation =
'''Important:''' We distribute pre-configured Raspberry Pi OS images with RaSCSI ready to be used out of the box. Please find links on the [https://tracker.iplocation.net/jtdd/ Releases] page.
'''Important:''' We distribute pre-configured Raspberry Pi OS images with PiSCSI ready to be used out of the box. Please find links on the [https://tracker.iplocation.net/jtdd/ Releases] page.
The RaSCSI software some basic software requirements, and should work on any reasonably modern version of Linux. However, development and testing for this project is done on [https://www.raspberrypi.org/downloads/raspberry-pi-os/ Raspberry Pi OS] (formerly called Raspbian). The following instructions are written with the assumption you are using Raspberry Pi OS 10. Raspberry Pi OS 11 requires additional compiler flags, see below.
The PiSCSI software some basic software requirements, and should work on any reasonably modern version of Linux. However, development and testing for this project is done on [https://www.raspberrypi.org/downloads/raspberry-pi-os/ Raspberry Pi OS] (formerly called Raspbian). The following instructions are written with the assumption you are using Raspberry Pi OS 10. Raspberry Pi OS 11 requires additional compiler flags, see below.
To get going, if you haven't already, follow the official [https://www.raspberrypi.org/documentation/installation/ Raspberry Pi OS installation instructions].
'''Note:''' Installing the desktop environment on your Raspberry Pi is not required to run RaSCSI. Consider installing Raspberry Pi OS (32-bit) Lite to save on disk space.
'''Note:''' Installing the desktop environment on your Raspberry Pi is not required to run PiSCSI. Consider installing Raspberry Pi OS (32-bit) Lite to save on disk space.
In the spirit of not running unnecessary cables, if you need to setup a WiFi connection on your Raspberry Pi, follow [https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md these steps]
__TOC__
= Clone & build the RaSCSI software =
The next step is to download the RaSCSI software from GitHub and build it.
= Clone & build the PiSCSI software =
The next step is to download the PiSCSI software from GitHub and build it.
'''1.''' [https://tutorials-raspberrypi.com/raspberry-pi-default-login-password/ Log into the Raspberry Pi.]
@ -22,38 +22,38 @@ The next step is to download the RaSCSI software from GitHub and build it.
'''1b.''' If you've installed Raspberry Pi OS Lite, ssh into your Raspberry Pi.
'''2.''' Install the git, libspdlog-dev, protobuf-compiler, and libpcap-dev packages. Git is used to clone the RaSCSI repository to your system so we can build the software. For more information on git, check [https://en.wikipedia.org/wiki/Git this Wikipedia article]. spdlog is a logging library which is used by the RaSCSI software. More information on spdlog can be [https://github.com/gabime/spdlog/wiki found here].
'''2.''' Install the git, libspdlog-dev, protobuf-compiler, and libpcap-dev packages. Git is used to clone the PiSCSI repository to your system so we can build the software. For more information on git, check [https://en.wikipedia.org/wiki/Git this Wikipedia article]. spdlog is a logging library which is used by the PiSCSI software. More information on spdlog can be [https://github.com/gabime/spdlog/wiki found here].
```
sudo apt-get update && sudo apt-get install --yes git libspdlog-dev protobuf-compiler libpcap-dev
```
'''3.''' The next step is to clone the RaSCSI Git repository, build the software, and install it on your Raspberry Pi. Enter the following commands in your terminal/ssh session.
'''3.''' The next step is to clone the PiSCSI Git repository, build the software, and install it on your Raspberry Pi. Enter the following commands in your terminal/ssh session.
```
cd ~
git clone https://github.com/akuker/RASCSI.git
git clone https://github.com/piscsi/piscsi.git
```
'''4.''' Determine which board you have. The two common options are "STANDARD" or "FULLSPEC". Information on which model you have can be found at the [https://github.com/akuker/RASCSI/wiki/Hardware-Versions Hardware Versions] page. If you purchased your RaSCSI from Tindie, you will have version 2.2 or newer, which are all "FULLSPEC" boards. You can also check the silkscreen on the RaSCSI board for the version number. Enter the following commands in your terminal/ssh session.
'''4.''' Determine which board you have. The two common options are "STANDARD" or "FULLSPEC". Information on which model you have can be found at the [https://github.com/piscsi/piscsi/wiki/Hardware-Versions Hardware Versions] page. If you purchased your PiSCSI from Tindie, you will have version 2.2 or newer, which are all "FULLSPEC" boards. You can also check the silkscreen on the PiSCSI board for the version number. Enter the following commands in your terminal/ssh session.
The ''AIBOM'' and ''GAMERNIUM'' board types are supported as well, but are not actively tested by the authors.
'''Note:''' You can also use the easyinstall.sh script, that will automate all the steps described below for you. After cloning the repository on your Raspberry Pi, execute the following (defaults to FULLSPEC):
```
cd ~/RASCSI
cd ~/piscsi
./easyinstall.sh
```
Or, if you have a '''STANDARD''' board:
```
cd ~/RASCSI
cd ~/piscsi
./easyinstall.sh -c=STANDARD
```
If you ''don't'' use the script, here follows the manual steps to compile and install RaSCSI. If you have the '''FULLSPEC''' board (version 2.1 or newer) use this...
If you ''don't'' use the script, here follows the manual steps to compile and install PiSCSI. If you have the '''FULLSPEC''' board (version 2.1 or newer) use this...
```
cd ~/RASCSI/src/raspberrypi
cd ~/piscsi/src/raspberrypi
make all CONNECT_TYPE=FULLSPEC
sudo make install CONNECT_TYPE=FULLSPEC
```
@ -62,16 +62,16 @@ If you have the '''STANDARD''' board (version 1.6 or older) use this...
```
cd ~
git clone https://github.com/akuker/RASCSI.git
cd ~/RASCSI/src/raspberrypi
git clone https://github.com/piscsi/piscsi.git
cd ~/piscsi/src/raspberrypi
make all CONNECT_TYPE=STANDARD
sudo make install CONNECT_TYPE=STANDARD
```
'''Note:''' Be sure to select the correct connection type in the above step. If you compile for STANDARD and have a FULLSPEC board, the RaSCSI software will not not behave properly, and you will not see images presented on the SCSI bus.
'''Note:''' Be sure to select the correct connection type in the above step. If you compile for STANDARD and have a FULLSPEC board, the PiSCSI software will not not behave properly, and you will not see images presented on the SCSI bus.
'''5.''' The last step is to restart the rsyslog daemon (which enables logging), configure systemd to start RaSCSI at boot, start the RaSCSI service, and verify that it is running.
'''5.''' The last step is to restart the rsyslog daemon (which enables logging), configure systemd to start PiSCSI at boot, start the PiSCSI service, and verify that it is running.
```
sudo systemctl restart rsyslog
@ -79,34 +79,34 @@ sudo systemctl enable rascsi # optional - start rascsi at boot
sudo systemctl start rascsi
sudo systemctl status rascsi
```
'''6.''' If the above steps complete successfully, you are now done cloning and building the RaSCSI software.
'''6.''' If the above steps complete successfully, you are now done cloning and building the PiSCSI software.
== Installing required Linux packages ==
To actually run the RaSCSI software, you may need to install Linux packages that the software depends on. Without those packages, the software will not run properly, and throw an error when you try to launch it.
To actually run the PiSCSI software, you may need to install Linux packages that the software depends on. Without those packages, the software will not run properly, and throw an error when you try to launch it.
If you use the easyinstall.sh script to install RaSCSI it will take care of installing the dependencies for you. But if you are installing manually, you will have to use the package manager on your Linux system to install the required packages yourself:
If you use the easyinstall.sh script to install PiSCSI it will take care of installing the dependencies for you. But if you are installing manually, you will have to use the package manager on your Linux system to install the required packages yourself:
```
sudo apt-get update && sudo apt-get install git libspdlog-dev libpcap-dev genisoimage python3 python3-venv nginx libpcap-dev protobuf-compiler bridge-utils python3-dev libev-dev libevdev2 -y
```
Note that when moving to a major new version of RaSCSI there may have been new dependencies introduced, for instance when trying out '''develop''' after having used '''master'''. It is good practice to run the easyinstall.sh script again in these cases.
Note that when moving to a major new version of PiSCSI there may have been new dependencies introduced, for instance when trying out '''develop''' after having used '''master'''. It is good practice to run the easyinstall.sh script again in these cases.
== Upgrading an existing installation to the latest ==
As this project is still under active development, many of you will want to upgrade your existing RaSCSI software. That's super easy, just follow these steps.
As this project is still under active development, many of you will want to upgrade your existing PiSCSI software. That's super easy, just follow these steps.
'''Note:''' Performing the following will stop and restart the RaSCSI software. This will make your RaSCSI presented images disappear and re-appear on the SCSI bus when the service is stopped, and restarted.
'''Note:''' Performing the following will stop and restart the PiSCSI software. This will make your PiSCSI presented images disappear and re-appear on the SCSI bus when the service is stopped, and restarted.
If you have the '''FULLSPEC''' board (version 2.1 or newer) use this...
```
cd ~/RASCSI
cd ~/piscsi
sudo systemctl stop rascsi
sudo apt-get update && sudo apt-get install git libspdlog-dev libpcap-dev genisoimage python3 python3-venv nginx libpcap-dev protobuf-compiler bridge-utils python3-dev libev-dev libevdev2 -y
git pull
cd ~/RASCSI/src/raspberrypi
cd ~/piscsi/src/raspberrypi
make clean
make all CONNECT_TYPE=FULLSPEC
sudo make install CONNECT_TYPE=FULLSPEC
@ -117,11 +117,11 @@ sudo systemctl status rascsi
If you have the '''STANDARD''' board (version 1.6 or older) use this...
```
cd ~/RASCSI
cd ~/piscsi
sudo systemctl stop rascsi
sudo apt-get update && sudo apt-get install git libspdlog-dev libpcap-dev genisoimage python3 python3-venv nginx libpcap-dev protobuf-compiler bridge-utils python3-dev libev-dev libevdev2 -y
git pull
cd ~/RASCSI/src/raspberrypi
cd ~/piscsi/src/raspberrypi
make clean
make all CONNECT_TYPE=STANDARD
sudo make install CONNECT_TYPE=STANDARD
@ -129,29 +129,29 @@ sudo systemctl start rascsi
sudo systemctl status rascsi
```
= Reviewing the RaSCSI service logs =
= Reviewing the PiSCSI service logs =
Logging for the RaSCSI daemon can be found in /var/log/rascsi.log
Logging for the PiSCSI daemon can be found in /var/log/rascsi.log
Once you've completed the steps above, you can confirm the daemon is running by checking /var/log/rascsi.log
```
pi@raspberrypi:~/RASCSI/src/raspberrypi $ cat /var/log/rascsi.log
Nov 5 08:52:40 rasp32 RASCSI[32588]: SCSI Target Emulator RaSCSI Reloaded version 22.11 (Oct 26 2022 11:49:27)
Nov 5 08:52:40 rasp32 RASCSI[32588]: Powered by XM6 TypeG Technology / Copyright (C) 2016-2020 GIMONS
Nov 5 08:52:40 rasp32 RASCSI[32588]: Copyright (C) 2020-2022 Contributors to the RaSCSI Reloaded project
Nov 5 08:52:40 rasp32 RASCSI[32588]: Connect type: FULLSPEC
pi@raspberrypi:~/piscsi/src/raspberrypi $ cat /var/log/rascsi.log
Nov 5 08:52:40 rasp32 piscsi[32588]: SCSI Target Emulator PiSCSI Reloaded version 22.11 (Oct 26 2022 11:49:27)
Nov 5 08:52:40 rasp32 piscsi[32588]: Powered by XM6 TypeG Technology / Copyright (C) 2016-2020 GIMONS
Nov 5 08:52:40 rasp32 piscsi[32588]: Copyright (C) 2020-2022 Contributors to the PiSCSI Reloaded project
Nov 5 08:52:40 rasp32 piscsi[32588]: Connect type: FULLSPEC
```
If you see output similar to the above, the RaSCSI service has compiled without issue, and you've created and started the service successfully.
If you see output similar to the above, the PiSCSI service has compiled without issue, and you've created and started the service successfully.
= I have the software, what next? =
With the above steps completed, we proceed to [[Connecting the RaSCSI]]. This document covers SCSI devices, termination and how to connect your RaSCSI device to a computer.
With the above steps completed, we proceed to [[Connecting the PiSCSI]]. This document covers SCSI devices, termination and how to connect your PiSCSI device to a computer.
= (Optional) Cross-Compile Instructions =
This section does not apply to most users. If you want to cross-compile RaSCSI from an Ubuntu host, you first need to install the cross compiler packages:
This section does not apply to most users. If you want to cross-compile PiSCSI from an Ubuntu host, you first need to install the cross compiler packages:
```
sudo apt install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf binutils-arm-linux-gnueabihf
@ -177,8 +177,8 @@ To explicitly build for ARM (ARM is also the default, so this shouldn't be neces
= Compiling on x86/x86_64 Linux PCs =
A lot of the rascsi code does not require the RaSCSI hardware and can be run and tested on a regular Linux PC. rasctl can be run on a Linux PC without restrictions and can access rascsi on the Pi remotely with the -h option.
With these environment settings the complete RaSCSI code compiles with g++ or clang++ (faster than g++) on x86/x86_64 PCs:
A lot of the rascsi code does not require the PiSCSI hardware and can be run and tested on a regular Linux PC. scsictl can be run on a Linux PC without restrictions and can access rascsi on the Pi remotely with the -h option.
With these environment settings the complete PiSCSI code compiles with g++ or clang++ (faster than g++) on x86/x86_64 PCs:
```
EXTRA_FLAGS="-DSPDLOG_FMT_EXTERNAL -DFMT_HEADER_ONLY"
@ -188,28 +188,28 @@ Using the Eclipse IDE for development helps with browsing, refactoring and unit-
<!--
= In development..... use the RaSCSI disk image =
= In development..... use the PiSCSI disk image =
<s>
DRAFT****
- Download the RaSCSI image
- Download the PiSCSI image
- Unzip
- Windows / MacOS
- Download [Balena Etcher](https://www.balena.io/etcher/)
<a href="/akuker/RASCSI/wiki/images/image_setup/etcher_image_1.png"><img src="/akuker/RASCSI/wiki/images/image_setup/etcher_image_1.png" width="100" height="100"/></a>
<a href="/akuker/RASCSI/wiki/images/image_setup/etcher_image_2.png"><img src="/akuker/RASCSI/wiki/images/image_setup/etcher_image_2.png" width="100"/></a>
<a href="/akuker/RASCSI/wiki/images/image_setup/etcher_image_3.png"><img src="/akuker/RASCSI/wiki/images/image_setup/etcher_image_3.png" width="100"/></a>
<a href="/akuker/RASCSI/wiki/images/image_setup/etcher_image_4.png"><img src="/akuker/RASCSI/wiki/images/image_setup/etcher_image_4.png" width="100"/></a>
<a href="/akuker/RASCSI/wiki/images/image_setup/raspi-config_confirm_enable_ssh.png"><img src="/akuker/RASCSI/wiki/images/image_setup/raspi-config_confirm_enable_ssh.png"/></a>
<a href="/akuker/RASCSI/wiki/images/image_setup/raspi-config_hostname.png"><img src="/akuker/RASCSI/wiki/images/image_setup/raspi-config_hostname.png"/></a>
<a href="/akuker/RASCSI/wiki/images/image_setup/raspi-config_hostname_warning.png"><img src="/akuker/RASCSI/wiki/images/image_setup/raspi-config_hostname_warning.png"/></a>
<a href="/akuker/RASCSI/wiki/images/image_setup/raspi-config_interface_options.png"><img src="/akuker/RASCSI/wiki/images/image_setup/raspi-config_interface_options.png"/></a>
<a href="/akuker/RASCSI/wiki/images/image_setup/raspi-config_login.png"><img src="/akuker/RASCSI/wiki/images/image_setup/raspi-config_login.png"/></a>
<a href="/akuker/RASCSI/wiki/images/image_setup/raspi-config_new_hostname.png"><img src="/akuker/RASCSI/wiki/images/image_setup/raspi-config_new_hostname.png"/></a>
<a href="/akuker/RASCSI/wiki/images/image_setup/raspi-config_password.png"><img src="/akuker/RASCSI/wiki/images/image_setup/raspi-config_password.png"/></a>
<a href="/piscsi/piscsi/wiki/images/image_setup/etcher_image_1.png"><img src="/piscsi/piscsi/wiki/images/image_setup/etcher_image_1.png" width="100" height="100"/></a>
<a href="/piscsi/piscsi/wiki/images/image_setup/etcher_image_2.png"><img src="/piscsi/piscsi/wiki/images/image_setup/etcher_image_2.png" width="100"/></a>
<a href="/piscsi/piscsi/wiki/images/image_setup/etcher_image_3.png"><img src="/piscsi/piscsi/wiki/images/image_setup/etcher_image_3.png" width="100"/></a>
<a href="/piscsi/piscsi/wiki/images/image_setup/etcher_image_4.png"><img src="/piscsi/piscsi/wiki/images/image_setup/etcher_image_4.png" width="100"/></a>
<a href="/piscsi/piscsi/wiki/images/image_setup/raspi-config_confirm_enable_ssh.png"><img src="/piscsi/piscsi/wiki/images/image_setup/raspi-config_confirm_enable_ssh.png"/></a>
<a href="/piscsi/piscsi/wiki/images/image_setup/raspi-config_hostname.png"><img src="/piscsi/piscsi/wiki/images/image_setup/raspi-config_hostname.png"/></a>
<a href="/piscsi/piscsi/wiki/images/image_setup/raspi-config_hostname_warning.png"><img src="/piscsi/piscsi/wiki/images/image_setup/raspi-config_hostname_warning.png"/></a>
<a href="/piscsi/piscsi/wiki/images/image_setup/raspi-config_interface_options.png"><img src="/piscsi/piscsi/wiki/images/image_setup/raspi-config_interface_options.png"/></a>
<a href="/piscsi/piscsi/wiki/images/image_setup/raspi-config_login.png"><img src="/piscsi/piscsi/wiki/images/image_setup/raspi-config_login.png"/></a>
<a href="/piscsi/piscsi/wiki/images/image_setup/raspi-config_new_hostname.png"><img src="/piscsi/piscsi/wiki/images/image_setup/raspi-config_new_hostname.png"/></a>
<a href="/piscsi/piscsi/wiki/images/image_setup/raspi-config_password.png"><img src="/piscsi/piscsi/wiki/images/image_setup/raspi-config_password.png"/></a>
</s>
<!-- <a href="/akuker/RASCSI/wiki/images/image_setup/raspi-config_setup_ssh.png"><img src="/akuker/RASCSI/wiki/images/image_setup/raspi-config_setup_ssh.png"/></a>
<a href="/akuker/RASCSI/wiki/images/image_setup/raspi-config_setup_wifi.png"><img src="/akuker/RASCSI/wiki/images/image_setup/raspi-config_setup_wifi.png"/></a>
<a href="/akuker/RASCSI/wiki/images/image_setup/raspi-config_system_options.png"><img src="/akuker/RASCSI/wiki/images/image_setup/raspi-config_system_options.png" width="10%"/></a> -->
<!-- <a href="/piscsi/piscsi/wiki/images/image_setup/raspi-config_setup_ssh.png"><img src="/piscsi/piscsi/wiki/images/image_setup/raspi-config_setup_ssh.png"/></a>
<a href="/piscsi/piscsi/wiki/images/image_setup/raspi-config_setup_wifi.png"><img src="/piscsi/piscsi/wiki/images/image_setup/raspi-config_setup_wifi.png"/></a>
<a href="/piscsi/piscsi/wiki/images/image_setup/raspi-config_system_options.png"><img src="/piscsi/piscsi/wiki/images/image_setup/raspi-config_system_options.png" width="10%"/></a> -->

@ -3,44 +3,44 @@ RaSCSI was originally developed using the SCSI controller code of the X68000 emu
Other users have reported it working on a first gen X68000, ACE, EXPERT, XVI, PRO2, SUPER, etc. It is safe to say that it works well on the X68000 platform. The SCSI interface of a SUPER or later is recommended. Multiple SCSI interfaces in one system work well too.
As of RaSCSI Reloaded v22.10.01, SASI support has been deprecated.
As of PiSCSI Reloaded v22.10.01, SASI support has been deprecated.
== X68000 OS support ==
Human68k 3.02 is recommended to use all functions, because the Ethernet function and the remote drive function are provided only by the Human68k device driver. If you are using only SCSI mass storage devices, it is no problem to use NetBSD etc.
= X68000 Features =
RaSCSI implements a virtual SCSI device called the Host Bridge in order to bridge the Raspberry Pi host system and the X68000. The Host Bridge together with the following X68000 specific drivers enables a range of features.
PiSCSI implements a virtual SCSI device called the Host Bridge in order to bridge the Raspberry Pi host system and the X68000. The Host Bridge together with the following X68000 specific drivers enables a range of features.
There are two special drivers for the X68000 that enable these features.
* RASDRV.SYS -- Host Drive driver
* RASETHER.SYS -- Ethernet driver
They can either be build from C source code, found under src/x68k/, or in the RASDRIVER.XDF and RASDRIVER.HDS drive images that are found under bin/x68k/. For convenience, it is recommended to mount these image directly with RaSCSI to easily get the drivers as well as other support programs on to your X68000 system.
They can either be build from C source code, found under src/x68k/, or in the RASDRIVER.XDF and RASDRIVER.HDS drive images that are found under bin/x68k/. For convenience, it is recommended to mount these image directly with PiSCSI to easily get the drivers as well as other support programs on to your X68000 system.
== Ethernet driver ==
Provides equivalent networking functionality of a Neptune-X Ethernet adapter, which is an Ethernet box that's connected over the SCSI bus. It uses a TAP device on the Raspberry Pi to translate network traffic. Similar to Ether+.
It was developed while referencing Shi-MAD's ''ether_ne.sys ver0.03 +M01 +1 +L12'' driver which itself is a modified version of the ''ether_ne.sys'' driver for the ISA bus bridge Ethernet adapter Neptune-X. Its use shall therefore be governed by the terms & conditions of those drivers.
It is also possible to use the original Neptune-X driver with RaSCSI.
It is also possible to use the original Neptune-X driver with PiSCSI.
Source code available at [https://github.com/rdmark/RASCSI-X68k/tree/main/src/x68k/RASETHER]
== Host File System driver ==
Provides a similar functionality as WindrvXM, which has become the de-facto standard on X68000 emulators. This makes it possible to mount the Raspberry Pi file system as a remote drive by connecting the X68000 to the host using a Host Bridge device.
You can attach the Host Bridge device to RaSCSI just like any other device, either by passing 'bridge' as the file parameter, or using the 'scbr' device type.
You can attach the Host Bridge device to PiSCSI just like any other device, either by passing 'bridge' as the file parameter, or using the 'scbr' device type.
```
/usr/local/bin/rascsi -ID6 bridge
-or- /usr/local/bin/rasctl -i 6 -c attach -t bridge
-or- /usr/local/bin/scsictl -i 6 -c attach -t bridge
```
Source code available at [https://github.com/rdmark/RASCSI-X68k/tree/main/src/x68k/RASDRV]
== RASCTL.X ==
Similarly to rasctl for RaSCSI on the host side, a similar utility has been implemented in a Human68k executable called RASCTL.X which enables you to attach, detach, change media, set protection flags, stop rascsi, and shut down the Raspberry Pi from the X68000 system.
Similarly to rasctl for PiSCSI on the host side, a similar utility has been implemented in a Human68k executable called RASCTL.X which enables you to attach, detach, change media, set protection flags, stop rascsi, and shut down the Raspberry Pi from the X68000 system.
Usage is very similar to rasctl, so refer to its man page.
@ -119,7 +119,7 @@ Extended options for RASETHER
```
== Configure the Raspberry Pi ==
FOR WIFI REFER TO [https://github.com/akuker/RASCSI/wiki/Dayna-Port-SCSI-Link]
FOR WIFI REFER TO [https://github.com/piscsi/piscsi/wiki/Dayna-Port-SCSI-Link]
FOR LAN REFER TO ...
@ -130,10 +130,10 @@ Create the TAP interface like this, for example:
```
[Add to your startup script, such as /etc/rc.local]
ip tuntap add ras0 mode tap user root
ip link set ras0 up
ifconfig ras0 inet 192.168.68.1/8 up
route add -net 192.168.68.0 netmask 255.255.255.0 dev ras0
ip tuntap add piscsi0 mode tap user root
ip link set piscsi0 up
ifconfig piscsi0 inet 192.168.68.1/8 up
route add -net 192.168.68.0 netmask 255.255.255.0 dev piscsi0
```
-OUTDATED END-
@ -142,7 +142,7 @@ This enables a network connection between the Raspberry Pi on 10.10.20.2 and X68
Additional configuration may be required depending on your environment. For WiFi, please utilize RASCSI Reloaded to mount the RASCI BRIDGE using 10.10.20.1/24.
= Host Filesystem Integration =
RaSCSI provides similar functionality to Windrv and WindrvXM that are commonly used with X68000 emulators XM6/XM6 Kai/TypeG. Using the RASDRV.SYS driver you can mount and access the Raspberry Pi file system from your X68000 and carry out any file operations.
PiSCSI provides similar functionality to Windrv and WindrvXM that are commonly used with X68000 emulators XM6/XM6 Kai/TypeG. Using the RASDRV.SYS driver you can mount and access the Raspberry Pi file system from your X68000 and carry out any file operations.
Registering the device driver is simple. F.e. add this to latter part of CONFIG.SYS:
@ -163,4 +163,4 @@ If you're using SUSIE, please configure RASDRV.SYS to be loaded before SUSIE. It
For other options, refer to the documentation for WindrvXM.
= Other Versions =
[https://github.com/RaSCSI/RaSCSI RaSCSI] contains the original RaSCSI codebase by GIMONS. It maintains the original feature set geared towards X68000, such as the Net Device and Host Services. You may want to try this version of the software out instead if you're using your RaSCSI with a X68000. It's expected to be compatible with RaSCSI Reloaded hardware.
[https://github.com/rascsi/rascsi RaSCSI] contains the original RaSCSI codebase by GIMONS. It maintains the original feature set geared towards X68000, such as the Net Device and Host Services. You may want to try this version of the software out instead if you're using your RaSCSI with a X68000. It's expected to be compatible with PiSCSI and RaSCSI hardware.

@ -1,10 +1,10 @@
# Background
The RaSCSI service caches data in RAM. When power is pulled from a RaSCSI/Raspberry Pi setup, it is possible to lose some or all of this data. In order to allow a graceful shutdown of the RaSCSI service and the Raspberry Pi OS, a USP can be added to the assembly. This way, when power is removed, the Raspberry Pi will have enough saved power to properly shut down.
The PiSCSI service caches data in RAM. When power is pulled from a PiSCSI/Raspberry Pi setup, it is possible to lose some or all of this data. In order to allow a graceful shutdown of the PiSCSI service and the Raspberry Pi OS, a USP can be added to the assembly. This way, when power is removed, the Raspberry Pi will have enough saved power to properly shut down.
# Prototype Phase: Dr. Scott M. Baker design
Dr. Scott M. Baker has designed two different UPS versions that will work with the RaSCSI. He has generously made these available on this blog for other people to use. [Tutorial video](https://www.youtube.com/watch?v=j5Bv8r3TVPM).
Dr. Scott M. Baker has designed two different UPS versions that will work with the PiSCSI. He has generously made these available on this blog for other people to use. [Tutorial video](https://www.youtube.com/watch?v=j5Bv8r3TVPM).
## Assembly
![image](https://user-images.githubusercontent.com/34318535/165860429-e71abe1e-e8b8-42eb-8194-94afd55ff2b6.png)
@ -31,6 +31,6 @@ For me, the pin names were very confusing. Here's my conversion table:
You'll need to install the [TinyWireS](https://github.com/nadavmatalon/TinyWireS) library following [these instructions](https://www.baldengineer.com/installing-arduino-library-from-github.html).
# "Official" RaSCSI version
# "Official" PiSCSI version
For the RaSCSI, akuker will be focusing on the 12v version of Dr. Baker's UPS. A modified version of this is being designed and will be offered in the Tindie store (when it is ready).
For the PiSCSI, akuker will be focusing on the 12v version of Dr. Baker's UPS. A modified version of this is being designed and will be offered in the Tindie store (when it is ready).

@ -1,20 +1,20 @@
# Overview
This page summarizes the emulated device supported by RaSCSI, with notes on compatibility and device drivers for various platforms.
This page summarizes the emulated device supported by PiSCSI, with notes on compatibility and device drivers for various platforms.
# Device Types
Device|Key|Supported Platforms|Notes
---|---|---|---
Hard Disk Drive|SCHD|all|
CD/DVD Drive|SCCD|all|The [Apple CD-ROM drivers](https://github.com/akuker/RASCSI/wiki/Drive-Setup#Mounting_CD_ISO_or_MO_images) in combination with RaSCSI is known to lead to incompatibility with particular ISO images
CD/DVD Drive|SCCD|all|The [Apple CD-ROM drivers](https://github.com/piscsi/piscsi/wiki/Drive-Setup#Mounting_CD_ISO_or_MO_images) in combination with PiSCSI is known to lead to incompatibility with particular ISO images
Removable Disk Drive|SCRM|all*|*Functionality may depend on INQUIRY masquerading and proprietary device drivers, f.e. [Iomega Floptical](Iomega-Floptical)
Magneto-Optical Drive|SCMO|NeXT, X68000, etc.|
DaynaPORT SCSI/Link|SCDP|Macintosh, Atari ST|Requires [device drivers](Dayna-Port-SCSI-Link)
Host Bridge|SCBR|X68000|Enables ethernet networking and mounting a remote file system. Requires [device drivers](https://github.com/rdmark/RASCSI-X68k/wiki)
Host Services|SCHS|Atari ST|Enables remote control of the RaSCSI. Requires [device drivers](RaSCSI-Client-Tools)
Printer|SCLP|Atari ST|Requires [device drivers](RaSCSI-Client-Tools)
Host Services|SCHS|Atari ST|Enables remote control of the PiSCSI. Requires [device drivers](PiSCSI-Client-Tools)
Printer|SCLP|Atari ST|Requires [device drivers](PiSCSI-Client-Tools)
# Image Types
This describes the file endings that RaSCSI will recognize automatically, with usage notes. For non-recognized image types, you will have to specify the device type to use it as when attaching.
This describes the file endings that PiSCSI will recognize automatically, with usage notes. For non-recognized image types, you will have to specify the device type to use it as when attaching.
Image Type|File ending|Usage notes
---|---|---

@ -1,9 +1,9 @@
The original RaSCSI uses the [SN74LS641](https://www.ti.com/lit/ds/symlink/sn74ls641.pdf) bus transceiver. However, with each device needed 4 of these @ $3.30 each, the amounts to a significant percentage of the cost. The following contains some notes regarding what other SCSI emulators have used.
The original PiSCSI uses the [SN74LS641](https://www.ti.com/lit/ds/symlink/sn74ls641.pdf) bus transceiver. However, with each device needed 4 of these @ $3.30 each, the amounts to a significant percentage of the cost. The following contains some notes regarding what other SCSI emulators have used.
| Suitable for RaSCSI? | Product | Chip and Datasheet | Cost ($) | Qty needed | Notes |
| Suitable for PiSCSI? | Product | Chip and Datasheet | Cost ($) | Qty needed | Notes |
| - | - | - | - | - | - |
| ✅ | RaSCSI Original Version | [SN74LS641-1](https://www.mouser.com/ProductDetail/Texas-Instruments/SN74LS641-1DW?qs=SL3LIuy2dWxXHvPKLk%252BfLw%3D%3D) | [$3.66 US](https://www.mouser.com/ProductDetail/Texas-Instruments/SN74LS641-1DW?qs=SL3LIuy2dWxXHvPKLk%252BfLw%3D%3D)| 4 | VCC is 5v |
| ✅ | PiSCSI Original Version | [SN74LS641-1](https://www.mouser.com/ProductDetail/Texas-Instruments/SN74LS641-1DW?qs=SL3LIuy2dWxXHvPKLk%252BfLw%3D%3D) | [$3.66 US](https://www.mouser.com/ProductDetail/Texas-Instruments/SN74LS641-1DW?qs=SL3LIuy2dWxXHvPKLk%252BfLw%3D%3D)| 4 | VCC is 5v |
| ✅❓ | Potential Candidate | [SN74ALS245A-1](https://www.ti.com/lit/ds/symlink/sn74als245a.pdf) | [$1.42 US](https://www.mouser.com/ProductDetail/Texas-Instruments/SN74ALS245A-1NSR?qs=zhgwDAIOVxtxt0cXsshpuw%3D%3D) | 4 | VCC 5v, -1 unit will sink 48mA |
| ✅❓ | Potential Candidate | [SN74F245DW](https://www.ti.com/lit/ds/symlink/sn74f245.pdf?)| [$1.11 US](https://www.mouser.com/ProductDetail/Texas-Instruments/SN74F245DW?qs=rshUhwi3fbYzYsqSsk5U6A%3D%3D) | 4 | Low state current can sink 48mA|
| ✅❓ | Potential Candidate | [SN74ABT245B](https://www.ti.com/lit/ds/symlink/sn74abt245b.pdf) | [$1.00 - $1.30 US](https://www.mouser.com/c/semiconductors/logic-ics/bus-transceivers/?m=Texas%20Instruments&series=SN74ABT245B) | 4 | |
@ -16,7 +16,7 @@ The original RaSCSI uses the [SN74LS641](https://www.ti.com/lit/ds/symlink/sn74l
| ❌ | Unsuitable| [SN7406DRG4](https://www.ti.com/lit/ds/symlink/sn7406.pdf?HQS=TI-null-null-digikeymode-df-pf-null-wwe&ts=1599282149626)| 1.34 | 4 | Can only sink 40mA. Will require new layout and increase in chip count as it has less i/o than above. |
| ❌ | Unsuitable | [74HCT245D](https://assets.nexperia.com/documents/data-sheet/74HC_HCT245.pdf) | [$0.69 US](https://www.mouser.com/ProductDetail/Nexperia/74HCT245D653?qs=P62ublwmbi%2FKRO6CQW%252BPyg%3D%3D) | 4 | VCC is 5v. Datasheet reads input clamping current -20mA |
Note: as of 2020-08-04 the **SN74LS641-1** is the transceiver suggested when building the RaSCSI.
Note: as of 2020-08-04 the **SN74LS641-1** is the transceiver suggested when building the PiSCSI.
Some additional parts
@ -95,8 +95,8 @@ See [section 5.4 of the SCSI-2 standard](https://www.staff.uni-mainz.de/tacke/sc
configurations, it is recommended that the nominal switching threshold be approximately 1.4 V.
### RaSCSI
From [the v1.6 schematic](https://github.com/akuker/RASCSI/blob/master/hw/rascsi_1p6/rascsi_din.sch.pdf), the following signals need to be bidirectional:
### PiSCSI
From [the v1.6 schematic](https://github.com/piscsi/piscsi/blob/master/hw/rascsi_1p6/rascsi_din.sch.pdf), the following signals need to be bidirectional:
> DP, D0, D1, D2, D3, D4, D5, D6, D7
@ -120,7 +120,7 @@ They should probably be Schmitt-trigger inputs on the SCSI bus side. See the "Si
0.5v SCSI Maximum Output Voltage for Asserted Signal
0.2v Typical Driver-Asserted Signal
From [the 2.x schematic](https://github.com/akuker/RASCSI/blob/master/hw/rascsi_2p1/rascsi_2p1_sch.pdf), all signals are bidirectional, switched on three different signals.
From [the 2.x schematic](https://github.com/piscsi/piscsi/blob/master/hw/rascsi_2p1/rascsi_2p1_sch.pdf), all signals are bidirectional, switched on three different signals.
Switched by `PI-DTD`:

@ -1,18 +1,18 @@
= Hardware troubleshooting =
== Schematics ==
Schematics for the RaSCSI Reloaded are available in pdf format. Choose the one that corresponds to the hardware revision of your particular board.
Schematics for the PiSCSI Reloaded are available in pdf format. Choose the one that corresponds to the hardware revision of your particular board.
=== Full-size ===
* [/akuker/RASCSI/wiki/sch/rascsi_1p5_sch.pdf 1p5]
* [/akuker/RASCSI/wiki/sch/rascsi_1p6_sch.pdf 1p6]
* [/akuker/RASCSI/wiki/sch/rascsi_2p2_sch.pdf 2p2]
* [/akuker/RASCSI/wiki/sch/rascsi_2p3_sch.pdf 2p3]
* [/akuker/RASCSI/wiki/sch/rascsi_2p4_sch.pdf 2p4]
* [/akuker/RASCSI/wiki/sch/rascsi_2p5_sch.pdf 2p5]
* [/piscsi/piscsi/wiki/sch/rascsi_1p5_sch.pdf 1p5]
* [/piscsi/piscsi/wiki/sch/rascsi_1p6_sch.pdf 1p6]
* [/piscsi/piscsi/wiki/sch/rascsi_2p2_sch.pdf 2p2]
* [/piscsi/piscsi/wiki/sch/rascsi_2p3_sch.pdf 2p3]
* [/piscsi/piscsi/wiki/sch/rascsi_2p4_sch.pdf 2p4]
* [/piscsi/piscsi/wiki/sch/rascsi_2p5_sch.pdf 2p5]
=== Zero ===
* [/akuker/RASCSI/wiki/sch/rascsi_zero_1p0_sch.pdf 1p0]
* [/piscsi/piscsi/wiki/sch/rascsi_zero_1p0_sch.pdf 1p0]
== Termination ==
First step in troubleshooting is to check the termination. Seriously. Check this.
@ -23,11 +23,11 @@ https://lowendmac.com/1998/termination-explained/
Re-check it again.
== Loopback Testing ==
A way to check out the RaSCSI hardware is to create a loopback cable. This can be done using jumper wires or a specially-constructed DB25 male jack connector can be created to allow easy re-use.
A way to check out the PiSCSI hardware is to create a loopback cable. This can be done using jumper wires or a specially-constructed DB25 male jack connector can be created to allow easy re-use.
[[images/loopback_picture.jpg | height = 150px]][[images/loopback_option_2.jpg | height=200px]]
The diagram for the loopback connections is shown here. Note that the RaSCSI connector is a FEMALE connector. If you are using a gender changer (as in the previous picture), you want to use the MALE connector pinout
The diagram for the loopback connections is shown here. Note that the PiSCSI connector is a FEMALE connector. If you are using a gender changer (as in the previous picture), you want to use the MALE connector pinout
{|
| '''FEMALE connector pinout''' <a href="images/SCSI_Loopback_Female.png">[[images/SCSI_Loopback_Female.png]]</a>
@ -35,13 +35,13 @@ The diagram for the loopback connections is shown here. Note that the RaSCSI con
|}
[https://drive.google.com/file/d/1LOT1FmA7XpJ3NWiGojUwsjnxTC_x_HD8/view?usp=sharing Link to original drawing]
Once you have the loopback connections made, you can checkout the RaSCSI source code and run the loopback test python script. (Note: This requires python3 to run)
Once you have the loopback connections made, you can checkout the PiSCSI source code and run the loopback test python script. (Note: This requires python3 to run)
'''Before running this test:'''
- '''Ensure that you have termination enabled before running this test!!'''
- '''Ensure that the RaSCSI service is NOT running''' `sudo systemctl stop rascsi`
- '''Ensure that the PiSCSI service is NOT running''' `sudo systemctl stop rascsi`
- '''Double check your loopback that you do NOT have TERM POWER connected to Ground!!!'''
@ -49,16 +49,16 @@ Once you have the loopback connections made, you can checkout the RaSCSI source
```
cd ~
git clone https://github.com/akuker/RASCSI.git
cd ~/RASCSI
git clone https://github.com/piscsi/piscsi.git
cd ~/piscsi
# FOR NOW, the code is only available on the 'develop' branch
git checkout develop
cd ~/RASCSI/src/loopback_test/
cd ~/piscsi/src/loopback_test/
pip install RPi.GPIO
./test.py
```
The Python test script will list all of the SCSI signals that are not working properly. You can the use the [https://github.com/akuker/RASCSI/raw/master/hw/rascsi_2p3/rascsi_2p3_sch.pdf schematic]to debug if there are any broken traces, lifted pads or bad solder joints.
The Python test script will list all of the SCSI signals that are not working properly. You can the use the [https://github.com/piscsi/piscsi/raw/master/hw/rascsi_2p3/rascsi_2p3_sch.pdf schematic]to debug if there are any broken traces, lifted pads or bad solder joints.
Note: this concept was original created by Saybur for the Scuznet board: https://github.com/saybur/scuznet/tree/master/testing
@ -75,12 +75,12 @@ You can test each individual SCSI signal using a multimeter. This procedure is l
Turn on the termination DIP switches
Pull out your trusty multimeter. With the RaSCSI software running, disconnect all SCSI devices and check the voltages:
Pull out your trusty multimeter. With the PiSCSI software running, disconnect all SCSI devices and check the voltages:
* TPWR should be 5v
* D0-D7 should be around 3.08v
* Control signals should be around 3.08v
STOP the RaSCSI service `sudo systemctl stop rascsi`.
STOP the PiSCSI service `sudo systemctl stop rascsi`.
* Check the LEDS
raspi-gpio set 4 op dh # ACT LED should be ON
@ -222,7 +222,7 @@ STOP the RaSCSI service `sudo systemctl stop rascsi`.
== SCSI cable issues ==
SCSI is sensitive to cable length and cabling quality issues. If you are experiencing failures with certain operations in your sampler, try using a shorter cable! Note that failures may not necessarily show up as errors in the RaSCSI logs, since it might be sending messages perfectly fine that are being lost in transit.
SCSI is sensitive to cable length and cabling quality issues. If you are experiencing failures with certain operations in your sampler, try using a shorter cable! Note that failures may not necessarily show up as errors in the PiSCSI logs, since it might be sending messages perfectly fine that are being lost in transit.
= Software =
== SPDLOG compile error ==
@ -258,9 +258,9 @@ dtoverlay=disable-bt
dtoverlay=disable-wifi
```
== The RaSCSI is behaving erratically ==
== The PiSCSI is behaving erratically ==
If your RaSCSI setup is starting up but behaving erratically, it may not be getting enough power from the power supply or SCSI bus. Symptoms include the network interface going down randomly, or the SCSI host not recognizing attached devices due to lack of termination power.
If your PiSCSI setup is starting up but behaving erratically, it may not be getting enough power from the power supply or SCSI bus. Symptoms include the network interface going down randomly, or the SCSI host not recognizing attached devices due to lack of termination power.
One way to determine that the Raspberry Pi isn't getting enough power, is to observe the syslog and look for <code>Under-voltage detected!</code> messages.

@ -1,16 +1,16 @@
# Introduction
If you're reading this, you may just have gotten your vintage computer online, through RaSCSI's [DaynaPORT adapter emulation](https://github.com/akuker/RASCSI/wiki/Dayna-Port-SCSI-Link), other any other means. And now you're asking yourself, what's next?
If you're reading this, you may just have gotten your vintage computer online, through PiSCSI's [DaynaPORT adapter emulation](https://github.com/piscsi/piscsi/wiki/Dayna-Port-SCSI-Link), other any other means. And now you're asking yourself, what's next?
While a vintage computer is excellent for [telneting into a BBS](https://www.pcmag.com/news/7-modern-bbses-worth-calling-today) such as Level 29, or browsing websites made for vintage computers such as http://www.theoldnet.com or http://68k.news, the broader modern Web is an unforgiving place for a vintage computer and its equally vintage browsers. The sheet amount of data that they send to the user agent, javascript libraries thousands of lines long, massive images in exotic formats, multimedia, etc... It may take minutes to load a page, and minutes more to parse and reflow the DOM over and over, and you're lucky if it doesn't crash when running out of memory.
And the biggest practical hurdle: the move to enforcing encrypted https connections on a vast majority of sites (I blame Google for that) that even the last versions of classic Mac OS (or AmigaOS, Windows 98, etc.) aren't able to decrypt due to expired root certificates or other cryptographic limitations.
Vintage Web Proxy servers to the rescue! The Raspberry Pi that RaSCSI runs on is a versatile little device, and if it is not already overburdened by other software, it should be able to run a proxy server in parallel with RaSCSI. This page will cover a few options, tested in particular with older Macs.
Vintage Web Proxy servers to the rescue! The Raspberry Pi that PiSCSI runs on is a versatile little device, and if it is not already overburdened by other software, it should be able to run a proxy server in parallel with PiSCSI. This page will cover a few options, tested in particular with older Macs.
# Macproxy
*Note:* As of RaSCSI 21.11.01, easyinstall.sh has an option to install Macproxy for you.
*Note:* As of PiSCSI 21.11.01, easyinstall.sh has an option to install Macproxy for you.
Despite the name, the use of Macproxy is not at all limited to Macs. It is a super light-weight proxy implemented as a Python script running a Flask app, which will translate https requests to http, and strip out the vast majority of linked contents such as style sheets and JavaScript, while suppressing inline scripts as well. It has support for binary file downloading, and will retain embedded images to be decoded by vintage browsers.
@ -41,7 +41,7 @@ The author has tested and recommends the _0.11.1-noffmpeg_ release for ARM. By u
Follow the [Linux installation](https://github.com/atauenis/webone/wiki/Linux-installation) instructions on that project's wiki to install and configure WebOne.
By default, WebOne will run on port 8080 which conflicts with the RaSCSI Web Interface. After installing the software, you'd want to edit `/etc/webone.conf` and change the `Port` line in the [Server] section to something like:
By default, WebOne will run on port 8080 which conflicts with the PiSCSI Web Interface. After installing the software, you'd want to edit `/etc/webone.conf` and change the `Port` line in the [Server] section to something like:
```
Port=8088

@ -1,17 +1,17 @@
= Security Notice! =
By default, there is no user authentication for the RaSCSI Web Interface! If you intend to use it on a public network, it is strongly recommended that you [[Web Interface#Enable Authentication|enable authentication]].
By default, there is no user authentication for the PiSCSI Web Interface! If you intend to use it on a public network, it is strongly recommended that you [[Web Interface#Enable Authentication|enable authentication]].
Without authentication, anyone on your local network can do things to your Raspberry Pi like delete data, fill up your drive, reboot, etc.
__TOC__
= Setup RaSCSI Web Interface =
= Setup PiSCSI Web Interface =
These instructions assume you've worked through the [[Setup Instructions]] and [[Drive Setup]] articles. If you have not done so already, visit those pages first, as there are dependencies in this article that rely on those instructions being completed already.
The RaSCSI web interface is written in Python and served up with NGINX Server.
The PiSCSI web interface is written in Python and served up with NGINX Server.
NOTE: This process is not required if you've ran `easyinstall.sh`
@ -20,7 +20,7 @@ NOTE: This process is not required if you've ran `easyinstall.sh`
sudo apt install genisoimage python3 python3-venv nginx unzip protobuf-compiler
```
'''2.''' Gives nginx the needed permissions to manage the RaSCSI service and reboot the Raspberry Pi. Enter the following command to edit your sudoers file
'''2.''' Gives nginx the needed permissions to manage the PiSCSI service and reboot the Raspberry Pi. Enter the following command to edit your sudoers file
```
sudo visudo
@ -40,19 +40,19 @@ Once done, save your changes and exit.
'''4.''' Compile the Python protobuf library
This expects that you have checked out the RaSCSI code to ~/RASCSI as the pi user.
This expects that you have checked out the PiSCSI code to ~/piscsi as the pi user.
```
protoc -I=/home/pi/RASCSI/src/raspberrypi --python_out=/home/pi/RASCSI/python/web/src rascsi_interface.proto
protoc -I=/home/pi/piscsi/src/raspberrypi --python_out=/home/pi/piscsi/python/web/src rascsi_interface.proto
```
'''5.''' Create the new service
```
sudo cp -f ~/RASCSI/python/web/service-infra/nginx-default.conf /etc/nginx/sites-available/default
sudo cp -f ~/RASCSI/python/web/service-infra/502.html /var/www/html/502.html
sudo cp -f ~/piscsi/python/web/service-infra/nginx-default.conf /etc/nginx/sites-available/default
sudo cp -f ~/piscsi/python/web/service-infra/502.html /var/www/html/502.html
sudo cp ~/RASCSI/src/web/service-infra/rascsi-web.service /etc/systemd/system/rascsi-web.service
sudo cp ~/piscsi/src/web/service-infra/rascsi-web.service /etc/systemd/system/rascsi-web.service
sudo systemctl daemon-reload
sudo systemctl enable rascsi-web
sudo systemctl start rascsi-web
@ -60,7 +60,7 @@ protoc -I=/home/pi/RASCSI/src/raspberrypi --python_out=/home/pi/RASCSI/python/we
'''6.''' Adjust permissions on the Images Directory
The RaSCSI web interface expects the disk images to be stored in <code>/home/pi/images</code>. That directory should already exist, as it is covered in the [[Drive Setup]] document. If you haven't done so already, follow the instructions in the [[Drive Setup]] document before proceeding.
The PiSCSI web interface expects the disk images to be stored in <code>/home/pi/images</code>. That directory should already exist, as it is covered in the [[Drive Setup]] document. If you haven't done so already, follow the instructions in the [[Drive Setup]] document before proceeding.
For NGINX to have permissions to read and write to /home/pi/images, we will adjust permissions on <code>/home/pi/images</code> and add the <code>www-data</code> account to the <code>pi</code> group. Run the following command to make these changes.
@ -84,7 +84,7 @@ www-data : www-data pi
'''7.''' Create the config dir
The RaSCSI Web Interface stores configuration files in a directly, by default ~/.config/rascsi . You need to create and adjust the permissions on this directory.
The PiSCSI Web Interface stores configuration files in a directly, by default ~/.config/rascsi . You need to create and adjust the permissions on this directory.
```
mkdir -p ~/.config/rascsi
@ -97,7 +97,7 @@ chmod -R 775 ~/.config/rascsi
If you are not using the rascsi-web service, or have stopped the service, you can launch the Web Interface manually like this:
```
cd ~/RASCSI/python/web
cd ~/piscsi/python/web
./start.sh
```
@ -143,7 +143,7 @@ In our example, the IPv4 IP address of the Pi is 10.0.0.185
= Using the web interface directly from your Mac =
If your Mac has a network connection, and can communicate with your Raspberry Pi, you can manage RaSCSI from that computer.
If your Mac has a network connection, and can communicate with your Raspberry Pi, you can manage PiSCSI from that computer.
The functionality of the web interface has been tested with the following "vintage" web browsers. The formatting doesn't look as good as a modern browser, but its still fully usable!
* Netscape 3.x
@ -154,9 +154,9 @@ The functionality of the web interface has been tested with the following "vinta
= Enable Authentication =
As of v21.11.01, RaSCSI has opt-in Web Interface user authentication. While the Web Interface still communicates over unencrypted http, this won't protect against sophisticated malicious users and network sniffing, it does protect against casual attacks and misuse.
As of v21.11.01, PiSCSI has opt-in Web Interface user authentication. While the Web Interface still communicates over unencrypted http, this won't protect against sophisticated malicious users and network sniffing, it does protect against casual attacks and misuse.
'''Note:''' The below process has been automated in the easyinstall.sh script. Launch the script and choose the ''enable authentication for the RaSCSI Web Interface'' option to enable authentication and grant access to the user who launched the script.
'''Note:''' The below process has been automated in the easyinstall.sh script. Launch the script and choose the ''enable authentication for the PiSCSI Web Interface'' option to enable authentication and grant access to the user who launched the script.
The Web Interface will enable authentication if the <code>rascsi</code> group exists on the system.
@ -172,4 +172,4 @@ $ sudo usermod -a -G rascsi pi
Now when you load the Web Interface, you should see a login form in the header of the page. The login session will be stored in a browser cookie and retained as long as the cookie is alive. Use the Log Out function in the header to terminate the session.
When authentication is enabled, anonymous users will only be able to carry out certain basic actions such as viewing device info or accessing RaSCSI logs.
When authentication is enabled, anonymous users will only be able to carry out certain basic actions such as viewing device info or accessing PiSCSI logs.

@ -1,15 +1,15 @@
<img src="images/rascsi_logo2_scaled.png" width="48">
* [Home](/akuker/RASCSI/wiki)
* [Home](/piscsi/PiSCSI/wiki)
* [Roadmap](./Roadmap)
* Initial Setup
* [Assembly - Full Size](./Full-Size-RaSCSI-Assembly)
* [Assembly - RaSCSI Zero](./RaSCSI-Zero-Assembly)
* [Connecting the RaSCSI](./Connecting-the-RaSCSI)
* [Assembly - Full Size](./Full-Size-PiSCSI-Assembly)
* [Assembly - PiSCSI Zero](./PiSCSI-Zero-Assembly)
* [Connecting the PiSCSI](./Connecting-the-PiSCSI)
* [Setup Instructions](./Setup-Instructions)
* [Drive Setup](./Drive-Setup)
* [OLED Status Display (Optional)](./OLED-Status-Display-\(Optional\))
* [Control Board (Optional)](./RaSCSI-Control-Board)
* [Control Board (Optional)](./PiSCSI-Control-Board)
* [Troubleshooting](./Troubleshooting)
* Documentation
* [Hardware Versions](./Hardware-Versions)
@ -23,8 +23,8 @@
* Companion Apps
* [AFP File Sharing](./AFP-File-Sharing)
* [Vintage Web Proxy](./Vintage-Web-Proxy)
* [RaSCSI Control Android App](./RaSCSI-Control-Android-App)
* [RaSCSI Client Tools for Atari Computers](./RaSCSI-Client-Tools)
* [PiSCSI Control Android App](./PiSCSI-Control-Android-App)
* [PiSCSI Client Tools for Atari Computers](./PiSCSI-Client-Tools)
* Developer Notes
* [Robot Framework Notes](./Robot-Framework-Notes)
* [Transceiver Comparison](./Transceiver-Comparison)

@ -1,6 +1,6 @@
= What is RaSCSI =
= What is PiSCSI =
{|
|RaSCSI is a virtual [https://en.wikipedia.org/wiki/Parallel_SCSI SCSI] device emulator that runs on a [https://en.wikipedia.org/wiki/Raspberry_Pi Raspberry Pi]. It is a two piece solution, with a hardware and software component. RaSCSI 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 RaSCSI interface board to your system, launch the RaSCSI software on the Raspberry Pi, and the virtual devices will be accessible as physical SCSI devices!
|PiSCSI is a virtual [https://en.wikipedia.org/wiki/Parallel_SCSI SCSI] device emulator that runs on a [https://en.wikipedia.org/wiki/Raspberry_Pi 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!
|[[images/rascsi_logo2_scaled.png]]
|}
@ -11,7 +11,7 @@
|<dl>
<dt>[https://www.tindie.com/stores/landogriffin/ [[images/tindie-logo-small.png]] akuker's Tindie Store] </dt>
<dd>- Support the maintainer of the Github repository ;]</dd>
<dd>- All RaSCSI configurations, daisy chain daughter board plus others</dd>
<dd>- All PiSCSI configurations, daisy chain daughter board plus others</dd>
<dt>[https://samplerzone.com/products/chicken-rascsi-sd-scsi-drive SamplerZone]</dt>
<dd>- Configured and ready to go, out of the box</dd>
<dt>[https://www.vintagecomputercenter.com/product/rascsi Vintage Computer Center]</dt>
@ -30,7 +30,7 @@
|[[images/320px-Flag_of_the_United_Kingdom.svg.png]]
|<ul>
<li><a href="https://www.intriguingindustries.co.uk/product-category/rascsi/">intriguing industries</a></li>
<dd>- Complete virtually Plug&Play RaSCSI in PotatoFi Cases and DIY Kits </dd>
<dd>- Complete virtually Plug&Play PiSCSI in PotatoFi Cases and DIY Kits </dd>
<dd>- Comprehensive selection of accessories and other Mac Upgrades</dd>
<ul>
<li>[http://amigakit.amiga.store/rascsi-adapter-board-p-91280.html?aksid=bjnke5i310a60fqi2mq80ttda4&currency=GBP&aksid=bjnke5i310a60fqi2mq80ttda4 AmigaKit]</li>
@ -38,12 +38,12 @@
|-
|[[images/320px-Flag_of_Japan.svg.png]]
| <dl><dt>[https://gimons.booth.pm/ Gimons Developer Works]</dt>
<dd> - Original creator of the RaSCSI</dd></dl>
<dd> - Original creator of the PiSCSI</dd></dl>
|-
|[[images/do_it_yourself.png]]
| <dl>
<dt>You are welcome to build your own!</dt>
<dd>- The [https://github.com/akuker/RASCSI/raw/master/hw/rascsi_2p4/gerbers/gerbers_rascsi_2p4a.zip Gerber files] are available in the Github repo. You can order these from any PCB manufacturer.</dd>
<dd>- The [https://github.com/piscsi/piscsi/raw/master/hw/rascsi_2p4/gerbers/gerbers_rascsi_2p4a.zip Gerber files] are available in the Github repo. You can order these from any PCB manufacturer.</dd>
<dd>- [https://www.jlcpcb.com JLCPCB] is commonly used, since they are able to pre-install the tiny resistors in the factory for a low fee.</dd>
</dl>
|}
@ -60,28 +60,28 @@ RaSCSI was originally developed by [http://retropc.net/gimons/rascsi/ by GIMONS]
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. Over time, this project has had significant updates and architectural changes, providing unique capabilities beyond the original RaSCSI project.
RaSCSI has been demonstrated on dozens of retro computing platforms and digital samplers. A [https://github.com/akuker/RASCSI/wiki/Compatibility compatibility list] is available showing which platforms have been tested. Additional testing is appreciated, along with updating the system comparability table with your findings.
PiSCSI has been demonstrated on dozens of retro computing platforms and digital samplers. A [https://github.com/piscsi/piscsi/wiki/Compatibility compatibility list] is available showing which platforms have been tested. Additional testing is appreciated, along with updating the system comparability table with your findings.
== Select Tutorial Videos ==
Warning: Older videos may contain outdated information, since RaSCSI is a rapidly developing project.
Warning: Older videos may contain outdated information, since PiSCSI is a rapidly developing project.
* [https://www.youtube.com/watch?v=-qRG-0Pne-I The Macintosh Librarian tutorial and demonstration on a Color Classic] (Dec 30, 2021)
* [https://www.youtube.com/watch?v=dMgAJnxiYGQ Introduction to using RaSCSI on DEC VAXstation / Alphaserver] (Nov 6, 2021)
* [https://www.youtube.com/watch?v=dMgAJnxiYGQ Introduction to using PiSCSI on DEC VAXstation / Alphaserver] (Nov 6, 2021)
* [https://www.youtube.com/watch?v=Pat42MNRhhA Mac84 tutorial and DaynaPORT Ethernet interface how-to] (Jul 31, 2021)
* [https://www.youtube.com/watch?v=kLyDP9FLHlk Demonstration of RaSCSI in use on a SE/30] (Oct 11, 2020)
* [https://www.youtube.com/watch?v=tUgxcchH2yg Livestream of RaSCSI assembly] (Oct 10, 2020)
* [https://www.youtube.com/watch?v=kLyDP9FLHlk Demonstration of PiSCSI in use on a SE/30] (Oct 11, 2020)
* [https://www.youtube.com/watch?v=tUgxcchH2yg Livestream of PiSCSI assembly] (Oct 10, 2020)
= Project Comparison =
{|class="wikitable"
!scope="col"|
!scope="col"| RaSCSI<BR>(68kmla edition)
!scope="col"| PiSCSI<BR>(68kmla edition)
!scope="col"| RaSCSI<BR>(GIMONS)
!scope="col"| BlueSCSI
!scope="col"| SCSI2SD
!scope="col"| MacSD
|-
|Links to more information
|[https://github.com/akuker/RASCSI/wiki Wiki], [https://github.com/akuker/RASCSI GitHub]
|[https://github.com/piscsi/piscsi/wiki Wiki], [https://github.com/piscsi/piscsi GitHub]
|[http://retropc.net/gimons/rascsi/ Homepage]
|[http://scsi.blue Homepage]
|[http://www.codesrc.com/mediawiki/index.php/SCSI2SD Wiki]
@ -189,16 +189,16 @@ Warning: Older videos may contain outdated information, since RaSCSI is a rapidl
= Raspberry Pi and System compatibility =
With many people working on and testing RaSCSI on their own systems, you can find details on what Raspberry Pis and which computers work together. Check out the [https://github.com/akuker/RASCSI/wiki/Compatibility Compatibility] page.
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 [https://github.com/piscsi/piscsi/wiki/Compatibility Compatibility] page.
= Benchmarks =
Benchmark testing has been performed with the RaSCSI on a few different Raspberry Pi models. Please check the [https://github.com/akuker/RASCSI/wiki/Benchmarks benchmarks] page for additional details.
Benchmark testing has been performed with the PiSCSI on a few different Raspberry Pi models. Please check the [https://github.com/piscsi/piscsi/wiki/Benchmarks benchmarks] page for additional details.
-----
= Hardware Component =
== Connection Method ==
The hardware component of RaSCSI 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 RaSCSI 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 [[Transceiver-Comparison|comparison of different transceivers]] has been compiled.
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 [[Transceiver-Comparison|comparison of different transceivers]] has been compiled.
{|
|[[images/rascsi.png | width = 275px]]
@ -206,25 +206,25 @@ The hardware component of RaSCSI interfaces with GPIO pins on the Raspberry Pi t
|}
== Assembling your own ==
For those who have purchased the DIY kit on [https://www.tindie.com/products/landogriffin/rascsi-macintosh-version/ Tindie], or have procured your own PCBs and components, check the [[assembly]] page for instructions on building your own RaSCSI board.
For those who have purchased the DIY kit on [https://www.tindie.com/products/landogriffin/rascsi-macintosh-version/ Tindie], or have procured your own PCBs and components, check the [[assembly]] page for instructions on building your own PiSCSI board.
== Alternate Connection Method ==
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''.
== Expansion options ==
The RaSCSI 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 [[OLED Status Display (Optional)|connect an OLED display to the RaSCSI ]].
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 [[OLED Status Display (Optional)|connect an OLED display to the PiSCSI ]].
-----
= Software Component =
== Downloading and installing the software ==
Once you have an RaSCSI board, instructions on how to setup your Raspberry Pi, and downloading and installing the RaSCSI software can be found on the [[Setup Instructions]] page.
Once you have an 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.
== Connecting RaSCSI to your computer ==
Now that you have the RaSCSI board connected to your Raspberry Pi, and have the software downloaded and installed, next is to connect the RaSCSI device to your computer. Details on SCSI devices, termination and cabling can be found on the [[Connecting the RaSCSI]] page.
== Connecting PiSCSI to your computer ==
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.
== I have the software and everything connected, what next? ==
With the RaSCSI board attached to your computer, and RaSCSI downloaded and installed, instructions on creating and attaching disk images can be found on the [[Drive Setup]] 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.
@ -233,16 +233,16 @@ Additionally, a web interface can be used to attach and detach images, manage th
= Additional Information =
== What is 68kmla? ==
[https://68kmla.org/forums/ 68kmla] is the “68k Mac Liberation Army”. Its a group of vintage Mac (and Apple) enthusiasts who talk about nerdy stuff on the forum. This development started as [https://68kmla.org/bb/index.php?threads/rascsi-development-thread.6868/ part of a forum thread]. This RaSCSI project has grown far beyond the original 68k MLA community though.
[https://68kmla.org/forums/ 68kmla] is the “68k Mac Liberation Army”. Its a group of vintage Mac (and Apple) enthusiasts who talk about nerdy stuff on the forum. This development started as [https://68kmla.org/bb/index.php?threads/rascsi-development-thread.6868/ part of a forum thread]. This PiSCSI project has grown far beyond the original 68k MLA community though.
----
= Reference =
== RaSCSI manpages ==
* [https://raw.githubusercontent.com/akuker/RASCSI/master/doc/rascsi_man_page.txt rascsi manpage]
* [https://raw.githubusercontent.com/akuker/RASCSI/master/doc/rasctl_man_page.txt rasctl manpage]
* [https://raw.githubusercontent.com/akuker/RASCSI/master/doc/scsimon_man_page.txt scsimon manpage]
== PiSCSI manpages ==
* [https://raw.githubusercontent.com/piscsi/piscsi/master/doc/rascsi_man_page.txt rascsi manpage]
* [https://raw.githubusercontent.com/piscsi/piscsi/master/doc/scsictl_man_page.txt scsictl manpage]
* [https://raw.githubusercontent.com/piscsi/piscsi/master/doc/scsimon_man_page.txt scsimon manpage]
== Software ==
@ -265,7 +265,7 @@ Additionally, a web interface can be used to attach and detach images, manage th
* [http://mirror.informatimago.com/next/developer.apple.com/documentation/macos8/pdf/NSL_Mgr.pdf Network Services Location manager Developers Kit]
* [https://www.staff.uni-mainz.de/tacke/scsi/SCSI2.html Very detailed, thorough document]
* [https://www.t10.org/drafts.htm T10 Working Drafts for the SCSI standard]
* [https://www.rascsi.de RaSCSI Control App for Android]
* [https://www.rascsi.de PiSCSI Control App for Android]
== Hardware ==