Exploring solid-state SCSI solutions

The Amiga has had a long history of using SCSI for storage devices, all the way back to the earliest A2000 expansions in the late 1980s. Whilst the cut price A600 bought with it equally affordable IDE drives, and indeed these carried through to the A1200 and A4000 of that era, for serious users there was never any competition. SCSI offers greater speed, a wider variety of device types such as tape drives and removable disks, and an increased number of drives per controller than IDE.

There’s a wide variety of Amiga models that can use SCSI drives, most commonly with a controller card or suitable equipped accelerator (the exception being the A3000 models, and A4000 Tower which have SCSI built onto the mainboard) but as IDE drives began to fall out of use in PCs in the mid-2000s in favour of the faster SATA drives, and more recently m2 technology, the availability of SCSI drives dropped significantly. It soldiered on for some enterprise applications, but in the main there was no longer any speed benefit and without the of economies of scale, prices rose. Unwanted, slow and expensive? This sounds perfectly suitable for an Amiga!

To be fair, the technology itself is still perfectly usable and a 30 year old SCSI controller should still work fine. The problem will be finding a drive that’s reliable, and suitable. Over the years there have been many variations of the SCSI standard often with a new type of connector to give faster transfers and although these are often easily converted with a cable or a small circuit board it all adds to the complexity of putting together a workable solution. And then of course at the sizes we need on our machines, you’re often dealing with 20 or 30 year old devices with worn parts and an unknown history, you simply don’t know if the drive you’re buying from eBay has been dropped, shocked or has more bad sectors. Without software jiggery-pokery, many Amigas won’t work well with drives over 4GB in size where modern server-class SCSI drives are more likely to be hundreds of gigabytes.

How about if we could show you a world away from high-risk, elderly, spinning disks. Would you like to be able to use an age-appropriate technology, without all the problems that come with it? Of course you would! And for that reason we’d like to present three options: The SCSI2SD, the RaSCSI and the BlueSCSI. All three have one thing in common which is that they act as a bridge between a modern storage device, and the SCSI controller which has no idea that it’s not talking to some vintage hardware. Let’s look at each of these in turn – we’ll explore the pros and cons, and help you picture how each of these could fit into your system.

SCSI2SD

First up is the only commercial offering here. Currently at v6, the SCSI2SD is a closed-source device which therefore offers the most plug-and-play experience; there’s nothing to build, no firmware to flash, no cables to make. There are earlier versions of the SCSI2SD which are open source and more affordable, however, and these can be bought from retailers such as AmigaStore or on eBay.

It’s a totally standalone device, unlike the other products here it doesn’t need to piggyback onto an external single-board computer such as a Raspberry Pi. This explains the cost of between £65 and £100 at the time of writing – as you’ll see later in this article, that’s much more expensive than the other solutions but you’re also not having to buy (or build) extra pieces and for some of you that will be the perfect solution. The only tasks are to install the software to your Windows PC, Mac or Linux machine, pop in an SD card, use a USB cable to configure it and you’re ready to go.

The configuration utility is fairly self-explanatory and allows you to set up a maximum either 4 or 7 SCSI devices, depending on the version of the hardware you’ve bought. Most users will only need one and in general it’s hard to think of a reason you’d need more than one logical device on a single SD card, but you could argue it’s better to have the capability and never need it, than to be artificially limited. SCSI “drives” are set up by specifying the size, and unit number (just like you would with jumpers on a real hard drive) and letting the software write the configuration. The settings are held on the SCSI2SD device itself, rather than the card, which means if you’re looking to swap between different images all your SD cards need to be the same size (or work to the smallest one) or it will be looking for data that doesn’t exist unless you reconfigure the SCSI2SD board using your PC.

Once the settings are written to the device (and backed up somewhere on your PC, for safety, as if you lose those settings the data on the card could be lost for ever) it’s time to insert the device into your Amiga. It has a floppy-style Berg power connector rather than the larger Molex as found on hard drives, but this sits next to the 50-pin SCSI connection so by using the smaller type it is more likely to fit in a free space inside your machine. Once the power and data are connected, the Amiga is just under the impression that a regular hard drive is connected so you proceed as usual with HDToolbox and a set of install disks and everything works as usual – apart from the lack of noise. One thing I would recommend here is, within HDToolbox, making a note somewhere of the configuration of the card – the cylinders, heads, blocks per track and blocks per cylinder. You’ll find out why in a moment.

This manual Amiga-based installation all well and good if you like traditional methods, and indeed for some users the act of installing from floppy is therapeutic. But it would be nice if you could somehow speed that up, wouldn’t it? Well the good news is that since your Amiga data is now on a modern SD card, WinUAE can work directly with that to give convenient and fast access from your PC. You’ll remember that we recommended that you write down the cylinders, heads and so on; well that’s because you need to plug this information into UAE so it can correctly identify which area on the card is used for data and how it’s laid out. It’s a little more involved than just selecting a hard drive file, but once it’s set up it works seamlessly and you can move your SD card between the SCSI2SD in your Amiga, and your card reader on a PC, and boot the same image on either with all the usual emulation benefits of shared folders and network access. For this card-swapping reason there are options to mount the SCSI2SD in a way that the card is accessible from the outside of the case, either through a drive bay or a card extension. Many of these can be bought on eBay, or with the drive itself from many sellers, or printed at home if you have a 3D printer.

