Low-Level Formatting DEC MFM Disks
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.
Contents
Preparations
All you need is:
or:
- An RQDX1, RQDX2, or RQDX3 QBUS MFM controller suitable for your MFM disk, and
- An RX50 Dual Floppy Drive, and
- A MicroPDP-11, or
- A MicroVAX I / VAXstation I, or
- A MicroVAX II / VAXstation II, or
- A later QBUS based MicroVAX / VAXstation
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>