|Re: [hatari-devel] EmuTOS ACSI problem (was: Hatari snapshots)|
[ Thread Index |
| More lists.tuxfamily.org/hatari-devel Archives
Am Sat, 22 Nov 2014 00:13:57 +0100
schrieb Thomas Huth <th.huth@xxxxxx>:
> Am Fri, 21 Nov 2014 15:59:14 -0500
> schrieb "Roger Burrows" <rfburrows@xxxxxxxxx>:
> > Hi Thomas,
> > On 21 Nov 2014 at 21:23, Thomas Huth wrote:
> > > Am Fri, 21 Nov 2014 13:06:32 -0500
> > > schrieb "Roger Burrows" <rfburrows@xxxxxxxxx>:
> > >
> > > > On 21 Nov 2014 at 18:54, Thomas Huth wrote:
> > > >
> > > > > Am Fri, 21 Nov 2014 12:03:05 -0500
> > > > > schrieb "Roger Burrows" <rfburrows@xxxxxxxxx>:
> > > > > > >
> > > > > > I started off needing to fix an EmuTOS bug which shows up
> > > > > > when running with Hatari 1.8.0. However EmuTOS under 1.8.0
> > > > > > does not recognise ACSI disks due to (I believe) a bug in
> > > > > > ACSI handling which (I suspect) is fixed in the current
> > > > > > repository (the bug is related to accessing both 8604 &
> > > > > > 8606 with the same instruction). If the fix is indeed in
> > > > > > the current repository, then I don't need to post a bug
> > > > > > report.
> > > I gave it a quick try and it seems like EmuTOS still does not work
> > > with hg tip version of Hatari yet. Looks like it is running into
> > > timeout_gpip() or so ... not sure yet, why this happens, though.
> > >
> > OK, I'll take a look at this using 1.8.0 and see if I can figure out
> > what's going on.
> I think this might be a bug in current Hatari: The
> Acsi_WriteCommandByte() code in Hatari calls FDC_SetIRQ() at the end
> to signal that a byte has been received successfully - but the MFP
> GPIP line stays high.
> Nicolas, could you maybe have a look? The logic in FDC_SetIRQ() seems
> quite new to me - something goes wrong there so that GPIP does not get
> set to low... Do we maybe have to call FDC_ClearIRQ() somewhere else
> in the HDC code?
After doing some reading, I think the IRQ line of the HDC should be
disabled right at the start when a new command byte is sent (and of
course it has to be enabled again once the byte has been accepted).
I've committed a fix, EmuTOS now seems to recognize the ACSI disks