Hi all, with help of Tyler and his collection of test systems, we finally figured out the LBAcache SCSI detection bug:
IF you have SCSI and IF you load LBAcache to UMB and IF those UMBs are not fully DMAable - in other words IF those UMBs are created by some EMM386 THEN the LBA detection (int 13.41) works *but* the int 13.08 *geometry* detection fails! It returns error AX=80xx, timeout, after quite some delay (seconds), carry set, no other registers updated. We tried a few things: The "ES:DI=0:0 to guard against BIOS bugs" did not do the trick. Even SI=DI=-1 did not crash, so next was the stack: mov ax,7000 mov ss,ax makes int 13.08 work if you try from "LOADHIGH DEBUG" (if UMB are too small, DEBUG will not actually be loaded high). So CONCLUSION: The SCSI BIOS seems to do DMA to the CALLER STACK! Please suggest some nice cozy place in low DOS RAM which can be used by LBAcache as temporary stack while calling int 13.08, thanks. Eric ------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click _______________________________________________ Freedos-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-devel
