SCSI2SD

From code/src wiki
Jump to: navigation, search

The SCSI Hard Drive Emulator for retro computing.

scsi2sd-v6.02-small.jpg


Contents

News

[16 July 2016]v6.0-BETA3 Fixed V6 firmware

  • Fixed critical SCSI bug. There was a silly bug that prevented the previous v6 firmwares from working on most systems.

Apologies for the delay in finally fixing this bug and getting the firmware stable. The v6 boards will leave BETA status now as soon as the scsi2sd-util6 utility supports firmware updates on all platforms. Performance improvements (ie. 10MB/s synchronous support) will be done after firmware upgrade is fixed.
Early adopters should update the firmware using dfu-util on Linux or STM DfuSe on Windows. Remember to put a shunt on the pins labelled "BOOTLDR" and reconnect the USB cable to enter bootloader mode.

[16 June 2016]v6.0-BETA2 New V6 firmware

  • Fixed SD card compatibility issues
  • Fixed SCSI compatibility issues
  • Added SD card hotswap support
  • Performance improvements

[17 May 2016] Sneak-peak at the new V6 boards
SCSI2SD V6 will go on sale from 28th May with BETA quality firmware. This is a completely new hardware design which adds commonly requested features.
The V5 boards will remain available for the foreseeable future. Most people should continue to buy the older V5 board ! The V6 boards are more expensive to produce, and most people don't require the additional functionality.

  • Full-Size SD slot. This makes it much easier to develop faceplates for external access. I am currently prototyping a matching 3.5" bracket with faceplate.
  • A floppy-style berg power connector is used instead of the traditional Molex plug. This reduces the width of the device, simplifying 3.5" bracket production. Most systems can self-power the board and don't need a separate power cable anyway.
  • Better performance. The hardware supports synchronous transfers at 10MB/s.
  • Access to the data via USB. The SCSI2SD drives will appear when connected to a PC via USB. This is limited to around 1.2MB/s (USB FS speeds).
  • Superior noise resistance to deal with poor termination and poor cabling.
  • Integrated terminator, now enabled via software configuration

Initial BETA firmware limitations:

  • No hot-swap support
  • Inconsistent performance due to immature firmware. The boards may not perform any better than the V5 boards until the software is improved to make use of the faster hardware.
  • Cost and supply limitations. I only have a small number (50) of V6 boards available in the first batch, and priced at $125 AUD.


[12 January 2016]v4.6 New firmware

  • Fixed bug when using sector size that isn't a multiple of 4 (eg. 522 bytes)
  • Fixed a bug that caused hanging or scsi phase errors on high speed scsi hosts.
  • Fixed a hang when processing a SCSI RESET in a data phase.
  • scsi2sd-util: Fixed USB connection problems under Windows 10.
  • Added option to treat luns as separate devices
  • Improved boot up time. It is now possible to replace the bootloader with a version that doesn't pause for 2 seconds (bootloader). This is required on some Amigas and the Staubli JC5. Replacing the bootloader CAN BRICK YOUR DEVICE if it fails half-way, so do not attempt this unless necessary.

[07 December 2015]scsi2sd-util fix for Windows 10.

  • Windows 10 users should use this version of scsi2sd-util with the latest v4.5 firmware. A proper release with this fix will be made shortly.

[05 November 2015]v4.5 New firmware

  • Fixed bug returning the wrong device type (fixes CDROM and removable drive types)
  • Added experimental caching option to speed up sequential single-sector reads/writes
  • Several small bug fixes

[13 August 2015]v4.4 New firmware

  • Added configuration options to force SCSI1 mode. The default is to be in SCSI1 mode, and the configuration option should be changed to SCSI2 for users with faster equipment.
  • Fixed hot-swap card detection to work with longer (60cm) microSD to SD cables
  • Fixed more scsi2sd-util crashes and stalls.

[14 June 2015]v4.3 New firmware features

  • Added configurable disk geometry.
  • Added configuration file import/export feature to scsi2sd-util
  • scsi2sd-util stability fixes
  • Fixes to support EMU EMAX1 & EMAX2

