Hi! 23-Авг-2004 20:08 [EMAIL PROTECTED] (Bart Oldeman) wrote to [EMAIL PROTECTED]:
>> (1) why are there STRINGS.C and MISC.C, apparently with the same >> functionality and same routines in the same programming language? BO> They are just there for reference now. BO> there in case somebody wants to play with M68K's or whatever. Also, duplication was (and is - see how generated iasmsupt.obj) because there is two different segments - initialization and resident code. >> (4) I ignore if the boot loader will send any valuable value to kernel >> routine inside variables AX and BX. Nevertheless, the following code >> seems to show that the value of AX is lost (and I ignore if the value on >> BX is useful), so I'd suggest this small change. Correct? BO> BX is used to store the boot drive in BL (see boot.asm). But you're right BO> about AX. It doesn't need to be pushed and popped. Though, removing these instructions doesn't decreases code, because starting code placed in the fixed 256-bytes area (see "resb" allocation directive after this code). On the other side, removing extra push/pop should (slightly) increase compression. >> (8) At the end of PreConfig one can see the following comments about MCB >> initialisation, whereas it has obviously been moved to PreConfig2. I'd >> suggest this cosmetic change (or remove any comment at all), am I correct?: >> ===== >> - /* Done. Now initialize the MCB structure */ >> - /* This next line is 8086 and 80x86 real mode specific */ >> + /* MCB initialisation was once here, now moved to PreConfig2 */ >> #ifdef DEBUG >> printf("Preliminary allocation completed: top at %p\n", lpTop); >> #endif >> } >> ===== BO> Yes, the comment is obsolete. This is far not the last obsolete or even incorrect comment. In my patches I sometime try to fix also this. >> (9) Finally, after the comments and patches by Lucho, I sincerely >> expected to see some kind of LOOP in the MAIN.C:kernel() function, as I >> see none, I guess I am misunderstanding this, so how does this work >> whenever one exists the main SHELL? BO> The loop is in resident code, otherwise it would disappear. task.c:P_0(). Yes. See main.c:FreeDOSmain(), which calls kernel.asm:init_call_p_0, which is relocatable indirection to procsupt.asm:reloc_call_p_0() (assembler required for switching stacks), which comes to resident task.c:P_0(). ------------------------------------------------------- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 _______________________________________________ Freedos-kernel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/freedos-kernel