[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