
	Willows TWIN APIW Frequently Asked Questions
	version 3.1.5			April 14, 1998

===============================================================================

		Table of Contents

Section 1:	General Information

	1.1  	What are the Willows Twin Libraries?
	1.2	What is the LGPL?
	1.3	What is the availability of the sources?
	1.4	What resources are available to help use Willows Twin?
	1.5 	Do I need Microsoft Windows installed to run?

Section 2: 	What applications are supported?

Section 3:	What functionality is supported?

	3.1	Does Twin provide OLE 2.0 support?  
	3.2	Can Willows Twin Cut and Paste to the X Clipboard?
	3.3	What additional Windows Libraries are supported by Willows Twin?
	3.4	What about printing? Printer fonts? Print Drivers?
	3.5	What about Window fonts?  Font API's, truetype, etc.
	3.6	What about MFC
	3.7	What about win32 binary support?

Section 4:	Troubleshooting

===============================================================================

Section 1:	General Information

1.1 	What exactly are the Willows Twin Libraries?

	Willows Twin Libraries are a cross platform implementation of the 
	Windows API's.  It is available to support both win 3.x 16bit
	interface as well as the win32 32bit interface.

	As far as this software is concerned, we are a cross between source
	level products such as Mainsoft and Bristol, and the binary software 
	efforts such as Wabi, Insignia Solutions and wine.

	Twin has three notable features:
		1)	Runs on all major Unix platforms, not just intel.
		2)	Twin is not just a Unix solution, Twin supports 
			several operating systems, and several different
			graphics systems.
		3)	Supports intel code execution even on risc platforms,
			through cpu emulation, allowing print drivers, and 
			third party dll's to run.

	The Willows Twin Libraries come in two parts, the first the platform
	independent Windows compatible libraries, and the second the platform
	dependent interface layer.  The libraries are available in either the
	traditional archive library format as well as a dynamically loadable
	shared libraries.

 
1.2	What are the license restrictions ont the Willows Twin Libraries?

   	The Willows Twin Libraries are licensed under the GNU Library GPL, v2.
   	This means you get the sources for the complete library, and all tools
   	necessary to rebuild the libraries.

1.3: 	What is the availability of the sources?

	The software is available from http://www.willows.com.  We anticipate 
	that it will be mirrored to several sites very soon.  The software is 
	being released under the GNU Library General Public License, (LGPL), 
	in hopes that others will find it useful, and make contributions to it.


1.4	What resources are available to help use Willows Twin?

	Two mailing lists are being setup, one for developer oriented issues, 
	the other for twin user issues.  For information about supporting the 
	library on other platforms, send mail to twin@willows.com. Please see
	http://www.willows.com to join either of those mailing lists, or to
	get further information.

1.5 	Do I need Microsoft Windows installed to run?
	
	No, you do not need Microsoft Windows installed.  We can use, 
	but do not require any Microsoft Windows components, but there are 
	windows applications that you wish to run that may require additional 
	components Microsoft Windows that we do not provide.
	
============================================================================

Section 2:	What programs work with Willows TWIN Binary Emulator?

	The following is the current state of xwin, based on the Willows 
	TWIN library.  
	
	Following each application is a number meaning:
	1	Crashes the emulator. Application does not work at all
	2	Application likely to crash emulator, some functionality.
	3	No crashes, minimal functionality available.
	4	No crashes, some features do not work.
	5	Application runs Perfectly.
		
	2.1 Windows 3.x Accessories
	---------------------------
	calc.exe*      			5	
	calendar.exe*  			5
	cardfile.exe*  			5
	charmap.exe*   			5
	clipbrd.exe*   		 	5
	clock.exe*     			5
	control.exe*  			3 
	notepad.exe*   			5
	pbrush.exe*    			5
	printman.exe*  			1
	progman.exe*   			1	missing some undocumented api's
	recorder.exe*  			-
	regedit.exe*   			4	does not update setup.reg file
	sol.exe*       			5
	taskman.exe*   			5
	terminal.exe*  			5
	vershow.exe*			5
	winfile.exe*			1	missing some undocumented api's
	winhelp.exe*			5
	wintutor.exe*			-
	winver.exe*			5
	write.exe*			4	some minor font problems

	2.2 Microsoft Windows Games
	-----------------------
	pegged.exe*    			5
	cruel.exe*     			5
	reversi.exe*   			5
	freecell.exe*  			5
	winmine.exe*			5
	golf.exe*      			5
	mshearts.exe*  			5
	tic.exe*       			5
	tp.exe*        			5

	2.3 Microsoft Windows Office 16 bit applications 
	------------------------------------------------

	For the following applications, we have not rigorously tested them,
	so can only put out comments about the state of the application.

	winword.exe		
				comes up runs, loads/saves files, enter data, 
				etc.  Have exercised most menu options, except
				those dealing with ole. Have some font problems
				and printing is erratic.
	excel4.exe
	excel5.exe
				comes up runs, loads/saves files, enter data, 
				etc.  Have exercised most menu options, except
				those dealing with ole.
	powerpnt.exe
				comes up runs, loads/saves files, enter data, 
				etc.  Have exercised most menu options, except
				those dealing with ole.
	project.exe
				comes up runs, loads/saves files, enter data, 
				etc.  Have exercised some menu options. 
	access.exe
				currently does not come up at all, but we have
				had it come up and exercised some menu options.
				Have loaded a database successfully, but could
				not execute many functions.

	2.4 Microsoft Win32 (NT) applications

	working
		winver.exe
		calc.exe
		clock.exe

	2.5 Petzold win32 sample applications (win32 compiled versions)
	
	Of the approximately 80 .exe files built under windows NT, well
	over half of them operate correctly, and several others show
	major functionality.

