Jump to content
IGNORED

XF551 OSes


Recommended Posts

I believe this is the Woolley 5.25 version:

 

XF551.zip

 

I will burn and try this one but I think, do to the included text file, that this is the 3.5 720K rom. I'm really looking for any mod that will fix the drives ability to switch densities, as I am trying to images a collection of disks and the drive will not recognize the change between double side or single side disks.

 

The XF551 will switch densities if it gets a data check in the first three sectors, as I recall. There is a patch "out there" to allow it to switch on any sector but it isn't entirely satisfactory. DOS still gets an error on the first read and may get cranky, although the second attempt will retry in the alternate density. The right way to fix this is to read the disk internally in the drive when you close the disk and not return a data error. The problem is that DOS still doesn't know that you have changed disks and will be looking for the wrong sector size. The controllers have 'disk change' status but nobody uses it that I have seen.

 

Bob

Link to comment
Share on other sites

I would like to thank Steve for the PAL XF551 firmware image.

 

I would also note that it does not work very reliably with NTSC machines. The HyperXF, on the other hand, works better than the factory NTSC firmware. It appears to greatly improve (if not eliminate altogether) the density-switching bug. It also appears to support "normal" ultraspeed with OSes that support it (eg. spartados)...

 

If the HyperXF ROM does indeed work on both PAL and NTSC systems, that is quite a piece of good work.

Edited by MEtalGuy66
Link to comment
Share on other sites

Ok. I need a PAL compatable ROM image for use in an XF551.

 

Someone has recently mailed me his XF551 mainboard from Europe, for repairs. He purchased this drive off of EBAY, and could not get it to work reliably with his PAL 130xe. Upon recieving the board, I hooked it up to my NTSC machine, and it worked fine.

 

I went ahead and fixed the crappy solder joints on the SIO connectors, but I do not want to ship this mainboard back without correcting the true problem.

 

From what I understand, the timing incompatability lies in a bug in the eariler released US/NTSC firmware. The later firmware supposedly would work with both PAL and NTSC.

 

I know that the HyperXF ROM was written in Germany. Is this ROM compatable with both PAL and NTSC? or is there 2 different versions of it? I burned the HyperXF-A rom and it seems to work fine in the drive on my NTSC system (but so did the original ROM). Unfortunately, I do not have a PAL system to test it on.

 

I need a ROM image that I can burn on an 2764 EPROM and install in this drive, that is guaranteed to work with a PAL system, so I can mail this guy his board back.

 

Any help I can get on this would be GREATLY appreciated.

could you please send me a copy of the NTSC rom? I either don't have it or all my xf551 rom images are pal. I at one time had both but finding it now.......

 

James

Link to comment
Share on other sites

  • 1 month later...
I would like to thank Steve for the PAL XF551 firmware image.

 

I would also note that it does not work very reliably with NTSC machines. The HyperXF, on the other hand, works better than the factory NTSC firmware. It appears to greatly improve (if not eliminate altogether) the density-switching bug. It also appears to support "normal" ultraspeed with OSes that support it (eg. spartados)...

 

If the HyperXF ROM does indeed work on both PAL and NTSC systems, that is quite a piece of good work.

After a lot of digging, I have finally found the changes for the pal/ntsc xf551 roms. At least I hope these are the differences.

Could someone please let me know if they are part of the xf sio routine.

$9af was $99 change to $24

$9b0 $ef -$e0

$9e0 Was $ff -$09

9e1 ff-53

9e2 ff 08

9e3 ff c6

9e4 ff f0

9e5 ff 9a

9e6 ff cf

9e7 ff 8a

9e8 ff 10

9e9 ff 99

9ea ff e7

9eb ff 24

9ec ff b1

9f0 ff 8a

9f1 ff 30

9f2 ff 89

9f3 ff 08

9f4 ff 99

9f5 ff ef

9f6 ff 24

9f7 ff b1

 

Hope this is very informative.

 

James

Link to comment
Share on other sites

  • 2 years later...

