11/93 rebuild

Glen Slick glen.slick at gmail.com
Mon May 27 11:22:51 CDT 2019

On Mon, May 27, 2019 at 6:58 AM Rod Smallwood via cctalk
<cctalk at classiccmp.org> wrote:
> Hi
>      Whilst I wait to hear from Glen Slick who has got me this far
> (Thanks Glen) I'll restate the problem.
> 1. I now have an old XP system with SIMH on it (PDP11.exe)
> 2.  I have created RD54.dsk containing RSTS/E
> 3. Attached to the system is a 2.1Gb SCSI drive via an adaptec 2940
> controller
> 4. I need a tried and tested list of step by step instructions to put
> RD54.dsk on the SCSI drive.
> 5. The drive will then be moved to a CQD-220A/TM SCSI controller on my
> KDJ11-E based 11/93 and must boot.
> 6. Its just an image copy from one drive to another on the same system.
> 7. Nobody has come up with a tried and tested list of step by step
> instructions yet.

OK, now that you have an RD54 disk image and a 2GB SCSI drive attached
to an Adaptec 2940 controller on a Windows XP system, the first thing
I would do is resize the capacity of the 2GB SCSI drive to match the
capacity of an RD54 drive.

To do that, I would download sg3_utils ( http://sg.danny.cz/sg/sg3_utils.html ).

Specifically I would download version 1.37 of the Windows binaries here:

The current version is 1.44, which I have not tried yet. The last time
I tried version 1.42 I had some issues so I went back to version 1.37
so that I what I suggest for now.

The RD54 disk image that was previously created has a block size of
311,200 and a byte size of 159,334,400.

The goal in this step is to resize the capacity of the SCSI drive so
that when it is attached to CMD CQD-220, the capacity of the drive as
reported through the MSCP interface will match that of the RD54 disk
image. What I have observed with the CMD CQD-220 controllers that I
have is that they report a capacity of 2 blocks smaller through the
MSCP interface than the SCSI drive reports. That is with the CMD
CQD-220 controller reset to default settings of a single unit for the
drive, not split into 2 or 4 units.

So the SCSI drive should report a capacity of 311,202 (311,200 + 2)
blocks in this case.

With the sg3_utils-1.37 binaries download and extracted on your
Windows XP system with the 2GB SCSI drive connected to the AHA-2940
controller, you could do this:

// Use sg_scan to see what drives are attached. In this example
physical drive "PD1" is the target drive. This will vary depending on
the configuration of your system. Find the physical drive name entry
that matches your target drive.

PD0     [C]     HDS728040PLAT20  PF1OA21B
PD1             COMPAQPC  DDRS-39130W       S99C
CDROM0  [Z]     TEAC CD-224E  1.7A

// Use sg_inq to send a SCSI Inquiry command to the physical drive to
verify that the vendor and product information seems correct for the
target drive. If you don't want to be making changes to the wrong

C:\sg3_utils-1.37>sg_inq pd1
standard INQUIRY:
  PQual=0  Device_type=0  RMB=0  version=0x02  [SCSI-2]
  [AERC=0]  [TrmTsk=0]  NormACA=0  HiSUP=0  Resp_data_format=2
  SCCS=0  ACC=0  TPGS=0  3PC=0  Protect=0  [BQue=0]
  EncServ=0  MultiP=0  [MChngr=0]  [ACKREQQ=0]  Addr16=0
  [RelAdr=0]  WBus16=1  Sync=1  Linked=1  [TranDis=0]  CmdQue=1
  [SPI: Clocking=0x0  QAS=0  IUS=0]
    length=164 (0xa4)   Peripheral device type: disk
 Vendor identification: COMPAQPC
 Product identification: DDRS-39130W
 Product revision level: S99C
 Unit serial number: REGA0360

// Use sg_readcap to send a SCSI Read Capacity command to the physical
drive. Make a note of the current number of blocks and write that down
in case you might want to return the drive to its native capacity
sometime later.

C:\sg3_utils-1.37>sg_readcap pd1
Read Capacity results:
   Last logical block address=17773499 (0x10f33bb), Number of blocks=17773500
   Logical block length=512 bytes
   Device size: 9100032000 bytes, 8678.47 MiB, 9.10003 GB

 // Ok, now time to actually use sg_format --resize to change the
reported capacity of the drive. The --resize option does not do a low
level format of the drive. It uses a SCSI Mode Select command to
change the capacity of the drive as reported by a SCSI Read Capacity
command. Here the block count is 311,202 (311,200 + 2) blocks.

C:\sg3_utils-1.37>sg_format --count=311202 --resize --verbose pd1
    inquiry cdb: 12 00 00 00 24 00
    COMPAQPC  DDRS-39130W       S99C   peripheral_type: disk [0x0]
    mode sense (10) cdb: 5a 00 01 00 00 00 00 00 fc 00
    mode sense (10): pass-through requested 252 bytes but got 28 bytes
Mode Sense (block descriptor) data, prior to changes:
  Number of blocks=17773500 [0x10f33bc]
  Block size=512 [0x200]
    mode select (10) cdb: 55 11 00 00 00 00 00 00 1c 00
Resize operation seems to have been successful

// Use sg_readcap again to verify that the change took effect as
desired. The new disk size of 159,335,424 bytes is 1024 (2 blocks)
larger than the disk image size 159,334,400

C:\sg3_utils-1.37>sg_readcap pd1
Read Capacity results:
   Last logical block address=311201 (0x4bfa1), Number of blocks=311202
   Logical block length=512 bytes
   Device size: 159335424 bytes, 151.954 MiB, 0.159335 GB

// sg_format --resize has worked with the drives that I have tried. I
suppose that it is possible that some drives might not support this.

More information about the cctalk mailing list