On 14/09/2017 18:37, Rod Smallwood via cctalk wrote:


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.

I found this
As part of my entry for this year's RetroChallenge Winter Warm-Up (http://retrochallenge.net/2009/winter/news.html),
 I've created some disk imaging utilities for the Rainbow 100.
Specifically, the utilities can create RX50 images from disks, or write disks from RX50 images, similar to dd on GNU/Linux and rawrite on Windows/DOS. The utilities are downloadable from my blog (http://jeff.rainbow-100.com/?p=50).

But its a dead end
R

--
Wanted one pdp-8/i rocker switch leaver to copy.

Reply via email to