If the HyperXF ROM does indeed work on both PAL and NTSC systems, that is quite a piece of good work.
I designed the serial I/O of HyperXF for PAL systems. But since the deviation to NTSC is less than 1%, there are no problems with NTSC:
In ultra speed every bit has ten 8048 cycles giving 10*1.8=18us per bit or 55555 bps. Pokey divisor 9 is used, which runs the serial bus at 1773447/2/(7+9)=55420 bps. With NTSC it runs at 1789790/2/16=55931 bps.
Could someone please let me know if they are part of the xf sio routine.
No, this is part of the density check routine, when the FDC is resetted and the head repositioned at track 0 to detect the density. The second code seems to be a correction of the first. It jumps just before the FDC reset to $9E0 and executes the following code:
beq f0 branch if configured for MFM
orq #10 set quad density
anp #e7 set MFM, FDC reset
jmp 9b1 jump back
orq #30 set medium density
orp #8 set FM
anp #ef FDC reset
jmp 9b1 jump back
Note: I used a 6502 like notation in my disassembly (didn't like 8048 code): p is p1, q is p2, x is p0, anp #v is "and p with #v" (p=p&#v), orq is "or q with #v" (q=q|#v)
Thus this code switches to quad density if previously configured for fm and medium density if previously configured for mfm. After that, a restore is sent to the FDC to position the head on track 0 for reading an address field. Obviously this should help the XF551 to switch between quad/double and single density. My XF-ROM has the old code and never switches automatically from single to double - except when booting a disk. Of course, I'm using the HyperXF ROM, which doesn't have this problem
Thanks for posting the differences, I didn't know that ATARI made a correction of the XF code.
something i found on the internet. the code in question appears to start in $700 page then gois over the $800 border. will have to dig it up and look.
No, the code on page 7 goes until $7ED. The last statement on this page is jmp 67a, which jumps back to format the next track.
Edited by StefanD, Mon Jul 26, 2010 6:17 PM.