• Please review our updated Terms and Rules here

Reading an RQDX2 drive

silver2k

Member
Joined
Feb 13, 2023
Messages
22
Hi everyone!

I am setting up a new (old) microPDP-11 in a BA23 chassis with a bunch of various cards and parts I have purchased.

I was able to obtain an RD52 drive that appears to be functioning and readable. Unfortunately it was originally formatted with an RQDX2, but I have an RQDX3 so I obviously get an error when trying to load it through the PDP due to the formatting differences.

I am hesitant to reformat this drive to work with my unit without knowing its contents...as it might have something on it worth saving and making publicly available.

I do have David Gesswein's MFM emulator and was able to get a (mostly) successful image of the drive.

is there a way to convert this to a readable image by an RQDX3, or otherwise emulate it so that we can see the contents?

root@beaglebone:~/mfm# ./mfm_read --analyze --transitions_file raw_data --extracted_data_file extracted_data --note "RD52 raw read"
Board revision C detected
Found drive at select 3
Drive RPM 3527.6
Found matching format RQDX2: good count difference 0
Interleave mismatch previous entry 0, 9 was 1 now 0
Selected head 8 found 0, last good head found 7
Read errors trying to determine sector numbering, results may be in error
Number of heads 8 number of sectors 18 first sector 0
Unable to determine interleave. Interleave value is not required
Drive supports buffered seeks (ST412)
Disk has recalibrated to track 0
Stopping end of disk search due to recalibration
Number of cylinders 512, 37.7 MB

Command line to read disk:
--format RQDX2 --sectors 18,0 --heads 8 --cylinders 512 --header_crc 0xffff,0x1021,16,0 --data_crc 0xffff,0x1021,16,0 --sector_length 512 --retries 50,4 --drive 3
Retries failed cyl 252 head 1
Bad sectors on cylinder 252 head 1: 1
All sectors recovered after 2 retries cyl 481 head 7
Retries failed cyl 511 head 0
Bad sectors on cylinder 511 head 0: 16H 17H
Retries failed cyl 511 head 1
Bad sectors on cylinder 511 head 1: 16H 17H
Retries failed cyl 511 head 2
Bad sectors on cylinder 511 head 2: 16H 17H
Retries failed cyl 511 head 3
Bad sectors on cylinder 511 head 3: 16H 17H
Retries failed cyl 511 head 4
Bad sectors on cylinder 511 head 4: 16H 17H
Retries failed cyl 511 head 5
Bad sectors on cylinder 511 head 5: 16H 17H
Retries failed cyl 511 head 6
Bad sectors on cylinder 511 head 6: 16H 17H
Retries failed cyl 511 head 7
Bad sectors on cylinder 511 head 7: 16H 17H

Found cyl 0 to 511, head 0 to 7, sector 0 to 17
Expected 73728 sectors got 73711 good sectors, 16 bad header, 1 bad data
0 sectors marked bad or spare
0 sectors corrected with ECC. Max bits in burst corrected 0
Track read time in ms min 29.864625 max 3211.182709 avg 43.738691
 
As I understand it, there is no way to access a disk formatted by RQDX2 using an RQDX3 controller, because the disk geometry information is stored on the controller for the RQDX2, while the geometry information is stored on the disk when formatted by an RQDX3. I happen to have a spare RQDX2 controller that I could let you have for a nominal service charge...
 
First I would look at extracted_data using strings command or something similar if available. If not hex editor or possibly normal editor. You can normally find enough strings to determine what operating system the disk was created with and some idea of whats on it. The RQDX3 takes some of the beginning of the disk for its own use so sectors at the disk level are remapped before being presented to the host. Nobody has taken the time to figure out how to remap the image from the emulator into what the host sees so can't convert extracted data to emulator file. For the RQDX3 the firmware source in C is available so if someone is motivated should be able to figure out.

The RQDX2 sample I have also have different formatting on the last cylinder so errors are normal. What little I know says the RQDX2 does less remapping.

