On Thu, Sep 14, 2017 at 10:55 AM, Paul Koning via cctalk <
cctalk@classiccmp.org> 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.
>

I don't see where you read the first 2 tracks uninterlaced, and the other
tracks interlaced?  For DOS formatted disks, that's what's required. While
screwing up the first two tracks won't affect your ability to read DOS
floppies (since they were reserved for the boot blocks), other formats
aren't so forgiving and it makes the disk unbootable...

And then there's Venix disks, which have both an interlace, as well as a
skew from track to track (as well as doing one side in ascending track
order followed by the other side in descending track order), but I
digress...

Warner


> #!/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:])
>
>
>

Reply via email to