Has anyone dissembled and commented the orignal xf551 code? I started to but discovered a real strange part where code crosses the 2K boundry, but every spec I find for the 4050 says code cannot cross this boundry with out first selecting the bank select bit and doing a jump instruction.

 

James

Edited by sup8pdct
Link to comment
Share on other sites

I did - sort of...

 

I'll see if I can find it. This is code at $0800?

 

What did you use for a disassembler?

 

Bob

 

 

Has anyone dissembled and commented the orignal xf551 code? I started to but discovered a real strange part where code crosses the 2K boundry, but every spec I find for the 4050 says code cannot cross this boundry with out first selecting the bank select bit and doing a jump instruction.

 

James

Link to comment
Share on other sites

dis 8038 i think. 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.

 

james

 

 

 

 

 

I did - sort of...

 

I'll see if I can find it. This is code at $0800?

 

What did you use for a disassembler?

 

Bob

 

 

Has anyone dissembled and commented the orignal xf551 code? I started to but discovered a real strange part where code crosses the 2K boundry, but every spec I find for the 4050 says code cannot cross this boundry with out first selecting the bank select bit and doing a jump instruction.

 

James

Link to comment
Share on other sites

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:

 

lda p
and #8
beq f0       branch if configured for MFM
anq #cf
orq #10      set quad density
anp #e7      set MFM, FDC reset
jmp 9b1      jump back

9f0
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=pv), 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.

 

Stefan

Edited by StefanD
Link to comment
Share on other sites

Is the HyperXF 80 track ROM (for 3.5" drives) backward compatible with 5.25" mechanisms? I ask because I'm half way through fitting a 3.5" drive to my XF, and it would be nice to be able to pop the 5.25" mechanism back in if I ever need to without swapping the ROM. If I have to, I'll buy a spare EPROM and keep the 40 track firmware on there.

 

I had three 3.5" mechanisms to try, and the second - a Sony unit - worked. Funnily enough, it works off either the drive "A" or drive "B" connector on the long ribbon cable I bought (which has the "twist" for drives A and B, and dual 3.5" and 5.25" connectors). Does this mean the FDD is already jumpered as drive 1? A little confused there, but happy enough...

 

I took that 3.5"/5.25" floppy cable, trimmed off the PC motherboard edge connector, prised off the original Atari ribbon cable from the XF mainboard header (by unclipping the plastic retainer), and then pressed the new ribbon connector in place, before replacing the plastic clip with a few well-judged taps with a screwdriver handle. Result is a ribbon cable ready for both 3.5" and 5.25" drives, no resoldering... in fact pretty neat.

 

The other variable with all this is disks. I reckon some of them must have been 1.44MB disks, since they didn't work. It took about four tries to find a 720K disk which formatted under SDX in the pile of old Amiga/ST floppies.

Edited by flashjazzcat
Link to comment
Share on other sites

Hi flashjazzcat,

 

I haven't tried it, but the HyperXF 80 track ROM probably will not work with 5,25" drives. The reason is that there is no auto detection and I changed the step rate (12ms for 5,25", 3ms for 3,5") and FDC precompensation and of course the track accessing logic: I don't know what happens if the ROM tries to access track 79 of a 5,25" drive *grind* (hopefully the 5,25" drive will survive this). If you want to switch between two drives, you can burn both HyperXF ROMs in one 2764 (in fact the ROM has only 4KB) and switch A12 of the 2764 to activate one ROM or the other.

 

And yes, the drive must be jumpered as drive 1. Otherwise the XF hardware won't be able to access it (the motor spins but sectors can't be read). This is a hardware problem and has nothing to do with the ROM. Probably pin 10 of the drive connector (called "drive select") is the reason for this - it is connected to the motor on line in the XF551.

 

To distinguish disks: 1.44 MB disks have an extra hole in one edge while 720 KB disks don't have this.

 

Stefan

Link to comment
Share on other sites

Flashjazzcat: Here's what you do:

 

Get BOTH HyperXF ROM images (the 3.5" and the 5.25")

 

Concatenate them together into a single 16k ROM image, using a sector editor..

 

