Jukka Heinonen wrote:
A few comments about this patch by Eric Pouech.

Structure DosHeap must not be moved to winedos.
There already exists per drive media ID byte which
should be used and biosdate, while it may be needed by some programs, won't do any good in a separate 16-bit
segment. Also, INT21_CreateHeap is unnecessary.


IOCTL 0x0860 and CreateBPB should include FIXME comments
because it does not check real drive types nor real drive
geometry. The same is true with other IOCTLs that return
fake values.

INT21_NetworkFunc should return NETBIOS name. There
is a separate Win32 API for returning proper names,
don't use gethostname.

INT21_GetDriveAllocInfo should pass drive as a parameter,
rewriting registers makes code less readable.

As far as I know, TRUENAME implementation is broken.
Add big FIXME notes to that subfunction.

Use INT21_MapDrive instead of manual conversion
from zero=default into zero='A' convention, that is
why it is there.

Use wide characters and manual wide character conversions.
DOS routines use OEM code page and not ANSI code page and
Wine uses wide characters as default character set, anyway.
Also, adding drive number to 'A' may work incorrectly with
illegal drives and 8-bit character set but it works
fine with wide character set.

half of what you (rightfully) suggest to fix had been broken for very long in msdos/int21.c (so don't blame me too much... at least not for that half)
I hope anyway I didn't step on your toes with this patch... Do you have some work going on in this area ?


A+

--
Eric Pouech




Reply via email to