Speed-wise, you’re not going to see a huge boost over a SCSI hard drive on most Amigas as the data transfer is heavily dependent on CPU speed – but the good news is it’s no slower either. On our A3000, it showed a mild speed increase over a relatively new IBM hard drive; up from 1.2MB/sec to 1.3MB/sec using the SCSI2SD v5. Reports suggest the theoretical maximum on this model is around 3.5MB/sec, but if you opt for the more expensive v6 that rises to 10MB/sec thanks to a more powerful processor on board. However to realise that potential you’ll probably need a beefy Amiga with an 060 and SCSI mounted on an accelerator card like a WarpEngine or CyberStorm.

But this isn’t about the speed, really. It’s about convenience, reliability and availability. Compared to finding a working SCSI drive, it may be more expensive but once you’ve bought three or four drives trying to find one that works it starts to look more attractive. The potential for quickly deploying software via an emulator is a huge bonus too, although in a slightly complex manner with manual settings being needed.

In conclusion, this is about as close as you can get to a modern equivalent of a spinning hard drive. Admittedly you need a program on your modern computer to set it up, but once that’s done there’s no difference in day to day use with immediate startup and no special treatment needed. The downside is this is the most expensive solution on offer here.

RaSCSI

The RaSCSI is an open source project which has an interesting background, as it was originally designed for the Sharp X68000 and documented entirely in Japanese. Don’t worry if you’re never heard of that particular computer, it’s quite a rarity although shares both a processor, and much of the ethos of the Amiga with custom chips and powerful graphics. Importantly it also used standard SCSI drives which means the project could be lifted and shifted and applied to other machines, and in step the Macintosh crowd – another machine that uses the same storage standard and this time with a much bigger following. As it’s open source, other forks of the project sprang up including one by Akuker which refined the design, added English documentation and included a few new features too.

It comprises of a “hat” for the Raspberry Pi, and is compatible with almost all models – only excluding the very early versions with the smaller 26 pin GPIO connector. The Pi is doing the heavy lifting, the translation of the SCSI commands, and the formatting of data into the right format to send back down the cable. The RaSCSI hat itself forms a convenient place to attach connectors – both 50 pin internal, and 25 pin external are provided – and also the voltage translation from the 3.3v of the Pi to the 5v that SCSI expects. There’s also some useful LEDs for diagnostics, switches for the termination of the SCSI bus, and headers for an external activity LED and an OLED display.

They’re available pre-built for around £50, or as this is open source you can choose to buy a blank PCB and all the components and build one yourself. A word of warning if you do – it includes some very small surface mount components of less than a millimeter across! A good compromise is that some PCB manufacturers will happily assemble the surface mount components for you and leave you to solder in the connectors. But however you end up with an assembled unit, all that remains is to connect it to a suitable Pi, download the software, and set up your hard drive images. This is fully documented, and performed entirely on the Pi – there’s no firmware to flash on the RaSCSI itself – so after 15 minutes of copying and pasting code into a terminal window, you’ll be up and running.

The basic mode of operation is that you use a command line tool on the Pi to “attach” drive images to the SCSI bus, which then appear as separate drives to the host Amiga. This becomes far easier if you choose a Pi with WiFi, as it means you can hide the RaSCSI away somewhere and not need to use an ethernet cable, and also it means that the MicroSD card can stay firmly in the Pi with all the transfer of images happening wirelessly. You’ll need to power the Pi up first and let it boot, which takes about 20 seconds, and then turn the Amiga on in order that it finds the drives. Turning them both on together is a bit hit and miss, and some controllers may not wait long enough for the drive to be detected.

The hard drive images it uses are the same HDF files that UAE can use, so it is perfectly possible to set up your Amiga environment on an emulator and then pop the card in to be instantly up and running. If at any point you need to install more software, you can pop the card back out and carry on in the emulator, and back into the Amiga again. The speed is more or less the same as a hard drive would be, we got around 1.3MB/sec which is the same as the SCSI2SD.

There’s also a nifty web interface to access many of the features, such as allocating images to SCSI IDs; you can have many images stored on the SD card and only attach the ones you need and these combinations can be stored in configurations, in case you move the RaSCSI from machine to machine. It allows you to create new, blank images, and transfer both from your “modern” computer or directly from a URL. This even works on a smartphone which makes this very easy to control. We’ve had great success using an external SCSI enclosure and a 64GB card loaded up with all sorts of images; Workbench 1.3, Workbench 2, Workbench 3, Workbench 3.2 etc. Have your games on another image, programs on yet another, and you can “mix and match” configurations to suit the machine you’ve just plugged it into.

It’s not just hard drives on offer either. It can emulate a CD drive, and using the web interface (or command line) you can insert and eject images at any time with the host computer just reacting as if you’ve inserted a real CD. You’ll need the appropriate dosdrivers on an Amiga, but they’re easily available and newer revisions of AmigaOS include them.

