[Coco] BUG with rbsuper and tc3 drivers SOLVED!

Robert Gault robert.gault at att.net
Tue Feb 14 14:56:04 EST 2017


Tormod Volden wrote:
> On Tue, Feb 14, 2017 at 8:00 PM, Tormod Volden wrote:
>> dmode doesn't call the driver so that sounds strange. Can you please
>> send these descriptors to me. At least dmode issues I can reproduce
>> without having SCSI disks :)
>>
>> What remains unclear to me is whether the DRV field has to be unique
>> per controller, for every target and partition. I get a vague
>> impression of this after reading the SuperDriver manual, and I also
>> see rbsuper use the DRV number for its cache matching logic.
>>
>> I wonder if reading a sector from target 4 just after writing to the
>> same sector number to target 3 would return what was written to target
>> 3, unless also the DRV numbers are different? Especially since rbsuper
>> is unaware of DNS being used for target number. Or likewise reading
>> from one partition after writing to the same logical sector on another
>> partition, because although it is rbsuper that adds the partition
>> offsets, it does so after checking for cache hit and only just before
>> calling the low-level driver on cache miss.
>
> Yup, see the Partitioning section on
> http://nitros9.sourceforge.net/wiki/index.php/SuperDriver
> "Do NOT allow two device descriptors share the same logical drive
> number if they have different LSN offsets."
>
> I guess the same applies for different SCSI target IDs, so we should
> fix the stock descriptors to both have different DRV and DNS.
>
> Tormod
>

I don't use the SuperDriver so this comment is based on the email thread and 
http://nitros9.sourceforge.net/wiki/index.php/SuperDriver, not actual experience.

Be careful to distinguish HDB-DOS emulated Basic drives on a hard drive from SCSI channels, as they 
are not equivalent. If the SuperDriver is similar to the software that came with Ken-Ton hard 
drives, the SCSI channel is based on the drive number used and automatically calculated by the ROM 
or OS-9 software.
IT.DNS is used by the SuperDriver for several things. One is indicating that there are 256 bytes per 
sector when using emulated Basic drives. IT.STP is used to indicate the emulated drive number 0-255.

Robert



More information about the Coco mailing list