Re: [hatari-devel] Re: Hatari floppy drive detection with EmuTOS

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


----- Roger Burrows wrote:
> Hi David,
> On 16 Jan 2014 at 20:33, David Savinkoff wrote:
> > 
> > I just compiled EmuTOS two different ways:
> > 
> > --- emutos/bios/floppy.c	2014-01-13 20:04:47.000000000 -0800
> > +++ emutos/bios/floppy.c	2014-01-16 18:29:43.000000000 -0800
> > @@ -292,7 +292,7 @@
> >  #if CONF_WITH_FDC
> >      floplock(dev);
> >      select(dev, 0);
> > -    set_fdc_reg(FDC_CS, FDC_RESTORE | finfo[dev].actual_rate);
> > +    set_fdc_reg(FDC_CS, FDC_RESTORE | FDC_HBIT | finfo[dev].actual_rate);
> >      if(timeout_gpip(TIMEOUT)) {
> >          /* timeout */
> >          KDEBUG(("flop_detect_drive(%d) timeout\n",dev));
> > 
> > The first way is:
> > -    set_fdc_reg(FDC_CS, FDC_RESTORE | finfo[dev].actual_rate);
> > This way has the problems as currently noted.
> > 
> > The second way disables spin-up:
> > +    set_fdc_reg(FDC_CS, FDC_RESTORE | FDC_HBIT | finfo[dev].actual_rate);
> > This way works in Hatari.
> > 
> Are you running Hatari with just floppy disks enabled (no ACSi disk, no GEMDOS 
> disk) and no "patch timer D", no "boot faster ..." ?  Under these conditions, 
> EmuTOS does not see drive B on my system.
> 
Yes.
I used Hatari initial default configuration.
(patch timer D + boot faster were by default selected)
(there was No ACSI, and No GEMDOS)

>
> If you have a GEMDOS disk, for sure you will see two drives due to Hatari 
> patching the drivebits.
> 
> Roger
> 
> 
Here is the result of testing to your specification. I made sure Patch Timer D
and Boot Faster by patching... were Not selected this time.

The result is the same as before with the Exception that I saw the Drive A
light flash first every time.

The test result is:

With Both drives Enabled and No disks inserted:
When spin-up is disabled (1) Drive B light comes on dim for a moment,
then goes dark as Drive A light comes on bright for a moment before
going dim on Hatari. Hatari then takes a Long time to get to the desktop
with Both Drive A and Drive B displayed.

With Both drives Disabled and No disks inserted:
When spin-up is disabled Drive A light comes on bright for a moment,
then goes dark as Drive B light comes on bright for a moment before
going dim on Hatari. Hatari then takes a Short time to get to the desktop
with No drives displayed.

With Drive A Enabled and Drive B Disabled and No disks inserted:
When spin-up is disabled (1) Drive B light comes on bright for a moment,
then goes dim, then goes dark as Drive A light comes on bright for a
longer moment before going dim on Hatari. Hatari then takes a Long
time to get to the desktop with Drive A displayed.

With Drive B Enabled and Drive A Disabled and No disks inserted:
When spin-up is disabled Drive A light comes on bright for a moment,
then goes dark as Drive B light comes on dim on Hatari. Hatari then
takes a Short time to get to the desktop with Drive B displayed.

1) Drive A light flashes here -- (NO Patch Timer D, NO Boot Faster...)

***** line 295 of floppy.c *****
set_fdc_reg(FDC_CS, FDC_RESTORE | FDC_HBIT | finfo[dev].actual_rate);
*****
Note FDC_HBIT was added to line 295 of the latest emutos/bios/floppy.c,
then EmuTOS was compiled and run on a very recent Hatari.

Note that when I compile the latest EmuTOS 'unmodified' and test on Hatari,
I get the same results as you.

David



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