• Please review our updated Terms and Rules here

XTIDE tech support thread

hargle

Veteran Member
Joined
Nov 30, 2007
Messages
1,397
Location
minneapolis, MN
I have a hunch that we're going to have some problems come up that multiple people may stumble over, so we should try and collect up all the problems here in this thread so we can learn from each other.

Please keep this thread clean, with only technical support issues and solutions. We don't need another runaway 100+ page thread.


There really isn't any good documentation yet, so this thread may help with some of that too, until real docs can be added to the wiki.

Build instructions are here:
http://wiki.vintage-computer.com/index.php/XTIDE_build_instructions

Main wiki page, with links to BIOS and other info:
http://www.wiki.vintage-computer.com/index.php/XTIDE_project

Jumpers:
http://i870.photobucket.com/albums/ab264/hargle/jumpers.jpg
You need 3 jumpers for the card to operate correctly. Place them on JP1, JP2 and on the L position of K1. At this time, there is no IRQ support, so you don't need to select any jumpers on the headers labeled "3,4,5,7,2".

JP1 is the ROM enable jumper. If you ever get to a point where you have re-flashed your card and gotten it stuck into a state where the machine will not boot anymore, remove that jumper and it will effectively disable the card. You should then be able to boot to a floppy disk and re-run the flash program. All you need to do is replace that jumper after you have booted (with the machine running)

JP2 is the write enable jumper. Since your card(s) should all have ATMEL BIOS chips on them, they have a software controlled write protect enabled already. You shouldn't have to ever un-write enable (I guess that would be write-protect) your card by removing this jumper. However, if you are totally happy with the BIOS you've got flashed in and don't ever feel the need to upgrade it, pull this jumper off and your ROM image will be protected forever.

K1 (L or H) is a pullup or pulldown for the CS (cable select) signal on the IDE interface. Spec says pull it low, andrew the board design guy had good luck with some drives with it pulled high. Change it only if you are having weird drive issues with master/slave settings.



Cables:
Use an 80-pin IDE cable. You should have no problem finding one, unless you are truly a vintage-only computer geek.

If your 80-pin cable is keyed by having a hole filled in, you may need to snip the corresponding pin off your IDE header, or just bend it out of the way, or perhaps unplug that hole with a pin.

Looking at the back end of the card, the pin to snip is the 11th one in from the left side, bottom row.
http://i870.photobucket.com/albums/ab264/hargle/header.jpg

80-pin cables are actually keyed for master/slave/controller connectors. Since we're not doing super high speed traffic, it is not critical that the controller end of the cable (typically blue in color) is connected to the XTIDE card. We only really want the extra grounding and noise dampening that the additional ground wires are providing.

Dip Switches:
The default settings are: 0111-1011.
http://i870.photobucket.com/albums/ab264/hargle/dips.jpg

Switches 1-4 are the IO address of the card, 5-8 are the memory address. I suggest changing the values from their defaults only if you are having problems with conflicts with other devices in your machine and the other cards cannot be changed. You may change switches 5-8 at any time, to re-locate the card's memory address in case you have a conflict with another option rom, likely another hard drive controller card.

The IO address (switches 1-4) require you to re-flash the BIOS chip on the card if you change the settings. It is very unlikely that you will have a conflict in IO range with other devices in your machine, unless you have an ethernet card in there too. Typically you would be using a different IO range only if you are installing 2 or more XTIDE cards in your machine.

Master/Slave settings.
Check your drive's jumpers and make sure you have the jumpers configured properly for master and slave. You can try using cable select settings, but don't be surprised if it doesn't work.

Try using a fairly modern hard drive. Drives manufactured after 2000 or so tend to be a lot cooler and run quieter than drives from the early-mid 90s. There were also many specification issues that were ironed out with later hard drive models that can cause all kinds of headaches. I have had excellent success with 8-10GB hard drives. DOS 6.2 can see up to 8.4G on this card without the need for any drivers or BIOS overlays. You will be using multiple 2GB partitions to get the entire 8.4GB of storage available.


