SCSI2SD: Difference between revisions

From code/src wiki
Jump to navigationJump to search
 
(257 intermediate revisions by the same user not shown)
Line 1: Line 1:
<p><strong>The SCSI Hard Drive Emulator for retro computing.</strong></p>
<p><strong>The SCSI Hard Drive Emulator for retro computing.</strong></p>


[http://www.codesrc.com/images/SCSI2SD/SCSI2SD_V3.0.jpg http://www.codesrc.com/images/SCSI2SD/SCSI2SD_V3.0_small.jpg]
[http://www.codesrc.com/images/SCSI2SD/scsi2sd-5.1-6.0.jpg http://www.codesrc.com/images/SCSI2SD/scsi2sd-5.1-6.0-small.jpg]
[http://www.codesrc.com/images/SCSI2SD/SCSI2SD_V3.0_plain.jpg http://www.codesrc.com/images/SCSI2SD/SCSI2SD_V3.0_plain_small.jpg]


== News ==  
 
== Download ==
# [http://www.codesrc.com/files/scsi2sd-v6/latest Downloads] for v6 hardware revisions. This firmware will NOT work on the older boards.
# See [[#Files]] section below for older boards
 
== News ==
<p>
<p>
<strong>27 Dec 2013</strong><br />
<strong>[14 May 2022]</strong>[http://www.codesrc.com/files/scsi2sd-v6/v6.4.14 v6.4.14] Bugfix release<br>
[http://www.codesrc.com/files/scsi2sd/v3.1/ v3.1] firmware released.
<ul>
<ul>
<li>Fix for reading the last sector of the SD card.</li>
  <li>Fix firmware version displaying as "0.0" in scsi2sd-util when there is no SD card inserted.</li>
<li>Performance improvements. 2.5x read, 2x write performance.</li>
  <li>Reduce some delays for slight performance improvements.</li>
  <li>Use SD High-Speed mode on V6 2021 hardware.</li>
</ul>
</ul>
</p>
</p>
<p>
<p>
<strong>9 Dec 2013</strong><br />
<strong>[21 Jan 2022]</strong>[http://www.codesrc.com/files/scsi2sd-v6/v6.4.13 v6.4.13] Bugfix release<br>
[http://www.codesrc.com/files/scsi2sd/v3.0.1/ v3.0.1] firmware released.
<ul>
<ul>
<li>Fixes to support formatting with Apple HD SC Setup. This is very slow, Apple Drive Setup is preferred</li>
  <li>Fix SCSI writes with sector sizes larger than 512.</li>
<li>Reliability improvement for rejecting unknown SCSI messages.</li>
  <li>Fix 2Gb SD cards being detected as 1Gb.</li>
<li>Reliability improvements for SD card initialisation and reading.</li>
  <li>Fix for CD emulation stopping the drive when receiving a load/eject request</li>
</ul>
</ul>
</p>
</p>
<p>
<p>
<strong>29 Oct 2013:</strong><br />
<strong>[11 Aug 2021]</strong>[http://www.codesrc.com/files/scsi2sd-v6/v6.4.12 v6.4.12] Bugfix release<br>
Firmware update and device configuration tools now available. [http://www.codesrc.com/files/scsi2sd/v3.0 Download].
<ul>
<li>Fix USB disconnect issues.</li>
</ul>
</p>
</p>
<p>
<p>
<strong>27 Oct 2013:</strong><br />
<strong>[31 May 2021]</strong>[http://www.codesrc.com/files/scsi2sd-v6/v6.4.11 v6.4.11] Hardware Support release<br>
Version 3.0 PCBs assembled, tested, and available for purchase.
<ul>
</p>
<li>Bugfixes for previous 6.4.x versions</li>
<p>
<li>Updates to support the new 2021 revision of the SCSI2SD V6 boards</li>
<strong>3 Oct 2013:</strong><br />
<li>scsi2sd-util6 stability improvements (contributed by Jonathan Wakely).
Source code and PCB files [http://www.codesrc.com/gitweb/index.cgi?p=SCSI2SD.git;a=summary uploaded].
</ul>
</p>
<p>
<strong>10 Sep 2013:</strong><br />
It works!
I have a working prototype that works well. There are a few minor errors in the PCB layout that will be fixed in the next revision.
</p>
</p>
[[SCSI2SD Archived News]]


== Overview ==
== Overview ==
Traditional hard drives last 5 years<sup>*</sup>. Maybe, if you're luckly, you'll get 10 years of
SCSI2SD is an emulator for old SCSI hard drives. It allows replacing one or several old broken SCSI drives with a SD memory card.
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 ?)


<sup>*</sup>All statistics are made up.
== Unlicenced Copies ==
Older versions of the SCSI2SD hardware designs were published under the [https://www.gnu.org/licenses/gpl-3.0.en.html GPL] licence. This permits anyone to build their own board from the original or modified designs, so long as they abide by the licence terms.
 
* The source/designs of any modifications must be provided to those you distribute the board to.
* Clones are based on the obsolete V4 design, lack features, and may not be compatible with all the systems listed on these pages.
 
Artmix is currently selling unlicensed modified clones ("SD SusanoMonster"), and refuses to comply with the GPL. Please do not purchase this board. If you have already purchased, please request the seller provides you with the modified designs under the GPL licence.
 
== Which version should you buy ? ==
{|border="1px"
|SCSI2SD V6
|This board offers significantly better performance than the V5.x boards by adding support for synchronous SCSI transfers.
Easy access to virtual disk data over USB.
* See [[SCSI2SD V6 Compatibility]]
|-
|SCSI2SD V5.1/V5.2
|This is a newer version of the V5 board, with software-enabled termination, full-size SD card, and floppy-style power connector.
This version provides a faster startup time than V5, which is needed to boot some Amiga and Staubli machines
|-
|SCSI2SD V5.5
|Plugs directly into an external DB25 connector without a cable. Uses micro SD card.
|-
|SCSI2SD V5
|This is the older version which uses micro SD cards.
|-
|SCSI2SD for Powerbook
|Designed for Apple Powerbook laptops using 2.5" drives.
|}


== Purchase ==
== Purchase ==
I am actively building and selling SCSI2SD devices.


[http://www.codesrc.com/src/scsi2sd/buy.php Buy Now!]
* [http://shop.codesrc.com/ codesrc.com] (Australia)
* [http://store.inertialcomputing.com/category-s/100.htm Inertial Computing] (USA)
* [https://itead.cc/product/scsi2sd/ itead] (China)
 
== 3rd party accessories ==
* [https://www.thingiverse.com/thing:4964960 Thingiverse] Bracket to house both the SCSI2SD card and Gotek Floppy adapter together in one housing by Paul Pritsis.
* [http://www.thingiverse.com/thing:1131419 Thingiverse] nibblernibbles has created a 3d-printable external enclosure for the SCSI2SD + DB25 adapter. Power can be supplied over USB for hosts which don't supply termination power.
* [http://www.shapeways.com/shops/roymaya SCSI2SD V5 & V6 Bracket] by Maya Designs
* [http://www.samplerzone.com SamplerZone.com] External cases for V5.0, V5.1, V5.2, and V6 boards, internal cables for all music samplers, and fully-realized SCSI2SD sampler solutions.


== Features ==
== Features ==
# In-built active terminator.
# In-built active terminator.
# Can optional supply terminator power back to the SCSI bus
# Emulates up to 4 SCSI devices (7 for the V6 version)
# Emulates a non-removable hard drive for maximum compatibility.
# Supports sector sizes from 64 bytes to 8192 bytes
# Firmware updatable over USB
# Firmware updatable over USB
# Highly configurable over USB
# Highly configurable over USB
Line 65: Line 100:
#* Enable/disable Unit Attention Condition
#* Enable/disable Unit Attention Condition
#* Artificial limits on the SCSI disk size (eg. limit size to 4G to avoid OS bugs)
#* 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).
# External LED connector.


== Technical Specifications ==
== Technical Specifications ==
{|border="1px"
{|border="1px"
|SCSI Interface
|
|SCSI-2 Narrow 8-bit 50-pin connector. Supports asynchronous transfers only.
|V5 hardware
|V5.1 hardware
|V5.2 hardware
|V5.5 hardware
|V6 hardware
|-
|Internal 50pin Narrow 8-bit SCSI connector
|Yes
|Yes
|Yes
|No
|Yes
|-
|DB25 SCSI Connector
|No
|Optional DB25 female socket.
|No
|DB25 male socket.
Direct plug-in without cable
|No
|-
|Synchronous SCSI Support
|No
|No
|No
|No
|Yes
FAST10 (10MB/s) synchronous transfers.
|-
|SCSI Terminator
|Active Terminator
Resistor packs can be removed from the socket to disable the terminator
|Active Terminator
Enabled via software using scsi2sd-util
|Active Terminator
Enabled via software using scsi2sd-util
|Active Terminator
Always-on
|Active Terminator
Enabled via software using scsi2sd-util
|-
|-
|SD Card Interface
|SD Card Interface
|Standard SDSC (1GB maximum size)<br />
|microSD, tested up to 64GB<br />
SDHC (32GB maximum size)<br />
Communication is via the SPI protocol at 25MHz (3MB/s theoretical max)
SDXC cards are untested. Donations welcome.<br />
|Full-size, tested up to 128GB<br />
Communication is via the SPI protocol at 25MHz.
Communication is via the SPI protocol at 25MHz (3MB/s theoretical max)
|Full-size, tested up to 128GB<br />
Communication is via the SPI protocol at 25MHz (3MB/s theoretical max)
|microSD, tested up to 64GB<br />
Communication is via the SPI protocol at 25MHz (3MB/s theoretical max)
|Full-size SD, tested up to 128GB<br />
Up to 20MB/s
|-
|USB Interface
|Firmware updates and configuration
USB 2.0 micro-B
|Firmware updates and configuration
USB 2.0 micro-B
|Firmware updates and configuration
USB 2.0 micro-B
|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)
 
Mass-storage at USB 2.0 HS available on 2021 revision (currently 7MB/s read)
|-
|-
|Power
|Power
|5V via standard molex drive connector.
|5V via standard Molex 4-pin drive connector, USB, or self-powered using the SCSI host termination power.
|-
2.35W maximum (500mA)
|Dimensions
|10cm x 10cm x 1.5cm
A 3D-printable bracket is available to mount in a standard 3.5" hard disk bay.
|}


== Performance ==
<strong>DO NOT CONNECT 12V</strong> at all if you need to make your own power cable as it risks destroying the board if you accidentally swap the wires.
As currently implemented:
|5V via floppy 4-pin drive connector, USB, or self-powered using the SCSI host termination power.
2.35W maximum (500mA)


Sequential read:  930kb/sec
<strong>DO NOT CONNECT 12V</strong> at all if you need to make your own power cable as it risks destroying the board if you accidentally swap the wires.
Sequential write: 900kb/sec
|5V via floppy 4-pin drive connector, USB, or self-powered using the SCSI host termination power.
2.35W maximum (500mA)


Tested with a 16GB class 10 SD card, via the commands:
<strong>DO NOT CONNECT 12V</strong> at all if you need to make your own power cable as it risks destroying the board if you accidentally swap the wires.
# WRITE TEST
|5V via DB25 SCSI connector, or USB.
sudo dd bs=8192 count=100 if=/dev/zero of=/dev/sdX oflag=dsync
2.35W maximum (500mA)
 
# READ TEST
sudo dd bs=8192 count=100 if=/dev/sdX of=/dev/null


<strong>Requires SCSI host that supplies terminator power on pin 25 of the DB25 socket</strong>
|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
|10cm x 9cm x 1.5cm
|7.5cm x 5.5cm x 1.8cm (External case)
|10cm x 9cm x 1.5cm
|-
|Performance
Tested under optimal conditions.
For comparison, here are some [http://mastodonpc.tripod.com/bench/scsi.html benchmarks] of some older SCSI hardware.
For comparison, here are some [http://mastodonpc.tripod.com/bench/scsi.html benchmarks] of some older SCSI hardware.
|Up to 2.6MB/s read, 2.3MB/s write
(1.1MB/s on most older SCSI hosts)
|Up to 2.6MB/s read, 2.3MB/s write
(1.1MB/s on most older SCSI hosts)
|Up to 2.6MB/s read, 2.3MB/s write
(1.1MB/s on most older SCSI hosts)
|Up to 1MB/s
|Up to 10MB/s.
|}


== Compatibility ==
== Compatibility ==
Tested with Linux (current), Apple Macintosh System 7.5.3 on LC-III, and LC-475 hardware.
* [[SCSI2SD V5 Compatibility]]
 
* [[SCSI2SD V5.5 Compatibility]]
Users have reported success on these systems:
* [[SCSI2SD V6 Compatibility]]
* Mac II running System 6.0.8
* [[2.5" Powerbook SCSI2SD Compatibility]]
* Mac SE/30


== Files ==
== Files ==
Firmware update utility and configuration tool [http://www.codesrc.com/files/scsi2sd/v3.0 download].
=== SCSI2SD V6 ===
# [http://www.codesrc.com/files/scsi2sd-v6/latest Downloads for v6].
# [http://www.codesrc.com/gitweb/index.cgi?p=SCSI2SD-V6.git;a=summary Git Browser]


These files are currently available for Windows and Linux (64bit, requires the libudev1 package).
A copy of all sources can be obtained via the command:


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


git clone --recursive git://www.codesrc.com/git/SCSI2SD
=== codesrc SCSI2SD V3, V4, Powerbook edition, V5.0a and V5.0b ===
# [http://www.codesrc.com/files/scsi2sd/latest Downloads for v3/v4/v5].
# [http://www.codesrc.com/gitweb/index.cgi?p=SCSI2SD.git;a=summary Git Browser]


Alternatively, the git sources can be viewed using your web browser by clicking [http://www.codesrc.com/gitweb/index.cgi?p=SCSI2SD.git;a=summary here].
A copy of all sources can be obtained via the command:


The schematics and PCB layout files can be viewed/edited with the free [http://www.geda-project.org/ gEDA] tools. For those without access to gEDA, I've exported the content as PDF:
git clone --recursive git://www.codesrc.com/git/SCSI2SD
* [http://www.codesrc.com/files/scsi2sd/schematic.pdf schematic.pdf]
* [http://www.codesrc.com/files/scsi2sd/layout.pdf layout.pdf]


The software is built using the [http://www.cypress.com/psoccreator/ Cypress PSoC Creator] IDE.
=== Rabbit Hole Computing releases ===
Newer software releases may be available for the V5 series of boards from Rabbit Hole Computing.
# [https://www.scsi2sd.com/v5/releases/ Rabbit Hole Computing releases]
# [https://github.com/rabbitholecomputing/SCSI2SD-V5 Rabbit Hole Computing git repository]


== Howto ==
== Howto ==
* [[SCSI2SD FAQ]]
* [[SCSI2SD UserManual]]
* [[SCSI2SD UserManual]]
* [[FormatWithBasiliskII]] Format an SD card for use with Apple Macintosh hardware using the [http://basilisk.cebix.net/ Basilisk II] emulator
* [[FormatWithBasiliskII]] Format an SD card for use with Apple Macintosh hardware using the [http://basilisk.cebix.net/ Basilisk II] emulator
 
* [[SCSI2SD_Mods]]
== Alternative Open SCSI Projects ==
* [https://bitbucket.org/ajessop/scsi/wiki/Home 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.
* [http://n8vem-sbc.pbworks.com/w/browse/#view=ViewFolder&param=SCSI2IDE S2I] (was: SCSI2IDE)
* [http://micha.freeshell.org/ramdisk/index.php AVR based SCSI RAM disk]
 
== Old ==
 
For historical project information see [[SCSI2SD old]]

Latest revision as of 03:54, 22 July 2022

The SCSI Hard Drive Emulator for retro computing.

scsi2sd-5.1-6.0-small.jpg


Download

  1. Downloads for v6 hardware revisions. This firmware will NOT work on the older boards.
  2. See #Files section below for older boards

News

[14 May 2022]v6.4.14 Bugfix release

  • Fix firmware version displaying as "0.0" in scsi2sd-util when there is no SD card inserted.
  • Reduce some delays for slight performance improvements.
  • Use SD High-Speed mode on V6 2021 hardware.

[21 Jan 2022]v6.4.13 Bugfix release

  • Fix SCSI writes with sector sizes larger than 512.
  • Fix 2Gb SD cards being detected as 1Gb.
  • Fix for CD emulation stopping the drive when receiving a load/eject request

[11 Aug 2021]v6.4.12 Bugfix release

  • Fix USB disconnect issues.

[31 May 2021]v6.4.11 Hardware Support release

  • Bugfixes for previous 6.4.x versions
  • Updates to support the new 2021 revision of the SCSI2SD V6 boards
  • scsi2sd-util6 stability improvements (contributed by Jonathan Wakely).

SCSI2SD Archived News

Overview

SCSI2SD is an emulator for old SCSI hard drives. It allows replacing one or several old broken SCSI drives with a SD memory card.


Unlicenced Copies

Older versions of the SCSI2SD hardware designs were published under the GPL licence. This permits anyone to build their own board from the original or modified designs, so long as they abide by the licence terms.

  • The source/designs of any modifications must be provided to those you distribute the board to.
  • Clones are based on the obsolete V4 design, lack features, and may not be compatible with all the systems listed on these pages.

Artmix is currently selling unlicensed modified clones ("SD SusanoMonster"), and refuses to comply with the GPL. Please do not purchase this board. If you have already purchased, please request the seller provides you with the modified designs under the GPL licence.

Which version should you buy ?

SCSI2SD V6 This board offers significantly better performance than the V5.x boards by adding support for synchronous SCSI transfers.

Easy access to virtual disk data over USB.

SCSI2SD V5.1/V5.2 This is a newer version of the V5 board, with software-enabled termination, full-size SD card, and floppy-style power connector.

This version provides a faster startup time than V5, which is needed to boot some Amiga and Staubli machines

SCSI2SD V5.5 Plugs directly into an external DB25 connector without a cable. Uses micro SD card.
SCSI2SD V5 This is the older version which uses micro SD cards.
SCSI2SD for Powerbook Designed for Apple Powerbook laptops using 2.5" drives.

Purchase

3rd party accessories

  • Thingiverse Bracket to house both the SCSI2SD card and Gotek Floppy adapter together in one housing by Paul Pritsis.
  • Thingiverse nibblernibbles has created a 3d-printable external enclosure for the SCSI2SD + DB25 adapter. Power can be supplied over USB for hosts which don't supply termination power.
  • SCSI2SD V5 & V6 Bracket by Maya Designs
  • SamplerZone.com External cases for V5.0, V5.1, V5.2, and V6 boards, internal cables for all music samplers, and fully-realized SCSI2SD sampler solutions.

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 V5.1 hardware V5.2 hardware V5.5 hardware V6 hardware
Internal 50pin Narrow 8-bit SCSI connector Yes Yes Yes No Yes
DB25 SCSI Connector No Optional DB25 female socket. No DB25 male socket.

Direct plug-in without cable

No
Synchronous SCSI Support No No No No Yes

FAST10 (10MB/s) synchronous transfers.

SCSI Terminator Active Terminator

Resistor packs can be removed from the socket to disable the terminator

Active Terminator

Enabled via software using scsi2sd-util

Active Terminator

Enabled via software using scsi2sd-util

Active Terminator

Always-on

Active Terminator

Enabled via software using scsi2sd-util

SD Card Interface microSD, tested up to 64GB

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

Full-size, tested up to 128GB

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

Full-size, tested up to 128GB

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

microSD, tested up to 64GB

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

Full-size SD, tested up to 128GB

Up to 20MB/s

USB Interface Firmware updates and configuration

USB 2.0 micro-B

Firmware updates and configuration

USB 2.0 micro-B

Firmware updates and configuration

USB 2.0 micro-B

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)

Mass-storage at USB 2.0 HS available on 2021 revision (currently 7MB/s read)

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)

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)

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 DB25 SCSI connector, or USB.

2.35W maximum (500mA)

Requires SCSI host that supplies terminator power on pin 25 of the DB25 socket

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 10cm x 9cm x 1.5cm 7.5cm x 5.5cm x 1.8cm (External case) 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

(1.1MB/s on most older SCSI hosts)

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

(1.1MB/s on most older SCSI hosts)

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

(1.1MB/s on most older SCSI hosts)

Up to 1MB/s Up to 10MB/s.

Compatibility

Files

SCSI2SD V6

  1. Downloads for v6.
  2. Git Browser

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

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

codesrc SCSI2SD V3, V4, Powerbook edition, V5.0a and V5.0b

  1. Downloads for v3/v4/v5.
  2. Git Browser

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

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

Rabbit Hole Computing releases

Newer software releases may be available for the V5 series of boards from Rabbit Hole Computing.

  1. Rabbit Hole Computing releases
  2. Rabbit Hole Computing git repository

Howto