[hatari-devel] ACSI/DMA emulation issues

Thomas Huth huth at users.berlios.de
Sun Nov 29 18:17:02 CET 2009


On Sun, 29 Nov 2009 15:36:15 +0100
Uwe Seimet <Uwe.Seimet at seimet.de> wrote:

> Hi,
> 
> > It's working better now, the commands received by Hatari no longer
> > seem to be garbled and the drive is found. But the drive name
> > returned is invalid. I think this has something to do with the
> > Atari's ACSI DMA hardware only being able to transfer multiples of
> > 16 bytes. In order to
> 
> Looks as if the INQUIRY data returned are basically correct except for
> some bytes at the beginning. Is Hatari's internal DMA FIFO reset for
> each command received? If this is the case it might explain what's
> going wrong. My impression is that the beginning of the INQUIRY
> return data is overwritten or modified by the data from the
> subsequent REQUEST SENSE commands.

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));


  Regards,
   Thomas



More information about the hatari-devel mailing list