[cctalk] Re: Restoring Ultrix-32m 1.2 Floppies

2023-07-18 Thread Henry Bent via cctalk
On Tue, 18 Jul 2023 at 08:30, Hans-Ulrich Hölscher via cctalk <
cctalk@classiccmp.org> wrote:

> Some questions if you don't mind ;-))
>

Not at all!


>
> - Could you please give some instructions how you managed to install V1.0?
>

Yes, I suppose this should be documented, as I have been unable to find any
installation documentation scans for Ultrix-32m 1.x.  The installation
process needs the disk to be rq0 and have two floppies, rq1 and rq2.
32m-bin-1.0/01 needs to be attached as the first floppy and 32m-1.0-bin/02
needs to be attached to the second floppy.  I chose to use the RD52 for
installation as 1.0 doesn't understand any of the larger RD-series disks.
/etc/disktab does have entries for the RA80 and RA81 but my recollection is
that trying to install to those disks didn't actually work.


> - What kind of error messages did you get when you wanted to install V1.2?
>

It looks like there is an issue with the bootloader - the self-tests go
into an infinite loop.  I have yet to try moving the bootloader from 1.0 to
the 1.2 system, but I believe this should work.


> - What microvax1 simulator did you use: the OpenSiḿh one or that from Simh
> (Mark Pizzolato)?
>

I am using OpenSIMH but I don't believe there are any significant
differences between the two branches that would affect this system.


> - What is in your microvax1.ini file?
>

Here is an INI file for installing 1.0; you don't have to use the QVSS but
I enjoy the experience.

set cpu idle=ULTRIX-1.X
set cpu INSTRUCTIONS=D-FLOAT
set tti 7b
set tto 7b
set cr dis
set lpt dis
set rl dis
set rq0 rd52
att rq0 rd52.dsk
# The installer freaks out if the floppies are locked!
#set rq1 lock
set rq1 rx50
att rq1 32m-1.0-bin/01
#set rq2 lock
set rq2 rx50
att rq2 32m-1.0-bin/02
set rq3 dis
set ts dis
set tq dis
set qvss enable
set xq type=deqna
# change this to whatever works in your environment
att xq tap:tap1
boot


[cctalk] Re: Restoring Ultrix-32m 1.2 Floppies

2023-07-18 Thread Hans-Ulrich Hölscher via cctalk
Some questions if you don't mind ;-))

- Could you please give some instructions how you managed to install V1.0?
- What kind of error messages did you get when you wanted to install V1.2?
- What microvax1 simulator did you use: the OpenSiḿh one or that from Simh
(Mark Pizzolato)?
- What is in your microvax1.ini file?

This is what I get when trying to boot the 1st V1.0 floppy:

Logging to file "ULT012_MV1_001.log"
sim> b rq1
.2..1..0.
Boot
: ra(1,0)vmunix
186016+46652+44656 start 0x10bc
Ultrix-32m V1.0 System #1: Fri Aug 17 11:57:07 EDT 1984
real mem  = 2093056
avail mem = 1511424
using 102 buffers containing 208896 bytes of memory
MicroVAX 1, microcode level = 5
Q22 bus
rqd0 at bus0 csr 172150 vec 774, ipl 17
ra0 at rqd0 slave 0
ra1 at rqd0 slave 1
ra2 at rqd0 slave 2
panic: iinit
syncing disks... done

dumping to dev 901, offset 0
dump succeededRebooting...
.2..1..0.
Boot
: ra(1,0)vmunix
186016+46652+44656 start 0x10bc
...

Ulli

Am Mo., 17. Juli 2023 um 20:42 Uhr schrieb Henry Bent via cctalk <
cctalk@classiccmp.org>:

