(original) (raw)
A. Win32 Apps Compatibility List
This is a list of Win32 (console) apps successfully tested to run with HX
Binary Version Comment
7z.exe 4 7-Zip packer/unpacker Arj32.exe 3.10 file compressor Asw.exe 2.9.5 AS (Free Pascal) Aspectrum.exe 0.1.8 Another Spectrum emulator (uses Allegro 4.1) [1][3] Atari800.exe 2.0.2 Atari 800 emulator Bcc32.exe 4.0 Borland C++ compiler 5.5.1 C++ compiler of C++ Builder Command Line Tools (free) Blobwars.exe 1.02 SDL game by Parallel Realities [1][3] Bochs.exe 2.2.6 PC emulator [1][3][8] 2.3 Boyca.exe 0.28 BoyCott Advance/SDL, a GameBoy Advance emulator [3] Brc32.exe 5.02 Borland resource compiler 5.40 Bzip2.exe 1.0.1 pack utility from MSYS 1.0.10 [1] CabArc.exe 1.00 MS cabinet file create/view/extract utility 5.1.2600 Cl.exe 8.00 MS VC 1.0, 16-bit C compiler 8.00c MS VC 1.5, 16-bit C compiler 8.00.3190a MS VC 1.5, 32-bit C compiler 9.10 MS VC 2.0 10.20 MS VC 4.2 11.00 MS VC 5 12.00 MS VC 6 13.00 MS Visual Studio.NET 2002 13.10 MS Visual C++ Toolkit 2003 [1] Cvtres.exe 5.0 MS linker help tool 7.00 Dao.exe 4.0B Golden Hawk CD Disc At Once write tool [5] Dcc32.exe 15.0 Borland Delphi 7 compiler Dosbox.exe 0.65 PC emulator with focus on old DOS games [1][3][6] 0.70 0.72 0.73 Dmc.exe 8.4 Digital Mars C++ compiler Dumpbin.exe 5.12 MS tool to display PE binaries 7.00 Dumplx.exe 2.1 LE/LX file dumper Dumppe.exe 2.1 PE file dumper Extract.exe 1.00 cabinet file extract utility 5.1.2600 Fbc.exe 0.13 FreeBasic compiler [1] 0.16b Fpc.exe 1.0.10 Free Pascal compiler [1][9] 2.0.4 Fte.exe 0.49 Editor Ftp.exe 1.3.2 FTP client from MSYS 1.0.10 [1][3][4] Gzip.exe 1.2.4 pack utility from MSYS 1.0.10 [1] H2inc.exe 7.0 MS tool Heretic 2 game by Raven Software [1][3][7] Hexitw.exe 1.57 HexIt (Win32) HTWin32.exe 2.0.8 HT, binary file analyzer/viewer Ilink32.exe 5.0 linker of Borland's C++ Builder Command Line Tools Java.exe 5.0 Sun's Java VM. Console applications only [1] Javac.exe 5.0 Sun's Java compiler [1] K.exe 0.30 Kinesics text editor Kzip.exe ?.? PKZIP clone by Ken Silverman Ldw.exe 2.9.5 LD, Free Pascal Lib.exe 3.4 MS OMF 16-bit librarian Lib.exe 5.12 MS COFF 32-bit librarian 7.00 9.00 Link.exe 5.60 MS 16-bit OMF linker Link.exe 5.12 MS 32-bit COFF linker [2] 6.00 7.00 7.10 8.00 9.00 Lzasm.exe 0.47 Assembler MakeCab.exe 5.1.26 creates .CAB archives [3] Mc.exe 4.1.36 Midnight Commander MinGW 3.2.3 GNU GCC C++ compiler, G77 Fortran compiler, 3.3.1 G++ C++ compiler [1] 3.4.2 MinGW 2.13.90 AS assembler, LD linker 2.15.94 2.16.91 Ml.exe 6.14 MS Masm, assembler 6.15 7.00 8.00 9.00 Ml64.exe 8.00 MS Masm, x64 assembler MPlayer.exe 4.1.2 video player [1][3][6][8], 4.2.0 needs cmdline options "-ao win32 -vo gl". (https://oss.netfarm.it/mplayer-win32.php) Nasmw.exe 0.98.38 Netwide Assembler Nmake.exe 1.62 MS tool 7.00 Open Watcom 1.2-1.7 all binaries in directory BINNT except WD.exe Pkzipc.exe 4.0 zip packer/unpacker Pngout.exe ?.? PNG file size optimizer by Ken Silverman PellesC 2.90 Pelles C compiler (POCC.EXE), linker (POLINK.EXE), 4.50 librarian (POLIB.EXE), resource compiler (PORC.EXE). 5.00 PoAsm 1.00.35 Pelles assembler 5.00 Psftp.exe 0.58 SFTP client [4] Pvw32con.exe 1.14 PictView 32, image converter Qemu.exe 0.71 PC emulator by Fabrice Bellard [1][3][8] 0.82 0.90 0.91 Quake 2 game by Id Software [3] Rar.exe 3.0 3.3 Rc.exe 5.0 MS resource compiler 5.1 Rebase.exe MS tool Tar.exe 1.12 GNU tar 1.13.19 GNU tar from MSYS 1.0.10 [1] Tasm32.exe 5.0 Borland's TASM Tdump.exe 5.0 Borland tool Telnet.exe 1.3.2 Telnet client from MSYS 1.0.10 [1][3][4] Tlib.exe 4.5 Borland tool Tlink32.exe 2.0 Borland linker Unrar.exe 3.2 Untgz32.exe 0.95 Unzip.exe 5.4 Info-ZIP 5.52 6.0 Upx.exe 2.0 packer for executables Vim.exe 5.8.9 editor from MSYS 1.0.10 [1] Vp.exe 2.1.279 Virtual Pascal IDE, except debugger Vpc.exe 2.1.279 Virtual Pascal command line compiler Wget.exe 1.11.4 GNU WGet [3][4] Ws.exe 1.22 Wordster. WordStar-like editor by P. Houle Xc.exe 2.51 XDS Modula-2 compiler Xcopy32.exe Windows 98 file copy program [1] (use 'pestub Xcopy32.mod' to create it) Xlink.exe 2.6 XDS linker Zip.exe 2.31 Info-ZIP
[1]: requires LFN support to be installed. View Unsupp\LFN.txt for more details about how to activate this support for plain DOS.
[2]: these apps may require a lot of file handles, which is a scarce resource in native DOS (set by entry FILES= in CONFIG.SYS, max. value is 255). In case an app exceeds this limitation, you may get strange error messages, so to avoid problems I would suggest to set at least FILES=80.
[3]: needs HX GUI.
[4]: requires a packet driver to be installed.
[5]: needs a DOS ASPI driver and WNASPI32.DLL from Windows 9x. View Doc\DKRNL32.TXT for details about HX's ASPI support.
[6]: requires OPENGL32.DLL (+GLU32.DLL) from Windows 9x.
[7]: environment variable DPMILDR=16 must be set.
[8]: to start the binary it might be needed to enter "dpmild32 -g ".
[9]: environment variables HDPMI=32, DPMILDR=8 must be set (see B).
Furthermore, some of the programs in this list may need MS C runtime dlls (MSVCRT.DLL, MSVCRx0.DLL, CRTDLL.DLL).
B. Nested Execution of Win32 Apps in DOS
Nested execution of Win32 apps with HX may require some additional configuration steps. This is because very often the apps cannot share an address space due to missing relocation information in the binaries, which are needed to load them at any address. The HX tools provide the ability for multiple address spaces, but this feature has to be made deliberately active by setting both of these environment variables:
SET HDPMI=32
SET DPMILDR=8
The first setting will instruct HX's DPMI host HDPMI to supply each client with its own address space, the second instructs HX's PE loader DPMILD32 to not try to load more than one application in the current client.
If multiple address spaces are not supported by the DPMI host, but a version of the calling app is available with relocation info, one can possibly rebase this first app by utility REBASE.EXE (Win32 SDK). Thus the standard image base address 400000h remains free for the called app.
Please note that it is sometimes not obvious that a nested execution takes place. MS LIB.EXE (COFF), for example, uses LINK.EXE for the real work. The same is true for EDITBIN and DUMPBIN. As well, MS LINK (COFF) will launch an instance of itself (!) if an export file has to be build.
DosEmu regretably doesn't support multiple address spaces. Setting DPMILDR=8 will be useless in this environment.
Japheth