Contents | < Browse | Browse >

                           A TWIN APIW Overview
  Porter Woodward           

[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&trade; 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 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
shared libraries. 

TWIN APIW Architecture 

Willows TWIN APIW is made up of three major components: 

     Willows Library 
     Willows Drivers 
     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 
     receiving messages 
     loading resources 
     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 
                             Scalable Fonts 
   Support for .ini, .hlp, and .rc files 
                             Symbolic debugger 
   Source file preparation scripts 
                             Binary Emulation 
   TWINView configuration editor 
                             Resource compiler 
   Custom Configuration Flags 
                             Diagnostic Tools 
   Post-script printer driver 
                             Common Dialogs 
   Module Definition Compiler 
                             API Profiling 
   Binary printer drivers 
                             Serial Driver 
   Registration Database 
   Clipboard operation 
   Save As 
                   Window 3.11 API Support

Platforms Supported

              SUN SunOS
                                SUN Solaris
                                IBM AIX
              SCO UnixUnixware
   DEC OSF/1
              SGI IRIX (MIPS ABI) 

For More Information 

The following documents are available as resource information.  If you need
further information, you may email 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