DPMI TSR issues
Posted: Sat Sep 14, 2013 11:29 am
Hail,
I am trying to make a DPMI-compatible TSR, that would leave no interrupt handlers or callbacks, but a memory block within lower 1Mb memory for further usage by hardware.
Using OpenWatcom C, I made a simple enough program that calls 0C00h (TSR preparation routine) and 0C01h (termination routine) DPMI functions. However, with different four DOS extenders available to use with OpenWatcom I get these results:
PMODE/W: 0C00h call fails with generic error
Causeway: 0C00h call succeeds, but 0C01h won't terminate the program - it works further, though it shouldn't after such a call
DOS/4GW: crashes
DOS/32A: crashes
I have read over the net, that those extenders do not support DPMI 1.0 specification, in which DPMI TSR are defined. There is a DPMIONE extender that supports DPMI 1.0... but except TSR functions
Is there a way to make a protected mode compatible TSR, or are that DPMI TSR functions (0C00h and 0C01h) completely hypothetic?
I am trying to make a DPMI-compatible TSR, that would leave no interrupt handlers or callbacks, but a memory block within lower 1Mb memory for further usage by hardware.
Using OpenWatcom C, I made a simple enough program that calls 0C00h (TSR preparation routine) and 0C01h (termination routine) DPMI functions. However, with different four DOS extenders available to use with OpenWatcom I get these results:
PMODE/W: 0C00h call fails with generic error
Causeway: 0C00h call succeeds, but 0C01h won't terminate the program - it works further, though it shouldn't after such a call
DOS/4GW: crashes
DOS/32A: crashes
I have read over the net, that those extenders do not support DPMI 1.0 specification, in which DPMI TSR are defined. There is a DPMIONE extender that supports DPMI 1.0... but except TSR functions
Is there a way to make a protected mode compatible TSR, or are that DPMI TSR functions (0C00h and 0C01h) completely hypothetic?