TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Kevin Ring
from: Mike Bilow
date: 1995-05-27 13:25:00
subject: WARP API and EXE format

Kevin Ring wrote in a message to All:

 KR> I have 4 really strange requests for everyone..  The first
 KR> two are directly related to OS/2...

 KR> 1) The format of a WARP .EXE file.

IBM provides LXSPEC.INF as part of the Toolkit, which documents the
LX-format executables except for the Iterated II type.  If you have the
OS/2 Toolkit, look at files EXE.H, NEWEXE.H, and EXE386.H for the details.

 KR> 2) A complete, or almost complete, list of WARP API calls,
 KR> both PM and non-PM.

By far the best place to get this is from the operating system DLLs directly.

 KR> 3) The format of a Windows .EXE.
 KR> 4) A complete, or almost complete, list of Windows API
 KR> calls. 

You should probably start by reading "Windows Internals" by Matt
Peitrek, and then read "Undocumented Windows" by Andy Schulman,
Matt Pietrek, and others. This should give you an idea of the scope of what
you are taking on.

 KR> I've had this strange idea for awhile now, and maybe someone
 KR> call tell me right now its crazy and will never work. :)  I
 KR> was thinking that it would be relatively easy to write a
 KR> device driver that would emulate the Windows API calls.  So
 KR> it would have the ability to load and execute a Windows .EXE
 KR> file, and it would then watch for Windows API calls and
 KR> "re-route" them to OS/2 equivalents.  Essentially, this
 KR> would make any Windows program look and act like a native
 KR> OS/2 app, with very little memory usage.  Am I crazy, or
 KR> might this be possible? :)  If it would work, the same thing
 KR> could be done to allow simple emulation of Win 95 apps..  

This sort of thing has been done, most notably by Sun's "Windows
Application Binary Interface (WABI)" and Linux's recursively named
"WINE Is Not an Emulator (WINE)."  The obstacles are probably
legal rather than technical, since the API may be considered a proprietary
piece of intellectual property. The law on this is complicated, and the
standard counterclaim would be that reverse engineering has always been
legal under U.S. law and is considered essential in the promotion of
competition.

WABI previously operated by fully emulating the Windows API under Unix and
X/Windows, although Sun and Microsoft settled the legal issues by, as I
understand it, requiring Unix users to buy a copy of Windows so that WABI
will work.  WINE seems to have escaped the notice of Microsoft so far,
probably because there is no one to sue and because the present limit of
its capabilities is running Solitaire and Minesweeper.

Micrografx makes a linkable library product called "Mirrors" that
programmers can use to translate the Windows API calls into OS/2 PM calls,
but it provides this facility to an individual program rather than to all
programs.  There are also rumors about legal threats Microsoft has made to
Micrografx, but I know nothing about the accuracy of these rumors.

Microsoft could simply curtail its extremely liberal policy about
royalty-free redistributables, such as the common dialogue or multimedia
extensions, if emulators become popular.
 
-- Mike


---
* Origin: N1BEE BBS +1 401 944 8498 V.34/V.FC/V.32bis/HST16.8 (1:323/107)
SEEN-BY: 105/42 620/243 711/401 409 410 413 430 807 808 809 934 955 712/407
SEEN-BY: 712/515 628 704 713/888 800/1 7877/2809
@PATH: 323/107 150 3615/50 396/1 270/101 105/103 42 712/515 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.