Re: [hatari-users] Floppy in Falcon mode

[ Thread Index | Date Index | More 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.

Vincent Rivière

Mail converted by MHonArc 2.6.19+