• Please review our updated Terms and Rules here

XT-IDE tech Support

3rd Party Partition Manager

3rd Party Partition Manager

If partitioning problems are in fact associated with all of the DOS's below DOS 4.0, why not use a 3rd party or OEM partitioning scheme like "Partition Magic" or or "Disk Manager" or something of that ilk. I for one, do not wish to upgrade the DOS system on my 1000SX. I've always had satisfactory performance with 3.2 or 3.3. That 3.2 is like an old story that you tell your kids at night. Same thing over and over and you know how it all ends. Partitioning with the 486 seems like a good way to go - after all, how many time are you going to have to do it?
 
I'd also like to see you try a drive larger than 2G with the old version of DOS and see if there is still an issue. I don't quite understand yet how a version of DOS would have an impact on anything, and it's a little unnerving that partitioning it elsewhere and then using it on the tandy works. I think that might come back to bite you in the end, especially if there is a translation problem. mike Chambers alerted me to a translation issue in the 2G range, so that's why I'm hoping the problem might go away on a bigger drive. Until we get this fixed, I wouldn't put anything on the drive that you can't restore from somewhere else.
 
.

When I used your new setcard to change a boot setting (like delay, or firstboot), I still get a verify error. "unexpected byte found at the following address: D000:1FFF 92<>43" Then upon reboot, I get the "D000 rom error, press f1 to continue" and the hard drive is disabled. Also, using setcard with the /B switch results in "D000 AA55Error, Signature not found!"

I tried several different combinations with setcard to no avail. The only way to regain a working system is to reflash from scratch. For clarity, this is my functional setup using the IBM floppy controller. Except for not being able to use setcard, the xtide seems to be working.

Sorry, I forgot to set register SI. NOW it should work (I hope..).

I also did some major overhauling to the routine that mannages the baseaddress searching. A lot of that code was "copy-n-paste, and hope for the best"-code, and a lot of it didn't make sense at all. I really don't know what I was thinking when I wrote it.

BTW, I did a minor fix to the Flasher (now you can properly manually select a baseaddress if you don't specify one as a parameter).
 
I'd also like to see you try a drive larger than 2G with the old version of DOS and see if there is still an issue.

All right, you guilted me into it. I'll try a bigger drive tonight or tomorrow night. I have plenty to choose from. It's just that I have a tone of these ~2 GB drives. I think, after some testing and reading last night, that it will still be a problem. I tried 3.2 and 2.1 on the 486, using the native controller and had very similar flakey results with these versions.

I don't quite understand yet how a version of DOS would have an impact on anything, and it's a little unnerving that partitioning it elsewhere and then using it on the tandy works.

I think it might have to do with the data structures built into the FDISK and or Format routines. There is probably a buffer overflow in there somewhere that just barfs after a certain level. After all, who in their right mind would ever want a 2GB drive and dos 2.11?

I think that might come back to bite you in the end, especially if there is a translation problem. mike Chambers alerted me to a translation issue in the 2G range, so that's why I'm hoping the problem might go away on a bigger drive. Until we get this fixed, I wouldn't put anything on the drive that you can't restore from somewhere else.

I agree. This is all just testing. Until I find a stable configuration, everything is just bits in the bucket.

The funniest thing for me all night (and it took all night) was running 6.22 scandisk and doing a surface scan on the 1.7 GB drive. This is on a 4.77MHz Tandy 1000SX. Talk about pushing the envelope. This thing was just barely chugging along. I could actually see the units digit changing! It did so in jumps (I think 8 at a time, every couple of seconds), but it was just so funny.
 
I'd also like to see you try a drive larger than 2G with the old version of DOS and see if there is still an issue. I don't quite understand yet how a version of DOS would have an impact on anything, and it's a little unnerving that partitioning it elsewhere and then using it on the tandy works. I think that might come back to bite you in the end, especially if there is a translation problem. mike Chambers alerted me to a translation issue in the 2G range, so that's why I'm hoping the problem might go away on a bigger drive. Until we get this fixed, I wouldn't put anything on the drive that you can't restore from somewhere else.

I seem to recall the 3.something DOS that came with my 1000RLX-HD was unable to boot from drives larger than 32mb. The drive came from Tandy split into two partitions., but I did not notice until a while after I got the system.
 
Update from the Tandy 1000sx front.

My conclusion is you need a special version of FDISK to handle these large drives. Not all FDISKS are created equal. I used one by NEC in Dos 3.3 and that by far is the most stable and most reliable.

Tandy's MS-DOS 2.11 just thows up its hands in disgust (locks the computer)

Tandy's MS-DOS 3.2 (designed for the SX) appears to work, but after formatting, returns "invalid partition table". Reboot causes the following sequence from the XT-IDE:
1) BIOS drive ID
2) Boot menu
3) BIOS drive ID sequence again
4) Nothing - frozen machine, showing the BIOS drive ID

