|Re: [hatari-users] Floppy in Falcon mode|
[ Thread Index |
| More lists.tuxfamily.org/hatari-users Archives
Nicolas Pomarède wrote:
This looks fine, I added some traces to devel sources, can you update
your hg version and run your tests again ?
hg pull didn't retrieve anything :-(
However (sorry, this should belong to hatari-devel), I found something
surprising in src/fdc.c:
static int FDC_DelayToCpuCycles ( int Delay_micro )
Delay = (int) ( ( (Sint64)MachineClocks.FDC_Freq * Delay_micro ) /
1000000 ) & -4;
The function is named "DelayToCpuCycles", but the used frequency is the
FDC one... That should be the CPU one, isn't it ? I suspect the FDC
delays using a wrong clock in Falcon mode (at least 68030)...
From the log, I don't see anything special. Do you get the same
differences if you use falcon mode but with a 8 MHz CPU ?
Exact same wrong behavior in all Falcon modes: 8, 16 and 32 MHz 68030 CPU..
Anyway, those commands seem unnecessary to me :
fdc write 8606 ctrl=0x82 VBL=3 video_cyc=12831 131@25 pc=e0624e
fdc write 8604 data=0xffff VBL=3 video_cyc=12997 297@25 pc=e06258
fdc write 8604 track=0xff VBL=3 video_cyc=12997 297@25 pc=e06258
Why do you set track register to 0xffff ? Track register is only 8 bits
anyway, so this becomes 0xff, but anyway, I don't see the point of doing
this before the restore command.
You are right, this is an EmuTOS harmless bug. I will fix that.