On Sat, 7 Nov 1998, Egor Voznessenski wrote:

> Hi!
> 
> Let me join this discussion
> 
> I _DO_ have complete, working DOS1 DISKROM source code, I even
> did huge modifications to it to make it more suitable for HDD 
> interfaceing (eg FAT is not held in memory but is loaded from
> disk when necessary). I even located and corrected a bug of 
> the original code (it is probably present in ALL diskroms
> out there, but luckily it needs a very special configuration
> to show up)

Ooohhhh! You have the DISKROM source code!!!!! Could you please send a
copy to me through e-mail? With this source code, can I build a faster (ou
more optimized) version of the DISKROM?

> Technicaly, adding FAT16 to both DOS1 or DOS2 kernels is not hard.
> You have to modify 3 routines:
> 
> - FAT element getting
> - FAT element putting - add 16 bit FAT processing to them
> - Cluster Chain processing - must understand both FFx and FFFx special
> values for respectively FAT12 and FAT 16.
> 
> Oh yes, and you must of course add FAT16 file system detection routine
> :-)

That's what I had thought!

> Greater than 32 Mb partitions are a different story.
> Modification of kernel for them is not very dificult - you have to
> modify
> only multiplication routine in cluster-to-sector translation module.
> But we don't have any worked-out standards of how to pass this sector
> number to disk I/O routine!

Yes, I think that for 32Mb partitions, the cluster size is equal to the
sector size. So, these calculations routines should be completely
rewritten.

> I have an idea about this and I'm testing it now. It seems to work well 
> and is pretty compatible with the "old way". It works as follows:
> - when sector number is less than 0xFFFF, we just work the old way.
> If sector number is 0xFFFF, we forget it and use 32-bit sector number, 
> which is stored somewhere in the BIOS work area. The only thing to be 
> determined and standartized is the location address :-)

Perhaps you should work only with 32 bits calculations, because the test
for number lower thant FFFFh turns the calculation speed variable, which
is not desired. Well, this is a detail, but the DISKROM size is limited!

Greetings from Brazil!

--------------------------------------------------------------
Marco Antonio Simon Dal Poz     http://www.lsi.usp.br/~mdalpoz
[EMAIL PROTECTED]   "The measure of success is the knowledge"

     /"\
     \ /� CAMPANHA DA FITA ASCII - CONTRA MAIL HTML
      X��  ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
     / \


****
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