Never accomplish with an emulator or virtual machine what you can do better with a straight binary translation instead. That's the philosophy behind the Win32-OS/2 project; a effort underway to create a program that will literally translate the compiled binary code of Windows 95 and Windows NT applications into native OS/2 versions that can run on a copy of Warp without so much as a hidden DOS session, emulator or WinOS/2 virtual machine. The repercussions, if successful, could be huge. Designed for use by regular users and distributed for free, it'd be like opening the sluices that keep all those programs from quenching OS/2's thirst for native apps.
OS/2 can already run applications designed for Windows 3.1 by starting a DOS session in a virtual machine with real DOS and real Windows 3.1 running on top of that. No emulation, but no native code either, and it can't run Windows 95 programs. PE2LX (The converter program, short for Portable Executable To Linear Executable; Portable Executable being the Win32 format and Linear Executable being OS/2's format) will fix both problems in one swoop.
Headed by Sander van Leeuwen, the crew of volunteer programmers have already progressed to the point where they can convert trivial Windows 95 applications like Notepad, Solitaire and small MFC apps, less than 6 months after the team began work.
The key to the success of the project lies with work already done by IBM to port most of the Win32 API over to native OS/2. Called Open32 (formerly DAPIE or DAX for Developers API Extensions), they're little more than aliases to existing OS/2 Presentation Manager calls. IBM's intention was to make it easier for developers to port their Windows applications over to OS/2. But the only major product to make use of Open32 so far is Lotus Smartsuite for Warp 4, still in beta at time of writing.
Open32 by itself does not allow you to run Windows 95 applications on Warp, but it does cut back on the time it takes a developer to port the code. As it turns out, it didn't hurt Leeuwen and his team to take advantage of it too. The converter program does a lot of its work by simply "redirecting" Win32 calls to the Open32 library.
The rest of the work, in fact the bulk of it, is to fill the holes in OS/2 where Windows applications expect to find something. DLLs such as COMCTL32.DLL - the common controls library - must be ported before most popular Win 95 applications will run. These libraries will not actually be supplied for you, but must be converted by you using PE2LX. The reason is simple; it gets around the copyright.
A pressing question raised about the viability of the Win32-OS/2 project was the 512 megabyte barrier. Many Windows 95 and Windows NT applications, such as Office 97. load themselves above the 512 mb point in RAM, something that is not supported in regular Warp Client but is supported in Warp Server. The solution does not seem to be clearly resolved yet. But the team's spokesperson, Timur Tabi, has suggested that pressure from the users of this converter may push IBM into fixing it. I'm not entirely sure this will happen, IBM is legendary for not listening to OS/2 users, but it's certainly possible.
Secondly is the issue of support. This is not merely a case of running applications under emulation, such as with WINE, you're actually modifying the program. So the first thing you can kiss good-bye to is support from the maker. What vendor in his right mind is going to support a product running in a state and environment it wasn't intended for?
What to expect
Complex Windows subsystems like DirectX and OLE are unlikely to be ported anytime soon. According to Timur, they are "way down the road." Clearly the objective at this point in the game is to get the basics working. There are also no promises being given on when PE2LX be released. If, after 6 months, they can convert Solitaire, then maybe after a year or two they'll be able to convert something like Quake II. Who knows.
Performance won't be much of an issue. With no emulation going on the converted programs should be just as fast as any other native OS/2 application, although perhaps a bit slower. If Lotus Smartsuite performs acceptably for you, then so should any other converted Windows app. The converted executables will also be smaller than the original Win32 ones; a little trick afforded by Warp's ability to compress .EXEs.
But the first release of the converter won't have many frills to it. You'll need a copy of Windows 95 already on your computer in order to actually install the application you want to convert, since it's unlikely that PE2LX will be able to convert the installation utility on the fly. And you'll probably have to manually convert all the .EXEs and .DLLs yourself, from the command line.
The Win32-OS/2 team is determined to keep their baby free, both in price and from the control of any corporation that might take it away. They've got an attitude too, they don't care about what Microsoft or IBM thinks, their only interest is to the users. When asked what resources, money and supplies they'd need, the only reply was "compilers." Arrogance? Maybe, or maybe they're afraid of letting vested interests get control.
Either way, if the team is successful we could see anything from an abandonment of the emulation model to a major shift in power. An example set, it wouldn't be a stretch to see other companies making similar binary converters for other platforms. This, along with Java, looks like another big step towards platform irrelevance.
© 1997 OS News