> On Mon, 17 Jul 2023 at 13:06, Henry Bent  wrote:
>
> > On Mon, 17 Jul 2023 at 12:59, Ethan Dicks via cctalk <
> > cctalk@classiccmp.org> wrote:
> >
> >>
> >> > From: http://www.chdickman.com/pdp11/pro380.txt
> >> >
> >> > "The RX50 floppy starts at track 1. Track 0 is logically placed after
> >> > track 79. The sectors are interleaved 1, 3, 5, 7, 9, 0, 2, 4, 6, 8,
> >> > 10. The track shift and interleave must be taken into account when
> >> > moving disks between real PDP-11 and emulators."
> >>
> >> I have had good luck with a secfor convolver from the same page as this
> >> comment:
> >>
> >> http://www.chdickman.com/pdp11/lbn2rx50.c
> >>
> >> It will go both ways, to and from physical block order and logical block
> >> order.
> >>
> >
> > That seems to have worked perfectly.  Thank you for the utility and the
> > explanation.  Now off to working on the next steps!
> >
> > -Henry
> >
>
> A brief follow-up on this: After lots of (virtual) disk-swapping I was able
> to upgrade an existing 1.0 system but was not able to install a 1.2 system
> from scratch.  It seems that there is some sort of bootloader issue with a
> clean install, which I suspect might be a SIMH problem and I will follow up
> there after some more investigation.
>
> I truly feel for the folks who had to do this at the time, using 38
> floppies on a MicroVAX I.  The installer does give time estimates for
> certain milestones so that you could go and get a coffee or whatever.
> "Configuring vmunix, this takes about 30 minutes" is certainly indicative
> of the relative speed of the machine at the time.  Also there is an
> indication that there was a tape distribution but so far that has not
> surfaced.  I'm not even sure what medium that would have been - RC25?
>


[cctalk] Re: Restoring Ultrix-32m 1.2 Floppies

2023-07-17 Thread Paul Koning via cctalk



> On Jul 17, 2023, at 5:33 PM, Chuck Guzis via cctalk  
> wrote:
> 
> On 7/17/23 11:53, Ethan Dicks via cctalk wrote:
> 
>> Chuck Dickman's algorithm is in lbn2rx50.c
>> 
>> #define RX50_TRACKS  80
>> #define RX50_SECTORS 10
>> 
>> int interleave[] = { 0, 2, 4, 6, 8, 1, 3, 5, 7, 9 };
>> 
>>track = lbn/RX50_SECTORS;
>>track = (track + 1)%RX50_TRACKS;
>> 
>>sector = lbn%RX50_SECTORS;
>>sector = (interleave[sector] + 2*(track - 1) + RX50_SECTORS)%RX50_SECTORS;
> 
> Depends on the application.  Files-11 RX50 encoding is a bit stranger,
> with Track 79 mapped to physical track 0.

That's the RX50 standard mapping; Files-11 is not any different.  Physical 
tracks are (logical track + 1) % 80, which is what the code cited above 
includes.

> I can pass my algorithm along, if anyone is interested.
> 
> On the other hand, DECMate II and Rainbow use sector interleave but not
> track skew.
> 
> If anything can be said about DEC, they were consistent in their
> inconsistency.

Interesting, I did not know that about Rainbow etc.  But PDP11 and VAX are 
consistent (RQDX as well as Pro, the difference being that in the Pro the 
driver has to do the translation).

paul



[cctalk] Re: Restoring Ultrix-32m 1.2 Floppies

2023-07-17 Thread Warner Losh via cctalk
On Mon, Jul 17, 2023, 3:34 PM Chuck Guzis via cctalk 
wrote:

> On 7/17/23 11:53, Ethan Dicks via cctalk wrote:
>
> > Chuck Dickman's algorithm is in lbn2rx50.c
> >
> > #define RX50_TRACKS  80
> > #define RX50_SECTORS 10
> >
> > int interleave[] = { 0, 2, 4, 6, 8, 1, 3, 5, 7, 9 };
> >
> > track = lbn/RX50_SECTORS;
> > track = (track + 1)%RX50_TRACKS;
> >
> > sector = lbn%RX50_SECTORS;
> > sector = (interleave[sector] + 2*(track - 1) +
> RX50_SECTORS)%RX50_SECTORS;
>
> Depends on the application.  Files-11 RX50 encoding is a bit stranger,
> with Track 79 mapped to physical track 0.
>
> I can pass my algorithm along, if anyone is interested.
>
> On the other hand, DECMate II and Rainbow use sector interleave but not
> track skew.
>
> If anything can be said about DEC, they were consistent in their
> inconsistency.
>