Generic MS-DOS 3.3 FDISK just hangs. Not elegant at all.

NEC's proprietary FDISK under DOS 3.3 works perfectly. I have C, D, E, F, G all running at 32 MB each in my 1000sx

DOS 6.22 doesn't blink. Just works out of the box.

This behaviour is consistant regardless of drive size (as long as it is over 1.5GB),, all running natively in the 1000sx and in the 486 test machine I've been using. So, for my Tandy's I either have to live with the "replacement" DOS or kepp using RLL drives.

Next step is trying to manually create a FAT 12 partition using a third party tool. That'll be in a few days. I have something to take care of tomorrow and Friday.

Any way to force the XT-IDE BIOS into some kind of translation mode, so the computer thinks it has an 80 meg drive or something I can handle?

Kelly
 
Tandy's MS-DOS 3.2 (designed for the SX) appears to work, but after formatting, returns "invalid partition table". Reboot causes the following sequence from the XT-IDE:
1) BIOS drive ID
2) Boot menu
3) BIOS drive ID sequence again
4) Nothing - frozen machine, showing the BIOS drive ID
I just want to step in here and say that I think between steps 2 and 3, you are actually booting the machine, something in the boot process (ie, outside of the hands of XTIDE) is crashing the machine, and it is likely rebooting or somehow resetting and executing code out of the XTIDE rom again to make that 2nd ID sequence appear, then the system crashes hard.

I'm trying to avoid XTIDE getting the blame for acting as weird as that. XTIDE doesn't care or even know about what O/S you're installing, so it can't be responsible for that kind of behavior. Not saying you're blaming it; just want to make that clear to everyone, that if 1 OS works and another doesn't, there's probably not much that we can do about it. We are most certainly pushing the envelope of what these old O/Ses were capable of doing.

Overall though, I am quite happy that you're up and running and working and you're providing some amazing feedback as far as compatibility goes. thanks!

Any way to force the XT-IDE BIOS into some kind of translation mode, so the computer thinks it has an 80 meg drive or something I can handle?
not yet. There were plans to add a setup like menu system, where you could manually change the size of the drive, do some diagnostics, etc. The problem here is storing the new parameters you're using. Ideally we'd save them in the ROM itself, if we can get the write protect working via software and not the jumpers.

However, there just happens to be a feature in the ATA specification called "host protected area" and you can actually set a reduced LBA size for the user portion of the drive, and you can set that new size permanently. (you can always change it back)

Your drive would have to support the feature. I'm not sure what year it was introduced, and we'd need to write an external utility in order to use it.

There may be utilities out there to play with this feature set, you could probably set it up on another machine and then bring the drive over, since the reduced drive size is saved on the drive itself. I think this would do exactly what you're trying to do though.
 
I'm trying to avoid XTIDE getting the blame for acting as weird as that. XTIDE doesn't care or even know about what O/S you're installing, so it can't be responsible for that kind of behavior. Not saying you're blaming it; just want to make that clear to everyone, that if 1 OS works and another doesn't, there's probably not much that we can do about it. We are most certainly pushing the envelope of what these old O/Ses were capable of doing.

I agree. The problem is in FDISK/FORMAT functionality and how these old DOS's create partitions. Something is corrupt in the partition, and is telling the computer to jump back and execute some randome bit of ROM or code in ram.

This is a DOS problem and not an XT-IDE problem.

There may be utilities out there to play with this feature set, you could probably set it up on another machine and then bring the drive over, since the reduced drive size is saved on the drive itself. I think this would do exactly what you're trying to do though.
I'm going to try HDAT2 over the weekend. http://www.hdat2.com/
 
Last edited:
I received a pre-build XTIDE today (that was fast!) .

