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




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