Yup. The Rainbow's track 0 and 1 were not interleaved to make the boot
loader easier... I think the decmate did yhe same but with different
tracks...

The rainbow also had a cool partitioning format that looked like it was
some general thing, but I never saw it elsewhere or have found an
electronic copy of the printed docs I pulled off dec's tops20 support
machine from the LSG in the late 80s

Warner

--Chuck
>
>
>
>


[cctalk] Re: Restoring Ultrix-32m 1.2 Floppies

2023-07-17 Thread Chuck Guzis via cctalk
On 7/17/23 11:53, Ethan Dicks via cctalk wrote:

> Chuck Dickman's algorithm is in lbn2rx50.c
> 
> #define RX50_TRACKS  80
> #define RX50_SECTORS 10
> 
> int interleave[] = { 0, 2, 4, 6, 8, 1, 3, 5, 7, 9 };
> 
> track = lbn/RX50_SECTORS;
> track = (track + 1)%RX50_TRACKS;
> 
> sector = lbn%RX50_SECTORS;
> sector = (interleave[sector] + 2*(track - 1) + RX50_SECTORS)%RX50_SECTORS;

Depends on the application.  Files-11 RX50 encoding is a bit stranger,
with Track 79 mapped to physical track 0.

I can pass my algorithm along, if anyone is interested.

On the other hand, DECMate II and Rainbow use sector interleave but not
track skew.

If anything can be said about DEC, they were consistent in their
inconsistency.

--Chuck





[cctalk] Re: Restoring Ultrix-32m 1.2 Floppies

2023-07-17 Thread Henry Bent via cctalk
On Mon, 17 Jul 2023 at 14:56, Warner Losh  wrote:

>
>
> On Mon, Jul 17, 2023, 12:42 PM Henry Bent via cctalk <
> cctalk@classiccmp.org> wrote:
>
>>
>> I truly feel for the folks who had to do this at the time, using 38
>> floppies on a MicroVAX I.  The installer does give time estimates for
>> certain milestones so that you could go and get a coffee or whatever.
>> "Configuring vmunix, this takes about 30 minutes" is certainly indicative
>> of the relative speed of the machine at the time.  Also there is an
>> indication that there was a tape distribution but so far that has not
>> surfaced.  I'm not even sure what medium that would have been - RC25?
>>
>
> Doing a VMS install, twice, on a microvax ii is what convinced the powers
> that be to get a tk50... and an eagle 400mb drive... or at least put them
> over the edge to proposing work that got the upgrade funded... iirc... The
> VMS install was on a crazy number of floppies, if you counted all the
> layered products and third party packages...
>
> Warner
>

Ah, after a little research I see that the TK50 was introduced in mid-1985,
and it was available for the MicroVAX I, so with Ultrix-32m 1.2 being
shipped in 1986 it makes sense that it could have been distributed on a
TK50.  I did not previously think that the TK50 had been available that
early.

-Henry


[cctalk] Re: Restoring Ultrix-32m 1.2 Floppies

2023-07-17 Thread Warner Losh via cctalk
On Mon, Jul 17, 2023, 12:42 PM Henry Bent via cctalk 
wrote:

