> On Jul 17, 2023, at 5:33 PM, Chuck Guzis via cctalk <cctalk@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