> 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

Reply via email to