Configuring SCSI2SD v5.0 for CDROM emulation

With additional details regarding the IBM Eduquest Model 30

Important note:

This may not be applicable to your situation/hardware.
SCSI2SD v5.0 is not the same as v5.1, v5.2, v4.0, etc. The utility I used here is not the same one used for those versions, and you may not find the same options. Hopefully it'll be clear how to adapt these steps.

Preface

SCSI2SD are a variety of devices that simulate SCSI storage, using data loaded from a microSD card. They're popular for use in vintage Macs and other old non-PC machines, and a lot of integrated devices like sampling synthesizers.

In my opinion the SCSI2SD is an unpleasantly primitive device, but they're commonplace, and I already had one. Unfortunately the documentation is extremely poor IMO. In particular I could not find any summary of how to configure a SCSI2SD to act as a CDROM at all, only forum posts describing very specific scenarios for quirky devices. It is my hope that the instructions here will fit the majority of PC-type hardware.

For my application, I needed to bootstrap some data onto an IBM Eduquest 30, a fairly ordinary PC. It has an IDE HDD controller, but is only configured out-of-box to support a SCSI CDROM. It may be possible to replace the SCSI controller with an ATA controller and add a normal ATAPI CDROM, but I needed to work with what I had.

Fortunately it turns out this process is very easy.

Process

In short:

In long:

Create a CD image. I used ImgBurn, set to "Create image file from files/folders," and just dragged in some folders and saved them to an ISO.

Write that image to your SD card. I used balenaEtcher for this, picked the ISO as input, the SD card as output; done.

On e.g. Linux you would probably use dd. I have not tried this. I assume the command would be dd if=discimage.iso of=/dev/sdb, where sdb is the identifier of your SD card. It is up to you to figure out how to do this safely; if you pick the wrong device you will erase your hard drive.

Configure the SCSI2SD. You will need to connect it to your PC with a USB cable, and then obtain the config utility. It took me a while to find it because the older software is not well catalogued. You have to get the right version for your device. v5.0 is not v5.1 is not v5.2 and so on.

If the link still works, you can get the v5.0 software here: scsi2sd-util.exe

I configured the device like this:

My understanding of these options:

These settings worked for my device. I would expect them to work for most "ordinary" PC-type machines.

Once you've selected all these options, go to

File > Save to device.
You are now ready to connect the SCSI2SD to your machine and test.

Vendor string

When I initially configured my SCSI2SD, it was not detected by the Eduquest. I assumed there was a bus-level problem (e.g. termination, wrong ID, etc.) because I assumed SCSI was SCSI. It turns out that the CDROM driver that IBM included with their machines was hardcoded to look for a specific vendor ID, and if it doesn't see it, it simply pretends the device doesn't exist.

A friend looked at the driver, LOC-CD.SYS (I suspect this is a renamed IBMCDROM.SYS) in a hex editor and noticed the clear strings IBM and TOSHIBA. The old drive was in fact a Toshiba. Changing the Vendor field on the SCSI2SD to TOSHIBA fixed the problem immediately. I do not know if IBM would have worked. Since Toshiba made a lot of CDROMs in the era, I suggest you try this.

Footnotes

How do you change which "disc" is "inserted"? There is no "swap image" option, but you should be able to remove the SD card and replace it with one that has a different image written at the same offset. This should even generate a "disk change" event on the bus. I am told by friends that this works and is documented as working in the v5 and v6 branches at least.

Are there any commonly-used SCSI IDs? I suspect that most "computer" type devices will accept any SCSI ID. My Eduquest CDROM came with the ID set to 0, but the machine, and its picky driver, still see the SCSI2SD just fine if I set it to ID 4. Maybe integrated devices could be pickier.

It has been suggested to me that by convention, "hard drives are 0 and 1, and CDs are usually 2 or 3, on big iron / unix systems, but usually 3 or 4 on consumer gear (mac, amiga)."

I do not know if this is due to the machine expecting specific IDs, or just because they use a single chain (cable) with multiple devices, and this convention avoids collisions. I suspect the latter, and that most likely ID never matters.

List of Articles