I did try booting the RQDX2 extracted data image I have with SIMH.
sim> att rq0 /tmp/t
RQ0: '/tmp/t' Contains RT11 partitions
1 valid partition, Type: V05, Sectors On Disk: 21600
sim> bo rq0

RT-11SB V05.07

.R MSCPCK
?MSCPCK-I-MU0-TK50 FW Rev Level is 005/HW Rev Level is 001
?MSCPCK-W-TQK50 controller below FW Rev 4/HW Rev 6
.DIR

RT11AI.SYS 96 31-Oct-1998 RT11FB.SYS 106 31-Oct-1998
RT11SB.SYS 97 31-Oct-1998 RT11XM.SYS 124 31-Oct-1998
...

So at least with this image disk disk layout it close enough to what the host sees that you can get a directory. May run into problems where their were bad sectors.
 
First I would look at extracted_data using strings command or something similar if available. If not hex editor or possibly normal editor. You can normally find enough strings to determine what operating system the disk was created with and some idea of whats on it. The RQDX3 takes some of the beginning of the disk for its own use so sectors at the disk level are remapped before being presented to the host. Nobody has taken the time to figure out how to remap the image from the emulator into what the host sees so can't convert extracted data to emulator file. For the RQDX3 the firmware source in C is available so if someone is motivated should be able to figure out.

The RQDX2 sample I have also have different formatting on the last cylinder so errors are normal. What little I know says the RQDX2 does less remapping.

I did try booting the RQDX2 extracted data image I have with SIMH.
sim> att rq0 /tmp/t
RQ0: '/tmp/t' Contains RT11 partitions
1 valid partition, Type: V05, Sectors On Disk: 21600
sim> bo rq0

RT-11SB V05.07

.R MSCPCK
?MSCPCK-I-MU0-TK50 FW Rev Level is 005/HW Rev Level is 001
?MSCPCK-W-TQK50 controller below FW Rev 4/HW Rev 6
.DIR

RT11AI.SYS 96 31-Oct-1998 RT11FB.SYS 106 31-Oct-1998
RT11SB.SYS 97 31-Oct-1998 RT11XM.SYS 124 31-Oct-1998
...

So at least with this image disk disk layout it close enough to what the host sees that you can get a directory. May run into problems where their were bad sectors.
Hi - are there any files called "dibol.*" or "*.rts" by any chance? - if so, it's likely CTS-300, which is time-shared Dibol on top of RT-11... We could REALLY do with a copy of that!
 
As I understand it, there is no way to access a disk formatted by RQDX2 using an RQDX3 controller, because the disk geometry information is stored on the controller for the RQDX2, while the geometry information is stored on the disk when formatted by an RQDX3. I happen to have a spare RQDX2 controller that I could let you have for a nominal service charge...
Ouch that’s what I feared….
As I understand it, there is no way to access a disk formatted by RQDX2 using an RQDX3 controller, because the disk geometry information is stored on the controller for the RQDX2, while the geometry information is stored on the disk when formatted by an RQDX3. I happen to have a spare RQDX2 controller that I could let you have for a nominal service charge...
Thanks that would be appreciated. I’d like to give reading it a shot through the PDP. If you could DM me your email let’s see if we can work something out.
 
First I would look at extracted_data using strings command or something similar if available. If not hex editor or possibly normal editor. You can normally find enough strings to determine what operating system the disk was created with and some idea of whats on it. The RQDX3 takes some of the beginning of the disk for its own use so sectors at the disk level are remapped before being presented to the host. Nobody has taken the time to figure out how to remap the image from the emulator into what the host sees so can't convert extracted data to emulator file. For the RQDX3 the firmware source in C is available so if someone is motivated should be able to figure out.

The RQDX2 sample I have also have different formatting on the last cylinder so errors are normal. What little I know says the RQDX2 does less remapping.

I did try booting the RQDX2 extracted data image I have with SIMH.
sim> att rq0 /tmp/t
RQ0: '/tmp/t' Contains RT11 partitions
1 valid partition, Type: V05, Sectors On Disk: 21600
sim> bo rq0

RT-11SB V05.07

