PDA

View Full Version : PC-DOS 2.0 and ST-255



romanon
March 25th, 2014, 12:04 AM
Hi, i tried boot my 5150 wit PC-DOS 2.0 and HDD ST-225, but i get message invalid drive specification after command C:
After runing fdisk i get this from partition information
17949

It is some pc-dos 2.0 compatibility problem with FAT16? Because that disk work properly with ms-dos 3.30

modem7
March 25th, 2014, 12:27 AM
According to what I'm reading, FAT16 was introduced in DOS 3.
So, I'm guessing that DOS 2, which would only know of FAT12, does not 'understand' the existing FAT16 partition on your hard drive.

romanon
March 25th, 2014, 01:09 AM
I understand, but i read on wikipedia: DOS 2.0 added subdirectories and hard disk support for the new IBM XT
So, XT has HDD and dos 2.0
Which fat system can be on XT HDD?

archeocomp
March 25th, 2014, 02:13 AM
FAT12 for HDD with capacity less than 16MB.
FAT16 for HDD above 16MB

If your HDD is bigger then 16MB then it has FAT16 and DOS2.0 can not use it.

romanon
March 25th, 2014, 02:22 AM
aaaaaha, so i get it now, thanks

cr1901
March 25th, 2014, 03:17 AM
According to what I'm reading, FAT16 was introduced in DOS 3.
So, I'm guessing that DOS 2, which would only know of FAT12, does not 'understand' the existing FAT16 partition on your hard drive.

At least based on Wikipedia's articles, I think DOS 2.x DOES understand FAT16, but uses a non-forward-compatible data structure format that can only be written using DOS 2.x FDISK. DOS 3.x can read this earlier version of FAT16 for drive partitions less than about 20MB in size, but any larger and DOS 3.x will choke. Likewise, trying to read a partition size greater than approximately 20MB in size in DOS 2.x with a DOS 3.x-formatted disk will also fail.

Perhaps OP stumbled upon this limit?

EDIT: I think none of us are completely correct. DOS 2.x does understand partition sizes > 16MB, but it's FAT12 (theoretical partition size is 32 MiB for FAT12). Relevant part of Wiki article on FAT (http://en.wikipedia.org/wiki/File_Allocation_Table):

Initial FAT16[edit]

On 14 August 1984, IBM released the PC AT, which featured a 20 MiB hard disk and PC DOS 3.0.[24][25] Microsoft introduced MS-DOS 3.0 in parallel. Cluster addresses were increased to 16-bit, allowing for up to 65,524 clusters per volume, and consequently much greater file system sizes, at least in theory. However, the maximum possible number of sectors and the maximum (partition, rather than disk) size of 32 MiB did not change. Therefore, although cluster addresses were 16 bits, this format was not what today is commonly understood as FAT16. A partition type 0x04 indicates this form of FAT16 with less than 65536 sectors (less than 32 MiB for sector size 512).

With the initial implementation of FAT16 not actually providing for larger partition sizes than FAT12, the early benefit of FAT16 was to enable the use of smaller clusters, making disk usage more efficient, particularly for large numbers of files only a few hundred bytes in size, which were far more common at the time.

MS-DOS 2.x hard disks larger than 15 MiB are incompatible with later versions of MS-DOS.[26] A 20 MiB hard disk formatted under MS-DOS 3.0 was not accessible by the older MS-DOS 2.0 because MS-DOS 2.0 did not support version 3.0's FAT16. MS-DOS 3.0 could still access MS-DOS 2.0 style 8 KiB-cluster partitions under 15 MiB.

Stone
March 25th, 2014, 03:41 AM
...(theoretical partition size is 32 MiB for FAT12)...Nope, I don't agree with that. The first type of FAT format used for hard disks was that of the 12-bit FAT12 partition, which is still in use today for floppy disks. This type of FAT allows a maximum of 4,086 clusters of 4,096 bytes, for a total of 16,736,256 bytes per disk.

cr1901
March 25th, 2014, 03:57 AM
Nope, I don't agree with that. The first type of FAT format used for hard disks was that of the 12-bit FAT12 partition, which is still in use today for floppy disks. This type of FAT allows a maximum of 4,086 clusters of 4,096 bytes, for a total of 16,736,256 bytes per disk.

