Hi! Japheth published a pre-release of an updated CWSDPMI:

https://github.com/Baron-von-Riedesel/CauseWay/releases

v5.0pre3 Pre-release

adjusted source so OPTION OLDSTRUCTS isn't necessary.
added "wdeb386 int 68h" interface to kernel debugger.
removed "double 0x66" prefixes for IRET/RETF.
segment register moves changed to 32-bit in 32-bit code segments.
added ALIGNs in data segments to avoid unaligned accesses.
generally avoid (register) WORD pushes in 32-bit segments so stack remains 
32-bit aligned.
fixed: emulation of DPMI functions 090x.
int 41h "protected-mode debugger API": ensure that interrupt isn't reflected to 
real-mode.
invalid opcode fault wasn't reported as exception, but as interrupt only; 
changed to be a true exception (#06).
fixed: emulation of DPMI functions 0300h-0302h did modify BX register.
fixed: int 31h, ax=0000 always returned with NC, although function might have 
failed.
UMBs are now also preferably used in DPMI mode.
if DOS memory blocks needed by CW itself couldn't be allocated in an UMB, 
they're now located in space used by segments that were moved to extended 
memory. This should avoid scattering of DOS memory.
_cwInit segment moved from last segment to just behind _cwRaw. This allows to 
put _cwMain, _cwRaw and _cwInit in a group, thus reducing segment register 
moves.
fixed: handling exceptions in raw/vcpi mode (interrup.asm) did finally jump to 
InitError(), which is located in _cwInit and hence not present when the 
application runs.
fixed: address space handling in raw/vcpi mode (memory.asm) ignored an 
overflow, resulting in a freeze or reboot.
fixed: unhandled DPMI functions were routed to real-mode in raw/vcpi mode.
DPMI function 306h (return raw mode switch addresses) implemented.
trace log writes (macro @dprintf) added.
fixed: DPMI emulator func 0001 (release descriptor) always returned with NC.
fixed: all DPMI descriptor functions got some validity checks so they should 
fail for an invalid selector argument in BX.
fixed: no swapfile-related DOS access if indos flag is set.
default value for LOWMEM is now 256kB; previously the value entered was added 
to a minimum of 32 kB.





_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to