.R MSCPCK
?MSCPCK-I-MU0-TK50 FW Rev Level is 005/HW Rev Level is 001
?MSCPCK-W-TQK50 controller below FW Rev 4/HW Rev 6
.DIR

RT11AI.SYS 96 31-Oct-1998 RT11FB.SYS 106 31-Oct-1998
RT11SB.SYS 97 31-Oct-1998 RT11XM.SYS 124 31-Oct-1998
...

So at least with this image disk disk layout it close enough to what the host sees that you can get a directory. May run into problems where their were bad sectors.
Great lead on the strings command.....ok so there are definite files and an OS in here!

RT-11XM V05.04 A

There appears to be a menu listing of some of the installed software...this gives a clue
EXIT Return to DS800 Master Menu

Some industrial type equipment:
+ION GUN
+ 11) Beam eV :
+ 12) Beam dia:
+ RASTER
+ 13) Raster X:
+ 14) Raster Y:
+ 15) Shift X :
+ 16) Shift Y :
+ GATE
+ 17) Gate X :
+ 18) Gate Y :
Error:- invalid option number.
I (C/S)
+10) Ion/Neut. Menu:
NEUTRALISER
11) Emission :
12) eV :
SPECIMEN
13) Bias :
RGA MODE
Error - Invalid option

Description:
The user may plot depth profile data against three different
x-axis units. These are,
1) Scan number or
2) Time or
3) Depth/Angstroms.
A change of x-axis units may be invoked by using the commands,
1) SCANS or
2) TIME or
3) DEPTH.
A plot versus depth on the x-axis is only allowed if a non-zero
etch rate has been defined. A plot versus time will be calibrated
in seconds up to 1000s, or minutes up to 200 min else in hours.


Ok with a bit of google, this appears to be a spectrometer...
https://onlinelibrary.wiley.com/doi/epdf/10.1002/sca.4950130202


;DS800 Software
;==============
;This is a 'INSTR' DS800 system to run on a
.; Describe choice in plain English and get confirmation.
.SETN NINS 0 .;Number of instrument types.
.SETS INSTR ""
.IFF $XSAM .GOTO 15
.IFT $MCD .SETS INSTR "XSAM with Multi Channel Detector"
.IFF $MCD .SETS INSTR "XSAM with Single Channel Detector"
.INC NINS
.15: .IFF $SIMS .GOTO 16
.IF NINS GT 0 .SETS INSTR "'INSTR' + "
.SETS INSTR "'INSTR'SIMS"
.INC NINS
.16: .IFF $S800 .GOTO 17
.IF NINS GT 0 .SETS INSTR "'INSTR' + "
.SETS INSTR "'INSTR'Series 800"
.INC NINS
.17: .IF NINS EQ 1 .SETS INSTR "'INSTR' only"
; 'INSTR' instument,
; at '$USER'.
;The following software options are included:
.IFT $OPSYS ; RT11 Operating system
.IFT $XPSS ; XPS/AES Spectrum
.IFT $SAM ; Scanning Auger Mapping
.IFT $ISSS ; ISS Spectrum (on XSAM)
.IFT $ISSM ; ISS Mapping (on XSAM)
.IFT $SIMS ; SIMS Spectrum
.IFT $SIMSM ; SIMS Mapping
;The following peripherals are supported:
.IF $TERM = 1 ; VT100G Terminal
.IF $TERM = 2 ; 4105 or 4205 Terminal
.IF $TERM = 3 ; 4107 or 4207 Terminal
.IFT $TEKPL ; Tektronix 4662 Plotter
.IFT $HPPL ; HP 7550A Plotter
.IFT $PRINT ; Serial-interfaced printer



Well guess I better wash my hands after touching this thing!
FECAL EXAM - FLOTATION 1.00 6.00 6.00 FECAL - SEDIMENTATION
 
…….

is there a way to convert this to a readable image by an RQDX3, or otherwise emulate it so that we can see the contents?

