[hatari-devel] ACSI/DMA emulation issues

Uwe Seimet Uwe.Seimet at seimet.de
Sun Nov 29 19:33:41 CET 2009


Hi,

> Hmm, maybe we should update the DMA address counter after the INQUIRY
> and REQUEST SENSE commands?
> You could try something like this in HDC_Cmd_Inquiry() and
> HDC_Cmd_RequestSense() :
> 
>  FDC_WriteDMAAddress(FDC_ReadDMAAddress() + HD_SECTORCOUNT(HDCCommand));

The general approach is correct, though, but the counter must be updated
after each command. The end of the HDC_EmulateCommandPacket() method
appears the right location to me, and with this change things have
improved.
Now HDDRUTIL's device check correctly reports the name of the first
logical unit (LUN). But a second unit is also found, even though there
is none, and the first unit is discarded. This might have to do with
the update not exactly doing what it should. I guess this is because the
actual update count is the number of bytes specified in the command block,
but it should reflect the number of bytes actually transferred.

Best regards

Uwe



More information about the hatari-devel mailing list