> On Mon, 17 Jul 2023 at 13:06, Henry Bent  wrote:
>
> > On Mon, 17 Jul 2023 at 12:59, Ethan Dicks via cctalk <
> > cctalk@classiccmp.org> wrote:
> >
> >>
> >> > From: http://www.chdickman.com/pdp11/pro380.txt
> >> >
> >> > "The RX50 floppy starts at track 1. Track 0 is logically placed after
> >> > track 79. The sectors are interleaved 1, 3, 5, 7, 9, 0, 2, 4, 6, 8,
> >> > 10. The track shift and interleave must be taken into account when
> >> > moving disks between real PDP-11 and emulators."
> >>
> >> I have had good luck with a secfor convolver from the same page as this
> >> comment:
> >>
> >> http://www.chdickman.com/pdp11/lbn2rx50.c
> >>
> >> It will go both ways, to and from physical block order and logical block
> >> order.
> >>
> >
> > That seems to have worked perfectly.  Thank you for the utility and the
> > explanation.  Now off to working on the next steps!
> >
> > -Henry
> >
>
> A brief follow-up on this: After lots of (virtual) disk-swapping I was able
> to upgrade an existing 1.0 system but was not able to install a 1.2 system
> from scratch.  It seems that there is some sort of bootloader issue with a
> clean install, which I suspect might be a SIMH problem and I will follow up
> there after some more investigation.
>
> I truly feel for the folks who had to do this at the time, using 38
> floppies on a MicroVAX I.  The installer does give time estimates for
> certain milestones so that you could go and get a coffee or whatever.
> "Configuring vmunix, this takes about 30 minutes" is certainly indicative
> of the relative speed of the machine at the time.  Also there is an
> indication that there was a tape distribution but so far that has not
> surfaced.  I'm not even sure what medium that would have been - RC25?
>

Doing a VMS install, twice, on a microvax ii is what convinced the powers
that be to get a tk50... and an eagle 400mb drive... or at least put them
over the edge to proposing work that got the upgrade funded... iirc... The
VMS install was on a crazy number of floppies, if you counted all the
layered products and third party packages...

Warner

>


[cctalk] Re: Restoring Ultrix-32m 1.2 Floppies

2023-07-17 Thread Ethan Dicks via cctalk
On Mon, Jul 17, 2023 at 1:05 PM Paul Koning via cctalk
 wrote:
> > On Jul 17, 2023, at 12:51 PM, Ethan Dicks via cctalk 
> >  wrote:
> >
> > On Mon, Jul 17, 2023 at 12:48 PM Ethan Dicks  wrote:
> >> From: http://www.chdickman.com/pdp11/pro380.txt
> >>
> >> "The RX50 floppy starts at track 1. Track 0 is logically placed after
> >> track 79. The sectors are...
> >
> > It should be "... interleaved 1, 3, 5, 7, 9, 0, 2, 4, 6, 8..."  There
> > is no "sector 10" when counting from 0.
> >
> > -ethan
>
> I don't know what to make of that web page's description, it certainly 
> doesn't have much connection to reality.  Are those numbers supposed to 
> represent the placement of logical sector numbers onto the physical track?  
> If so, they show 5:1 interleave rather than 2:1 interleave.  Or do they 
> represent the physical sector numbers for consecutive logical sectors?  If 
> so, it seems to be backwards.

It looks like it represents how to go from a physical track to get
things back in the logical order that one would see from a PDP-11 or
VAX on real hardware - i.e., the boot block (if any) is the very first
thing you encounter.

I agree, it's not a 2:1 interleave in any classic sense.

> The actual algorithm is what I wrote in my previous email, which you can also 
> find in my RSTSFLX tools.  That has been tested against real world RX50 
> floppies, and against the source code of the RT11 RX50 driver.

Chuck Dickman's algorithm is in lbn2rx50.c

#define RX50_TRACKS  80
#define RX50_SECTORS 10

int interleave[] = { 0, 2, 4, 6, 8, 1, 3, 5, 7, 9 };

track = lbn/RX50_SECTORS;
track = (track + 1)%RX50_TRACKS;

sector = lbn%RX50_SECTORS;
sector = (interleave[sector] + 2*(track - 1) + RX50_SECTORS)%RX50_SECTORS;

-ethan


[cctalk] Re: Restoring Ultrix-32m 1.2 Floppies

2023-07-17 Thread Henry Bent via cctalk
On Mon, 17 Jul 2023 at 13:06, Henry Bent  wrote:

