CWSDPMI es un host DPMI de 32 bits escrito por Charles W. Sandmann de 1996 a 2010, actualmente en r7. Se basa libremente en el código anterior GO32.EXE utilizado en DJGPP v1. Puede proporcionar servicios DPMI 0.90+ de 32 bits para programas compilados con las últimas versiones de compiladores DJGPP, etc. Desde r5, también se puede utilizar para programas que requieran un stub DPMI en lugar de PMODE / DJ . Soporta hasta 4 GB, la memoria virtual , y la interrupción de hardware reflexión de modo real a modo protegido . Los programas compilados con DJGPP v2 requieren un host DPMI, que generalmente es CWSDPMI.EXE o CWSDPR0.EXE. En el caso de CWSDPMI.EXE, la paginación predeterminada/ archivo de memoria virtual es C: \ CWSDPMI.SWP. Es capaz de ejecutarse en un 386 en menos de 512 KB de RAM. [ cita requerida ]
CWSDPMI es funcionalmente similar a otros hosts DPMI de 32 bits como HDPMI32, que forma parte de HX DOS Extender .
CWSDPMI r7 es un software gratuito y de código abierto .
Ediciones CWSDPMI
CWSDSTUB.EXE es una imagen de carga auxiliar para DJGPP que incluye CWSDPMI.
CWSDPR0.EXE es una versión alternativa, implementada a pedido de id Software al escribir Quake , [1] que se ejecuta en el anillo 0 con la memoria virtual desactivada. Se puede utilizar si se desea acceder a las funciones del timbre 0 . Actualmente no cambia pilas en interrupciones de hardware, por lo que algunas características de DJGPP como SIGINT y SIGFPE no son compatibles y generarán una falla doble o un error de falla de pila.
El desarrollador Charles W. Sandmann también esperaba eventualmente suministrar un código para CWSDPMI r7 que le permita a CWSDPMI mapear hasta 64 GB de memoria en el espacio de direcciones a pedido. [2] [3]