Skip to content

SCSI Device Documentation

SCSI Disk and Optical Drive Controllers for SINTRAN III


Overview

Documentation for SCSI (Small Computer System Interface) disk and optical drive controllers used in ND-100 systems running SINTRAN III.


Master Index

Start here: SCSI-Master-Index.md - Complete index of all SCSI documentation


Quick Reference

Document Purpose Lines
SCSI-Master-Index.md Complete documentation index -
SCSI-C#-Implementation-Guide.md C# emulator implementation ~450
SCSI-Commands-Analysis.md SCSI command set analysis ~380
SCSI-INQUIRY-Analysis.md INQUIRY command details ~290
scsi_inquiry_explained.md INQUIRY explanation ~120
SCSI-Optical-Commands-Addendum.md Optical drive commands ~95
SCSI-controller.md Controller documentation ~85
scsi-disk-format.md Physical disk-management layer: spare region, disk-parameter block, and the defect/reallocation table at the last block - creation spec for building valid ND SCSI disk images -

NPL Source Analysis

Document NPL Source Purpose
IP-P2-SCSI-DISK.md IP-P2-SCSI-DISK.NPL SCSI disk driver analysis
IP-P2-SCSI-DRIV.md IP-P2-SCSI-DRIV.NPL SCSI driver implementation
IP-P2-SCSI-DRIV-ANALYSIS.md IP-P2-SCSI-DRIV.NPL Detailed driver analysis
IP-P2-SCSI-OPDI.md IP-P2-SCSI-OPDI.NPL Optical disk implementation
IP-P2-SCSI-OPDI-Analysis.md IP-P2-SCSI-OPDI.NPL Optical disk analysis

Topics Covered

SCSI Protocol

  • Command set (SCSI-1, SCSI-2)
  • Command Descriptor Blocks (CDB)
  • Status and sense data
  • Message system
  • Phases (arbitration, selection, data, status)

Commands Documented

  • INQUIRY - Device identification
  • READ(6), READ(10) - Read sectors
  • WRITE(6), WRITE(10) - Write sectors
  • TEST UNIT READY - Device status
  • REQUEST SENSE - Error information
  • MODE SENSE/SELECT - Device configuration
  • READ CAPACITY - Disk geometry
  • Optical-specific commands (SCSI-2)

Driver Implementation

  • Interrupt handling (Level 11)
  • DMA operations
  • Error recovery
  • Device datafield structure
  • Queue management

Emulation

  • C# classes for SCSI emulation
  • Virtual disk implementation
  • Command processing
  • Status handling

For Emulator Developers

Start with: SCSI-C#-Implementation-Guide.md

Key Classes:

SCSIController          // Main controller
SCSIDisk                // Virtual disk
SCSICommand             // Command processing
SCSIDevice              // Base device class

Implementation Steps: 1. Read SCSI-Commands-Analysis.md - understand command set 2. Read SCSI-C#-Implementation-Guide.md - implement classes 3. Reference IP-P2-SCSI-DRIV.md - match SINTRAN driver behavior


SINTRAN OS

Other Devices

  • ../HDLC/ - HDLC communication controller

Additional Documents

Document Description
ND-11.021.1 EN-Floppy and Streamer Controller 3106 3112.md Floppy and streamer controller hardware reference (OCR)
nd-scsi-3201.md SCSI 3201 controller reference
SCSI-MOUNT-FIX-PLAN.md Ranked, manually-testable fix + tracing plan for ENTER-DIRECTORY SCSI mount failure (carved CHDSI/SCDTS path correlated with the C# controller and the known ND-3201 bugs)
SCSI-TRACE-HOWTO.md How to enable the toggleable [SCSI-TRACE] logging in the emulator and read a mount capture (good vs bad mount: block-0 byte 2016 name, READ CAPACITY=1024, RSTAU/RITRG interrupt pattern)

Version History

Date Version Changes
2025-10-17 1.0 Initial SCSI documentation structure

Parent: ../README.md - Device Documentation