Hi! 22-Июл-2004 09:44 [EMAIL PROTECTED] (Bart Oldeman) wrote to [EMAIL PROTECTED]:
>> My bugfix-list for umb_init() includes 7 positions. How I may "isolate" >> bugfixes from new umb_init() edition?! BO> Try to optimize something else, ?! I _rework_ umb_init(). If its better with original edition in sense of "optimization" - fine. This is only bonus. Also, as fix of bugs in umb_init() was made some changes in other parts. For example, removed RAM_top (both in main.c and config.c); instead (wrong!) computing of UMB_top in umb_init(), DeviceHigh() now uses mcb_next() to compute address of next block; etc. And now you offer to write from scratch third umb_init() edition, and with this all of main.c and config.c?! Note: for dsk.c I was try to split changes in some (up to 10) smaller patches - one was bugfixes, other are features, next was optimizations. Where was your reaction for those small patches?! Null. Void. What about my reports about bugs in SYS? Reaction - null, void. Lucho now presents quick and dirty patches for these bugs (see previous letters), but I anyway _now_ will rewrite SYS, as there anyway _should_ be rewritten. :( BO> namely instead of "how do I fix it BO> while saving as many bytes as possible in the kernel" you play the game BO> "how do if I fix it while saving as many lines as possible in the diff". I was try to do this, but even such tryings was ignored. So why I should try to _patch_ bad code, if better to write better code?! Especially, if it already written, works and used?! BO> Anyway, I already tried to explain you too many times, I presume it BO> doesn't help then. PS: Let me REPEAT questions: - What you think, if fnode will contain only f_offset (from which also may be computed the real relative cluster#), and change for f_offset (may be, except 0) will be performed by map_cluster(), which will receive new position through parameter (and store into f_offset after storing the physical cluster number in f_cluster)? (Slightly more and not urgent work to reduce changes of f_offset outside map_cluster(), but this should reduce fnode array size). Also, as induced by Eric: - may be f_flags joined with f_mode (by placing F_DMOD and other such masks into bit 2..3 of f_mode)? And/or, f_mode and f_flags should be declared as UBYTE? - may/should be `static dmatch Dmatch;' in fcbfns.c moved to stack in the FcbFindFirstNext() (as in other functions in fcbfns.c)? - is this bug in dosfns.c:DosGetFree(): /* a passed nc of 0xffff means: skip free; see FatGetDrvData fcbfns.c */ if (*nc != 0xffff) *navc = (COUNT) dos_free(dpbp); ? What should be used instead "if (*nc != 0xffff)"? May be, "if (navc)"? - initdisk.c:LBA_Get_Drive_Parameters(): isn't better to not analyze the .heads and .sectors fields? Isn't better to not switch to StandardBios (but use -1ul instead .totalSect) if .totalSectHigh is nonzero (though, it may be warned anyway)? For last question tom wrote, that he "was wrote" (when?! where?!), that he prefer current behavior. Which is your opinion? PPS: Who says, that I not try to discuss changes?! I hope, above questions will not be ignored; unfortunately, later tom again says, that I made changes without asking. :( ------------------------------------------------------- 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_idG21&alloc_id040&op=click _______________________________________________ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel