Re: [hatari-devel] floppy issue |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
On 12 Feb 2014 at 0:57, Eero Tamminen wrote:
>
> > I'm changing this to hatari-devel as it needs feedback from Nicolas
> (and I know you're on that list :-)).
>
> On tiistai 11 helmikuu 2014, Roger Burrows wrote:
> > I'm not sure why you can't debug this yourself. I'm under the impression
> > that the debugger has all kinds of info about hardware-level stuff, and
> > you certainly know the debugger inside-out.
>
> Sure. However, my total knowledge of how FDC works could be summarized
> with single, short word ("None").
>
Ah. That would be the same as my knowledge of what the output of the debugger
means ...
>
> > Why can't you run EmuTOS,
> > reproduce the problem with traces, and point out what EmuTOS is doing
> > wrong.
>
> I have no idea what could be wrong. Trace [1] seems to have several
> FDC DMA resets, maybe those also clear sector count?
>
The DMA resets are known to me as toggling the DMA line, which is required
before doing an I/O, in order to clear the buffer. They don't clear the sector
count on real hardware, and I don't see how any floppy I/O (TOS or EmuTOS)
would work if they did on Hatari.
>
> Necessary tracing can be done easiest with with these 3 debugger scripts:
>
Thanks, but I'm really not up to this. I already know what the code does, what
I need to know is:
1. is the FDC code setting the error indication?
2. if so, why?
Both of these require knowledge of Hatari and/or the debugger that I don't
have. My best guess is that (1) isn't answered in the trace: I see that IRQ is
set, so presumably GPIP bit 5 is set low, and EmuTOS finds out that the
transfer is done; but I can't see any indication of the value in the DMA status
register at that time, or when that value is set/reset.
Here's one thing to consider: when you try to copy a file, the resultant file
is zero-length, but there *is* an entry in the directory for it. That means
the write to the directory sector actually worked, but EmuTOS thought it saw an
error.
I've just written a small test program, using a tried-and-trusted floppy disk
i/o library that was written entirely independently of EmuTOS. It gives the
same errors, i.e. it works fine on real hardware (TT in this case) and Hatari
1.6.1, and reports a DMA error on Hatari 1.7.x.
That's all I can do on this until I get my questions above answered.
Roger