|Re: [hatari-devel] Enabling NatFeats|
[ Thread Index |
| More lists.tuxfamily.org/hatari-devel Archives
- To: hatari-devel@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [hatari-devel] Enabling NatFeats
- From: Uwe Seimet <Uwe.Seimet@xxxxxxxxx>
- Date: Tue, 18 Aug 2015 07:33:05 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1439875986; l=3410; s=domk; d=seimet.de; h=In-Reply-To:Content-Transfer-Encoding:Content-Disposition: Content-Type:MIME-Version:References:Subject:To:From:Date; bh=m/t+owZv4aEGxu17l9uFNQFga543bmWDuuWs0RjyGRA=; b=fYQjsGX0nYG8NatgS3/L0QdS3kyW2cO/RNcQZCvIGHbHPbIDvuSaHmnOZHktcejr4Q0 Ftjim4PUrec5S6bkC2lPewg7BGBHVPUl5rcUP8QGVWszkjyu1SCcXqu13Cfr839joKqrP Y73zUDw9yeBVPi4XIfnY1uo9Vqu/GfHW7GQ=
I forgot one special feature of the SCSI Driver, which is not relevant
for Hatari, but nevertheless interesting: It's the target interface.
If a TT or Falcon is connected to a SCSI chain with another initiator
(Atari, PC, Mac, ...) in it, and provided that a SCSI Driver with target
interface support is running on the Atari, the other initiators see the
Atari on the bus like they see any other SCSI device. You can not just
run an INQUIRY command, for instance, but also self-defined SCSI commands.
> XHDI is much more limited than the SCSI Driver, which is the more modern
> approach. XHDI can only be used for accessing block devices, and even
> then it is limited to 32 bit sector numbers. With the SCSI Driver you can
> send SCSI commands to any device, not just SCSI. It's basically the
> equivalent of the sg interface.
> XHDI is typically implemented on top of a SCSI Driver, like it is done
> by HDDRIVER and (most likely) also by CBHD. And these drivers also run
> on top of existing SCSI Drivers, in which case they automatically
> provide XHDI for block devices managed by the SCSI Driver.
> The most recent implementation of a SCSI driver is the one Alan Hourihane
> provides for his Unicorn USB adapter. Another implementation is the one for
> Milan PCI SCSI. And of course those for MagiCMac and MagiCPC.
> See http://hddriver.seimet.de/en/downloads.html for links to all these
> Take care
> > >I'm currently experimenting with a (Linux-only) SCSI Driver implementation
> > >that gives seamless, direct access to devices. It maps SCSI Driver calls
> > >to the Linux sg interface. 8 or 9 calls have to be mapped.
> > There is already an existing XHDI driver interface that basically provides the same functionality as the native atari interface. It is in use by EmuTOS, and also by recent linux-68k kernels. Sounds like this is very similar to what you are experimenting with.
> > In Aranym there is also some low-level SCSI support through the IDE interface. This is not based on Natfeats, but on direct hardware emulation. I cannot tell though how good it is working, and some low-level commands might not be implemented.
> > Uwe Seimet <Uwe.Seimet@xxxxxxxxx> schrieb am 22:56 Montag, 17.August 2015:
> > Hi,
> > > > Looks to me as if the existing features are mainly related to the debugger.
> > > Thats maybe because Hatari does not need anything else yet. There are quite some more features implemented in eg. Aranym.
> > > > is there a preferred way of doing that, some kind of extension point, some guideline?
> > > I dont't think that there is a general guideline. There are is bit of documentation on Native Features Intro [ARAnyM Wiki] that covers the basic features. Most features use sub-id 0 to identify their interface version, and i would recommend to do this for any new feature. Anything else largely depends on what your feature implements.
> > I'm currently experimenting with a (Linux-only) SCSI Driver implementation
> > that gives seamless, direct access to devices. It maps SCSI Driver calls
> > to the Linux sg interface. 8 or 9 calls have to be mapped.
> > The basics are working already, see attached screenshot. I have not
> > dared yet to write something to a drive, though ;-).
> > Take care
> > Uwe