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.
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?
Actually the same problem exists with all those interrupt handlers that can be invoked through VXDs. However, other handlers do still work because I have not yet posted patches that touch those handlers. I already know how to fix this issue but I want to work slowly and wait until pending interrupt patches either get applied or rejected before posting anything new. Nogs patches already modify the same files as my patches and I want things to stabilize a bit.
Anyway, I don't have time for reviewing patches of this size; those above comments were produced by quickly scanning through the patches and they were really easy to spot. I give up and leave fixing int21 stuff to Nog.
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.