• Please review our updated Terms and Rules here

IBM PC DOS 3.3 and hard drive size (and XTIDE)

westveld

Experienced Member
Joined
Dec 31, 2009
Messages
176
Location
Reed City, MI
I'm working on a funky OSAI 7-axis CNC controller - it's running an Olivetti embedded 8086 PC inside it. We can't seem to make anything more modern work - it has a lot of non-standard-ness to it. I'll take some pictures of it this week.

Finally got the XTIDE working in it with a 2GB IDE flash drive (only supports address C800 for some reason!).

With the PC DOS 3.3 the only way I can get it to boot off the hard drive is if I set the CHS to match the old XT 10mb drive - 312/4/17. With it set to auto I can create and use 32mb partitions, but it won't boot off them. I also tried a few 128mb CF cards, same issue.

I duplicated the problem with a Pentium Pro machine both with the integrated IDE hard drive and the XTIDE with Flash drive. Dos 6.22 boots, PC DOS 3.3 doesn't.

The problem seems to be the IBM PC DOS 3.3 - anyone know how I can get a bootable drive without limiting the drive to 10mb? We can't upgrade the DOS due to issues with the control software.

Ideas?

Thanks!
 
Right off hand, I would think about upgrading DOS to 6.2 or DOS 7, and see where that gets you.
 
Unfortunately can't do that - it breaks the CNC programs.

Luckily the XTIDE is super mega awesome and even works with this funky machine! :)
 
Did you try Fdisk with /mbr switch? I don't know if DOS 3 Fdisk supports the switch. If it does not help, then you need to wipe all data from CF card. DBAN is free and easy to use but you need modern PC for it. Once the CF has been completely zeroed, create partitions with DOS 3 Fdisk. Fdisk /mbr has been enough to fix boot problems so far so hopefully it will help you too.
 
If you are using DOS 3.3, your max partiton size is 2 GB. You are using PC-DOS 3.3, not too much different from MS-DOS 3.3. I would run FDISK and take a good look at your hard drive partition(s) and see where you space is - you may have a large unallocated/unpartitioned block setting in there. Any chance you can try a different hard drive? I don't understand what your control program is looking for in PC-DOS that can't be replicated in MS-DOS.
 
2GB partitions didn't arrive until DOS 4.0, unless you track down Compaq DOS 3.31. DOS 4.0 was the first release to properly support FAT 16 "big disk" partitions, but for other reasons is very highly not recommender to be used. As a minimum, DOS 5.0 should be considered the min, unless you are 100% sure you need DOS 3.3, in which case you need to track down a copy of Compaq DOS 3.31, as they backported the capability into their version. As far as I've ever heard, they were the only OEM to do so.

File Allocation Table (FAT) - History
__
Trevor
 
If you are using DOS 3.3, your max partiton size is 2 GB. You are using PC-DOS 3.3, not too much different from MS-DOS 3.3. I would run FDISK and take a good look at your hard drive partition(s) and see where you space is - you may have a large unallocated/unpartitioned block setting in there. Any chance you can try a different hard drive? I don't understand what your control program is looking for in PC-DOS that can't be replicated in MS-DOS.

I think the limit is 32mb in 3.3, and 4.0+ was 2GB.

Like you, I also thought of what it could be that DOS 6.22 "breaks"... I wonder if any of the commands expect a specific version of DOS. In which case, westveld, you could use the SETVER command in DOS 6.22 and add whatever executables and/or .SYS device drives being loaded at startup and specify version 3.3 as the DOS version to report to them. That should work.

EDIT: Also, have you tried DOS 5.0? Not the best release, but perhaps it's still compatible with the application you're running. It does support large partitions.
 
Thanks for the ideas!

I think we're going to get the rest of it working and bump up the DOS version and see if we can find a combo that works. I was able to duplicate the issue with another PC, multiple hard and flash drives, and the bochs emulator.
I was told it needed that specific version of DOS, we'll test that out!
 
Have you tried using setver in the config.sys file using a later Dos? (Edit:- I see it's been metioned) Another option is DrDos. I think that reports an earlier version of MS Dos by default iirc.

About Fat16 http://support.microsoft.com/kb/118335

NT3.51 and NT4(though not mentioned in the kb) supported up to 4gig Fat16 partitions.

Edit: It was PC Dos 3.31 DrDos 6 and earlier reported themselves as.
 
Last edited:
Back in the day when 3.3 was all we had, the problem was that sector addresses could run between 0 and 65535, hence the 32MB limit. One dodge was to interpose a blocking hard disk driver that combined hard disk sectors to make logical sectors of 1024, 2048 or 4096 bytes (I think DOS begins to break down somewhere around 16,384 byte sectors). This allowed one to have partitions sizes of 64, 128 or 256MB, respectively.

It wasn't perfect--there were programs that relied on 512 byte sectors, but it got many people out of a tight spot.

One could also use a driver that divided the hard drive up into 32MB sections, each with its own unit number. So, if you were using 4096 byte sectors, you could cover a 1GB drive in 4 units-- and JOIN them together.

You may want to research this for your application.
 
I think PCDOS 3.3 has some issue with booting off a disk with certain CHS parameters.
Doesn't seem to be BIOS related - since I can duplicate it on newer hardware and BOCHS. I'll do more testing with BOCHS and see if I can find where it stops working!

FYI - I can use a 2gb drive fine, create 32mb partitions on it, read/write data to it, but never could make it boot off it until I set the CHS manually to the IBM 10mb drive parameters. I did try the fdisk /mbr from dos 6.22 at one point too.

Thanks!
 
Presumably "MS-DOS 4.0 and later" is only valid up to a certain version, since contrary to that MS KB 6.22 can use 8GB drives (or 8GB out of a drive >8GB).
But only up to a max of 2gig fat16 partitions. Which is probably the term the kb should be using. Later MS Dos versions still had that limitaion.
 
Last edited:
But only up to a max of 2gig fat16 partitions. Which is probably the term the kb should be using. Later MS Dos versions still had that limitaion.
Yup, as they say a logical FAT(16) drive (partition) has a max size of 2GB, but the KB suggests that the physical disk size limit is 4GB when it (and the extended partition limit) is in fact 8GB (BIOS permitting of course).
 
Just curious--has anyone tried fromatting a 4GB FAT-16 partition on Windows NT and then using it on MS-DOS 6.0?

My old digicam takes CF storage and will not format a 4GB CF card, but happily accepts one formatted with NT.
 
Just curious--has anyone tried fromatting a 4GB FAT-16 partition on Windows NT and then using it on MS-DOS 6.0?

My old digicam takes CF storage and will not format a 4GB CF card, but happily accepts one formatted with NT.

I know I am seriously necroposting here BUT I found this thread and Chuck's question while doing research on HDD size limitations. I also found an answer to Chuck's question. So in case someone else ever comes here looking the short answer is NO. The long answer can be found in MS KB Q127851.
 
Back
Top