The XTIDE card is compatible with modern computers. You should be able to take a drive, attach it to a modern computer with an IDE interface on it, and be able to access it exactly the same way as the XTIDE will. I find it very convenient to do all my bulk file copying on a modern machine and then move the drive over to the XT to save time.

Common pitfalls
1) the default IO address for the card may conflict with any ethernet/networking cards your machine may have installed. Remove the ethernet card first, just to make sure the XTIDE is working. In fact, remove all cards that are not required for booting (sound, game, network) just to be safe and add them back in once the XTIDE is known to work.
2) on a 5150 machine, you *must* have a floppy controller installed. You can work around this with a configuration option in the BIOS, but your card's default settings will require a floppy to exist in the machine. Download the BIOS and idecfg.exe utility off the wiki page.
3) If using a CF/SD to IDE adapter, and it fails to boot, the Master Boot Record must be recreated for many CF cards before they can be booted. Most likely the same thing is true for SD cards. Boot to a floppy and type: "FDISK /MBR" and that will likely fix it.
 
Last edited:
At this time, there is no IRQ support, so you don't need to select any jumpers on the headers labeled "3,4,5,7,2".

IRQs are supported but it is not usually worth to enable them on XT. Interrupt handling requires a little bit extra processing that will increase access times a bit. Interrupts should be enabled on XT only when DMA transfers (by some other cards) with high transfer rates are known to be needed. Waiting for interrupt during drive seek will completely free the bus for DMA controller. When interrupts are disabled, the CPU constantly requires bus to poll IDE status register.

I recommend to enable interrupts on AT and later systems.

JP1 is the ROM enable jumper. If you ever get to a point where you have re-flashed your card and gotten it stuck into a state where the machine will not boot anymore, remove that jumper and it will effectively disable the card.

XTIDE Universal BIOS initialization can be skipped by holding CTRL down during boot. Remove ROM Enable jumper only if holding CTRL down won't work.
 
This sounds like a great device for vintage computer lovers! I'm almost drawn to buying one even though I don't have an XT!

(Note I said "almost".:) )

Tez
 
There are some known limitations and incompatibilities with large hard disks and old operating systems. Here are some of them listed to hopefully make selecting hard disk and right DOS version easier. I'll update this post when more incompatibilities are found.

I recommend to use DOS 5 or 6. Incompatibilities are likely to be found on older DOS versions.

DOS 5 and 6
Accessible hard disk space: 8,4 GB (BIOS CHS limitation)
Largest supported partition size: 2 GB, multiple partitions supported
Known incompatibilities: None

DOS 3.31
Accessible hard disk space: 8,4 GB (BIOS CHS limitation)
Largest supported partition size: 512 MB, multiple partitions supported
Known incompatibilities: None

DOS 3.30
Accessible hard disk space: 768 MB (24 drive letters * 32 MB partition limit)
Largest supported partition size: 32 MB, multiple partitions supported
Known incompatibilities: None

DOS 3.20
Accessible hard disk space: 32/128 MB (partition limit)*
Largest supported partition size: 32 MB, only one partition supported*
Known incompatibilities:
  • Tandy DOS freezes on boot when boot partition uses 95 or more cylinders on a 256 MB CF card

*Tandy DOS 3.20 supports up to three extra 32 MB partitions with MLPART driver.
 
Is there a way to skip the boot code without disabling the bios entirely?
I have an 8bit high density floppy controller with its own bios, but XTIDE won't list the controller's drives in its boot menu.
I tried rearranging the cards order in the XT's slots, but it didn't change anything.
Both BIOSes are running, and both show their proper config, but XTIDE isn't picking up the floppy drives... makes bootstrapping a blank HD kinda tricky ;)

Thoughts? A feature for the next bios version?

Thanks in advance.
__
Trevor
 
I have had some success with my XTIDE card but not complete success.

My major issue is that when the XTIDE card is installed and recognized, my floppy drive is not accessible. I fdisked and formatted a drive on another system and when that drive is attached to the XTIDE it boots fine and things work OK except that when I try to access the floppy drive to use it to copy files or whatever, the system hangs. For instance, I boot to a C: prompt then enter dir a:. The light on the floppy flashes briefly, I hear the drive seek then the system becomes totally unresponsive and I have to reboot.

