Patch a1 is wrong and must not be applied. Function 0x0c is really a recursive call and cannot be handled this way. Simple fix would be to call DOSVM_Int21Handler from function 0x0c handler after AH register has been modified (and lets add a detailed comment here this time so everybody understands what 0x0c really does...).
Call me blind, but I fail to see how DOSCONF_config gets initialized after patch a2.
Ill resubmit my series of patches tommorrow, with these things fixed.
This set of patches break DOS3Call and calling INT21 using VXDs and DeviceIoControl. I have no idea how much these interfaces are used but I guess this will be fixed in a future patch?
Yes, I plan to fix this after I have finished to move the int21 stuff to winedos.
nog.