On 14/09/2017 17:55, Paul Koning via cctalk wrote:
On Sep 14, 2017, at 12:41 PM, Paul Koning via cctalk <cctalk@classiccmp.org>
wrote:
On Sep 14, 2017, at 12:27 PM, jim stephens via cctalk <cctalk@classiccmp.org>
wrote:
On 9/14/2017 9:19 AM, Fred Cisin via cctalk wrote:
You have some .dsk images of SSDD 96tpi for 11/73.
I have some also, and would love if there is a writeup of a known working
procedure to use as a reference.
Having a list of programs and systems is great, but I'd also like to know a few
formulas that absolutely worked for someone as a starting point.
We have copies of a VMS 4.3 floppy set on RX50's which we will image as well,
and using something other than the DEC hardware will be useful.
It's easy on Linux. PC 5.25 inch drives have settable format parameters. The
PC default is 9 sectors per track, but you can set it to 10 for RX50
compatibility.
At one point you'd do that with an entry in /etc/fdprm:
rx50 800 10 1 80 0 0x23 0x01 0xDF 0x50
There's still a command line approach, I forgot the command name though. You can also do
it under program control with the the FDSETPRM ioctl. I have some Python code (in my
"FLX" utility for operating on RSTS file systems) that does this.
One complication: if you have an image which has the blocks in logical order,
you need to shuffle them to account for the strange track numbering,
interleaving, and track to track sector skew. Here's a program that will do
that. (It operates on image files, not on the actual floppy drive.)
Ok, attachments get stripped. Here it is.
#!/usr/bin/env python3
"""rx50.py
This is a simple program to convert between interleaved and non-interleaved
(logical block order) layouts for RX50 floppies or container files.
Invocation:
rx50.py [-i] infile [-i] outfile
If the filename is preceded by -i, that file is/will be interleaved. Infile
or outfile may be an actual floppy (in which case -i is in effect
automatically).
While it is legal to specify -i twice, or not at all, this is rather
uninteresting
because it merely makes an image copy of the container in a fairly inefficient
manner.
"""
from rstsio import disk
import sys
def main (args):
a = iter (args)
il = False
ifn = next (a)
if ifn == "-i":
il = True
ifn = next (a)
idisk = disk.Disk (ifn, interleave = il)
il = False
ofn = next (a)
if ofn == "-i":
il = True
ofn = next (a)
odisk = disk.Disk.create (ofn, idisk.sz, interleave = il)
odisk.setrwdisk (True)
dcns = idisk.sz // idisk.dcs
for i in range (dcns):
ic = idisk.readclu (i)
oc = odisk.newclu (i)
oc[:] = ic
odisk.flush ()
idisk.close ()
odisk.close ()
if __name__ == "__main__":
main (sys.argv[1:])
Sounds good.
But I have to work with what I have:
An 11/73 with:
One serial (console) line
An RX50 booting xxdp
A CQD220 SCSI controller with a DSP5200s attached.
RT11 customer diagnostics A and B
The DSP5200S is formatted and is seen as DU6
One PC running windows 10
There's no Linux systems, no C compilers, emulators or weird hardware
available.
But I do have a Rainbow which is the console to the 11/73
I just need to write the RT11 disk images I have to RX50 using the Rainbow.
--
Wanted one pdp-8/i rocker switch leaver to copy.