Hi!
1-Мар-2004 20:21 [EMAIL PROTECTED] (Eric Auer) wrote to
[EMAIL PROTECTED]:
>> already quote RBIL, which says, that BC' absread()/abswrite() (which detects
>> size of partition through INT21/1C) may give incorrect results in MS-DOS
>> 7.x.
EA> As far as I know Borland TURBO C does not use int 21.1c for anything in
EA> absread() / abswrite(). You have to find out whether "> 32 MB" access
EA> style is needed YOURSELF.
______________O\_/_________________________________\_/O______________
int absread(int drive, int nsects, long lsect, void *buffer)
if( big_partition( drive ) )
{
asm mov cx,-1
asm int 25h
}
else
{
asm mov cx,nsects
asm int 25h
}
asm pop bx /* clear old flags */
[...]
static int big_partition( int driveno )
getfat( driveno+1, &p );
[...]
void getfat(unsigned char drive, struct fatinfo *dtable)
asm mov ah, 01ch
asm mov dl, drive
asm int 021h
_____________________________________________________________________
O/~\ /~\O
EA> return absread(drive, 1, -1, (void *)&buffer2);
EA> This is how you would read > 32 MB in TURBO C...
See above. This is quote from BC RTL sources.
EA> Of course there is no FAT32 disk I/O support at all in Turbo C :-).
Of course.
-------------------------------------------------------
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