Burn the 16k image onto a 27128 EPROM..

 

Bend up Pin 26 of the 27128 (so that it doesnt go into the socket) and solder a 4.7k resistor from pin 26 to pin 28.

 

Solder a wire from pin 26 to one pole of a SPST switch..

 

Solder a wire from the other pole of the switch to ground (pin 14 of the 27128 is GND)..

 

You can now switch between 3.5" and 5.25" HyperXF OS..

Edited by MEtalGuy66
Link to comment
Share on other sites

Nice tips! Thanks both. I have the parts to make a switchable ROM: I might go down that route, although I probably won't put the 5.25" mechanism back in very often: only to read 360K floppies that the 1050 can't manage.

 

What would be really cool is to have a dual 3.5"/5.25" mech (as has been done and demonstrated elsewhere on this forum), but make one drive show up as drive 1, and the other show up as drive 2. The example I recall of this set-up had a switch on the back to swap the drives, IIRC.

 

Anyhow: it's hard to imagine how I'll use either a 5.25" or 3.5" disk drive except for nostalgia reasons. That said, swapping the drive mech and getting it to work has been very satisfying (something I've wanted to try for twenty years), and there really is no substitute for real floppies, and double the standard XF capacity is a nice bonus.

 

I'm going to trim the ribbon cable down and put the XF's original 5.25" connector on the end of it. I also got myself some "window grey" plastikote spray-paint, and I'm going to do the drive bay adapter and 3.5" FDD fascia with that (it ought to be a good match for the XF casing). The drive should look smart when it's finished. I'll post a pic or two.

Link to comment
Share on other sites

Nice tips! Thanks both. I have the parts to make a switchable ROM: I might go down that route, although I probably won't put the 5.25" mechanism back in very often: only to read 360K floppies that the 1050 can't manage.

 

What would be really cool is to have a dual 3.5"/5.25" mech (as has been done and demonstrated elsewhere on this forum), but make one drive show up as drive 1, and the other show up as drive 2. The example I recall of this set-up had a switch on the back to swap the drives, IIRC.

 

Anyhow: it's hard to imagine how I'll use either a 5.25" or 3.5" disk drive except for nostalgia reasons. That said, swapping the drive mech and getting it to work has been very satisfying (something I've wanted to try for twenty years), and there really is no substitute for real floppies, and double the standard XF capacity is a nice bonus.

 

I'm going to trim the ribbon cable down and put the XF's original 5.25" connector on the end of it. I also got myself some "window grey" plastikote spray-paint, and I'm going to do the drive bay adapter and 3.5" FDD fascia with that (it ought to be a good match for the XF casing). The drive should look smart when it's finished. I'll post a pic or two.

The only XF551 dual-drive upgrade I'm aware of that assigned a separate drive ID to the second mechanism is the CSS dual drive upgrade, which allowed use of both mechanisms without using any switch. This consisted of a replacement ROM and some circuitry to add drive select. I don't know if this upgrade is still available from NLEaudio/CSS, you can contact them to see if it is. If they no longer sell this upgrade, perhaps they will release the ROM/schematic of the drive select circuitry.

Link to comment
Share on other sites

My XF551 switches D1: between the 5.25 and the 3.5. You can only use one at a time, but they are both on D1:. There are then, two drive enclosures.

 

Be kinda fun to put it all in an 810 case...

 

Bob

 

 

 

 

Hello Jon

 

Bob Woolley's upgrade uses the switch, Bob Puff's (CSS"s) upgrade switches automatically between the two drives.

 

sincerely

 

Mathy

Link to comment
Share on other sites

Isn't it also recommended to power off the drive before switching with your dual upgrade?

The CSS upgrade while being more expensive, if it is even still available, is much easier to use and allows direct copying of files from one mechanism to the other.

 

I was thinking about the 810 case option myself, a complete case is $35.00 from B&C, but this would require black mechanisms to look correct. I don't have a 360KB black floppy, and they are hard to find/getting expensive, especially with shipping to Canada(5.25" drives are fairly heavy!). Instead I recently purchased an SF314 drive to put on top of the XF551 and hold a 3.5" mechanism for my CSS dual drive upgrade, even complete with power supply this was much less than the cost of a 360KB 5.25" and didn't require the purchase of an 810 case. When I get to it I plan to use a DB37 or similar keyed connector, so the 3.5" drive can't be hooked up backwards, with the extra wires carrying power eliminating the need for a separate lead.

 

BillC

 

My XF551 switches D1: between the 5.25 and the 3.5. You can only use one at a time, but they are both on D1:. There are then, two drive enclosures.

 

Be kinda fun to put it all in an 810 case...

 

Bob

Edited by BillC
Link to comment
Share on other sites

No need to power off. Both drives are powered on while you are using them. I just switch the EPROM bank and the SELECT line with a DPDT switch. I switch them all the time while I'm running. Sometimes, it has to re-do the density, but it works pretty well. I have many, many 3.5 and 5.25 disks and I need to be able to boot from either.

 

Bob

 

 

 

Isn't it also recommended to power off the drive before switching with your dual upgrade?

The CSS upgrade while being more expensive, if it is even still available, is much easier to use and allows direct copying of files from one mechanism to the other.

 

I was thinking about the 810 case option myself, a complete case is $35.00 from B&C, but this would require black mechanisms to look correct. I don't have a 360KB black floppy, and they are hard to find/getting expensive, especially with shipping to Canada(5.25" drives are fairly heavy!). Instead I recently purchased an SF314 drive to put on top of the XF551 and hold a 3.5" mechanism for my CSS dual drive upgrade, even complete with power supply this was much less than the cost of a 360KB 5.25" and didn't require the purchase of an 810 case. When I get to it I plan to use a DB37 or similar keyed connector, so the 3.5" drive can't be hooked up backwards, with the extra wires carrying power eliminating the need for a separate lead.

 

BillC

 

My XF551 switches D1: between the 5.25 and the 3.5. You can only use one at a time, but they are both on D1:. There are then, two drive enclosures.

 

Be kinda fun to put it all in an 810 case...

 

Bob

Link to comment
Share on other sites

It was the Matthew Ratcliff review of the ICD XF35 Kit based on your upgrade which led me to believe that switching the drive off was recommended before switching mechanisms.

Since there was never any commercial software for the Atari 8-bits available on 3.5" disks booting from them wasn't a high priority, and it is possible for me to boot from any drive when using my MIO.

 

Bill

 

 

No need to power off. Both drives are powered on while you are using them. I just switch the EPROM bank and the SELECT line with a DPDT switch. I switch them all the time while I'm running. Sometimes, it has to re-do the density, but it works pretty well. I have many, many 3.5 and 5.25 disks and I need to be able to boot from either.

 

Bob

 

 

 

Isn't it also recommended to power off the drive before switching with your dual upgrade?

The CSS upgrade while being more expensive, if it is even still available, is much easier to use and allows direct copying of files from one mechanism to the other.

 

I was thinking about the 810 case option myself, a complete case is $35.00 from B&C, but this would require black mechanisms to look correct. I don't have a 360KB black floppy, and they are hard to find/getting expensive, especially with shipping to Canada(5.25" drives are fairly heavy!). Instead I recently purchased an SF314 drive to put on top of the XF551 and hold a 3.5" mechanism for my CSS dual drive upgrade, even complete with power supply this was much less than the cost of a 360KB 5.25" and didn't require the purchase of an 810 case. When I get to it I plan to use a DB37 or similar keyed connector, so the 3.5" drive can't be hooked up backwards, with the extra wires carrying power eliminating the need for a separate lead.

 

BillC

 

My XF551 switches D1: between the 5.25 and the 3.5. You can only use one at a time, but they are both on D1:. There are then, two drive enclosures.

 

Be kinda fun to put it all in an 810 case...

 

Bob

Link to comment
Share on other sites

Flashjazzcat: Here's what you do:

 

Get BOTH HyperXF ROM images (the 3.5" and the 5.25")

 

Concatenate them together into a single 16k ROM image, using a sector editor..

 

Burn the 16k image onto a 27128 EPROM..

 

Bend up Pin 26 of the 27128 (so that it doesnt go into the socket) and solder a 4.7k resistor from pin 26 to pin 28.

 

Solder a wire from pin 26 to one pole of a SPST switch..

 

Solder a wire from the other pole of the switch to ground (pin 14 of the 27128 is GND)..

 

You can now switch between 3.5" and 5.25" HyperXF OS..

I understand pin 26 is A13, and 28 VCC. So the switch is basically toggling the highest bit of the address, thereby switching between the 2 8K banks?

Edited by flashjazzcat
Link to comment
Share on other sites

  • 9 years later...

I have a question. 

 

I have the HyperXF Eprom in my XF551. I am wondering a few things:

 

What are the steps for me to follow, to get with RWTEST the highest possible speed. I am wondering whether I am doing something wrong. I format with SDX formatter, Skew = Ultra. Double Density. I get read spead around 3K/sec which seems to be stock XF speed. (I am with 5.25" mechanism)

 

Is there anyone here who might want to test that on their setup? 

Is there some documentation available about the HyperXF?

 

Thanks

Marius

 

Link to comment
Share on other sites

Well,

 

the Hyper-XF uses sector skewing / sector interleave to gain ultraspeed. Afaik, most ultraspeed DOS versions (and some sector copy programs) that support this use the US-Doubler sector skewing and errmmm, the Hyper-XF is not compatible to this (or better, it uses a different sector interleave). So, if the sector copy program, DOS or whatever you are using for formatting asks for "ultraspeed skew", "sector skewing", etc. then reply with "N"o, since most of the time this is for US-Doubler only.

 

Believe it or not, the Hyper-XF will still format with sector skew/sector interleave (as long as the DOS, OS or formatter program supports ultraspeed). The result should be a diskette formatted with Hyper-XF sector interleave that works fine with ultraspeed (when loaded from a DOS, gamedos or OS that supports ultraspeed). The Hyper-XF "does not like" programs that are exclusively for US-Doubler or exclusively for Happy 1050, but it will work with most programs that generally support ultraspeed.

 

Have not tested this with SDX, since I never use SpartaDOS, but it worked that way with several sector copy programs, e.g. Mycopier 1.x, Mycopier 2.1 (option "ultraspeed skew" set to "off" and it still formats with sector interleave on the Hyper-XF). Let me know, if this works for you...

=> boot SDX, load/execute RWTEST, insert formatted disk (formatted with Hyper-XF sector interleave), see if you get a better result, if not, I am out of clues...

 

(Redundant Sidenote: The Hyper-XF even reacts to most Happy compatible programs, but it lacks the older 6k or newer 8k cache buffer of the Happy, so all programs that require this cache buffer will not work. And errmm, you can boot the Hyper-XF drive without a disk and install the hyperspeed/ultraspeed driver into e.g. page 1, then load a Turbo 1050 copy program, e.g. Track Copier - it will then read a disk in turbospeed with 68k2 Baud, alas, it cannot format nor write, since the Turbo 1050 also uses a different sector interleave.)

 

Link to comment
Share on other sites

@Marius:

Standard Ultra speed sector skew in DD is 8 of 19 (for use with Pokey divisor 9), i.e. with 300 RPM = 5 RPS, time for 1 DD sector is 8/19*0.2s, so 1 KB takes 4*8/19*0.2s = 0.337s, which gives 2.967 KB/s. So 3 KB/s is correct for Ultra speed! What did you expect?

 

Normal DD sector skew is 16 of 19, which gives only 3 KB/s *8/16 = 1.5 KB/s and XF high speed (=warp speed) sector skew is 10 of 19, which gives 3 KB/s *8/10 = 2.4 KB/s. Even with Turbo speed sector skew 7 of 19 (Pokey divisor 6), you get not more than 3 KB/s *8/7 = 3.4 KB/s.

 

You can decrease the sector skew by one sector, but then you'll get timing problems, if you use long VBIs or (lots of) DLIs.

 

  • Like 3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...