>For your information I'm not enough specialist or DOS evolution
>historian to ensure the reliability of all the mecanism and their
>"arrival date"... and also I don't have any harddisk on my MSX. So I
>hope not to make too many mistakes...

Actually you make a few ones. But we are here for getting informed, right? 8-)

>Addressable range:
>2 Mb = 512 bytes * 2 ^ 12  (FAT12)
>32 Mb = 512 bytes * 2 ^ 16  (FAT16)
>MS-DOS 4.0 (or more) allowed to use FAT16 with an extra feature, the
>cluster, which is a group of sectors, an do, even if the physical read
>unit is 512 bytes, the assignements are now made per cluster instead of
>sectors (I guess everyone knows about that), which is the allocation
>unit.

You are wrong: the cluster feature is available in all the versions of
MS-DOS, and of course also MSX-DOS, not only the higher than 4 versions.
>
>So the number of clusters stays 65536 (and so also the number of files
>per partition), maximum cluster size is 32 Kb (64 sectors per cluster),
>allowing up to 2 GB size partitions.

Yes, you are right. But I don't understand this: if the number of sectors
per cluster is a power of two coded in a single byte, why the maximum
cluster size is 32K and not 64K (128 sectors)?

>But for two (or even three ?) reasons this is now changed using the
>MS-DOS 7.0"b" from Windows 95b (OSR2 with FAT32):

My aspirations is only to read FAT16 disks. I think FAT32 is too big
nowadays for MSX users! 8-)

>FAT12:
>128 Mb = 512 bytes * 2 ^ 12 * 64
>(4 times bigger than actual limitation, still using FAT12 but it needs
>changes in boot sector for the number of sectors)

Theoreteically this is true. But is is not very practical to use FAT12 in
partitions biggest than 32 Mb, due to the disk space waste which you
mentioned above.

>
>FAT16:
>2048 Mb = 512 bytes * 2 ^ 16 * 64   (about 4 millions sectors, which is
>the FAT16 limitation even on MS-DOS)

Not bad! Imagine 2Gb partitions on your MSX!!

>I guess SCSI disks on MSX system use FAT12 with clusters of up to 16
>sectors... Correct me if I'm wrong.

SCSI, IDE, and all the MSX disk controllers uses MSX-DOS (2) for handling
the file system. And MSX-DOS (2) is prepared for handle only 12 bit FAT and
16 bit sector numbers. It is only a software problem!

>
>If we avoid changing the number bits used in FAT, we also avoid all the
>major changes in the access method (assuming cluster are already used,
>without any limitation of bits above to 4 except the fact of the 2 bytes
>for total sectors number).

If the DOS must be modified for reading sector numbers of 32 bits, it is a
nonsense to still using 12 bit FAT: it's to do only a half of the work!

>Few years ago I tried to reduce the cluster size to 1 sector on a floppy
>disk to reduce the waste (many tiny files on the disk) but it failed. I
>tryed the same on RAMDISK, and it WORKED !!! so my hopes are great about
>playing with cluster size...

Remember that if you change the cluster size, you must also recalculate the
number of sectors needed for FAT! Besides, maybe MSX-DOS 1 don't allows
these modifications. But be sure that MSX-DOS 2 is prepared for any boot
sector configuration!

>> 3) String at position #36 must be read for knowing the FAT type, and
>> routines for handling 16 bit fat must be added.
>
>nihil
>if we can use the cluster size (128 Mb per partition and even 256 Mb if
>128 sectors per cluster is allowed; and even 512 Mb if system assumes
>that 0 sector per cluster means overflow and uses 256 but that's a bit
>risky...)

I repeat: this is possible but NOT practical!

>FAT16 would need some changes in:
>* direct sector access method

The existing direct sextor access functions of DOS should remain usable, but
limited to the range 0-65535. New functions for the extended range should be
added then.

>* the way of reading the FAT itself

Yes, this is the main problem. Is for this that I request for information
about the DOS 2 internals!

>* the way of coding the "begin at" field in the directory entry (offset
>#1A in the 32 bytes long directory entry)

The format of this information is the same as in the case of the FAT12: two
bytes indicating the number of the first cluster. So, the format of the
directory entry remains unchanged.

>* all the other changes related to the total number of sectors as with
>the FAT12 + big clusters method)

It is easy: the total sectors number must be read from #20-#23 if the data
in #12-#14 is zero.

>So I'd say FAT12 + "big clusters" could be a step before FAT16, but
>anyway anything done for the first won't be lost for the second.

Yes. But I think that there is no reason for not doing the two steps at the
same time. Patching DOS 2 for handling FAT 16 should be easy, if we know
WHERE we must patch!

>
>FAT16 will never be used in MSX-DOS 2.x, because with such a big change
>in its access method, it should already be named MSX-DOS 3 or 4 :-)

Well, then forget the name MSX-DOS. We can try some spectacular name like
SuperDOS or NestorDOS ;-) The most important is to maintain the
compatibility with MSX-DOS.

>and even the needed changes to allow more than 32 Mb partition using
>FAT12 + big clusters is a great change !!!

Yes, but look at Mega-SCSI's MSXCDEX. It is a resident driver that allows
you to handle a CD-ROM with the normal DOS procedures! I want to do
something like this, but I don't have enough information about DOS, and as
far as I know, ESE staff don't e-mails with spanish people.

>I hope I haven't made too many errors, nor borred you about things you
>already knew. I wish you can reach your aim with the collaboration of
>all good willingness MSX users.

Nooo... in fact, you are the first person that replied my message, so thanx!
All opinions/informations are wellcome.

>
>I wish to all the MSX users a Happy New Year !

Step by step we're arriving to the 2000 and still using our MSX... unbelievable!

----------| About... |-----------
|                               |
|       Konami Man v23.10       |
|                               |
|        Developped by          |
|      Antonio Soriano &        |
|      Concepcion Vilchez       |
|                               |
|        (c) 1974-1997          |
|      Soriano Family Ltd.      |
|                               |
|        This humanware         |
|       is itself-domain        |
|                               |
|      Constantly updated       |
|    Please send bug reports    |
|  and improvement suggestions  |
|   to [EMAIL PROTECTED]  |
|                               |
|           --------            |
|           |  OK  |            |
|           --------            |
---------------------------------

****
MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put
in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the
quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
****


Reply via email to