• Hello, Guest! Welcome back, and be sure to check out this post for more info about the recent service interruption and migration.

Announcing ZuluSCSI - A file-based SCSI device emulator

rabbitholecomputing

Vendor The First
Update 2022-05-08: This product has been re-named ZuluSCSI

After months of development and extensive testing, It's finally time to pull back the curtains on our new SCSI emulation product, AzulSCSI. Brought to you by the ongoing global electronics component shortages, which have made it impossible to obtain the main microcontroller used in the SCSI2SD V5, the Cypress PSoC 5LP. While we still plan to manufacture SCSI2SD V5.2 and V5.5 in the future, parts availability makes it an impossibility at present.

TL;DR: Maximum read speeds with AzulSCSI V1.1 can be up to 3.9 megabytes/second, and maximum write speeds of ~2.1 megabytes/second are currently implemented. Improved write performance is in progress currently, and will be made available in the near future.

For those of you who are familiar with BlüeSCSI, you'll be right at home. Usage is very similar, but enhanced with SCSI-2 support, CD-ROM emulation support, and DIP-switch-controlled SCSI termination.

The AzulSCSI firmware looks for file names which adhere to a simple but powerful naming convention, and presents them as the drives to the SCSI host. Each image file represents a SCSI drive.

AzulSCSI is designed to power itself solely from SCSI termination power, with no separate power source needed, when the host device/computer provides SCSI termination power. Nearly all desktop Macintosh computers do.

AzulSCSI V1.1 includes an optional DB25 pin header for direct installation of an external SCSI connector, in addition to the Single-Ended 50 pin IDC connector. Savvy users may recognize that AzulSCSI V1.x looks very similar to the SCSI2SD V5.1 board layout, which we used as a starting-point. The AzulSCSI V1.1 shares the exact same dimensions and mounting holes as that of SCSI2SD V5.1, V5.2, and V6, and is therefore compatible with many existing SCSI2SD-V5.1, V5.2, and V6 mounting solutions.

Throughpout rates can be affected by particularly slow (eg. 8MHz 68000) CPUs. SCSI controllers can be, and often are, bottlenecks. Since AzulSCSI uses the same SCSI command handling code as SCSI2SD V6, compatibility with nearly all devices that speak both SCSI-1 and SCSI-2 is extremely high.

Termination is DIP-switch controlled, and firmware updates are as simple as placing a file on a FAT32 or exFAT-formatted SD card, inserting it in the SD card slot, and applying power to the AzulSCSI. A firmware recovery mechanism is also provided, as a back-up.

For more information about specific features, visit the AzulSCSI website at https://azulscsi.com

For those who enjoy tinkering, the firmware source is available at https://github.com/AzulSCSI/AzulSCSI-firmware. It can be built with PlatformIO, under Windows, Linux, and macOS. Patches and improvements are welcomed.

Here are some real-world AzulSCSI V1.1 performance benchmarks, captured on my Quadra 650:
1650065445476.png
1650065564294.png
 

Attachments

  • AzulSCSI-V1.1-TopDown.jpg
    AzulSCSI-V1.1-TopDown.jpg
    332.7 KB · Views: 58
Last edited by a moderator:

erichelgeson

Well-known member
Congrats on porting scsi2sd to a new chip. I hope the name does not confuse users to think it's related to BlueSCSI.
 

rabbitholecomputing

Vendor The First
Congrats on porting scsi2sd to a new chip. I hope the name does not confuse users to think it's related to BlueSCSI.
Thanks for the backhanded (and inaccurate) compliment, but as you know full well, the primary contribution from the SCSI2SD V6 code-base was the SCSI command handling code. The rest is (now) almost entirely original code, but it didn't start that way. Claiming there's _no relation_ is not only absurd, it's demonstrably false, as can be seen in this early AzulSCSI commit. I would encourage others to look at the first half-dozen commits, and draw your own conclusions.
 

Skate323k137

Well-known member
I'm just curious why the name to be completely honest. I don't intend to cause drama as I'm quite aware of how both scsi2sd and BlueSCSI work. As an average but bilingual consumer, when Azul translates to Blue, and the project is being sold commercially, it could cause me some (easily sortable) confusion.