During bootup, the floppy seeks briefly like normal and the boot menu shows the floppy and the hard drive but I can only boot from the hard drive, if I select the floppy from the boot menu the system hangs requiring a reboot.

I am using a plain jane IBM XT with IBM floppy controller. I removed the MF card with extra memory to ensure there were no issues due to it. The only "odd" thing about this system is the video card which is a Heathkit EGA card that I don't know much about. I am using MS DOS 6.22 and have an 80-pin ide cable.

I've tried just about all of the switch settings for switches 5-8, some combos allow the XTIDE to be found, others don't. When the XTIDE is found, no floppy access. If the XTIDE is not found then the floppy works fine.

I can't run the flash utility to change the I/O setting for the card since I can't access the floppy with the card in the machine so I guess I am going to have to dig out a different video card and monitor (the video card will need to be pulled from another machine and all my machines are boxed up for storage right now) to see if that will make a difference.

Anybody else have any other suggestions?

Also, I think I may have found a bug. In my testing I entered Basica to bring up BASIC, then from within BASIC entered system to return to the DOS prompt. When I returned to the DOS prompt, anytime I tried to do something which required reading from the ide drive, I got a "General read error..." message. Once I rebooted, things worked fine again.

As a side note, the first ide drive I attached was recognized fine but wouldn't boot. After a number of attempts to get it to boot, the drive was no longer recognized. After checking and rechecking things trying to get the controller to recognize the drive again, I hooked it up to another computer and found out the drive no longer worked. Not sure what happened there but switching to a different drive got me going forward again.
 
Last edited:
OK, I swapped out the Heathkit EGA card for an 8-bit Oak VGA card and things work much better. I'm able to boot from the hard drive and access the floppy. I can also select boot from the floppy on the boot menu and boot successfully.

I also tried an IDE-CF adapter with a 256M CF card and that booted successfully.

I'm a happy camper now.

Time to build my 2nd card!
 
OK, I swapped out the Heathkit EGA card for an 8-bit Oak VGA card and things work much better. I'm able to boot from the hard drive and access the floppy. I can also select boot from the floppy on the boot menu and boot successfully.
Glad you got it working!
It's possible then that there is an IO conflict with EGA and our card. You can change the IO address to something else, but you will need to re-configure and re-flash your card using aitoit's BIOS and setup utility.
 
I attempted to reflash the bios to a different IO port. The flash util runs but at the end it reports that the verify failed due to unexpected data at several addresses. It doesn't appear to actually change anything because when I set the switches back to the default I can boot from the drive. I tried it twice with different IO ports each time with the same verify failure. Do I need to use any of the other switches for different write speeds?
 
Is there a way to skip the boot code without disabling the bios entirely?
Not at the moment. I could add option to disable boot menu. I could also force floppy drive A to be listed even when it is not detected.

I have an 8bit high density floppy controller with its own bios, but XTIDE won't list the controller's drives in its boot menu.
I tried rearranging the cards order in the XT's slots, but it didn't change anything.
Did you make sure that XTIDE ROM is mapped to higher address than the floppy controller ROM? It should not matter with late XTIDE initialization but try it anyway if you have not already.

