Hi! Next portion of patches for config.c (in my local tree):
- bugfix: umb_init(): there was no checks if size of captured block is less than 2 paragraphs. - bugfix: umb_init(): when joining adjacent blocks, umb_base_seg, umb_start and umb_max was not adjusted if they are equal to next joined block. - fix: umb_init(): when joining adjacent blocks, UMB_top was not adjusted if it equal to end of previous block; this force to use when loading drivers only part of given UMB. - bugfix: umb_init(): umb_start+UMB_top initialized as end of (first, largest) block and used as end address when loading drivers, but if this block is not furthest, then umb_start+UMB_top was overlap MCB of hole block before next UMB. - bugfix: umb_init(): when joining next adjacent block to current block, size of current block was maked greater than required by 1. - bugfix: umb_init(): when new captured UMB block is beyond of furthest previously cuptured block (umb_max) and first byte in last paragraph of umb_max block contains 'M', prev_mcb() was walk after umb_max. There is one more issue: when XMS provider returns UMB at A000, then FreeDOS (should) incorrectly updates MCB chain. Unfortunately, I can't check this yet: looks like MS-EMM386 with I=A000-... adds this block to base memory, and this forced FD to wrongly make final MCB in some other place. ------------------------------------------------------- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND _______________________________________________ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel