Low-Level Formatting DEC MFM Disks

From Computer History Wiki
Jump to: navigation, search

There are several occasions where you possibly want (or even need) to low-level format a DEC MFM disk:

  • Testing for bad blocks
  • Reformatting from a PC-like low-level format
  • Reformatting for use on another type of RQDX MFM controller
  • Reformatting for spoofing another disk model
  • ...

Another scenario might be that you want to prepare a foreign MFM disk model as a replacement for a DEC MFM disk.

You can even reformat RLL-type disks for usage on MFM controllers for the price of loosing some disk space.

Preparations

All you need is:

or:

Using a VAXstation 2000 or MicroVAX 2000 and its ROM resident Diagnostics

Formatting a Known Hard Disk

Example of formatting an RD32 hard disk.

Enter the following commands at your MicroVAX 2000 / VAXstation 2000 console prompt:

>>> TEST 70

VSfmt_QUE_unitno (0-2) ? 0      [enter the drive number of the hard disk]

VSfmt_STS_Siz........... RD32   [formatter recognized DUA0 as a RD32]

VSfmt_QUE_SerNbr (0-999999999)  29042836   [enter the serial number for the drive]
                                           [or enter a unique number for each unit]

VSfmt_QUE_RUsure (DUAx 1/0) ?   1 [where x equals the unit number]
                                   [enter 1 for YES, 0 for NO]

VSfmt_STS_RdMbb.............OK  [manufacturer's bad block located]

VSfmt_STS_FMTing............OK  [disk formatted OK]

VSfmt_STS_ChkPss............OK  [check pass completed OK]

VSfmt_STS_BBRvec := x           [x = number of bad blocks revectored]

VSfmt_RES_Succ                  [disk is successfully formatted]

>>>

Formatting an Unknown Hard Disk

>>> TEST 70

VSfmt_QUE_unitno (0-2) ? 0    [Enter drive number]

VSfmt_STS_Siz .......... ???? [Formatter does not recognize drive type]

VSfmt_STS_EntUIB              [Formatter wants drive details]

[this example is from the VS2000 technical manual]

    xbnsiz :=54         [enter the number of transfer blocks]

    dbnsiz :=48         [enter the number of diagnostic blocks]

    lbnsiz :=83236      [enter the number of logical blocks]

    rbnsiz :=200        [enter the number of replacement blocks]

    surpun :=6          [enter the number of surfaces per unit]

    cylpun :=820        [enter the number of cylinders per unit]

    wrtprc :=820        [enter the write precompensation cylinder]

    rctsiz :=4          [enter the size of the revectoring control table (RCT)]

    rctnbr :=8          [enter the number of copies of the RCT]

    secitl :=1          [enter the sector interleave]

    stsskw :=2          [enter the surface to surface skew]

    ctcskw :=9          [enter the cylinder to cylinder skew]

    mediai :=627327008  [enter the MSCP media ID]
   
  • Note this number is not dependent on disk geometry, but is the magic number for VMS to report on the type of disk. *

At this point, the formatter exits the query mode.

The next output to the screen is:

     VSfmt_QUE_SerNbr (0-999999999)  [enter the serial number for the drive]
                                     [or enter a unique number for each unit]

     VSfmt_QUE_RUsure (DUAx 1/0) ?   [where x equals the unit number]
                                     [enter 1 for YES, 0 for NO]

The formatter is now running, and the output should look like:

     VSfmt_STS_RdMbb.............OK  [manufacturer's bad block located]

     VSfmt_STS_FMTing............OK  [disk formatted OK]

     VSfmt_STS_ChkPss............OK  [check pass completed OK]

     VSfmt_STS_BBRvec := x           [x = number of bad blocks revectored]

     VSfmt_RES_Succ                  [disk is successfully formatted]

     >>>

Using a MicroVAX I and the VAX Diagnostic Supervisor

Get the MicroVAX I diagnostic floppies set images:

Write BL-T857D-DE MICROVAX I Diagnostics 2(3).RX5 onto an RX50 floppy or workalike.

Put floppy BL-T857D-DE into RX50 drive 0.

Boot VAX Diagnostic Supervisor (VDS):

B/10 DUA0

Load EHXRQ diagnostic

ATT RQDX1 HUB DUA 772150
ATT RX50 DUA DUA0
SET LOAD DUA0:[SYS0.SYSMAINT]
LOAD EHXRQ

Prepare & start formatting e.g. an RD52:

ATTACH RD52 DUA DUA1
SELECT DUA1
START /SECTION=FORMATTER

Using a MicroVAX II or later MicroVAX and the MicroVAX Diagnostic Monitor

Using a MicroPDP and the XXDP Diagnostics

ZRQBxx RQDX1/2

ZRQCxx RQDX3

PDP11_DiagnosticHandbook_XXDP_1988 mit Text.pdf

DR> STA

CHANGE HW (L)  ? Y

# UNITS (D)  ? 1

UNIT 0
Enter controller IP address (O)  172150 ?
What unit do you want to format [0-255] (D)  0 ? 1
Would you like to revector a single LBN only [Y/N] (L) N ?
Do you want to use the "AUTOFORMAT" Mode [Y/N] (L) Y ? N


Would you like to use the RCT - Revector known bad blocks [Y/N] (L) N ?

**** WARNING ****

[text about don't proceed if you're just kidding deleted]

Do you wish to continue [Y/N] (L) Y ?


MSCP Controller Model:  19
    Microcode Version:   4

Do you want to use manufacturing bad block information [Y/N] (A) N ?

Downline load UIT [Y/N] (A) Y ?


 UIT  Drive Name
-------------------------------------------------------
  0   RD51
  1   RD52 part # 30-21721-02 (1 light on front panel)
  2   RD52 part # 30-23227-02 (2 lights on front panel)
  3   RD53
  4   RD31
  5   RD54
  6   RD32

Enter Unit Identifier Table (UIT) [0-7] (D)  ? 5

Continue if bad block information is inaccessible [Y/N] (A) N ? Y

Please type in the serial number [8-10 digits] (A)  ? 05388342


Formatting of Drive 1 Begin.

[a long sequences of messages is displayed here, 1 per minute, showing the progress of formatting and what step is in progress on which block number.]

Format Completed.

00001 Rev LBNs
00000 Bad RBNs
00000 Bad DBNs
00000 Bad XBNs
00001 retired

FCT was not used.

Drive 1 has been formatted successfully.

ZRQC EOP    1
    0 TOTAL ERRS

DR>