--------------------------------------------- *** 15.03.2024 *** --------------------------------------------- ! When mouse input events was disabled, GetNumberOfConsoleInputEvents could return an overestimated number of keyboard messages. ! Repeated calls to HeapReAlloc with small blocks could destroy the heap. ! Repeated calls to SetEnvironmentVariable could destroy the heap. --------------------------------------------- *** 11.04.2022 *** --------------------------------------------- * Accept PE-images with TLS-callback's and without TLS-data. --------------------------------------------- *** 06.11.2021 *** --------------------------------------------- * Module32First always return error. --------------------------------------------- *** 28.09.2020 *** --------------------------------------------- * Addes some 'dummyes'. --------------------------------------------- *** 16.05.2019 *** --------------------------------------------- ! WiteCharToMultibyte always stoppen on 0 in wide string. --------------------------------------------- *** 16.02.2019 *** --------------------------------------------- ! LFN emulator can return error when work with network drive. --------------------------------------------- *** 30.05.2018 *** --------------------------------------------- * nt-kmd driver is updated to work on Win10 bild 1803+. --------------------------------------------- *** 26.04.2018 *** --------------------------------------------- ! SetFilePointerEx error fixed. --------------------------------------------- *** 19.01.2018 *** --------------------------------------------- * nt-kmd driver is updated to work on Win10 bild 1703+. --------------------------------------------- *** 29.05.2017 *** --------------------------------------------- ! Correct detection of support LFN. ! In some cases number of mouse button was incorrect. --------------------------------------------- *** 04.04.2017 *** --------------------------------------------- ! When the program was started by stub, the interrupts were disabled until first BIOS calling. ! GetShortPathName/GetLongPathName incorrectly processed root directory when negative counter was specified. --------------------------------------------- *** 29.08.2016 *** --------------------------------------------- ! LFN emulator can return Path Not Found instead of File Not Found. ! The LastError destroyed under debugger. ! When not enough memory for program loading, the diagnostic ca be missed. --------------------------------------------- *** 15.04.2016 *** --------------------------------------------- ! GetProcaddress for unfinded functions can hung if extension DLL is absent (inserted at 08.07.2015). * Some documentation correction. ! Behavior of LCMapString with positive counter fixed. --------------------------------------------- *** 06.12.2015 *** --------------------------------------------- * Bypass of NTVDM-console Win8+ error added. ATTENTION: In Win10 console property 'Use legacy console' must be set. --------------------------------------------- *** 27.07.2015 *** --------------------------------------------- ! Correct behavior of 'dummy' ResetEvent. --------------------------------------------- *** 08.07.2015 *** --------------------------------------------- + Can work in Vista+ when DEP enabled. * nt-kmd driver is updated to work on Win8. * The LFN automatically turn off when work under NT4. ! Correct behavior of timer functions in Vista+. ! Bugfix in MessageBoxEx. --------------------------------------------- *** 05.06.2015 *** --------------------------------------------- ! Bug fixed in MultiByteToWideChar/WideCharToMultiByte - conversion terminates by 0 independed of counters. + The GetEnwironmentStringsW/FreeEnvironmentStringsW implementation added (needed for VC10-builded program). They was unimplemented dummy proc. + Unimplemented dummy for IsProcessorFeaturePresent is added (needed for VC10-builded program). *+ Extension DLL behavior is changed. You can overload any unimplemented dummy proc now (see paragraph 1.5 of doswin32-en.txt for details). ** The workaround of RAD-Studio builded program initialization bug is added. *+ Added partial and/or 'fictive' implemetation (FindFirstFileExA, SetFilePointerEx, InitializeSListHead, GetModuleHandleExW, SystemFunction036) for trivial support of VC15. ** Some cosmetic changes. *+ The build number (GetVersion...) is changed to 23 (0x17). * nt-kmd driver is updated to work on current Win7 kernel. The installer sets driver do not loaded in safe mode now. --------------------------------------------- *** 01.02.2014 *** --------------------------------------------- * Added support of XPsp4 (and higher sp's of vista/win7) to NT-driver * Correct processing of ENABLE_WINDOW_INPUP --------------------------------------------- *** 07.08.2013 *** --------------------------------------------- * Added 'fictive' implementations of EncodePointer, DecodePointer and HeapSetInformation --------------------------------------------- *** 26.03.2012 *** --------------------------------------------- * Added 'fictive' implementation of SetWindowTextA --------------------------------------------- *** 22.08.2009 *** --------------------------------------------- * Added implementation of GetModuleHandleW (for CRTL vc9) ! FindFirstFile doesn't work when second argument overlap first argument --------------------------------------------- *** 20.01.2009 *** --------------------------------------------- * Added 'fictive' implementation of mouse_event --------------------------------------------- *** 10.02.2008 *** --------------------------------------------- * Some cosmetic changes for work in Windows Vista --------------------------------------------- *** 29.12.2007 *** --------------------------------------------- * In NT add bypass of MS error in kernel rised about ~08.2007 (near SafeSEH). The Syser Debugger support is added too. --------------------------------------------- *** 14.11.2007 *** --------------------------------------------- ! Wa absent directory attribute in int 21 71/56 --------------------------------------------- *** 19.09.2007 *** --------------------------------------------- * Added 'fictive' implementation of IsValidSid and EqualSid. --------------------------------------------- *** 25.05.2006 *** --------------------------------------------- ! "lost" processing of the GetShortPathName "new format" fixed. ! The rotator of file handles fixed (when file handles insufficient). --------------------------------------------- *** 13.04.2006 *** --------------------------------------------- * Small changes for working with 'additional' block devices (e.g. DOS-NTFS). --------------------------------------------- *** 10.03.2006 *** --------------------------------------------- * Added implementation of CharPrev[/Next]Ex and some 'fictive' exports. + In development package for NT changed kernel mode driver. New kmd work on multiprocessor/multicore systems, but not work on 486 CPU. For NT4 on 486 CPU, package include old-kmd (old_ntdi.zip). --------------------------------------------- *** 01.02.2006 *** --------------------------------------------- * In dw32reg.exe added support of comments. --------------------------------------------- *** 20.12.2005 *** --------------------------------------------- * In dw32reg.exe parser correct calculation of error line number. --------------------------------------------- *** 23.09.2005 *** --------------------------------------------- + Added some 'fictive' exports (NOT_IMPLEMENTED) in kernel32 and advapi32. --------------------------------------------- *** 05.08.2005 *** --------------------------------------------- ! Fix bug in WideCharToMultiByte (stack) if lpDefaultChar != NULL. * The registry is not saved if stack is invalid in the case of exception and/or the task termination. The RegFlushKey function produce ERROR_CALL_NOT_COMPLETE if called from stack overflow exception handler. * The registry saving time is slightly reduced. --------------------------------------------- *** 05.05.2005 *** --------------------------------------------- + Added implementation of GetProcessAffinityMask and some 'fictive' exports (NOT_IMPLEMENTED) in kernel32 and advapi32. * Small changes in DuplicateHandle - yet it support CurrentProcessHandle and CurrentThreadHandle. * Some changes in 'pseudo-system-stack' at start of process. --------------------------------------------- *** 14.11.2004 *** --------------------------------------------- ! Loading registry with large BINARY records error fixed. ! The lfn-compatible 6C and 4E functions are added for DOS character devices. ! Lfn rename bug is fixed for maximal (for DOS) path length. --------------------------------------------- *** 26.10.2004 *** --------------------------------------------- + Added ShowWindow export --------------------------------------------- *** 15.09.2004 *** --------------------------------------------- * Follow win32 the console is now in "not blinking" mode (16 background colors). And so the int 10 ax=1003 (select background mode) is now ignored. * The time-slice release method is slightly changed for prevent task to be blocked in Win9x. + The DebugActiveProcess dummy function is added. + The SHGetFolderPathA is partially (for CSIDL_APPDATA only) implement now. The \DW32APP.DAT is returned. COMMENT: This directory must be exsists (it is included in new distributive archive). * The VirtualQueryEx before last version was return "mixed" values of debugger and debugged process. * Some "cosmetic" changes for compatible with IDA-debugger. * * * * In dpmi32.lib added described (here) imports. --------------------------------------------- *** 09.09.2004 *** --------------------------------------------- * Minor changes in RegEnumKeyValues when buffers sizes are not enough (more compatible with win32). * Like in win32 the zero size value are permitted for all types in registry (exclude REG_DWORD :). This is not documented, but work in win32. * The REG_NONE type is forbidden. * More registry file check in DosWin32 load phase. + Changes for compatible with VirtualPC on MAC (errors :). Work with last VMware versions also. Bochs required minor path. * The color bug of [un]registered message on some BIOSes fixed. ! The error code number when writing on CDs :) for 16 bits program fixed when LFN is on. Error when any CD access for 32 bits program fixed when LFN is on. REMEMBER: The LFN for CDs is not supported. The short names is shown in iso9660 (the same as in DOS), not as under win32. ! Some minor errors fixed when phantom drive is present. * When DosWin32 is loaded from CD (strongly not recommended) and registry is modified, the registry write message is not shown. + The 'dw32lim' environment variable is added. Its value (from 8 to 1024) define maximum memory size (in MB) that DosWin32 can use. + Now you can use other 16 bits DOS extenders when DosWin32 is loaded (see below). This work only when emm386 is loaded and this is 'strongly not recommended' :). + The DosWin32 presence can be hided for DOS programs now. + The allocate/deallocate/validate memory algorithm is completely rewritten. All for "speed of validation has increased drammatically" ;-). The heap is untouched yet. ! A few unimportant errors fixed. ATTENTION: One of them in NT-kmd and so we recommend reinstall it. COMMENT: Installer can replace kmd now without uninstalling old version (but note that the changes would be activated only after rebooting). + ntohl/htonl/ntohs/htons implementations are added. PlaySound and sndPlaySound dummy routines are added. + When task is crashed with exception 01 the more complex information will be done (errorcode = significant part of Dr6). COMMENT: This completely work only under DOS. * * * * In dpmi32.lib added described (here) imports. * * * * The search method in run32.exe, rd32.exe and stub's is changed when DosWin32.rtm is in PATH on CD and mscdex is loaded without '/S'. * * * + In dw32reg.exe the "alias" keys (HKCU and HKCR) are added in parser. * In dw32reg.exe the zero size values are permitted (see abow). ! Fixed error in ..._MULTI_SZ and ..._EXPAND_SZ processing in dw32reg.exe. * * * + The new program in dpmi-tool (dw32mode.com); This program can turn on/off follow: a) The DosWin32 presence hiding for DOS programs (int 2F 1600) b) The DosWin32 presence hiding for 16 bits DOS extenders. --------------------------------------------- *** 27.08.2004 *** --------------------------------------------- ! Fixed bug in ScrollConsoleScreenBuffer when lpScroll != lpClip and when lpScroll partially non included in lpClip. ! Fixed PeekConsoleInput when counter > 1. * In PeekConsoleInput now supported Borland RTL bug (see kbhit.c) - when counter greater than queue the rest of the buffer is zeroed. + The WinKeyboard is added (three additional keys). NOTE: This work only in DOS - in Win9x the Win key is not passed to task and under NT all three keys are not available to task. * Some "cosmetic" changes in keyboard functions. + In dpmi-hosi adding dump of resgisters on unhandled exception. --------------------------------------------- *** 22.04.2004 *** --------------------------------------------- ---dpmi develop (ntdints.exe) [doswin32.zip] * In NT kmd driver added support from last version of SoftIce (Driver Studio v3.1). If You do not use SoftIce in load at boot, You can not reinstall driver. When SoftIce loaded at boot time the old version of kmd can not loaded (and installer tell 'Incorrect System Version'). --------------------------------------------- *** 08.03.2004 *** --------------------------------------------- ---dpmi (doswin32.rtm) [dw32core.zip] ! Instruction cache bug fixed in DosWin32 host. This bug force DosWin32 to hang when loading on some x486 processors (such as Amd K5). + The support of "Non-standard" memory managers is added to host (DosICE without /EMM key, for example). * SetFileAttributes now follow win32 behavior - it ignore _DIRECTORY and volume label attributes. --------------------------------------------- *** 09.01.2004 *** --------------------------------------------- ---dpmi (doswin32.rtm) [dw32core.zip] ! Fixed bug in detect CPU type code (DosWin32 not work on any x486) --------------------------------------------- ---dpmi develop (ntdints.exe) [doswin32.zip] * Bacause of described above changes NT-Kmd base. ATTENTION: If You use DosWin32 on NT You MUST reinstall driver --------------------------------------------- *** 15.10.2003 *** --------------------------------------------- ---dpmi (doswin32.rtm) [dw32core.zip] ! Fixed last version bug (mouse enable/disable). Some tasks (as FAR editor) worked significantly slower. * Sometimes after 16 bit task finish and resident DosWin32 next PE applications don't start without run32. * The DOS pipes (task | task) don't work with LFN enabled. --------------------------------------------- *** 01.10.2003 *** --------------------------------------------- ---dpmi (doswin32.rtm) [dw32core.zip] ! CreateProcess sometimes return FALSE even if the process launch is normal (error in last version) ! GetExitCodeProcess always return 0 (error in last version) * GetDC, ReleaseDC, GetDlgItem, GetActiveWindow, IsDlgButtonChecked dummy routines are added for the old brc32 (5.0 version). --------------------------------------------- ---dpmi develop (doswin32.lib) [doswin32.zip] * New imports are added (see above) -------------------------------------------------------------------------------