[20 May 2015]http://imall.iteadstudio.com V5.0 boards back in stock!

  • The 3.5" SCSI2SD V5.0 boards are now available for purchase from iteadstudio.com. This arrangement should solve the recent stock availability problems, and provide more flexible shipping options.

[4 May 2015]v4.2.4 bugfix firmware

  • Fixes the vesion number. v4.2.3 would incorrectly identify itself as v4.2.2.
  • Improvement to the SCSI RESET behaviour, which should allow better recovery from errors.
  • Better SCSI1 mode page support.

[26 April 2015]v4.2.3 critical bugfix firmware

  • Users who recently received their boards with v4.2.2 firmware must immediately upgrade to v4.2.3, or nothing will work when the default configuration is changed.

[20 April 2015]Sold out, again.
I've partnered with a new manufacturer to build the SCSI2SD in higher volumes, and to sell them direct from China. This will ensure availability and will also improve shipping options. New boards should be available in a few weeks time.

[31 Mar 2015]v5.0 boards have arrived!

  • The new v5.0 boards have arrived, and will start shipping from tonight. Pictures coming soon...

[23 Feb 2015]v4.1.1 bugfix firmware released.

  • Fix for extremely slow performance in some cases. If the SD card requires 2 attempts at initialisation it would be left running at 400kHz instead of 25MHz.

Many users have noticed that I'm currently out-of-stock. I didn't order new boards quick enough to beat the Chinese New Year Holiday rush, and now I need to wait until the PCB manufacturers resume trade. I expect new stock by the end of March.

Here's a sneak-peak at a new design I've been working on:
scsi2sd-5.0-prototype.jpg
You'll notice this board is half the size, which makes it cheaper to produce in volume. The power supply has been reworked to be much more efficient, and will allow the new SCSI2SD to run on the terminator power alone. In many cases there will be no need for the power cable. This new version uses the same firmware as the older boards and does not offer any performance advantages. I'm also working on a small 50-pin to DB25 adapter board to replace the current external SCSI2SD.


[1 Feb 2015]v4.1 stable firmware and GUI configuration tool released.

  • Fix for SD card compatibility problems. The SCSI2SD can now write to SD cards with Samsung controllers.
  • VMS 5.5_2 support

[8 Jan 2015]v4.0 stable firmware and GUI configuration tool released.

  • You must update to the new firmware before loading/saving the configuration options in scsi2sd-util. The Save/Load buttons will be disabled until the firmware is up-to-date.

[23 Dec 2014]BETA firmware and scsi2sd-util update

  • Fixed many bugs in scsi2sd-util
  • Experimental hot-swap support. You may now remove (and reinsert) the SD card so long as the LED is off.
    Original V3.0 boards require a small modification for Hot Swap support

[05 Dec 2014]

  • Prices back to normal
    Prices have returned to normal (with a small adjustment due to AUD currency movement), so please stop sending hate mail.
  • Bulk order placed
    I've outsourced production to a PCB assembly house to satisfy demand. I expect these boards to be ready in early January, but it's possible they'll arrive before Christmas. In the meantime I'll continue building as many boards as I can and listing these for sale once tested. I'm no longer accepting orders for out-of-stock items, so most people will need to wait for the bulk order in early January.
  • BETA firmware update available
    Testers needed! Available here.
    Brief summary of changes:
    1. scsi2sd-config and bootloaderhost utilities are gone. They are replaced with a new gui tool "scsi2sd-util". The new tool has many bugs still!
    2. A firmware fix for Samsung-branded SD cards
    3. Support for up to 4 different SCSI ID's, each using a different section of the SD card.
    4. Preliminary CDROM device support. This is still quite buggy, but works on some systems.