> On Mon, 17 Jul 2023 at 12:59, Ethan Dicks via cctalk <
> cctalk@classiccmp.org> wrote:
>
>>
>> > From: http://www.chdickman.com/pdp11/pro380.txt
>> >
>> > "The RX50 floppy starts at track 1. Track 0 is logically placed after
>> > track 79. The sectors are interleaved 1, 3, 5, 7, 9, 0, 2, 4, 6, 8,
>> > 10. The track shift and interleave must be taken into account when
>> > moving disks between real PDP-11 and emulators."
>>
>> I have had good luck with a secfor convolver from the same page as this
>> comment:
>>
>> http://www.chdickman.com/pdp11/lbn2rx50.c
>>
>> It will go both ways, to and from physical block order and logical block
>> order.
>>
>
> That seems to have worked perfectly.  Thank you for the utility and the
> explanation.  Now off to working on the next steps!
>
> -Henry
>

A brief follow-up on this: After lots of (virtual) disk-swapping I was able
to upgrade an existing 1.0 system but was not able to install a 1.2 system
from scratch.  It seems that there is some sort of bootloader issue with a
clean install, which I suspect might be a SIMH problem and I will follow up
there after some more investigation.

I truly feel for the folks who had to do this at the time, using 38
floppies on a MicroVAX I.  The installer does give time estimates for
certain milestones so that you could go and get a coffee or whatever.
"Configuring vmunix, this takes about 30 minutes" is certainly indicative
of the relative speed of the machine at the time.  Also there is an
indication that there was a tape distribution but so far that has not
surfaced.  I'm not even sure what medium that would have been - RC25?


[cctalk] Re: Restoring Ultrix-32m 1.2 Floppies

2023-07-17 Thread Lee Gleason via cctalk
I have had good luck with a secfor convolver from the same page as this 
comment: http://www.chdickman.com/pdp11/lbn2rx50.cIt will go both ways, 
to and from physical block order and logical block order. For people 
working on P/OS or RSX, without a c compiler, here is a utility that can 
convert from track/sector order to LBN order. 
https://rsx11.blogspot.com/2018/02/rsx-utility-for-converting-track-sector.html


--
Lee K. Gleason N5ZMR
Control-G Consultants
lee.glea...@ccomcast.net


[cctalk] Re: Restoring Ultrix-32m 1.2 Floppies

2023-07-17 Thread Warner Losh via cctalk
On Mon, Jul 17, 2023, 10:59 AM Ethan Dicks via cctalk 
wrote:

> On Mon, Jul 17, 2023 at 12:48 PM Ethan Dicks 
> wrote:
> > On Mon, Jul 17, 2023 at 12:28 PM Henry Bent via cctalk
> > > I'm almost thoroughly unfamiliar with IMD - is there some obvious
> > > extraction/conversion option that I am missing here?
>
> As mentioned previously, yes.  There's an additional step that has to
> happen to any direct imaging of RX50 disks.  John Wilson's PUTR
> happens to do this convolution internally.
>
> If you desire is to snapshot physical media for rewriting later, IMD
> is excellent.  If you want logical-block-order files for simh, you
> need one more step (keep reading).
>
> >  Were these disks actually imaged correctly?  I would appreciate any
> suggestions.
>
> Yes they were.
>
> > From: http://www.chdickman.com/pdp11/pro380.txt
> >
> > "The RX50 floppy starts at track 1. Track 0 is logically placed after
> > track 79. The sectors are interleaved 1, 3, 5, 7, 9, 0, 2, 4, 6, 8,
> > 10. The track shift and interleave must be taken into account when
> > moving disks between real PDP-11 and emulators."
>
> I have had good luck with a secfor convolver from the same page as this
> comment:
>
> http://www.chdickman.com/pdp11/lbn2rx50.c
>
> It will go both ways, to and from physical block order and logical block
> order.
>

I've encountered this with Rainbow disks. I have a logical to phys
conversion program.
Also when i wrote the impdrive driver for the rainbow: you have to do the
unmapping
the Z80 code would do to make the 3.5" 720k floppy work in the Rainbow.

