Setting ds = 40h for int 13h function 41h is to work around a Xi8088 ROM-BIOS bug. All LBA extensions functions are affected, but only the detection call will reach the bug code because that BIOS reports that it doesn't support the LBA extensions. Refer to https://github.com/FDOS/kernel/issues/156 and https://www.bttr-software.de/forum/forum_entry.php?id=21275
fd kernel
FreeDOS kernel - current 0xFD version is 2.44 (2044)
The FreeDOS kernel implements the core MS/PC-DOS (R) compatible functions. It is derived from Pat Villani's DOS-C kernel and released under the GPL v2. Please see http://www.freedos.org/ for more details about the FreeDOS (TM) Project. This was originally a branch based on 2042 SVN 0xFD kernel; the full svn history has since been added to git (see other branches) and current development of release kernels are available here. Please fork and submit a Pull Request!
Compiled kernels ready to use (just copy kernel.sys over an existing install) are available at http://www.fdos.org/kernel/testing/git/ - also available are the source archive and fdpkg compatible packages. *** TODO update links/upload archives
This version of the kernel is intended only for 8086+ or 80386+ IBM compatible computers in continuation of the goals of the FreeDOS Project. Please see http://www.fdos.org/kernel for my 0xDC kernel that is work on merging back in some of the original portability aspects and other supported features at the cost of some compatibility with older hardware/software.
Please feel free to email me - PerditionC@gmail.com