Re: [hatari-devel] Improved timings for the FDC emulation

[ Thread Index | Date Index | More Archives ]

----- Nicolas Pomarède wrote:
> Hello
> I committed a new version of fdc.c with many internal changes.
> This should give very few compatibility's improvements compared to 
> previous version, as I don't know of many programs which had problems 
> with FDC's emulation, but it should be much closer to the WD1772 
> datasheet and avoid future incompatibilities with usage not yet encountered.
> The changes are :
>   - much improved status register and commands' behaviour when the drive 
> is off, or not selected or there's no floppy in it. Also, correct 
> timeout (or no timeout at all) for those case (most commands should wait 
> forever when a drive is off or empty).
>   - more accurate index emulation ; delays are now counted using 
> indexes, instead of using the corresponding number of expected cycles 
> (which didn't take into account the case of disabled/empty drive)
>   - much closer to the statemachine described in the WD1772 doc. Timings 
> were OK, but not always applied at the exact place or in the correct 
> order. This would certainly not have made a game/demo crash before, as 
> those timings are hard to measure exactly on a real STF, but still, 
> experiment prooved it's always better to stick to the HW as close as 
> possible.
>   - some code's reorganisation to try to have a general emulation's 
> logic that follows all the steps described in the WD1772's doc.
> I tested many demos/games I use as reference for FDC's emulation and 
> didn't see any problem so far, don't hesisate do test some of your 
> favorites ones (from my experience, games (even if cracked) are often 
> more likely to show errors in FDC's emulation)
> (one game not working so far is "Knightmare" on DBug 24, the way it 
> worked in Hatari 1.7 was not correct anyway, so this needs more 
> investigation).
> Nicolas
Hi Nicolas,

The latest changes to Hatari solved the problem of a
- [Emutos-devel] Slow EmuTOS boot-up -.
However, there may be a little clean-up required.

Hatari changeset 4748 mentions:
Update manuals about giving an empty string for a floppy/HD image to disable it 

This is not quite right because:
- a floppy drive can be ON and have a floppy inserted
- a floppy drive can be ON and have a floppy not inserted
- a floppy drive can be OFF and have a floppy inserted
- a floppy drive can be OFF and have a floppy not inserted

This can be seen by pressing F12 > Floppy Disks
and noting the [check boxes] and [Eject button].

I also noticed that Hatari/EmuTOS always shows Drive B:
when both drives are disabled now.

Hatari needs to be tested for Floppy disk / Floppy drive / EmuTOS
combinations so that the F12 > Floppy Disks menu makes sense.

David Savinkoff

Mail converted by MHonArc 2.6.19+