Floppy drives are detected by first trying to get number of floppy drives from BIOS using Int13h/AH=08h function. It is available only on AT and later systems (i assumed it would be available on HD controllers with their own BIOS but maybe it's not). If that fails, number or floppy drives is read from equipment word on BIOS Data Area. It is stored there by main BIOS and number of floppy drives comes from the XT DIP switches.
 
Also, I think I may have found a bug. In my testing I entered Basica to bring up BASIC, then from within BASIC entered system to return to the DOS prompt. When I returned to the DOS prompt, anytime I tried to do something which required reading from the ide drive, I got a "General read error..." message. Once I rebooted, things worked fine again.

Not a bug. By default the hard disk parameters are stored to the end of interrupt vectors (starting from 30:0h). ROM Basic uses that same area so it corrupts the hard disk parameters. You need to reserve 1kB of base memory for XTIDE if you want to use ROM Basic.

That can be done with the configuration program (idecfg.com). There is Reserve 1kB of base memory setting in General Settings menu.
 
You seem to be using the flash.com that is meant for Hargle's old BIOS. You need to use idecfg.com that comes with the XTIDE Universal BIOS images.
Yes, I was using flash.com. Thanks for pointing me in the right direction. The idecfg.com util works much better and is far more user friendly as well.

I tried almost every IO port address but still couldn't find one that would work with my EGA card. I finally decided to just stick with the VGA card. I reflashed the BIOS back to the defaults, everything was working fine until I reinstalled my MF card, now I can't boot the hard drive. Argh!

I later found out that a hard drive works fine, only the IDE-CF adapter wouldn't boot with the MF card installed.
 
Last edited:
Quick note! I'd posted last night on the order forum about a no boot issue. The eye's are not what they use to be. I'd installed one of the resistor packs the wrong way. I put together my 2nd board tonight and it currently formatting a HD as I type. That boot menu is GREAT. What other things to discover. I hope I can remove that resistor and save the 1st board but that another day.

Thanks

framer
 
You will need solder wick or a solder sucker to unsolder the resister pack. Once you remove the solder the resister pack should come off pretty easily.
 
Last edited:
I later found out that a hard drive works fine, only the IDE-CF adapter wouldn't boot with the MF card installed.

There should not be any compatibility problems like that or with the EGA. First i was thinking that you might have too weak power supply. That would mean that CF card would be more likely to work than hard disk and not the other way.

CF cards can require max 70mA and microdrives can require max 500mA. CF cards and microdrives only use the 5V line. Hard disks can require 500mA on 5V line and 300mA on 12V line.
 
There should not be any compatibility problems like that or with the EGA. First i was thinking that you might have too weak power supply. That would mean that CF card would be more likely to work than hard disk and not the other way.

CF cards can require max 70mA and microdrives can require max 500mA. CF cards and microdrives only use the 5V line. Hard disks can require 500mA on 5V line and 300mA on 12V line.
Maybe there shouldn't be compatability problems like that but there are. I can connect the CF adapter, it will be detected, reports that a boot sector is found, says "Starting MSDOS..." but never gets the the C:\ prompt. I can power down, disconnect the CF adapter, attach an IDE drive and power back up and it will boot to a C:\ prompt. I don't know why but that's the way it works. If I remove the MF card, I can boot to a C:\ prompt with either.

I doubt it could be a weak power supply since it boots fine with the original full-height 10M drive which I'm sure draws more than the IDE drive, especially while spinning up.
 
Yes, I was using flash.com.

I will just like to add a note here.

As said above, flash.com and the 3 other relating utilities are only to be used with Hargle's BIOS. It's not updated anymore, but the curent version doesn't have any major problems.

All rev1 cards are shipped with Aitotat's BIOS already preflashed. Aitotat's BIOS is actively being updated, and it has a lot more flexibility and features than Hargle's BIOS have.

If you however wish to use Hargle's BIOS for various reasons, you must use flash.com and/or setcard.com with the "-A" parameter since your cards got Atmel EEPROMs with software data-protection activated. The "-A" parameter isn't really tested yet, but it should theoretically work according to the Atmel EEPROM datasheet.
 
I'm getting very strange errors now. Programs copied to the hard drive can't be executed. For example: I have the BIOS files and idecfg.com on a floppy disk in the A: drive. I invoke idecfg.com from the A: prompt, works fine. I change to the C: drive, make a directory called XTIDE, change to that directory and do a copy A:*.*. The copy does not report any errors and a DIR of the XTIDE directory looks good with correct file sizes and such. I invoke idecfg.com from within the XTIDE directory and the system hangs. In one case, which I have not been able to duplicate, when I invoked idecfg.com, the boot menu appeared, it counted down but then reported "Non-system disk... Replace and try again". Rebooting got the same result. I then installed the drive in another machine and saw that all the data on the drive was wiped.

I formatted the drive and installed DOS and some utilities on the drive in another machine. The programs copied to the drive while in the other machine work fine, only programs copied to the drive while it is attached to the XT-IDE card exihibit problems.

This happens with both RC1 and RC2 of aitotat's BIOS.
 
Back
Top