====== Early mid March work ====== **2024-03-17** This week I worked a little on lDebug(X) and inicomp. I also prepared another two blogposts, [[blog:pushbx:2024:0314_the_protected_mode_int_21h_handler_mystery|the PM int 21h handler mystery]] and a yet unreleased post. Further, I have considered a new repo which will be based on the mak script of lDebug and will provide the scripting needed to wrap and optionally compress the Enhanced DR-DOS single-file kernel or the FreeDOS kernel. This will also eventually lead to CONFIG block support in inicomp and fdkernpl (part of ldosboot). ===== inicomp ===== [[https://hg.pushbx.org/ecm/inicomp/rev/6325ff8af756|Fix the build]] with _IMAGE_EXE=1 _DEVICE=0. Likely the inverse also doesn't work but it is of no concern to us. The iniload stage must be built with _IMAGE_EXE in order to enable the device driver entrypoint to be used. ===== lDebug ===== Some of the changes were already covered [[blog:pushbx:2024:0314_the_protected_mode_int_21h_handler_mystery|in the prior blog post]]. Other than those, there are: * [[https://hg.pushbx.org/ecm/ldebug/rev/92ea23f12b9d|Optimise init to patch entry section]] without ss: overrides (using the ds segment instead) * [[https://hg.pushbx.org/ecm/ldebug/rev/055f841ba266|Rename pmint21 local labels]] to fit better * [[https://hg.pushbx.org/ecm/ldebug/rev/c5e92aba6d5d|Use push cs and a near call]] to set up the stack for PM int 21h function 4Ch handler to do retf * [[https://hg.pushbx.org/ecm/ldebug/rev/e465e80f7f27|Comment]] on exception handler possibly [[https://hg.pushbx.org/ecm/ldebug/rev/9e239caa1a11|expecting 16-bit stack]] * [[https://hg.pushbx.org/ecm/ldebug/rev/1b3b671a21c8|Optimise remember_mode]] by clearing the flag unconditionally then setting it conditionally * [[https://hg.pushbx.org/ecm/ldebug/rev/ab4b2313e537|Replace manual o32 to nop patch sites]] in pmentry.asm by regular _386_o32 (macros work in entry section now) {{tag>inicomp ldebug}} ~~DISCUSSION~~