Contents | < Browse | Browse >
A TWIN APIW Overview
Porter Woodward Porter_Woodward@internet.kronos.com
[In recent times, quite a bit of effort has been expended by people who are
trying to figure out just how to use the very modular construction of
Windows applications to work to the advantage of the rest of the computing
world who would rather not run Windows itself. One of these approaches is
outlined here, submitted for AR by an alert reader. -Jason]
There is currently an application out for some other platforms that is
called the "TWIN APIW" (yes I know it's a silly sounding thing). It's
actually pretty remarkable. It allows one to run Windows binaries on a
non-windows machine! Yes, you read that correctly.
Currently they have OS/2, Macintosh, NetWare, and Unix versions
precompiled. However, they are making the package available (both source
and binary) for personal/noncommercial purposes for FREE! As you can
imagine, this has created quite a stir with Microsoft.
Although, many of us would deny it with our last dying breath that there is
nothing Windows can do that we would want to, this could be a major chance
for the Amiga, and other platforms in general... A quote from their web
site might be useful, and better explain just what this thing is...
TWIN APIW Overview
Willows APIW Cross-Platform Development Kit (TWIN APIW) is a set of tools
and libraries that extends the number of platforms upon which Microsoft
Windows™ API-based applications may be developed. With the TWIN
APIW, developers may now use a single set of sources to develop and deploy
applications for Windows, UNIX and the Macintosh. Additional platform
support is currently under development, please contact firstname.lastname@example.org for
additional information. Portable Source code is available for TWIN APIW
which allows those that are proficient and interested to port TWIN APIW to
other platforms themselves. Willows Software has programs in place to
assist those developers wishing to port applications, or the TWIN APIW
itself, to other platforms.
TWIN APIW includes the libraries and tools necessary to bring Windows
API-based applications and dynamic link libraries to alternative platforms.
The product includes debug and optimized versions of the library to help
you work in both environments. TWIN APIW also includes shell tools to port
sources, resource compilers that allow you to include menus, bitmaps and
icons in an application and a module definition compiler for building
TWIN APIW Architecture
Willows TWIN APIW is made up of three major components:
Willows Binary Interface
The Windows compatible application interacts with the Willows Library the
same way that the application works in a Windows environment:
calling API functions
launching other Windows applications.
The Willows Library interacts with the Willows Driver layer:
making requests for graphical, window, or system operations
receiving responses or asynchronous messages.
Existing Windows applications and modules interact with the Willows Binary
Interface to access the native implementation of the Willows API across all
platforms. This layer accepts all Windows API requests to allow a
non-native application to achieve native performance.
TWIN APIW is capable of recognizing binary Intel objects such as
third-party DLLs, Visual Basic controls (VBX), drivers (DRV) and custom
controls. This unique facility allows the inter-mixing of source and
binary modules within an application. This feature allows developers to
bring their applications to market faster by not having to wait for the
third party vender to port the object to non-"Wintel" architectures.
Resource files, bitmaps and icons may continue to be used without change.
Applications may continue to load resource from existing DLLs, without
Win-Help Support via TWINView
MFC library support
Native and Binary DLL Support
Support for .ini, .hlp, and .rc files
Source file preparation scripts
TWINView configuration editor
Custom Configuration Flags
Post-script printer driver
Module Definition Compiler
Binary printer drivers
Window 3.11 API Support
SGI IRIX (MIPS ABI)
For More Information
The following documents are available as resource information. If you need
further information, you may email email@example.com or call Steve Champion
at +1 408 777 1820 x222.
So, primarily it is a development tool. However, if the Amiga was included
in this sort of initiative - developers could no longer keep claiming it is
too time consuming to _port_ to the Amiga. Additionally, we could gain
the facilities to process Windows apps as "native" apps.
This is a powerful thing. I urge the Amiga community not to pass up this
chance. We won't loose our OS, but our OS will gain the capability to use
Windows stuff if we wanted to! It would only strengthen the Amiga's market
If someone asks, "Does it run Windows?" we can respond "Yes"
If someone asks if the Wintel box can run AmigaDOS, No.
We could gain an expansive, extensible system from this, and a level of
flexibility never before seen on any computer system. Additionally, as
mentioned before, people could no longer claim they can't spend the time
and money to develop for the Amiga (serious apps only).
I think this news is too important to ignore. For more, technical
information, see http://www.willows.com/