Re: [hatari-devel] IDE IO register range access commit

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Am Mon, 21 Sep 2020 16:24:34 +0200
schrieb Nicolas Pomarède <npomarede@xxxxxxxxxxxx>:

> Le 21/09/2020 à 15:24, Nicolas Pomarède a écrit :
> > Le 21/09/2020 à 15:16, Eero Tamminen a écrit :  
> >> Hi Nicolas,
> >>
> >> In your IDE IO register range access commit:
> >> https://git.tuxfamily.org/hatari/hatari.git/commit/?id=872220ab26d0e8f11f018f5740a8ac96753acac7 
> >>
> >>
> >> I think your check should be for IDE being enabled:
> >> (ConfigureParams.Ide[0].bUseDevice ||
> >> ConfigureParams.Ide[1].bUseDevice))
> >>
> >> Not for Falcon.
> >>
> >>
> >> For example, Linux doesn't seem to work with ACSI,
> >> and Hatari SCSI emulation isn't complete enough,
> >> so I need to use IDE disk image to test m68k Linux
> >> with TT emulation.  
> > 
> > Hi
> > 
> > OK, I can change the test.  
> 
> looking at ide.c, I see that accesses to F00000-F00040 will return a
> bus error if Ide_MmioIsAvailable() return false.
> 
> But Ide_MmioIsAvailable() only does :
>          return ConfigureParams.Ide[0].bUseDevice;
> 
> Regarding Eero's change above, shouldn't it test for
> Ide[1].bUseDevice too ? Or is Ide[0].bUseDevice always true in case
> Ide[1] is also enabled, and in that case testing only Ide[0] is
> enough ?

IIRC IDE0 is always the "master" drive, and you can not have just a
secondary drive on the bus without the master drive... so testing for
IDE0 should be enough.

But: There should also be an additional test for Falcon here, since the
IO registers are *always* available on the Falcon, no matter whether
there is a drive or not. IIRC there are some hard disk drivers (was it
Cecile?) crashing in Hatari since they expect the IDE IO registers to
always be there.

 Thomas



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/