I first tried the oldest hard disk that i have, Quantum ProDrive 40AT (40 MB). XTIDE bios displayed ”Error! This drive is too old to support LBA access.”. So i tried another drive (Quantum ProDrive LPS 340AT, most likely it won't support LBA either) but this time nothing happened. XTIDE bios didn't do anything at all (no menu or anything)! Tandy 1000 SX booted normally from drive A just like before installing XTIDE.

Then i tried Seagate ST3660A (545MB) and XTIDE bios still did nothing. I tried the Quantum 40AT again and still the XTIDE bios did nothing. Findcard.com did found the XTIDE. I tried setcard /O: D000 /B and it helped. Now Quantum 40AT showed the same error message again.

Next i tried the Seagate ST3660A since i know that it supports LBA. Again XTIDE bios did nothing. I had to use setcard.com to fix it.

Seagate ST3660A doesn't seem to be compatible with XTIDE. ST3660A is found as both master and slave. I was able to create partitions with DOS 6.22 fdisk but rebooting took very long and DOS displayed some error about too many partitions (past Z). I wasn't able to try again since fdisk just froze.

Next drive I tried was Seagate ST5850A. It seems to work fine. I can create and format partitions with DOS 6.22.

I did notice a possible bug in XTIDE bios. I have 5.25” Tandy DOS 3.2 boot disk in drive A and 3.5” DOS 6.22 boot disk in drive B. DOS 6.22 fdisk does not find the ST5850A when i boot from drive B using XTIDE menu. Everything works when i boot from drive B by pressing F3 at startup (Tandy BIOS feature to swap drives).

I'll do some more testing. To summarize:
Quantum ProDrive 40AT does not work (since it does not support LBA)
Seagate ST3660A does not work (but it is detected by XTIDE)
Seagate ST5850A works
 
Make sure you remove the write enable jumper after you update the ROM (after turning off the power). I've had my 1000sx reset the ROM by just power cycling.
 
I removed the write enable -jumper and no more need for setcard.com.

Here are more drives that didn't work because of no LBA support (not surprising since they are small drives):
Western Digital Caviar 280 (80 MB)
Quantum ProDrive LPS 210AT (210 MB)
Quantum ProDrive LPS 340AT (340 MB)

Here is another slimline Seagate that does work fine:
Seagate ST51080A (1 GB)

I also have Quantum 105AT but no point to test it since even those larger models don't support LBA. I'm going to test more over 500 MB drives tomorrow.
 
XTIDE bios didn't do anything at all (no menu or anything)! Tandy 1000 SX booted normally from drive A just like before installing XTIDE.
Corrupt BIOS already. Not sure how you guys keep getting that to happen; I keep waiting, hoping that mine dies like that so I can do a postmortem on the ROM and see what got written out to it. As others have said, after you're done flashing it, make sure to yank the write enable jumper.
I hope we can nail this down with software write protect someday, but it will probably require Atmel parts.



Seagate ST3660A doesn't seem to be compatible with XTIDE. ST3660A is found as both master and slave.
Check to make sure you don't have your drive set to CS (cable select), and/or play with the CSEL jumper on the card. In my experience, CSEL should always be pulled low on the card. I have not played around with the CSEL jumper selection very much on my test system. I've just gotten in the habit of making sure all of my drives are set to master/stand alone. It would be interesting to note what it does where there actually is a slave drive attached.

Either way, that drive is 15 years old. I expect nothing from the bronze age to really work as advertised. ;)


I did notice a possible bug in XTIDE bios. I have 5.25” Tandy DOS 3.2 boot disk in drive A and 3.5” DOS 6.22 boot disk in drive B. DOS 6.22 fdisk does not find the ST5850A when i boot from drive B using XTIDE menu.
I'll see if I can reproduce that. It sounds like others have run into something similar, so odds are good that it's a bug.
 
So based on Kb2Sysd and aitotat experiences it seems to be that:

1. DOS versions older than 4 have issues with drives larger than a few hundred MB (DOS issue, not an XTIDE issue)
2. The XTIDE card does not boot/work with lives less than a few hundred MB (or non-LBA drives).

I think the obvious fix to get the card working with non-LBA drives. Is this possible?

