ZuluSCSI: Difference between revisions
m →Examples: typo |
m →Hardware overview: finished sentence |
||
| Line 31: | Line 31: | ||
Usually, the integrated USB port is configured as USB modem, for usage with a terminal emulator. You can use the Linux or macOS ''screen'' command for that. Depending on your operating system, you need to find out what device file is created when plugging the Zulu's USB port. On Linux, it's <tt>/dev/ttyACM''n''</tt> — ''n'' being a digit, usually 0. On macOS, it's <tt>/dev/tty.usbmodem*</tt>, with a row of digits appended on behalf of the <tt>*</tt>. | Usually, the integrated USB port is configured as USB modem, for usage with a terminal emulator. You can use the Linux or macOS ''screen'' command for that. Depending on your operating system, you need to find out what device file is created when plugging the Zulu's USB port. On Linux, it's <tt>/dev/ttyACM''n''</tt> — ''n'' being a digit, usually 0. On macOS, it's <tt>/dev/tty.usbmodem*</tt>, with a row of digits appended on behalf of the <tt>*</tt>. | ||
The firmware presents a simple menu driven UI for | The firmware presents a simple menu driven UI for some tasks. | ||
There is no need to shut down the device itself, it's safe to "pull the plug" when there is no activity. The Operating System running on the attached computer should, though. | There is no need to shut down the device itself, it's safe to "pull the plug" when there is no activity. The Operating System running on the attached computer should, though. | ||
Latest revision as of 23:28, 16 August 2026
ZuluSCSI by Rabbit Hole Computing is a comparatively new family of SCSI device emulators featuring an SD card based backing store. Distinct features to older, similar devices is support for Wide-SCSI, Ultra-Speed, and a fast CPU.
ZuluSCSI also features an OpenSource firmware, so it can be extended comparatively easily.
For most AS/400 machines, you actually want a ZuluSCSI wide, because it offers the best performance.
The ZuluSCSI firmware can emulate multiple devices at once. There is no real need to add multiple Zulus to a given SCSI bus. One Zulu can easily saturate even the UltraWide SCSI bus of a 9401-150, and due to the SD card, delays are minimal. You can gain more performance with bigger machines, if they have multiple SCSI buses, though.
Hardware overview
Depending on the exact model, boards themselves have three DIP switches and tiny push buttons:
- 1: switch to initator mode,
- 2: enable debug log,
- 3: enable SCSI termination.
The push buttons call the functions:
- Bootloader, for firmware-recovery,
- Eject.
Also, three LEDs are provided, for indication of
- 2.8 V power OK,
- 3.3 V power OK,
- SD-card activity.
The device itself needs 5 V power, and can be powered by:
- the USB port,
- the termpower line of the SCSI bus,
- molex style power connectors.
Usually, the integrated USB port is configured as USB modem, for usage with a terminal emulator. You can use the Linux or macOS screen command for that. Depending on your operating system, you need to find out what device file is created when plugging the Zulu's USB port. On Linux, it's /dev/ttyACMn — n being a digit, usually 0. On macOS, it's /dev/tty.usbmodem*, with a row of digits appended on behalf of the *.
The firmware presents a simple menu driven UI for some tasks.
There is no need to shut down the device itself, it's safe to "pull the plug" when there is no activity. The Operating System running on the attached computer should, though.
Configuration
Configuration itself is usually automatic, according to the files and directories found on the SD card. The SD card has either a FAT32[1] or exFAT file system, the firmware understands both. It's easier to use the SD card with a card reader on a newer computer to create configurations, and files. The SD card is hotplug capable, and upon reinsertation, the ZuluSCSI reinitializes itself according to the SD card's content.
Three devices classes are of general interest in the AS/400 world:
- Disk (DASD),
- CD/DVD (Optical),
- Tape.
Files
File names are composed as follows:
<TT><ID>[any text].<ext> ^^ ^ | +-------------- SCSI ID character (byte offset 2) +------------------- two-character type prefix (case-insensitive)
- TT:
TT Device type Default block size HD Hard disk (fixed) 512 Bytes CD CD-ROM (optical) 2048 Bytes TP Sequential (tape) 512 Bytes
- The ID is exactly one char, and must be given in hexadecimal. This matters only for IDs ≥ 10.
- any text is entirely optional.
- The file extension doesn't matter.
Directories
For a device usually allowing dynamic addition and removal of media — CD-ROM-, and tape drives. The naming scheme follows the same structure as files, but [any text] must be omitted.
Files within the directories can be freely named, and are used in alphabetical order.[2]
Configuration file
In addition, a configuration file can be supplied to provide additional information to either all or one emulated device. Having a zuluscsi.ini is normally optional, but for enabling AS/400 quirks, it's mandatory.
The configuration file must be named zuluscsi.ini, and is in a simple ini-style format. It has a global [SCSI] section to apply settings to all devices, and [SCSIn], where n is the ID of the given SCSI devices.
Examples
These are in the scope of AS/400.
Tape drive support
- create directory
TP0, - populate with one or more 0 byte files named
*.tapfiles, e. g. by using the Unixtouch, - use the serial console to attach image(s) to the drive.
- zuluscsi.ini:
[SCSI] System="AS400_PPC" [SCSI0] TapeDensity = 0x25
Caveats:
- When you choose an image file through the USB port's media menu, make sure that you not only choose an image file, but afterwards insert it!
- If you replace a hardware tape drive, make sure to delete your old tape device file first, then IPL, check/set the new device name in DST, and have auto-configuration create the new device file during the following IPL.
This configuration has been tested on a 9401-150 running V4R5 over the course of multiple weeks:
- Occasional go save 21,
- daily differential backups,
- occasional single file restores.
Current state
In the scope of AS/400's, ZuluSCSI's disk support is still incomplete, while CD- and tape emulation are seemingly solid. Some progress has been made, but there are still some rough edges, normally leading to crash of the Operating System with a given System Reference Code.
At the moment, the firmware supports only a single AS/400 specific DASD device type for PPC-AS (522 Bytes per sector).
Reports
- 2026-08-16, mikerm, 9406-170, Zulu firmware 2026-08-07. Trying to install V4R4 on the Zulu emulated DASD. Disk was created with
dd if=/dev/zero of=HD6.img bs=522 count=17177940 status=progress[3]- First try, prefetch setting at default (8k): halts at
B1934505after IPL takes place from DASD - Second try, prefetch set to 0:
B6080801after IPL takes place from DASD. More progress, and much quicker LIC install, though. - Configuration file used:
- First try, prefetch setting at default (8k): halts at
[SCSI] LogModeData = 1 System = AS400_BS522
See also
- Ordinary Harddisks on the AS/400
- Tape Drives on old AS/400
- SRC, aka System Reference Code
Weblinks
- ZuluSCSI Website — see the ☰ button top right for more details
- ZuluSCSI-firmware, GitHub