SCSI2SD

From code/src wiki
Revision as of 04:31, 11 December 2014 by Michael (talk | contribs) (→‎Samplers)
Jump to navigationJump to search

The SCSI Hard Drive Emulator for retro computing.

SCSI2SD_V3.0_small.jpg SCSI2SD_V3.0_plain_small.jpg

News

[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 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

I am actively building and selling SCSI2SD devices.

Buy Now!

Features

  1. In-built active terminator.
  2. Can optional supply terminator power back to the SCSI bus
  3. Emulates a non-removable hard drive for maximum compatibility.
  4. Supports sector sizes from 64 bytes to 8192 bytes
  5. Firmware updatable over USB
  6. 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).

Technical Specifications

SCSI Interface SCSI-2 Narrow 8-bit 50-pin connector. Supports asynchronous transfers only.
SD Card Interface Standard SDSC (1GB maximum size)

SDHC (32GB maximum size)
SDXC cards are untested. Donations welcome.
Communication is via the SPI protocol at 25MHz.

Power 5V via standard molex drive connector.
Dimensions 10cm x 10cm x 1.5cm

A 3D-printable bracket is available to mount in a standard 3.5" hard disk bay.

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

Desktop 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 (from v3.3)
  • Symbolics Lisp Machine XL1200, using 1280 byte sectors (from v3.4)
  • PDP-11/73 running RSX11M+ V4.6
  • Microvax 3100 Model 80 running VMS 7.3 (needs patch against v3.5.2 firmware)
  • Amiga 500+ with GVP A530
  • Atari TT030 System V
  • Atari MEGA STE
    • needs J3 TERMPWR jumper
    • 1GB limit (--blocks=2048000)
  • 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.

Samplers

  • Roland JS-30 Sampler
  • Akai S1000, S3200, S3000XL, MPC 2000XL, DPS 12
    • SCSI cable reversed on S3200
    • There are compatibility problems with the Akai MPC3000. It works (slowly) with the alternate Vailixi OS with multi-sector transfers disabled.
  • EMU Emulator E4X with EOS 3.00b and E6400 (classic) with Eos 4.01
  • Ensoniq ASR-X, ASR-10 (from v3.4, 2GB size limit)
    • ASR-20 Requires TERMPWR jumper.
    • ASR-X resets when writing to devices > 2Gb.
  • 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
  • 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

Other

  • HP 16601A, 16700A logic analyzers
  • Fluke 9100 series

Files

Firmware update utility and configuration tool download.

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

The schematics, pcb layout, and source code is managed under the git version control system. A copy of all sources can be obtained via the command:

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

Alternatively, the git sources can be viewed using your web browser by clicking here.

The schematics and PCB layout files can be viewed/edited with the free gEDA tools. For those without access to gEDA, I've exported the content as PDF:

The software is built using the Cypress PSoC Creator IDE.

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