ZuluSCSI Blaster Manual - ZuluSCSI/ZuluSCSI-firmware GitHub Wiki
ZuluSCSI Blaster Manual
Table of contents
Introduction to ZuluSCSI Blaster
ZuluSCSI Blaster is a high-speed Ultra SCSI emulator based on the RP2350B microcontroller. ZuluSCSI Blaster offers read performance of up to 18 megabytes per second, and up to 11 megabytes per second for writes, when used with a suitable Class-10 or better SD card.
ZuluSCSI Blaster allows the use of modern SD storage media in place of a traditional mechanical SCSI drive. When you install a ZuluSCSI in a vintage computer, the computer does not know that it's operating with a modern, solid state drive.
ZuluSCSI Blaster Configuration
Configure ZuluSCSI using files on a FAT32 or exFAT-formatted SD or microSD card.
ZuluSCSI searches the SD card for files with a specific filename structure, for files ending in .img
, .hda
, or .iso
format.
The ZuluSCSI firmware searches for files named HDn.img
or HDn.hda
, where 'n' is a unique SCSI ID (0-7). Note: SCSI ID 7 is often reserved for the controller. Each file with a unique SCSI ID will be presented to the host controller as a SCSI drive.
ZuluSCSI can be configured in more detail via an optional text file named zuluscsi.ini. The example file shows how to configure ZuluSCSI via the zuluscsi.ini
file.
At initialization, ZuluSCSI logs details and detected image files to zululog.txt
Updating firmware
ZuluSCSI Blaster is firmware updatable. To update, download and copy the ZuluSCSI universal firmware zip file to the root directory of an SD card, then apply power to the ZuluSCSI. The ZuluSCSI will self update. For approximately two seconds, the LED will flash rapidly. The latest firmware updates are available from https://github.com/ZuluSCSI/ZuluSCSI-firmware/releases
When the update is complete, ZuluSCSI will delete the firmware file from the SD card, and will then automatically reboot, using the new firmware.
Configuration switches and buttons
ZuluSCSI Blaster is equipped with a three-position DIP switch, labeled SW1. By default, SCSI termination is enabled (#3), and positions one and two are disabled.
INITIATOR
The INITIATOR DIP switch determines whether the ZuluSCSI Blaster board acts as either a SCSI device (the default) or a SCSI host/controller, AKA a SCSI initiator. The initiator DIP switch must remain in the default off position to use your ZuluSCSI as a SCSI device with a computer.
DEBUG LOG
The Debug Log DIP switch is disabled by default, and should remain so during normal operation. Debug mode can also be enabled by setting debug=1
in a zuluscsi.ini file. When the DEBUG LOG DIP switch is enabled, the ZuluSCSI firmware will write a significant quantity of diagnostic information to the SD card, which has a detrimental effect on overall (read and write) performance.
SCSI TERM.
The SCSI TERM. DIP switch should remain on if ZuluSCSI is the last physical device on the SCSI bus.
BOOTLOADER mode/button
On ZuluSCSI Blaster boards, there is a momentary-contact button switch, labeled BOOTLDR (SW301) which is located above the expansion header labeled J309, when held down at time of power-up, will bypass firmware execution and enter the in-ROM bootloader mode, allowing you to re-flash firmware from a uf2 file. This is primarily needed for firmware recovery, but can also be used to flash firmware updates.
Troubleshooting
The LED indicator normally flashes to indicate disk activity.
Upon initial power-on, the activity LED also reports following status conditions:
- 1 fast blink on boot: Firmware successfully loaded, and at least one image file loaded successfully
- 3 fast blinks: No images found on SD card, and then automatically falls back to raw passthrough mode.
- 5 fast blinks: SD card not detected
- Continuous morse pattern: firmware crashed, morse code indicates crash location
If a crash occurs, the firmware will also attempt to save information to a separate zuluerr.txt
log file, on the root of the SD card.
Using your ZuluSCSI Blaster emulator
SD card requirements
ZuluSCSI firmware requires an MBR/DOS-partitioned SD card, which must be labeled SDHC or SDXC, and at least one FAT32 or exFAT-formatted SD partition. At minimum, a Class 10 or UHS-I SD card is recommended.
ZuluSCSI has no upper limit on the size of SD cards it is compatible with, and is known to work with large 256GB and 400GB SD cards which are currently commercially available. The maximum size supported by the SDXC specification is 2 TB.
SD cards partitioned with GPT (GUID Partition Map) can not be read by ZuluSCSI, and the ZuluSCSI will not detect such SD cards, resulting in the LED flashing five times.
Quickstart guide
These steps get your ZuluSCSI Blaster up and running quickly, emulating a single SCSI hard drive.
Create or copy a single (or up to seven), valid disk image file to the root directory of an MBR/DOS-partitioned FAT32 or exFAT-formatted SD card of any capacity. Name the image HDx.img
or HDx.hda
, where 'x' is a unique SCSI ID, between 0 and 6 (ID 7 is often the controller's ID).
Image filenames prefixed with CD
CDx.iso
or CDx.img
will automatically be configured by the ZuluSCSI firmware as a removable SCSI CD-ROM drive, with a standard 2048-byte sector size.
Create or copy a file to the SD card's root directory, named HD5.img
, HD5.hda
, or CD5.img
, replacing the 5 with your desired SCSI ID. Multiple SCSI devices can be emulated by naming different files with different IDs.
Always power down your vintage device. Connect the ZuluSCSI to the device's 50-pin SCSI cable, or external 25 pin connector. ZuluSCSI can often take power from the SCSI bus, so the floppy-style BERG power connecter can be left disconnected.
Power on your vintage device and start using your ZuluSCSI!
Installation
Your ZuluSCSI Blaster should be powered via the four-pin power connector under normal circumstances. While it is possible to power ZuluSCSI Blaster exclusively via SCSI termination power, it is not recommended, as it may not work reliably in all cases.
SCSI devices should only be connected or disconnected while the host device is powered off. Power down your device before installation.
Be sure to secure the ZuluSCSI properly to a suitable drive mounting bay using the ZuluSCSI mounting bracket. Only after the ZuluSCSI is connected and securely mounted, and your host device is safe to use, should you power on your host device.
Connectors
SD Card Slot
ZuluSCSI Blaster is equipped with a full-size push-push SD card slot.
Floppy (Berg) Connector
All ZuluSCSI Blaster boards ship with an installed four-pin Berg/floppy-style power connector ZuluSCSI does not use +12V DC.
USB Port
ZuluSCSI Blaster is equipped with a USB-C port, which operates at USB 1.1 speeds (11 megabits/sec). This is a limitation of the RP2350 microcontroller.
In addition, the USB port can be used as an alternate method to flash the ZuluSCSI with updated firmware. See the firmware repository for details.
ZuluSCSI Blaster has support for USB serial emulation, allowing you to view the output of the zululog file in real time. This is particularly useful in initiator mode, as it allows you to view the status and progress of a drive imaging operation.
LED Header
ZuluSCSI Blaster has an unpopulated footprint for a pin header (J304), at the lower-right (front) corner of the board, to the right of the USB-C port. An LED can be connected to that header as an external activity LED. The negative (cathode) pin is marked with a C. Only ~3-3.3V external LEDs are supported.