CWSDPMI r5 has been released and is available on simtel and mirrors. Here's a list of what's changed since r4. ehdrfix.c: Make build support program EHDRFIX more portable, stub support, add copyright in header, increase default heap to 4K (more mem zones) makefile: Build with BCC 5.0 with 32-bit arithmetic support instead of BCC 3.1 cwsparam: Fixed cwsparam bug in display of unsigned values as signed Support big swapfile sizes (word32 instead of word16 pages) Support big images (stub) by using only first 30 Kb of image control.c: Forced internal disk bitmap allocation to zero when ring 0 Changed release number, stub support Add dummy DOS call to work around EMM386 bug Add support for -x to suppress DPMI 1.0 extensions cwsdstub.asm: Stub code to call embedded CWSDPMI start.asm: Code cleanups (unused registers) in startup assembly, stub support, new library shift routine, TC 2.01 support exphdlr.c: Define for Borland compiler support of port functions in C Allow real mode reboot interrupt 19 from dpmi call Added 0x0401 Get DPMI Capabilities support Fixed unlocking bug in ring 0 Added ifdef for DOS memory locking Support TC 2.01 Change debugging calls to errmsg Suppress DPMI 1.0 extension support mswitch.asm: Add get of CPU feature bits (to support 4Mb pages) Change segment usage in A20 state detection to work around chip bug Support raw mode A20 line control for PC98 architecture Add call to set A20 line (fixes bugs that should never happen) Add check if A20 already active, if so skip enable vcpi.*: Change vcpi_* routines to support > 256Mb memory (word16 to word32) paging.*: Added bit definitions for 4Mb pages Made paging support > 256Mb memory (word16 to word32) Code cleanups (unneeded masking values) in paging.c Fixed signed/unsigned bugs in paging.c (128Mb max memory) Changed types to support 2Gb memory (word16 to word32) Fixed paging diagnostics Added ifdef to support PFM686 custom code Fixed physical mapping bug at end of address space (wrap problem) Fixed paging bug when page directory not present (-p or low mem) Fixed memory request size to match maximum (equality) valloc.*: Defines to remove hardcoded constants (word16/word32 support) Change valloc_* to support > 256Mb memory (word16 to word32) Detection of more than 64Mb of memory when in raw mode Detection of extended memory size for PC98 in raw mode Fix allocation size of bitmaps to not overflow in 16-bits Maximum of 128Mb of virtual address pre-allocated pagetables Updated copyrights