All that aside I'm happy to see developments to this day that move the hobby forward. Using the BlueSCSI file based format has been a lot easier than my early use of SCSI2SD, which was both for arcade and computer use (the scsi2sd v5 and v6 always worked great, but were I not a sysadmin, it wouldn't have been as friendly or easy to setup).
 

Johnnya101

Well-known member
Looking good. Thank you for a new product brought to the market. Now we have plenty of choices to choose from :)
 

erichelgeson

Well-known member
draw your own conclusions
I did and you can see almost all BlueSCSI's code is removed here (and more as time goes on) - so again I question why even use it when it provided nothing to this project besides parsing file names? To me it seems like marketing only.
Great work! Seeing ztto's ArdSCSIno evolve with each new release is exciting :)
Thanks! I've been working directly with ztto and together we have the ArdSCSino-stm32 project up to date with with the latest BlueSCSI history - it's all in sync. Should make sharing patches between the two projects much easier going forward!
But it is related. From their github project page:
But it's not. For example - If I started a new repo and copied scsi2sd into it, then removed it all and copied bluescsi into it - are they related? I think that's quite a stretch of the imagination.
Take your passive-aggressive drama elsewhere.
Remember when you berated @rabbitholecomputing about something he said to me that he apologized and sent me a free scsi2sd? Those were good times(not really).

-

I honestly do think this is a great new version of the scsi2sd's firmware on a new chip, but besides using the "simple but powerful naming convention" - the blue themed name is only confusing to users would think it's something that it's not.
 

Daniël

Well-known member
Remember when you berated @rabbitholecomputing about something he said to me that he apologized and sent me a free scsi2sd? Those were good times(not really).
I remember it too, as I did so as well. However, what I did not do is hold onto a grudge for two years and drag it out onto Twatter.
 

aperezbios

Well-known member
But it's not. For example - If I started a new repo and copied scsi2sd into it, then removed it all and copied bluescsi into it - are they related? I think that's quite a stretch of the imagination.
Except that isn't what happened, if you actually look at the commit history. Only the SCSI command handling code is from SCSI2SD. It's a fact that BlueSCSI users can remove an SD card from a BlueSCSI, plug it in to an AzulSCSI, and it will boot. Nothing you choose to say or do will change this.
 

aperezbios

Well-known member
Can you please link to a commit that shows any non file name parsing line of code that is still there from BlueSCSI? I'm not seeing it.

We simply used BlueSCSI as a starting point, which is the right of anyone to do, under the terms of the GPLv3 license, which you chose when you forked the project. Nobody is disputing that it's been nearly completely re-written. See the use of the term "derived from". Even the AzulSCSI firmware README states this clearly:

  • Origins and License​

    This firmware is derived from two sources, both under GPL 3 license:
  • Main program structure:
    • SCSI command implementations are from SCSI2SD.
    • SCSI physical layer code is mostly custom, with some inspiration from BlueSCSI.
    • Image file access is derived from BlueSCSI.
Everything above is true. No amount of complaining about it in forums or on Twatter will change this.
 

erichelgeson

Well-known member
Right, exactly my point, thanks for confirming - scsi2sd azul shares no code with BlueSCSCI (except the file name parsing)

And of course you are, no one ever said you couldn't - it's just really strange you did and chose a name so similar when none of it was used in the final product.

Again good luck with your new project.
 

Skate323k137

Well-known member
Was the name chosen to pay homage? I'm seriously not trying to be rude asking about the name, but it isn't out of respect / hat tip then it seems very confusing to name it that.
 

Johnnya101

Well-known member
Personally, I would think azul is like a "flavor" of bluescsi, looking at this with little to no context. Azul means blue in a different language, so it's like a different bluescsi. At least that's how I'd see it. I wouldn't expect it to be the exact same, but from the name, would think it would share similar properties (which from the limited info I have read here sounds right?).

Not starting any arguments, listing my uneducated perspective/thoughts.
 
Top