Hi!
1-Мар-2004 21:15 Arkady V.Belousov wrote to
[EMAIL PROTECTED]:
AVB> ______________O\_/_________________________________\_/O______________
AVB> --------D-25---------------------------------
AVB> INT 25 - DOS 1+ - ABSOLUTE DISK READ (except partitions > 32M)
AVB> --------D-25----CXFFFF-----------------------
AVB> INT 25 - DOS 3.31+ - ABSOLUTE DISK READ (32M-2047M hard-disk partition)
AVB> _____________________________________________________________________
AVB> O/~\ /~\O
AVB> Is using INT25/CX=FFFF always safe for all partitions - including small
AVB> (<32M) and diskettes?
Note: absread()/abswrite() in BC (don't know about TC) before calling
INT25/INT26 detects which partition size (with help of getfat()). For WC
(and other compilers in int2526readwrite()) always called INT25/INT26 with
CX=-1.
Also, getfat() from BC calls INT 21/1C, but:
______________O\_/_________________________________\_/O______________
--------D-211C-------------------------------
INT 21 - DOS 1+ - GET ALLOCATION INFORMATION FOR SPECIFIC DRIVE
Return: AL = sectors per cluster (allocation unit), or FFh if invalid drive
DX = total number of clusters
BUG: DOS 7.10 (Win95B/Win98) reportedly returns incorrect values in AL and
DX for FAT12/FAT16 drives, even though it manages correct results
for FAT32 drives (DOS windows are not affected, only real-mode DOS)
_____________________________________________________________________
O/~\ /~\O
Thus, looks like SYS with BC' absread()/abswrite() may/should incorrectly
works under MS-DOS 7.1. Any ideas?
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id56&alloc_id438&op=click
_______________________________________________
Freedos-kernel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freedos-kernel