root@beaglebone:~/mfm# ./mfm_read --analyze --transitions_file raw_data --extracted_data_file extracted_data --note "RD52 raw read"
Board revision C detected
Found drive at select 3
Drive RPM 3527.6
Found matching format RQDX2: good count difference 0
Interleave mismatch previous entry 0, 9 was 1 now 0
Selected head 8 found 0, last good head found 7
Read errors trying to determine sector numbering, results may be in error
Number of heads 8 number of sectors 18 first sector 0
Unable to determine interleave. Interleave value is not required
Drive supports buffered seeks (ST412)
Disk has recalibrated to track 0
Stopping end of disk search due to recalibration
Number of cylinders 512, 37.7 MB

Command line to read disk:
--format RQDX2 --sectors 18,0 --heads 8 --cylinders 512 --header_crc 0xffff,0x1021,16,0 --data_crc 0xffff,0x1021,16,0 --sector_length 512 --retries 50,4 --drive 3
Retries failed cyl 252 head 1
Bad sectors on cylinder 252 head 1: 1

,,,,,,
Expected 73728 sectors got 73711 good sectors, 16 bad header, 1 bad data
0 sectors marked bad or spare
0 sectors corrected with ECC. Max bits in burst corrected 0
Track read time in ms min 29.864625 max 3211.182709 avg 43.738691
I'm going to venture that you have good copy of the drive imaged. Even though there are bad sectors, they were probably remapped by the controller.

200% guess work here. That one bad sector in the middle of the drive was remapped to the end area of the disk. if we can find it, a minor copy paste to the "bad spot" might be make the image whole.

Jerry
 
Last edited:
Ok, I have a good update! Thanks to jmdhuse who gifted me an RQDX2, I was able to boot from this RD-52 drive!

It has a working copy of RT-11

Testing in progress - Please wait 1 2 3 4 5 6 7 8 9 Starting system RT-11XM V05.04 A



This appears to be from the University of Florida:
DS800 Version 5 Copyright (C) 1984,1985,1986 Kratos Ltd., Manchester, England. This software is supplied for exclusive use by: Materials Engineering Dept. Florida Univ.