===============================================================================

Section 3:	Functionality?

3.1	Does Twin provide OLE 2.0 support?  

	No.  

3.2	Can Willows Twin Cut and Paste to the X Clipboard?

	Yes.  Applications can cut and paste between each other and X11.

3.3	What additional Windows Libraries are supported by Willows Twin?

   	The Twin Library supports commdlg.dll functions, with all the user
   	options for customization etc.  This includes OpenFile/Savefile, 
	ChooseFont, ChooseColor, Find/Replace.... 

	The 32bit version, supports the common controls.  The only major 
	common control NOT supported at this time is the Rich-Text Edit control.

	The Twin library does support the shell.dll interfaces, including 
	those to the registration database, although the data is not currently 
	persistent from one invocation to the next.

3.4     What about printing? Printer fonts? Print Drivers?

   	Printing is done precisely as under Windows.  Our print driver uses 
	the DDK interface to printers, including escapes, printer dialogs, etc.
	Our extension to the printing system is that the output of a printer.drv	is captured by the Twin Library, and via settings in system.ini, and 
	then re-directed, printed, saved to a file, spooled to the system 
	printer etc.

3.5	What about Window fonts?  Font API's, truetype, etc.

   Window Font API, CreateFont..., GetTextMetrics..., EnumFont...
   These API's are supported just as they are in Windows.  We take the font
   request and use a font search algorithm that utilises font aliasing, 
   height and character attributes, bold, italic..., and generates a platform
   dependent font request.  On X11, this turns into load/query font calls,
   while on a Mac, turns into TrueType font requests.  

   The additional TrueType specific API's, getabcchar, GetOutline...
   are only supported if a TrueType font server is running, and you have the
   same ability to paint the characters as you have with Windows.

   The Font Metric requests are likewise handled in the same fashion, with
   the Twin Library returning the appropriate values for a given request, so
   that any drawing dependent on those measurements will be correct.

3.6: 	What about MFC?

	MFC, we've taken the source for MFC, that comes with Visual C++, 
	and compiled it, after serious massaging of Microsoft specific 
	constructs.  With it, we were able to compile and run the sample 
	code using our Libraries.  
	
	The sample C++, MFC code runs natively, and can do dynamic linking
	ala LoadLibrary(), of an intel DLL, (the meter.dll sample source), the 
	transition from native C++ ported code to intel 16bit code was 
	completely transparent to the application, it did GetProcAddress, 
	etc. and did a straight call to the address returned, without doing 
	any fancy data conversion.  Using the GNU C++ compilers, we have
	been able to support applications using MFC 4.x. 


3.7	What about win32 binary support?

	At this time, our intel interpreter only supports 16bit instructions,
	so risc platforms are NOT supported by the win32 binary loader.  Until
	then only intel based platforms will have support for win32 binaries.

=============================================================================

Section 4:	Troubleshooting Q&A

1) does xwin work without your printer driver installed? 

   Remove the printer specification from your win.ini file.  Applications
   will still run, but not be able to print.

2) have you modified all entries in setup.reg to reflect the new location
   of where the files are?

3) have you added the [truetype] line to your win.ini file?

4) does xwin run with no arguments?

   This is key to make sure that Willows TWIN Shared Library can be found and
   loaded.

5) are you modifying and using the right twin configuration file, ie. there
   is not a twinrc file in the directory where your apps reside?

6) there is a /tmp directory, and you have C: mapped to /?

7) does openpath have : separator?

=============================================================================
