SCSI Interface
SCSI-2 Narrow 8-bit 50-pin connector. Supports asynchronous transfers only.
-SD Card Interface
- Standard SDSC (1GB maximum size)
- SDHC, SDXC
+Micro SD Card Interface
+ Standard microSDSC (1GB maximum size)
+ microSDHC, microSDXC
Communication is via the SPI protocol at 25MHz.
+USB Interface (firmware updates and config)
+ USB 2.0 micro-B
Power
5V via standard molex drive connector.
Dimensions
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
+ 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
+ Amiga 4000 equipped with CyberStorm PPC using 68pin adapter.
Atari TT030 System V
Atari MEGA STE
needs J3 TERMPWR jumper
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)
- Also reported to work on Thinkpad 860 running Win NT 4.0 PowerPC.
- Data General MV/2500DC running AOS/VS
- Vendor: MICROoP
- Product: 1578-15 UP
- Revision: DG02
- Device-type modifier: 0x4c
+ Also reported to work on Thinkpad 860 running Win NT 4.0 PowerPC.
+ AT&T 3B2/600
+ Sun 2/120 Workstation (Unit Attention disabled)
+ Data General MV/2500DC running AOS/VS
+ Vendor: MICROoP
+ Product: 1578-15 UP
+ Revision: DG02
+ Device-type modifier: 0x4c
+ Applix 1616
+ IMS MM/1
Samplers
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
Other
0x00, 0x00 // Recovery time limit 0 (use default)*/\r
};\r
\r
+static const uint8 ReadWriteErrorRecoveryPage_SCSI1[] =\r
+{\r
+0x01, // Page code\r
+0x06, // Page length\r
+0x26,\r
+0x00, // Don't try recovery algorithm during reads\r
+0x00, // Correction span 0\r
+0x00, // Head offset count 0,\r
+0x00, // Data strobe offset count 0,\r
+0xFF // Reserved\r
+};\r
+\r
static const uint8 DisconnectReconnectPage[] =\r
{\r
0x02, // Page code\r
0x00, 0x00, 0x00 // Reserved\r
};\r
\r
+static const uint8 DisconnectReconnectPage_SCSI1[] =\r
+{\r
+0x02, // Page code\r
+0x0A, // Page length\r
+0, // Buffer full ratio\r
+0, // Buffer empty ratio\r
+0x00, 10, // Bus inactivity limit, 100us increments. Allow 1ms.\r
+0x00, 0x00, // Disconnect time limit\r
+0x00, 0x00, // Connect time limit\r
+0x00, 0x00 // Maximum burst size\r
+};\r
+\r
static const uint8 FormatDevicePage[] =\r
{\r
0x03 | 0x80, // Page code | PS (persist) bit.\r
0x00, 0x00 // Reserved\r
};\r
\r
+static const uint8 RigidDiskDriveGeometry_SCSI1[] =\r
+{\r
+0x04, // Page code\r
+0x12, // Page length\r
+0xFF, 0xFF, 0xFF, // Number of cylinders\r
+SCSI_HEADS_PER_CYLINDER, // Number of heads\r
+0xFF, 0xFF, 0xFF, // Starting cylinder-write precompensation\r
+0xFF, 0xFF, 0xFF, // Starting cylinder-reduced write current\r
+0x00, 0x1, // Drive step rate (units of 100ns)\r
+0x00, 0x00, 0x00, // Landing zone cylinder\r
+0x00, // RPL\r
+0x00, // Rotational offset\r
+0x00 // Reserved\r
+};\r
+\r
static const uint8 CachingPage[] =\r
{\r
0x08, // Page Code\r
if (pageCode == 0x01 || pageCode == 0x3F)\r
{\r
pageFound = 1;\r
- pageIn(pc, idx, ReadWriteErrorRecoveryPage, sizeof(ReadWriteErrorRecoveryPage));\r
- idx += sizeof(ReadWriteErrorRecoveryPage);\r
+ if ((scsiDev.compatMode >= COMPAT_SCSI2))\r
+ {\r
+ pageIn(pc, idx, ReadWriteErrorRecoveryPage, sizeof(ReadWriteErrorRecoveryPage));\r
+ idx += sizeof(ReadWriteErrorRecoveryPage);\r
+ }\r
+ else\r
+ {\r
+ pageIn(pc, idx, ReadWriteErrorRecoveryPage_SCSI1, sizeof(ReadWriteErrorRecoveryPage_SCSI1));\r
+ idx += sizeof(ReadWriteErrorRecoveryPage_SCSI1);\r
+ }\r
}\r
\r
if (pageCode == 0x02 || pageCode == 0x3F)\r
{\r
pageFound = 1;\r
- pageIn(pc, idx, DisconnectReconnectPage, sizeof(DisconnectReconnectPage));\r
- idx += sizeof(DisconnectReconnectPage);\r
+ if ((scsiDev.compatMode >= COMPAT_SCSI2))\r
+ {\r
+ pageIn(pc, idx, DisconnectReconnectPage, sizeof(DisconnectReconnectPage));\r
+ idx += sizeof(DisconnectReconnectPage);\r
+ }\r
+ else\r
+ {\r
+ pageIn(pc, idx, DisconnectReconnectPage_SCSI1, sizeof(DisconnectReconnectPage_SCSI1));\r
+ idx += sizeof(DisconnectReconnectPage_SCSI1);\r
+ }\r
}\r
\r
if (pageCode == 0x03 || pageCode == 0x3F)\r
if (pageCode == 0x04 || pageCode == 0x3F)\r
{\r
pageFound = 1;\r
- pageIn(pc, idx, RigidDiskDriveGeometry, sizeof(RigidDiskDriveGeometry));\r
+ if ((scsiDev.compatMode >= COMPAT_SCSI2))\r
+ {\r
+ pageIn(pc, idx, RigidDiskDriveGeometry, sizeof(RigidDiskDriveGeometry));\r
+ }\r
+ else\r
+ {\r
+ pageIn(pc, idx, RigidDiskDriveGeometry_SCSI1, sizeof(RigidDiskDriveGeometry_SCSI1));\r
+ }\r
\r
if (pc != 0x01)\r
{\r
memcpy(&scsiDev.data[idx+9], &scsiDev.data[idx+2], 3);\r
}\r
\r
- idx += sizeof(RigidDiskDriveGeometry);\r
+ if ((scsiDev.compatMode >= COMPAT_SCSI2))\r
+ {\r
+ idx += sizeof(RigidDiskDriveGeometry);\r
+ }\r
+ else\r
+ {\r
+ idx += sizeof(RigidDiskDriveGeometry_SCSI1);\r
+ }\r
}\r
\r
// DON'T output the following pages for SCSI1 hosts. They get upset when\r