.DIRECTORY /ORDER:NAME AUGER .LIB 32 20-Oct-84 PET2H .MPA 12 07-Feb-97 BINCOM.SAV 24P 05-Jan-87 PET2L .MPA 18 07-Feb-97 BUP .SAV 51P 05-Jan-87 PET3H .MPA 12 07-Feb-97 CHECKI.COM 3 06-May-86 PET3L .MPA 18 07-Feb-97 CHECKI.DAT 1 PIP .SAV 30P 05-Jan-87 COLOUR.SAV 22 05-Nov-86 PISE01.MPA 19 14-May-91 CONFIG.CFG 1 31-Jan-91 PISE22.MPA 19 25-Oct-91 COPLST.COM 1 19-Nov-86 PISE35.MPA 19 24-Jan-92 DATIME.COM 3P 21-Mar-84 PLX .SYS 2 08-Oct-85 DEMO1 .MPA 126 12-Jul-84 PMMA1H.MPA 12 07-Feb-97 DIR .SAV 19P 05-Jan-87 PMMA1L.MPA 18 07-Feb-97 DRV11 .SAV 29 11-Mar-86 PMMA2H.MPA 12 07-Feb-97 DS800 .BAK 1 08-Jun-87 PMMA2L.MPA 18 07-Feb-97 DS800 .SAV 61 20-May-87 PMMA3H.MPA 12 07-Feb-97 DS800 .TXT 1 PMMA3L.MPA 18 07-Feb-97 DU .SYS 8P 05-Jan-87 PVX .SYS 2 05-Nov-86 DUMP .SAV 9P 05-Jan-87 RESORC.SAV 25P 05-Jan-87 DUP .SAV 49P 05-Jan-87 RT11SJ.SYS 79P 05-Jan-87 DUX .SYS 9P 05-Jan-87 RT11XM.SYS 107P 05-Jan-87 EDIT .SAV 19P 05-Jan-87 RUNQ .DAT 2 FAT .LIB 32 08-Aug-84 SIHZ50.COM 1 09-Mar-87 FORMAT.SAV 27P 05-Jan-87 SIMS .CAL 4 25-Mar-87 FRR .LIB 32 08-Aug-84 SIMS .PAR 9 29-Mar-82 GAUSS .LIN 6P 23-Feb-84 SIMTST.SIM 3 12-Apr-99 GRG1 .MPA 11 28-Mar-91 SIPP .SAV 21P 05-Jan-87 GRG2 .MPA 16 08-Apr-91 SL .SYS 14P 05-Jan-87 GRG3 .MPA 7 11-Apr-91 SLX .SYS 16P 05-Jan-87 GRG4 .MPA 11 11-Apr-91 SMX .SYS 2 22-Apr-86 GRG5 .MPA 12 06-Apr-91 SPLIT .SAV 3P 05-Jan-87 HELP .SAV 132P 05-Jan-87 SPREAD.SAV 24 02-Dec-86 IDENT .SAV 30 07-Oct-85 SRCCOM.SAV 26P 05-Jan-87 IND .SAV 58P 05-Jan-87 STARTS.COM 1 INSTAL.COM 27 22-May-87 STARTX.BAK 1 05-Feb-97 INSTL2.COM 4 06-Mar-87 STARTX.COM 1 INSVMB.COM 2 23-Feb-87 SWAP .SYS 27P 05-Jan-87 KED .SAV 58P 05-Jan-87 SYSMSG.DAT 19 13-May-87 LDX .SYS 8P 05-Jan-87 TERMNL.DAT 1 08-Jun-87 LOREN .LIN 6P 23-Feb-84 TERMNL.SAV 20 05-Nov-86 LSX .SYS 3P 17-Jun-85 TEST .MPA 18 05-Feb-97 LSX .XXX 5 05-Jan-87 TEST1 .MPA 6 10-Feb-97 MCDAQS.SAV 122 05-Jun-87 TSIMS .CAL 4 01-Oct-85 MCELMT.SAV 79 05-Nov-86 TT .SYS 2P 05-Jan-87 MCFGEN.SAV 71 05-Nov-86 TZDIAG.SAV 19 05-Nov-86 MCRTDP.SAV 67 02-Apr-87 TZX .SYS 2 05-Nov-86 MCVD .SAV 78 05-Jun-86 T4105 .DAT 3 11-Jun-86 MDPROF.CMD 17 03-Sep-86 UCL .SAV 16P 05-Jan-87 MDPROF.MLB 17 07-Mar-85 VBGEXE.SAV 16P 05-Jan-87 MDPROF.SAV 174 14-Apr-87 VM .SYS 3P 05-Jan-87 MDS800.CMD 17 08-Jul-86 VT100 .DAT 1 18-Feb-85 MDS800.MLB 87 19-May-87 ZRTUNE.SAV 102 10-Apr-87 MDS800.MRO 2 08-Jul-85 ZSCAL .SAV 114 08-Apr-87 MDS800.SAV 413 05-Jun-87 ZSDAQS.SAV 68 29-May-87 MDS800.W00 10 01-Jan-99 ZSDIAG.SAV 37 09-Apr-87 MGXPS .LIB 16 23-Jan-84 ZSDISP.CMD 17 17-Jul-86 MIKE .LIB 13P 11-May-85 ZSDISP.MLB 23 08-Aug-86 MPA .PAR 20 26-Nov-86 ZSDISP.SAV 177 26-May-87 MPASYS.SAV 102 29-May-87 ZSDPED.SAV 82 21-May-87 MSGSET.SAV 24 17-Feb-86 ZSRTDP.SAV 60 16-Apr-87 MSG800.DAT 21 10-Apr-87 ZTNOLD.DAT 40 10-Apr-87 M8DTAC.REL 55 08-Jun-87 ZTSXTN.SAV 103 10-Apr-87 NLX .SYS 2P 05-Jan-87 ZTUNE .SAV 41 10-Apr-87 PET1H .MPA 12 07-Feb-97 ZTUNE .SIM 1 18-Oct-82 PET1L .MPA 18 07-Feb-97 125 Files, 3995 Blocks 56417 Free blocks

Now to mess around with it and figure out what I have and what I do not have...I notice it appears to be missing MACRO.....
 
Back
Top