CWSDPMI
CWSDPMI to 32-bitowy host DPMI napisany przez Charlesa W. Sandmanna w latach 1996-2010, obecnie w r7. Jest luźno oparty na wcześniejszym kodzie GO32.EXE używanym w DJGPP v1. Może zapewniać 32-bitowe usługi DPMI 0.90+ dla programów skompilowanych najnowszymi wersjami kompilatorów DJGPP itp. Od r5 może być również używany w programach wymagających kodu pośredniczącego DPMI zamiast PMODE/DJ. Obsługuje do 4 GB, pamięć wirtualną i odbicie przerwań sprzętowych z trybu rzeczywistego do trybu chronionego . Programy skompilowane z DJGPP v2 wymagają hosta DPMI, którym zwykle jest CWSDPMI.EXE lub CWSDPR0.EXE. W przypadku CWSDPMI.EXE domyślnym stronicowania /pamięci wirtualnej jest C:\CWSDPMI.SWP. Jest w stanie działać na 386 w mniej niż 512 KB pamięci RAM. [ potrzebne źródło ]
CWSDPMI jest funkcjonalnie podobny do innych 32-bitowych hostów DPMI, takich jak HDPMI32, który jest częścią HX DOS Extender .
CWSDPMI r7 to darmowe oprogramowanie o otwartym kodzie źródłowym .
wydania CWSDPMI
CWSDSTUB.EXE to obraz modułu ładującego dla DJGPP, który zawiera CWSDPMI.
CWSDPR0.EXE to alternatywna wersja, zaimplementowana na żądanie id Software podczas pisania Quake , która działa w pierścieniu 0 z wyłączoną pamięcią wirtualną. Może być używany, jeśli wymagany jest dostęp do funkcji pierścienia 0 . Obecnie nie przełącza stosów w przypadku przerwań sprzętowych, więc niektóre funkcje DJGPP , takie jak SIGINT i SIGFPE , nie są obsługiwane i generują podwójny błąd lub błąd stosu.
Deweloper Charles W. Sandmann miał również nadzieję, że ostatecznie dostarczy kod dla CWSDPMI r7, który umożliwi CWSDPMI mapowanie do 64 GB pamięci w przestrzeni adresowej na żądanie.
Zobacz też
Linki zewnętrzne