[23 Nov 2014] Price Increase :-(
For those of you upset over the increase, please keep in mind that SCSI2SD is open source, and you have rights to build, modify, and sell the boards yourself. Everyone else has the right to build the boards and sell them for the original price.
I've had to increase the price of SCSI2SD boards to $125 AUD in order to reduce demand. The price may increase further if strong demand continues.

Continued high demand for the boards is leaving me with no time left to work on firmware development. Also, I can no longer rely on "catching up" on orders over the weekend due to high summer temperates in Australia - soldering during 40°C daytime temperatures (104 farenheit) is not pleasant. Soldering during the evening is the only viable solution.

[09 Oct 2014] v3.6-RC2 firmware available for testing

  • Fix to ensure parity checks are not done when configured with --no-parity
  • FAutomatically disable parity checks for SASI/SCSI1 hosts, as many such hosts don't support it
  • Added SCSI disconnect/reconnect support during long SD card writes. This should prevent timeouts on some systems.

The new GUI configuration tool, multiple-device support, and USB mass-storage support is still outstanding.

[03 Sep 2014] v3.6-RC1 firmware available for testing

  • Fix additional LUNS showing up on some systems
  • Improved tolerance of noise and glitches on the SCSI signal lines

I haven't completed any of the promised new features yet. As always, I'm behind schedule. I'm still working on a new GUI configuration tool, multiple-device support (ie. emulating more than one SCSI device), and USB mass-storage support. I'm away on vaction this month, so these features won't be ready until October.

[21 July 2014] v3.5.2 firmware released

  • Fix blank SCSI ID output in scsi2sd-config

[17 July 2014] v3.5.1 firmware released

  • Allow building utilities on older Linux distros
  • Resolve missing DLL issues for the Windows utilities
  • Fix scsi2sd-config crash on Mac.

[14 July 2014] v3.5 firmware released.

  • DMA support for significant performance improvements.
  • Support for the new SCSI2SD hardware revision 4.2

[18 May 2014] v3.4 firmware released.

  • Bug fix for non-512 byte sectors.
  • New scsi2sd-debug log capture utility
  • Increased max sector size to 8192 bytes
  • Windows users upgrading from previous releases MUST delete old USB device information before scsi2sd-config will work again. The USBDeview utility may be used to remove Vendor 04B4, Product 1337.

[16 April 2014] v3.3 firmware released.

  • Many critical bugs are fixed. All SCSI2SD users are urged to upgrade to this version.
  • Better compatibility with older SCSI-1 controllers.
  • Non-standard sector sizes between 64 and 2048 bytes are now supported.

[16 Feb 2014] v3.2 firmware released. This is an important bugfix release. All SCSI2SD users are urged to upgrade to this version.

[02 Feb 2014] I've created the SCSI2SD FAQ to answer some common questions. I am currently working on resolving compatibility issues with some samplers, adding configurable sector-sizes, and creating a smaller 2.5" version to suit old Powerbooks.

[17 Jan 2014] Sign up for the SCSI2SD mailing lists for firmware update notifications.

[27 Dec 2013] v3.1 firmware released.

  • Fix for reading the last sector of the SD card.
  • Performance improvements. 2.5x read, 2x write performance.

[9 Dec 2013] v3.0.1 firmware released.

Overview

Traditional hard drives last 5 years*. Maybe, if you're luckly, you'll get 10 years of service from a particular drive. The lubricants wear out, the spindles rust. SCSI2SD is a modern replacement for failed drives. It allows the use of vintage computer hardware long after their mechanical drives fail. The use of micro-SD memory cards solves the problem of transferring data between the vintage computer and a modern PC (who still has access to a working floppy drive ?)

*All statistics are made up.

Purchase

The 3.5" boards are available from the following distributors:

The 2.5" PowerBook version, and bulk orders for the 3.5" board is available at:

3rd party accessories

nibblernibbles has created a 3d-printable external enclosure for the SCSI2SD + DB25 adapter, available at Thingiverse. Power can be supplied over USB for hosts which don't supply termination power.

Akai S1000 3d-printable bracket by roymaya



Features

  1. In-built active terminator.
  2. Emulates up to 4 SCSI devices (7 for the V6 version)
  3. Supports sector sizes from 64 bytes to 8192 bytes
  4. Firmware updatable over USB
  5. Highly configurable over USB
    • Selectable SCSI ID
    • Selectable parity support
    • Enable/disable Unit Attention Condition
    • Artificial limits on the SCSI disk size (eg. limit size to 4G to avoid OS bugs)
    • Sector size (can also be set via the SCSI MODE SELECT command, as sent by SCSI format utilities).
  6. External LED connector.

Technical Specifications

V5 hardware V6 hardware
SCSI Interface SCSI-2 Narrow 8-bit 50-pin connector.

Supports asynchronous transfers only.

SCSI-2 Narrow 8-bit 50-pin connector.

Synchronous transfers to be supported with firmware update.

SD Card Interface microSD, tested up to 64GB

Communication is via the SPI protocol at 25MHz (3MB/s theoretical max)

Full-size SD, tested up to 32GB

Up to 20MB/s

USB Interface Firmware updates and configuration

USB 2.0 micro-B

Firmware updates, configuration, and mass-storage

USB 2.0 micro-B. Mass-storage at USB 2.0 FS speeds (1.2MB/s max)

Power 5V via standard Molex 4-pin drive connector, USB, or self-powered using the SCSI host termination power.

2.35W maximum (500mA)

DO NOT CONNECT 12V at all if you need to make your own power cable as it risks destroying the board if you accidentally swap the wires.

5V via floppy 4-pin drive connector, USB, or self-powered using the SCSI host termination power.

2.35W maximum (500mA)

Dimensions (L x W x H) 5cm x 10cm x 1.5cm 10cm x 9cm x 1.5cm
Performance

Tested under optimal conditions. For comparison, here are some benchmarks of some older SCSI hardware.

Up to 2.6MB/s read, 2.3MB/s write. Up to 5MB/s.

10MB/s will be supported by a firmware update that supports synchronous SCSI transfers.

Performance

As currently implemented:

Transfer Size (bytes): 512 2048 8192 65536
Read 2MB/s 2.1MB/s 2.5MB/s 2.6MB/s
Write 125kB/s 441kB/s 1.5MB/s 2.3MB/s

For comparison, here are some benchmarks of some older SCSI hardware.

Compatibility

Computer systems

  • Mac LC-III and LC-475
  • Mac II running System 6.0.8
  • Mac SE/30
  • Apple IIgs using Apple II High Speed SCSI controller card
  • Symbolics Lisp Machine XL1200, using 1280 byte sectors
  • PDP-11/73 running RSX11M+ V4.6
  • Microvax 3100 Model 80 running VMS 7.3
  • Commodore Amiga 500+ with GVP A530
  • Commodore Amiga 500 KS 1.3 with Oktagon 508 SCSI-2 controller
  • Amiga 2000 (B2000 rev 6.4 ECS) with DKB RapidFire SCSI 1 card
    • May require bootloader replacement if it only starts up while on USB power.
  • Amiga 3000
    • May require bootloader replacement if it only starts up while on USB power.
  • Amiga 4000 equipped with CyberStorm PPC using 68pin adapter.
  • Atari TT030 System V
  • Atari TT running TOS 3.06 with HDDRIVER software version 9.06
  • Atari Mega ST 1; TOS 1.04; Protar ProFile 30 external hard drive enclosure (1GB size limitation)
  • Atari MEGA STE
    • needs J3 TERMPWR jumper
    • 1GB limit (--blocks=2048000). The OS will fail to read the boot sector if the disk is >= 1GB.
  • Atari Falcon, TOS 4.02, HDDRIVER 9.06 driver
  • Sharp X68000
    • SASI models supported. See gamesx.com for information on building a custom cable.
    • needs J3 TERMPWR jumper
    • Set to SCSI ID 3. ID0 will not work.
  • Compaq XP-1000 Professional Workstation
    • Alpha 21264 CPU, 667MHz, with a QLogic SCSI controller in a PCI slot
  • SCSI-based Macintosh Powerbooks (2.5" SCSI2SD)
  • AT&T 3B2/600
  • Sun 2/120 Workstation (Unit Attention disabled)
  • Sun 4/50 workstation
  • Data General MV/2500DC running AOS/VS
    • Requires changing deviceTypeModifier to 0x4c in XML config file. Configurable deviceTypeModifier is supported from firmware v4.3.
  • Applix 1616
  • IMS MM/1
  • NeXTcube + NeXTSTEP 3.3
  • NeXTStation
    • Modified geometry settings are required to avoid "cylinder group too large" errors while formatting. Configurable geometry is supported from firmware v4.3
  • Apollo 400/425s running DOMAIN/OS
  • Motorola System V/68 R3V7 and R3V8.
    • Since the installation have information about limited number of drives(most of them with custom commands) it requires a pre-installed disk image to be dd-ed on it. Works with MVME167 and MVME177
  • Motorola System V/88 R40V4.0 through R40V4.4
  • BBC micro/Master with Akhter host adapter
  • Sun SparcStation 2 w/ Solaris 2.5.1
  • Solbourne S3000
  • TI-99/4A
  • Myarc Geneve 9640
  • SGI Indy

Samplers

  • Roland JS-30 Sampler
  • Roland W-30
  • Roland VS2480
  • Roland S-760, S-770
  • Akai S950
  • Akai S1000, S3200, S3000XL, MPC 2000XL, DPS 12
    • SCSI cable reversed on S3200
    • There are compatibility problems with the Akai MPC3000. It works with the alternate Vailixi 3.5 OS with multi-sector transfers disabled.
    • MPC3000 example video
  • EMU Emulator E4X with EOS 3.00b and E6400 (classic) with Eos 4.01
  • EMU E6400 w/ EOS2.80f
  • EMU Emax1, Emax 2
    • E-Mu Emax video
    • Emax 2 video
    • To boot the emax you will need to use the internal scsi connection, rear db25 does not support scsi boot
    • Set SCSI2SD "Selection Delay" parameter to 1ms
  • E-mu EIIIXP, EIIIXS
  • EMU Darwin 8ch hard disk recorder
  • Emu ESI2000, ESI4000
  • Ensoniq ASR-X, ASR-10 (from v3.4, 2GB size limit)
  • Ensoniq EPS16+
  • Kurzweil K2000R
    • See kurzweil.com for size limits which a dependant on the OS version. Older OS versions have a 1GB limit.
    • SCSI cable reversed
  • Kurzweil K2500XS
  • Casio FZ-20M
    • Requires TERMPWR jumper. The manual shows the pin25 of the DB25 connector is "not connected".
    • May require scsi2sd-config --apple flag
  • Yamaha A5000, A3000, EX5, EX5R
  • EMU ESI4000 [1] [2]
  • Synclavier 9600.
    • Disable Parity. Max size == 9GB.
  • Waveframe 1000
    • Max size = 16GB
  • Sequential Circuits Studio 440.

Other

Files

Firmware update utility and configuration tool at:

  1. downloads for v3/v4/v5.
  2. downloads for v6.

These files are currently available for Windows, Linux, and Mac OSX.

A copy of all sources can be obtained via the command:

git clone --recursive git://www.codesrc.com/git/SCSI2SD

or (for V6)

git clone --recursive git://www.codesrc.com/git/SCSI2SD-V6


Alternatively, the git sources can be viewed using your web browser by clicking here or here (V6)

Howto

Alternative Open SCSI Projects

  • AJ's alternative implementation. AJ and I originally had a competition to design and build a SCSI device to boot an old Mac LCIII. The deadline for that competition has long-since expired without a winner, but we have both continued to progress our designs.
  • S2I (was: SCSI2IDE)
  • AVR based SCSI RAM disk

Old

For historical project information see SCSI2SD old

Personal tools