• Please review our updated Terms and Rules here

XTIDE tech support thread

I found a bug from XTIDE Universal BIOS that might cause the CF problems (actually it should cause write problems for hard disks as well). I just send a private message to ibmapc about fixed version to try.



After reflashing with test bios. XTIDE_BIOS_v1.1.2
Fdisk worked but only with the new ide_XT.bin, the new ide_XTP.bin still didn't work. Then when I attempted FORMAT C:/S, the system paused for a long time after "format complete" message and then showed "DRIVE C NOT READY"
message and after reboot the system files had not transfered. IO.SYS was the only file listed but contained zero bytes. After executing fdsik/mbr I tried another format c:/s. This time it didn't get the "drive c not ready" but still did not get system files. I then copied system files using sys command and got the IO.SYS and MSDOS.SYS but then got error stating no room for system files and COMMAND.COM contained zero bytes. So then I manually copied command.com and was able to get it to boot. But, obviously there is still something strange going on here. Very sporadic behavior.

Thanks

Greg
 
OK, Think I'm making headway. Come to find out I had the "Maximize Disk Space" turned on. With it turned off the SanDisk 2GB CF card seems to be working. Pretty sure I tried that with the other Bios version (1.1.1) so it would seem that the change that "aitotat" made is working. Going to put some stuff on the drive now and run some tests. Will post results here when testing is complete

Greg

PS Started writing to the CF card using dos 5.0 restore.com from Zip100 parallel drive(Backup created previously from a different CF card connected to ADP50L). After about 5 min. of restore, got "not ready writing drive C" then durring second attempt got "sector not found reading drive C". So, we're not out of the woods yet, Still haven't done much testing with real HD. Just Fdisk which appears to work, but haven't written any data to it.
 
Last edited:
I created partition to slow Apacer 256MB CF card, formatted it to be bootable and then copied lots of files to it. I used copy, xcopy and Norton Commander 4.0 to copy the files. No problems at all.

I have no idea why some CF cards have write problems. Please, let me know the brand, capacity, speed etc from all CF cards with write problems.

I'd also like to know everything that boot menu shows for the CF card (block mode, reset byte and so on).

One thing to try would be to enable full mode to steal 1kB from base memory. This ensures that nothing corrupts disk parameter tables. Another thing to try would be to enable interrupts. Maybe some CF cards do not work properly without interrupts enabled.

All my CF cards and microdrives work just fine so i don't know what the problem could be. That is why i need all possible details about the problematic CF cards and systems.
 
Please, let me know the brand, capacity, speed etc from all CF cards with write problems.

I'd also like to know everything that boot menu shows for the CF card (block mode, reset byte and so on).

One thing to try would be to enable full mode to steal 1kB from base memory. This ensures that nothing corrupts disk parameter tables. Another thing to try would be to enable interrupts. Maybe some CF cards do not work properly without interrupts enabled.

All my CF cards and microdrives work just fine so i don't know what the problem could be. That is why i need all possible details about the problematic CF cards and systems.

OK here's The info. Some of this is review from previous post in this thread but I thought it might be useful to have it all in one place;

IBM 5155 with 64-256kb MB Modified for 640kb. Latest bios (5/9/1986)
NEC V20
Intel 8087
Original floppy controller with two 360kb floppies attatched.
ATI EGA Wonder.
New XTIDE with XT+ build.(IDE_XT.BIN 0)ver. 1.1.2
CF Card SanDisk Ultra 2GB (15Mb/s) I've abandoned others becausethis one seems to work the best.
DOS 5.0

Boot menu shows;
80h SanDisk SDCFH-002G
Capacity : 1915.5 MiB / 1918.0 MiB
addr. | Block | Bus | IRQ | Reset
LBA28| 1 | D8 | 5| 00h

also,
Maximize disk size is turned off.
Full mode is set to steal 1kb from base memory now.
Interupt is set to IRQ 5

Still getting errors when writing to CF. "Drive Not Ready Writing Drive C"