Then I wonder what the true answer is? I know for a fact that I've successfully ran DOS 2.1 on a hard drive greater than 16MiB- I was there :P, I saw it with my very own eyes! Based on OP's initial post, which says the disk works in DOS 3.30, I'm guessing he formatted the drive in DOS 3.30 (or the previous owner did), and then tried installing DOS 2.0 on it... which will not work because of incompatibilities described in that Wikipedia snippet. But I know that DOS 2.x supports partitions that exceed 16MiB.

Stone
March 25th, 2014, 04:50 AM
... But I know that DOS 2.x supports partitions that exceed 16MiB.Then prove it to us. Get out your DOS 2.x and try it on your 20MB drive. I suspect you can accomplish this by forcing a larger cluster size. But with the default size of 4K the limit is 16MB. I think you can get up to 32K (I forget how to do this) and that would give you up to 128MB size (along with other headaches that I have also forgotten the details about). :-)

SomeGuy
March 25th, 2014, 06:48 AM
Was this with IBM PC-DOS 2.1, or was this with a specific OEM version of MS-DOS 2.x?

Agent Orange
March 25th, 2014, 07:41 AM
Late to the party on this one. Looking at the photo, I'm wondering if the HD does indeed have a valid DOS partition and a system installed.

Stone
March 25th, 2014, 07:49 AM
Yes, it's valid for 3.3 but not for 2.0. :-)

SpidersWeb
March 25th, 2014, 12:53 PM
Don't take this as fact, it's just my understanding (generally I use DOS 3.x for systems > 10Mb):

- DOS 2.x supported drives up to ~30Mb
- Bug in FORMAT.COM meant it could only format to 15Mb - half the maximum because of an unsigned variable (so if it was formatted by an OEM tool without this issue, it'd be fine)
- large DOS 2.x partitions could not be read by DOS 3.0 and higher (and vice versa)

I'd love to know for certain. I gathered the above from reading old newsgroups.

But really these days, just run DOS 3.x if your hard drive is larger than 15Mb - it'll save you so much trouble.

From a conversation in 1986 (just reading this now, it's like the same conversation but almost 30 years ago)


In article <704@nicmad.UUCP>, brown@nicmad.UUCP writes:
> The only way you can have PC-DOS 2.10 run 20MB hard drives is if:
> 1. You run partitioned drives with two 10MB partitions or
> 2. You butchered the drive to fool DOS
> As PC-DOS 2.10 stands, it is not able to format 20MB hard drives as 20MB.

Sorry, but the computer I'm using to answer this note has a 20MB Seagate
disk with a single PC-DOS partition 20 MB in size. It was formatted by and
is running PC-DOS 2.1. I'm glad I didn't know better, or I might never
have tried to use it this way. I did no butchery of any kind on the drive.
The only ugly side effect is that the minimum file size is 8 KB instead of
the 4 KB on a 10 MB disk.

Has anyone else done it this way?




You are right in saying that PC-DOS 2.10 will NOT support a 20MB
hard disk directly. It is because the format command will only
support a 10MB hard disk.

Everex Systems (who sell mostly Seagate drives), include a software
patch for the format routine in PC-DOS 2.1, which is called LFORMAT.
This patch allows you to set up a 20MB hard drive for PC-DOS 2.1

We have been putting 20MB hard disks on PC-DOS 2.1 for quite some
time.

Personally though, I still agree with you -- PC-DOS 3.10 is the
way to go if you are pursuing larger mass storage.

Aloha,
--
Jonathan Spangler
{ihnp4,vortex,dual}!islenet!jons
"On Thursday, the world came to an end."

Chuck(G)
March 25th, 2014, 01:48 PM
In fact, you can put larger partitions on PCDOS 2.0--but it takes a little software. The most popular way at the time was to add blocking software using an add-on hard disk driver that increased the size of each sector. (e.g. 1024, 2048, 4096, 8192 bytes). Yup, it's a cheat, but it works--and even found its way into DOS 3.x with FAT 16. You gotta do what you gotta do.

The other way was to create two virtual drives by splitting a physical drive. Some of the DTC BXD firmware could do this, as well some versions of the Xebec firmware. You still had one physical drive, but it appeared as two logical drives.