The physical sectors are numbered 1-10 on the drive (maybe past track 0 and
1). And
it is 1-10, there is no sector 0. These sectors refer to the logical
sectors 1, 3, 5, 7, 9, 2, 4,
6, 8 ,10. My program filters the 'physical' disk into a 'logical' oneso
that mtools can read
the FAT contained on my MS-DOS disks. On the Rainbow, at least, the WD
floppy controller
didn't mess with the sectors, so the interleave was done at the lowest
levels of whatever
OS' floppy driver.

Chances are quite good that there's a mismatch somewhere. If you always
read in one way and
write in that same way, it works (eg, both ends agree). Sometimes you need
to convert from one
to the other, which I always have to do via trial and error.

For Venix, there was  a different interleave (because of course there is),
so there may be some
experimenting that's needed. But since it is Unix, I suspect Ultrix may
have its own interleave,
but who knows. I've not looked at the source.

I believe I've uploaded these to github, but can't find them at the moment.
I can look if people
want. This may be all that's needed. It's been handy for both DOS and Venix
disks I've had to
decode.

Warner

>


[cctalk] Re: Restoring Ultrix-32m 1.2 Floppies

2023-07-17 Thread Henry Bent via cctalk
On Mon, 17 Jul 2023 at 12:59, Ethan Dicks via cctalk 
wrote:

>
> > From: http://www.chdickman.com/pdp11/pro380.txt
> >
> > "The RX50 floppy starts at track 1. Track 0 is logically placed after
> > track 79. The sectors are interleaved 1, 3, 5, 7, 9, 0, 2, 4, 6, 8,
> > 10. The track shift and interleave must be taken into account when
> > moving disks between real PDP-11 and emulators."
>
> I have had good luck with a secfor convolver from the same page as this
> comment:
>
> http://www.chdickman.com/pdp11/lbn2rx50.c
>
> It will go both ways, to and from physical block order and logical block
> order.
>

That seems to have worked perfectly.  Thank you for the utility and the
explanation.  Now off to working on the next steps!

-Henry


[cctalk] Re: Restoring Ultrix-32m 1.2 Floppies

2023-07-17 Thread Paul Koning via cctalk



> On Jul 17, 2023, at 12:51 PM, Ethan Dicks via cctalk  
> wrote:
> 
> On Mon, Jul 17, 2023 at 12:48 PM Ethan Dicks  wrote:
>> From: http://www.chdickman.com/pdp11/pro380.txt
>> 
>> "The RX50 floppy starts at track 1. Track 0 is logically placed after
>> track 79. The sectors are interleaved 1, 3, 5, 7, 9, 0, 2, 4, 6, 8,
>> 10. The track shift and interleave must be taken into account when
>> moving disks between real PDP-11 and emulators."
> 
> Let me point out that this webpage quote accidentally lists too many
> sectors for an RX50.
> 
> It should be "... interleaved 1, 3, 5, 7, 9, 0, 2, 4, 6, 8..."  There
> is no "sector 10" when counting from 0.
> 
> -ethan

I don't know what to make of that web page's description, it certainly doesn't 
have much connection to reality.  Are those numbers supposed to represent the 
placement of logical sector numbers onto the physical track?  If so, they show 
5:1 interleave rather than 2:1 interleave.  Or do they represent the physical 
sector numbers for consecutive logical sectors?  If so, it seems to be 
backwards.

The actual algorithm is what I wrote in my previous email, which you can also 
find in my RSTSFLX tools.  That has been tested against real world RX50 
floppies, and against the source code of the RT11 RX50 driver.

paul



[cctalk] Re: Restoring Ultrix-32m 1.2 Floppies

2023-07-17 Thread Ethan Dicks via cctalk
On Mon, Jul 17, 2023 at 12:48 PM Ethan Dicks  wrote:
> On Mon, Jul 17, 2023 at 12:28 PM Henry Bent via cctalk
> > I'm almost thoroughly unfamiliar with IMD - is there some obvious
> > extraction/conversion option that I am missing here?

As mentioned previously, yes.  There's an additional step that has to
happen to any direct imaging of RX50 disks.  John Wilson's PUTR
happens to do this convolution internally.