One nice touch is the provision for an OLED display, which can display the details of the attached devices in a similar way to a Gotek does for floppy images. However this is only for information, as there are no controls on the RaSCSI for changing images or inserting / ejecting CDs. This has to be done from the command line or web interface, but it may be useful in some scenarios to know which image is in use.

In conclusion, there’s some real benefits to the RaSCSI – the web interface really makes image management a doddle, and it provides more flexibility in mixing and matching images all stored on one card. On the downside, you will need to factor in that boot up delay whilst the software on the Pi loads, so it can be difficult to install internally.

Find out more about RaSCSI on the Github Wiki

BlueSCSI

The BlueSCSI is a similar idea to the RaSCSI in that it’s an open source add-on board for a commonly available microprocessor board. In this case it uses the “BluePill” STM32 board which is available for as little as £3, and there’s nothing particularly expensive on the BlueSCSI either although again, it can be tricky for beginners to solder as it does include a surface mount MicroSD slot. However once more fully built examples are available including the programmed BluePill; DIY builders will need a suitable cable and software to flash their own. This option will cost closer to £30 but still a lot cheaper than a SCSI2SD and perhaps even cheaper than a real hard drive.

Once the BluePill is programmed and the two pieces are fitted together, there’s some more differences. This device is clearly designed to be fitted internally and this is evident with the choice of power connector; instead of a MicroUSB cable it has a floppy-style “berg” connector. Some host machines may even be able to power this over the SCSI cable using the small amount of power supplied for termination purposes, which is one of the benefit of using a lower powered processor than the Raspberry Pi, but it’s recommended to power it separately if you can. It also has no LEDs, switches or displays so there’s little point in having it out on display anyway.

That said, the images are also handled differently, and you’ll probably find that you need to access the MicroSD card a little more frequently. There’s no WiFi connection here, so no remote interface – instead you place files on the memory card with filenames that tells the BlueSCSI how to handle it. For example, HD10_512.HDF tells the system that the image is a Hard Drive, ID 1, LUN 0, with a 512byte block size. Again, multiple images can be attached at once with different IDs and you can add extra text to tell you what the image contains such as “HD20_512 Workbench 3.1 and games.HDF”. It does mean that until things are set up to your liking, you may be moving the memory card between your Amiga and a modern computer to manage the files but once it’s all to your liking it can be tucked safely away. Like the RaSCSI the files are also exactly what UAE expects so can be easily moved between machines for easy setup.

Speedwise this is the slowest, but not by much with our tests getting around 1MB/sec, down from 1.2MB/sec on the original hard drive. Practically you wouldn’t notice this speed drop with most Amiga programs being floppy-sized, but it’s worth noting for this comparison.

The biggest problem with the BlueSCSI is compatibility; in testing we found it worked on GVP controllers such as the HC8 in an A2000, and an HD8 on an A500, but only once a slightly tweaked firmware had been built as shown by Gouldfish on Games in this video. On a Commodore controller it wouldn’t work at all, but it seems to work out of the box on an Oktagon 2008 board.

In conclusion, this is a nice device to pick up cheap and experiment with but you should be aware of the compatibility issues and be prepared to build your own firmware. That alone takes it out of the reach of many users, and whilst there’s a Discord server for support it’s mainly developed by Mac users so scope for Amiga compatibility will be limited.

The BlueSCSI can be purchased here (UK, with links to sellers in other countries) and you’ll also find a link to the Discord on that site.

The big wrap-up

So which device is the winner? Well, it’s not as easy as that and your ideal solution depends on a few factors. What we can do is probably rule out the BlueSCSI for Amiga use – it’s a great device at a fantastic price, but the support is mostly centered around Mac use so it may be a dead end that simply won’t work in your specific combination of Amiga and SCSI controller, unless you’re willing to get your hands dirty in the code. That said, it’s worth keeping an eye on the support channels to see if this improved over time as it’s a relatively young solution.

To choose between the RaSCSI and SCSI2SD, you should ask yourself how invisible you want it to be. The SCSI2SD is very much a case of set it up once and forget about it, and it will behave exactly like a hard drive would with near-instant startup and complete compatibility. The RaSCSI on the other hand is open source, and that brings with it a certain level of risk when it comes to whether it will work flawlessly. That said, across a number of machines in testing we’ve not found problems; that leaves just the startup time issue where you need to allow the Pi time to boot before it presents the disk images to the host.

So what are we using after all this testing? All three! The BlueSCSI has been pressed into use serving up games in an A500 with a GVP HC8+. It seems to be compatible with that controller, and we don’t need any of the extra features like CD support. The RaSCSI lives on in an external enclosure that can be powered up separately and then used in a variety of configurations across a number of machines, and the SCSI2SD is tucked away inside an A3000 doing what it does. If we had to choose just one though, the SCSI2SD has been the easiest to work with.

One thought on “Exploring solid-state SCSI solutions

Leave a Reply

Your email address will not be published. Required fields are marked *