Table of Contents
Early mid March work
2024-03-17
This week I worked a little on lDebug(X) and inicomp. I also prepared another two blogposts, 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
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 in the prior blog post. Other than those, there are:
- Optimise init to patch entry section without ss: overrides (using the ds segment instead)
- Rename pmint21 local labels to fit better
- Use push cs and a near call to set up the stack for PM int 21h function 4Ch handler to do retf
- Comment on exception handler possibly expecting 16-bit stack
- Optimise remember_mode by clearing the flag unconditionally then setting it conditionally
- Replace manual o32 to nop patch sites in pmentry.asm by regular _386_o32 (macros work in entry section now)