If you desire is to snapshot physical media for rewriting later, IMD
is excellent.  If you want logical-block-order files for simh, you
need one more step (keep reading).

>  Were these disks actually imaged correctly?  I would appreciate any 
> suggestions.

Yes they were.

> From: http://www.chdickman.com/pdp11/pro380.txt
>
> "The RX50 floppy starts at track 1. Track 0 is logically placed after
> track 79. The sectors are interleaved 1, 3, 5, 7, 9, 0, 2, 4, 6, 8,
> 10. The track shift and interleave must be taken into account when
> moving disks between real PDP-11 and emulators."

I have had good luck with a secfor convolver from the same page as this comment:

http://www.chdickman.com/pdp11/lbn2rx50.c

It will go both ways, to and from physical block order and logical block order.

Cheers,

-ethan


[cctalk] Re: Restoring Ultrix-32m 1.2 Floppies

2023-07-17 Thread Paul Koning via cctalk



> On Jul 17, 2023, at 12:28 PM, Henry Bent via cctalk  
> wrote:
> 
> Hi all,
> 
> I just noticed that images of a full RX50 floppy set for Ultrix-32m 1.2 was
> posted on Bitsavers (
> http://bitsavers.trailing-edge.com/bits/DEC/vax/ultrix/1.2/ULTRIX-32M_V1.2_RX50_1986.zip
> ).  I am having difficulty parsing these images into a usable raw format
> for SIMH.
> 
> As a reference, TUHS has a set of 1.0 floppies (
> https://www.tuhs.org/Archive/Distributions/DEC/Ultrix-32M/ ) that are
> usable for installation purposes.  (You can ignore the 1.2 floppies in that
> archive, they aren't actually a full set).  The first disk of that
> installer, 32m-1.0-bin/01, has a bootloader that starts at byte zero as we
> would expect.  This should be approximately equivalent to disk 1 in the
> Bitsavers set.  Oddly though, in the "raw" dump the bootloader doesn't
> start until 0x1400, and a number of the other disks I looked at appear to
> have odd holes/zeroes in them.  IMD format dumps of the 1.2 disks are
> provided but when I converted the IMD format to a raw image I got the same
> issue.

It's unfortunate that there is no description of what format these image files 
have.

From your description it looks like these are physical track/sector ordered 
copies of the floppy, while SIMH for the RX50 container files wants to see 
logical order.  One tool that can convert between the two is the "rx50.py" 
utility that is part of my RSTSFLX V3 tool, a RSTS file system handler in 
Python.  You can find it at svn://akdesign.dyndns.org/flx/trunk (that's a 
Subversion repository).  Note that the rstsflx in the "simtools" repository of 
Open-SIMH is V2, that's an entirely different version written in C.  It also 
has the interleave algorithm but no command line tool analogous to the rx50.py 
tool.

The key element is that logical track 0 is physical track 1, and similarly all 
the others differ by one except logical track 79 which is physical track 0.  
That fits what you stated: bootloader starting at 0x1400, that is sector 10 so 
the first sector in physical track 1.

The other parts of the address translation are: sectors on the track are 2:1 
interleaved, and there is a 2 sector skew from each track to the next.  So, for 
example, logical sector 0 is physical track 1 sector 0; logical sector 1 is 
physical track 1 sector 2; local sector 5 is physical track 1 sector 1, and 
logical sector 10 is physical track 2 sector 2.

What you need to do is to invert that interleave algorithm to convert from the 
physical sector order to the logical.  

paul



[cctalk] Re: Restoring Ultrix-32m 1.2 Floppies

2023-07-17 Thread Ethan Dicks via cctalk
On Mon, Jul 17, 2023 at 12:48 PM Ethan Dicks  wrote:
> From: http://www.chdickman.com/pdp11/pro380.txt
>
> "The RX50 floppy starts at track 1. Track 0 is logically placed after
> track 79. The sectors are interleaved 1, 3, 5, 7, 9, 0, 2, 4, 6, 8,
> 10. The track shift and interleave must be taken into account when
> moving disks between real PDP-11 and emulators."

Let me point out that this webpage quote accidentally lists too many
sectors for an RX50.

It should be "... interleaved 1, 3, 5, 7, 9, 0, 2, 4, 6, 8..."  There
is no "sector 10" when counting from 0.

-ethan


[cctalk] Re: Restoring Ultrix-32m 1.2 Floppies

2023-07-17 Thread Ethan Dicks via cctalk
On Mon, Jul 17, 2023 at 12:28 PM Henry Bent via cctalk
 wrote:
> I just noticed that images of a full RX50 floppy set for Ultrix-32m 1.2 was
> posted on Bitsavers (
> http://bitsavers.trailing-edge.com/bits/DEC/vax/ultrix/1.2/ULTRIX-32M_V1.2_RX50_1986.zip
> ).  I am having difficulty parsing these images into a usable raw format
> for SIMH.

You are not the first to encounter this.

> Oddly though, in the "raw" dump the bootloader doesn't
> start until 0x1400, and a number of the other disks I looked at appear to
> have odd holes/zeroes in them.  IMD format dumps of the 1.2 disks are
> provided but when I converted the IMD format to a raw image I got the same
> issue.

Yes.  IMD->raw just decompresses the IMD format back into the exact
number of bytes, in the same order, of the original media.  Keep
reading for why this is not sufficient...

> I'm almost thoroughly unfamiliar with IMD - is there some obvious
> extraction/conversion option that I am missing here?  Were these disks
> actually imaged correctly?  I would appreciate any suggestions.

This is not an IMD issue.  IMD files are numbered as they come off the
media and can be written back out, as is, to make physical media,
which was the primary purpose.  For nearly all cases, this also
happens to match sequential sector order so that the same data can be
used for emulators (simh and others).  The one case where the two
situations don't match is the RX50.

What DEC did was to put a software-defined sector interleave and track
shifting into their RX50 controllers (RQDX1 et al).  In addition to
the sectors on the disk not being in "logical filesystem order", track
0 gets moved to the end of the list

From: http://www.chdickman.com/pdp11/pro380.txt

"The RX50 floppy starts at track 1. Track 0 is logically placed after
track 79. The sectors are interleaved 1, 3, 5, 7, 9, 0, 2, 4, 6, 8,
10. The track shift and interleave must be taken into account when
moving disks between real PDP-11 and emulators."


[cctalk] Re: Restoring Ultrix-32m 1.2 Floppies

2023-07-17 Thread Chuck Guzis via cctalk
On 7/17/23 09:28, Henry Bent via cctalk wrote:
> Hi all,
> 
> I just noticed that images of a full RX50 floppy set for Ultrix-32m 1.2 was
> posted on Bitsavers (
> http://bitsavers.trailing-edge.com/bits/DEC/vax/ultrix/1.2/ULTRIX-32M_V1.2_RX50_1986.zip
> ).  I am having difficulty parsing these images into a usable raw format
> for SIMH.
> 
> As a reference, TUHS has a set of 1.0 floppies (
> https://www.tuhs.org/Archive/Distributions/DEC/Ultrix-32M/ ) that are
> usable for installation purposes.  (You can ignore the 1.2 floppies in that
> archive, they aren't actually a full set).  The first disk of that
> installer, 32m-1.0-bin/01, has a bootloader that starts at byte zero as we
> would expect.  This should be approximately equivalent to disk 1 in the
> Bitsavers set.  Oddly though, in the "raw" dump the bootloader doesn't
> start until 0x1400, and a number of the other disks I looked at appear to
> have odd holes/zeroes in them.  IMD format dumps of the 1.2 disks are
> provided but when I converted the IMD format to a raw image I got the same
> issue.
> 
> I'm almost thoroughly unfamiliar with IMD - is there some obvious
> extraction/conversion option that I am missing here?  Were these disks
> actually imaged correctly?  I would appreciate any suggestions.

A quick glance at the RAW dumps tells me that the sectors are
interleaved.  I haven't checked to see if it's the standard FILES-11
interleave, but it looks likely.

--Chuck