Any one able to confirm these points on another type of machine (non Tandy 1000sx?
 
Check to make sure you don't have your drive set to CS (cable select), and/or play with the CSEL jumper on the card.

It was set to master. I tried another ST3660A (i have two) and it works! The one that did not work has older firmware (02-3.01-A1) the working one has 06-6.01-A1.
 
I think the obvious fix to get the card working with non-LBA drives. Is this possible?
Totally possible. That was on the todo list, albeit begrudgingly. Why add crusty old C/H/S support when easy to use LBA access is readily available, and modern hard drives all work with it? The recent news that older O/Ses puke on big hard drives makes it so that older drives are now looking like a requirement for support. The last thing I want to do is force people to use DOS 6.22, when they want to use 3.3 or earlier.

I would like to see if the above mentioned "host protected area" is a workable solution to the problem. Then we'd have new hard drives that use LBA, but are small enough to not make old DOS break.

When I get some time, I will investigate both why old DOS breaks on big drives, and if a HPA type utility can be whipped up to make big drives looks smaller. Wow, I've got a lot to do! (any else want to volunteer?)
 
Why add crusty old C/H/S support when easy to use LBA access is readily available, and modern hard drives all work with it?

Well it seems odd that a card designed for a vintage machine won't support truly vintage drives (ie no LBA drives), not that I don't get your point and see why you did not want to invest the time into it.

The OS support is definitely an unforeseen side effect of LBA support, and this is why we are still in the testing phase :D In retro spec it make alot of sense that old OSes would have such issues since we're asking them to deal with things that were completely unknown to them.
 
When I get some time, I will investigate both why old DOS breaks on big drives, and if a HPA type utility can be whipped up to make big drives looks smaller. Wow, I've got a lot to do! (any else want to volunteer?)
I have an HPA utility that I will be trying this weekend also. I'll let you know if it works.

Update: It doesn't yet. Set drive to report 60MB. Rebooted, formatted, same behaviour. I'll try again with it set to 40MB, but not tonight.
 
Last edited:
A very serious Tandy issue found. Some models, like 1000 SX, shares top of 640k base with video controller. Video controller only takes what it needs and DOS can use the rest. Different video modes requires different amount of memory so memory available for DOS can change while the system is running.

This is really bad for XTIDE since it seems to reserve a bit of base memory from the top. When video controller requires more memory, it actually uses the same memory that is reserved by XTIDE.

This means that i can only play text mode and 4-color 320x200 CGA games from hard disk. System freezes every time when i try to run any 16-color game from hard disk. 16-color games work when started from diskettes.

Maniac Mansion is a great example. When copied to hard disk, the game runs fine in CGA-mode (use C command line parameter). Computer freezes when starting the game in Tandy mode. However, if the game was started from diskette, it works even when XTIDE is installed.

Why does XTIDE require extra memory? Isn't there enough free space on BIOS Data Area?

Quick fix (temporary) would be to reserve 64k+[what is required by XTIDE] memory. Better fix would be to relocate XTIDE variables when needed (maybe Tandy DOS has some custom functions for that) but it would mean Tandy specific code for XTIDE bios. Best fix would be to use BDA only. It would also help non-Tandy users since more base memory would be left free.
 
Here are the test results from all my available drives. I have two Quantum drives (Prodrive LPS 105AT and Prodrive LPS 540AT) on my 286. No need to test them since none of the other Quantum drives worked. I have Seagate ST51270A on my 486 but it should work since the smaller model (ST51080A) works.

I also tested a more modern hard disk, Samsung SV1203N (120 GB). That was the only drive I tested with 80pin cable. I also tried it when set to cable select. XTIDE did not detect it at all. I didn't try any other drive using cable select.

I wasn't able to format any hard disks with Tandy DOS 3.2. I was able to create single partition on some drives but it couldn't be formatted on any drive.

Tandy DOS 3.3 (generic version on Tvdog's Archive) worked with every drive! I had no problems to create and format partitions. Unfortunately it only supports partition sizes up to 32 MB. Fdisk from Tandy DOS 3.3 even detected whole 4GB from Seagate ST34321A. Samsung was detected as a 8GB drive (DOS and BIOS limitation). Of course with 32MB partition limit there are not enough drive letters to use even a gigabyte of it. I didn't even bother to try DOS 6.22 on some of the drives since Tandy DOS 3.3 worked with every one.

I saved the results from Identify Device utility and INT 13 Display test. St3660a.txt is for the working drive and st3660af.txt is for the non-working drive. St5850a.txt is without the 1024 cylinder limit jumper and st5850ax.txt is with cylinder limit jumper.

Here are the non-working drives:
Western Digital AC280 (no LBA support)
Quantum Prodrive 40AT (no LBA support)
Quantum Prodrive LPS 210AT (no LBA support)
Quantum Prodrive LPS 340AT (no LBA support)
Quantum Trailblazer 840AT (no LBA support, very odd since its over 500 MB)
Seagate ST3660A, firmware 02-3.01-A1 (detects as master AND slave, might be defective)

Here are the working drives:
Seagate ST3660A, firmware 06-6.01-A1
Seagate ST5850A (tested also with 1024 cylinder limit jumper set)
Seagate ST51080A
Seagate ST31276A
Seagate ST34321A
Conner CFS850A
Maxtor 71084A
Samsung SV1203N

I have ordered CF-to-IDE adapters so i'll test some CF cards next week.
 

Attachments

  • xtide_tests.zip
    7.1 KB · Views: 1
Back
Top