Have not had time to test with real HDD. Will try to do that next week.

Greg
 
Thanks for the information. Boot menu information looks to be okay. Capacity is detected correctly, block mode is not supported (since CF cards don't need it) and drive is reset successfully.
It seems that this problem cannot be fixed by changing settings. I might have to find the same kind of CF card for testing. I have only Apacer cards and they work fine.
 
For what it is worth, I am also seeing CF write failures. CF read seems fine. I'm using various sized CF cards from Sandisk and Lexar, ranging in capacity from 8MB to 256MB, on an original IBM 5150. ALL of the cards work great (fdisk, format, boot, read, write) on a Dell Pentium 4 system with motherboard IDE support. I've been debugging this off and on with aitotat's help for a few weeks now, but I haven't found the root cause of my issues yet. I'll keep at it - hopefully together we'll figure this out.
 
It seems like it happens mostly durring a sustained write session. (ie restore entire disk.) Seems fine for several minutes and then suddenly drive c is not accessible until system reset. Soft boot (cntrl+alt+del) doesn't do it. Requires power down since my 5155 doesn' have a reset switch.

Thanks to all who are working on this project. This is an awsome undertaking and I apreciate all eforts to make this really cool piece of hardware work!!
 
Thanks to all who are working on this project. This is an awsome undertaking and I apreciate all eforts to make this really cool piece of hardware work!!
just have to say thank you on this thank you. it's really easy to get frustrated here, especially with something that you paid good money for and it isn't working as you expect it should. we really appreciate your positive attitide and willingness to help out with the debugging effort and not resorting to complaints. there are so many variables involved, and the debugging effort is sometimes happening half a world away-it will be a fairly slow process to get all the kinks out, especially when you consider how much early computers were out of spec (because the specs hadn't been defined yet). We're bringing hardware that expects things to be prim and proper and dragging it into the wild wild west. It will not go without a fight.

That said, back to the debugging! The sooner you can do the same test on a real hard drive the more variables it will remove from the equation. Can you estimate how much data(MBs) you need to transfer to the CF before the hang? I wonder if there is a correlation between MBs transferred vs flash card size. Are you doing these writes with a cache? My thought process here is that writing a lot of data under windows to these devices isn't exactly apples:apples because windows will cache and burst a lot of the writes together. Under DOS, w/o a cache, every file that gets written is going to have to go back to the FAT table and update it. On a flash device, you're hammering a single sector or two with all those updates. At some point, the flash block is going to get full and will need to do an erase to free up space for your FAT table to be written again (this is an internal flash device operation), and that could cause a hiccup in the timing, causing a lockup. Adding a write back cache might smooth out things enough that this error goes away. Admittedly, this is a bit of a stretch, but i think in general, you will save a lot of wear and tear on your flash devices if you use a WB cache under DOS.
 
Hi Mike, if you are interested in how computer hardware works and building your own equipment you might want to consider the N8VEM home brew computing project. You build your own computer from scratch and learn a lot about computer hardware and electronics.

You could learn similar things from building your own XTIDE board however it is a more narrowly focused peripheral board and doesn't include important items such as RAM, CPU, bus, etc. Still XTIDE is a great board and works fine but I personally would not choose it as a project to learn about computer hardware since it was not really designed for that.

Good luck! Thanks and have a nice day!

Andrew Lynch


This is resurrecting an old thread, but the two most educational experiences for me when it comes to computer hardware were building an I/O card and subsequent experiments, then later fixing a bad early gen "Plug 'n Play" modem.

The I/O card is still in the XT that I was playing with in my early teens. IIRC it uses an 8255 peripheral controller IC and provides 3 8-bit I/O ports that can be accessed from BASIC. I used it to control motors and lights, at one point built a small model of an elevator using a salvaged stepper motor, a traffic light, and a "picture stick" by inserting a row of 16 LEDs in holes drilled along a stick.

The modem was an interesting one, this was in the early Pentium days but still ISA. When inserted, the computer would not boot properly at all. I eventually figured out that the IRQ selection circuit was somehow stuck and it was hogging *all* available IRQ lines. I "fixed" it by sticking small strips of electrical tape over all the ISA bus contacts for the IRQs I *didn't* want and used it that way for several years until it failed completely.

Both projects forced me to really dig in and learn what was going on and were very educational. Had I not started out poking around in the depths of such a relatively simple machine as an XT, I wouldn't have nearly the depth of understanding I do of modern computer hardware.
 
First apologies for the lengthy post! I'll also comment that the XT IDE is a great achievement. Despite the quirks, it fills a need that is becoming more pressing with each vintage hard drive that succumbs to age.

The parts from Mouser showed up last night and I was finally able to build my XT IDE card. I haven't had loads of time to play with it but I ran into a few issues and am curious about others' experience.

First I had a bit of a chicken/egg problem. My XT spent the last 15 years stored in the shed at my mom's place and the RLL drive that worked fine when I put it there is not happy. On top of that, rats got in and destroyed most of the disks I had so I had nothing to boot it. I flashed the chip externally in my Willem programmer and then spent the next hour troubleshooting before I came upon a note stating that the address on the card needs to coincide with what's flashed in the BIOS. Got it to boot up finally but it would not boot when the RLL card was also installed so I flashed it with the universal BIOS and things are better.

The first drive I tried was a 1GB Seagate and it worked but I started having some errors, might be the drive since it's an old one I had laying around. Next I tried a 64M CF card and have that booting up just fine and it allows me to transfer files from a modern PC very easily. I've noticed though that with both that and the Seagate drive, the performance seems rather slow, even more so than the old MFM drives. When I do a DIR command it can take 5-10 seconds to display the used/free space and get me back to a prompt. I put the flash adapter in a P166 and it seems to work fine in that, well enough that I plan to retrofit my other old PCs with flash.

The next issue I ran into is the Edit program that comes with DOS 6.22 hangs whenever I attempt to launch it. Does that happen to anyone else? I tried both the hard drive and the flash card and had the same problem. I haven't tried grabbing a different DOS image or version.

Lastly, while not related to the XT IDE directly, does anyone have recommendations for ancient data recovery software? I used to really know my stuff but it's been over a decade since I'd played with this stuff. The hard drive is a Seagate ST238R 30MB RLL drive and I can access it and view the contents as well as read some of the files fine, but most of the time the I get the repeated noise followed by the dreaded Seek Error, Abort, Retry, Fail, Ignore? Likewise I can write a few files to the drive and then I get the same error. I tried an old version of Norton Disk Doctor and it told me it can't fix the drive because it's RLL. I'd love to get back the files on this thing, at least the BASIC code I wrote.
 
Thanks you hargle for your reply. I do understand that this is a work in progress and that those working on it are not making any money from it. But maybe the satisfaction of creating a real cool device that creates a "Bridge" from old technology to new will make up for it.
I tried a real hard disk last night set as a slave with the CF as master. The drive Fdisked, Formated and functioned perfectly. I haven't been able to boot from it yet because the boot menu kicks back to the master drive (CF) when I try to make it boot to the slave. I think that is due to the fact that DOS 5 Fdisk won't let me set the second drive as "active". I did an XCOPY of all files and subdirectories from the CF to the HD and it went through without error. I'll perform some more write tests as I get time. I want to try the RESTORE from the zip disk to the HD, which is what caused the CF to lock up. I also will try XCOPY from CF to HD to see if XCOPY works better than RESTORE when writing to the CF.
As far as the WB cache, do you have any suggestions? I don't want to lose to much ram to cache.

Thanks,

Greg
 
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.



Funny, I had *exactly* that problem with a Packard Bell 386sx-16 in the early 90s. It worked just fine with the original 40MB Western Digital IDE drive, but would hang when executing anything from 3 different newer hard drives I tried. I could format, copy, etc, but try to execute anything and the system would freeze solid. I wish I still had the system because it bugs me to this day that I spent 10s of hours screwing with it and never figured out what was going on.
 
I've noticed though that with both that and the Seagate drive, the performance seems rather slow, even more so than the old MFM drives. When I do a DIR command it can take 5-10 seconds to display the used/free space and get me back to a prompt.
This is a DOS 6.22 quirk and has nothing to do with xtide. I think the very first time 6.22 DIRs, it is scanning the FAT to determine the amount of free space or something, and it will take a few seconds. The bigger the drive, the longer it takes. From then on, it has that number cached somewhere and doesn't take long at all. You will find the exact same thing on any hard drive/controller.

That said, the XTIDE is pretty pokey. It's not using DMA and has to use the CPU to pull the data in from the drive, which is cumbersome. It's better than a floppy though, and I don't use my old machines to be in awe of performance, so I'm ok with it.

The next issue I ran into is the Edit program that comes with DOS 6.22 hangs whenever I attempt to launch it. Does that happen to anyone else? I tried both the hard drive and the flash card and had the same problem. I haven't tried grabbing a different DOS image or version.
Sounds to me like your original copy of edit is corrupt. it should work just fine.
you could compare edit with your original by doing an FC /b command to byte compare the source vs. the original. If they compare the same after copying to the xtide, then it's not the xtide that is at fault and your data is likely corrupt.

Lastly, while not related to the XT IDE directly, does anyone have recommendations for ancient data recovery software?
spinrite might be able to help there. norton disk doctor has often repaired a few problems like that too.
 
I haven't been able to boot from it yet because the boot menu kicks back to the master drive (CF) when I try to make it boot to the slave. I think that is due to the fact that DOS 5 Fdisk won't let me set the second drive as "active".

yep. I never understood why fdisk can't have an advanced mode that would let you set 1 friggen byte in your partition table on any drive to tell it that it's active. I'm sure there's a utility out there which can set the active byte on any drive is out there, otherwise you may indeed have to remove the CF and boot to a floppy to get fdisk to see that your C: drive is not active.

I did an XCOPY of all files and subdirectories from the CF to the HD and it went through without error. I'll perform some more write tests as I get time. I want to try the RESTORE from the zip disk to the HD, which is what caused the CF to lock up. I also will try XCOPY from CF to HD to see if XCOPY works better than RESTORE when writing to the CF.
Excellent news and looking forward to the results from the restore command.


As far as the WB cache, do you have any suggestions? I don't want to lose to much ram to cache.

i thought that norton utilities had a disk cache in it, but it's been a long time. I've used smartdrv plenty in my DOS days and it always worked well. I think there are limits you can set as to how much ram to reserve.

Embarrassingly, I have no less than 12 old machines, and I have not yet gotten even one of them set up properly as a working DOS machine with a tweaked config.sys and all the things I need on it. I've spent so much time debugging and developing and testing for others that I haven't got my own place set up! So, what I'm saying is that I don't even have a cache setup on my own system yet. In fact I don't think I have even set the PATH on any of my machines!
 
I think that is due to the fact that DOS 5 Fdisk won't let me set the second drive as "active".

Select the second hard disk (or any hard disk) from boot menu but do not press Enter. Press letter of floppy drive you want to boot from. This way you can install DOS to any hard disk from any floppy drive since the selected hard disk will be swapped to first hard disk on the system.
 
This is a DOS 6.22 quirk and has nothing to do with xtide. I think the very first time 6.22 DIRs, it is scanning the FAT to determine the amount of free space or something, and it will take a few seconds. The bigger the drive, the longer it takes. From then on, it has that number cached somewhere and doesn't take long at all. You will find the exact same thing on any hard drive/controller.

That said, the XTIDE is pretty pokey. It's not using DMA and has to use the CPU to pull the data in from the drive, which is cumbersome. It's better than a floppy though, and I don't use my old machines to be in awe of performance, so I'm ok with it.


Sounds to me like your original copy of edit is corrupt. it should work just fine.
you could compare edit with your original by doing an FC /b command to byte compare the source vs. the original. If they compare the same after copying to the xtide, then it's not the xtide that is at fault and your data is likely corrupt.


spinrite might be able to help there. norton disk doctor has often repaired a few problems like that too.



Yeah that does seem to be the case, once I've done DIR once it's a lot faster the next time I use it. Is it just DOS 6.22 that does this or do older versions as well? I used to have actual retail disks for every version of DOS from 2.1 to 6.2 but I have no idea what happened to them, I'll have to poke around online and see if I can find disk images of all the different versions.

As for the performance, I don't expect it to be a speed demon, but I'm hoping for performance equal to the ancient drives I'm replacing. I'll experiment using an actual hard drive, the CF card I have in there now works nicely but it's a very old 64M card and likely not particularly fast.

I got Edit to work last night, I had a RAM chip fail and I replaced that and loaded a different copy of DOS 6.22 on the machine at the same time. I'm not sure which was at fault but it works now.

Anyone have a link to an old version of Spinrite? I tried Norton Disk Doctor and it complained that it couldn't proceed on an RLL drive.
 
Yeah that does seem to be the case, once I've done DIR once it's a lot faster the next time I use it. Is it just DOS 6.22 that does this or do older versions as well?
This is a 6.22 only thing, IIRC. I swear there was a technical diagnosis of what it's doing somewhere here in the VC forums awhile back.


As for the performance, I don't expect it to be a speed demon, but I'm hoping for performance equal to the ancient drives I'm replacing.
well, that's not exactly fair. An IDE drive, especially one built fairly recently, will have seek times that will smoke any RLL or MFM drive. yes, we're still talking milliseconds here though.

However, it's really the controller in this case which is being pokey, and this is because XTIDE is fairly low budget and not trying to out perform the competition. There is a lot of room for improvement in the design, but everything we add increases the cost and complexity of a device that is not-for-profit, and who pays for the prototypes and engineering time? This is also the 1st generation controller, so I think comparing a home brewed "wouldn't it be cool if..." project against a design released by IBM or WD is a little unfair. There have been some performance numbers posted here:http://www.wiki.vintage-computer.com/index.php/XTIDE_TestResults

I think for most of us (me anyway, and that's all that matters) that storage is the #1 goal, removable media (CF) is #2, and interoperability with modern PCs for easy file transfers is #3. Performance is a distant 4th.
 
I'm not trying to criticize the design, it is truly a breakthrough when it comes to price and availability, and the hardware is astonishingly simple. That said, MFM hard drives are incredibly slow and the controllers contain very little intelligence. Obviously any IDE drive made in the last 20 years will smoke one in terms of both transfer rate and seek times. It would seem that XT IDE would/should easily be at least as fast as MFM as the bottleneck ought to be the 8 bit ISA bus. If it is indeed slower, I would like to understand why. I'll have to do some side by side comparison with my friend's XT which still has a working MFM drive. Having not used this machine in ~15 years it's hard to remember exactly how long everything used to take.
 
<snip>
Excellent news and looking forward to the results from the restore command.
<snip>
<snip>
i thought that norton utilities had a disk cache in it, but it's been a long time. I've used smartdrv plenty in my DOS days and it always worked well. I think there are limits you can set as to how much ram to reserve.
<snip>

All writes to real HD have been successful including dos restore from backup. All extended writes to CF card eventualy end with drive not ready error. I don't think smartdrv will work on my machine since it wants to use extended or expanded memory. Expanded memory is not an option on an XT and extended memory requires a memory card which I don't have. Also, I was able to make the dos partion active on the HD using aitotat's instructions but when I try to boot from it I get "non system disk error" evem after format /s and fdisk/mbr. When I get a chance, I'll reset the jumpers on HD and CF adapter to make the HD the master and the CF the slave(right now, it's the other way around) and see if it will boot from the HD.
 
Back
Top