On Jul 17, 2023, at 5:33 PM, Chuck Guzis via cctalk
<cctalk(a)classiccmp.org> 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