Go to file
Alexandre Julliard 594997c900 Release 950430
Sat Apr 29 20:42:01 1995  Alexandre Julliard  (julliard@sunsite.unc.edu)

	* [controls/static.c]
	Fixed painting of SS_*FRAME controls.

	* [if1632/callback.c]
	Pass the window instance as DS to the 16-bit window procedure.
	Rewrote Catch() and Throw() to make them work with multiple tasks.

	* [loader/main.c]
	New function MAIN_Init() to perform initializations before the
	first task is started instead of doing them in InitApp().
	Temporary hack to command-line parsing to load one program per
	command-line argument, to make testing task-switching easier.

	* [loader/*.c]
	Reimplemented modules to use a Windows-compatible layout and to
	allow multiple tasks and multiple module instances. Not really
	finished yet.

	* [loader/task.c] [misc/exec.c]
	Reimplemented tasks to use a common address space, and implemented
	preliminary task-switching capabilities.

	* [memory/global.c]
	Fixed bug in GlobalNext().

	* [misc/main.c]
	Updated the list of contributors. Let me know if I forgot someone.

	* [miscemu/int21.c]
	Use one DTA per task instead of a global one.

	* [objects/bitblt.c]
	Fixed bug in BitBlt() that could cause BadMatch errors.

	* [tools/build.c]
	Added new function type 'stub', that makes possible to export an
	unimplemented function by name as well as by ordinal. This will
	avoid loading errors for unimplemented functions.
	Generate an in-memory module layout for built-in DLLs so that the
	same code can be used for built-in and loaded modules.
	Changed relay code to make it unnecessary to save the value of the
	BP register.

	* [windows/message.c]
	Implemented multiple message queues and preliminary task-switching
	capabilities. Inter-task SendMessage() calls are not implemented
	yet and will probably cause crashes if used.

	* [windows/property.c]
	Reimplemented properties and allocate them on the USER heap.

	* [windows/win.c]
	Fixed bug in SetWindowWord().
	Reimplemented EnumWindows() and EnumTaskWindows().

Tue Apr 18 09:48:38 1995   Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
        
	* [misc/main.c]
	GetSystemParametersInfo(): Additional action SPI_GETICONTITLEFONT.
	
	* [loader/resource.c]
	Removed the check for NE_SEGFLAGS_EXECUTEONLY, since it broke
	control.exe.
	Fixed icon loading.
	
	* [objects/font.c] [include/windows.h]
	Fixed a bug in InitFontsList() and worked on the EnumFonts()
	functions to make them comprehensible.

        * [controls/button.c]
	Fixed my previous patch to handle LBUTTONUP messages.

Fri Apr 14 11:41:28 1995  Cameron Heide  (heide@ee.ualberta.ca)

        * [misc/network.c, misc/dos_fs.c]
        Implemented WNetGetConnection.  All that is currently
        supported are drives, for which the remote name is simply
        the redirected UNIX directory name.

        * [miscemu/int2?.c]
        More drive number validity checking.

Wed Apr 12 11:28:37 1995   Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
        
        * [controls/listbox.c]
	Oops, my previous change to ListBoxDirectory broke the Borland
	file open dialog. Fixed.

Mon Apr 10 23:17:12 1995  Martin von Loewis  <loewis@informatik.hu-berlin.de>

	* [if1632/ole2nls.spec] [misc/ole2nls.c] [misc/Imakefile]
	New file ole2nls.c. Added stubs for GetUserDefaultLCID, 
	GetSystemDefaultLCID, GetUserDefaultLangID, GetSystemDefaultLangID.

Mon Apr 10 10:05:18 1995   Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
        
	* [memory/global.c] [memory/local.c] [include/windows.h]
	GlobalReAlloc(): If GMEM_MODIFY is set, don't resize the block.
	LocalReAlloc(): Same for LMEM_MODIFY.
	
        * [controls/listbox.c]
	Fixed a bug in ListBoxDirectory that prevented commdlg from working.
	Check for errors in some more places.

        * [if1632/gdi.spec] [if1632/user.spec]
	16 bit callback functions should be passed as segptrs.
	
	* [include/dlls.h] [loader/ne_image.c] [loader/selector.c]
	[loader/library.c]
	Prevent a DLL from being initialized twice (Borlands Resource
	Workshop used to do this).
	Provide an additional flag for each w_file that indicates whether
	it's an EXE or a DLL, for combinations like pbrush.exe/.dll.
	
	* [controls/button.c]
	Handle LBUTTONUP messages even if the button no longer has the
	capture (for WinHelp).
	
	* [include/wintypes.h]
	FARPROC is now a segptr for the emulator and a function
	pointer for the library.
	
	* [misc/commdlg.c] [misc/commdlg.h]
	Cleaned the file dialogs up a little. They now work reasonably well,
	although there are still some problems (e.g. files are initially
        invisible).

	* [windows/class.c] [if1632/user.spec] [include/windows.h]
	GetClassInfo() must take a segptr, as it checks whether the
	highword is zero.
	GetClassName() called the wrong atom function. No surprise it didn't
        find anything.

	* [misc/lstr.c]
	AnsiToOem() and OemToAnsi() didn't terminate the strings. Fixed.
        Removed some warnings.

	* [if1632/relay.c] [if1632/ddeml.spec] [include/dlls.h]
	New spec file for the 3.1 DDEML DDL. 

	* [controls/menu.c]
	Small fix to ChangeMenu - mask out the obsolete flags
	(MF_APPEND == MF_OWNERDRAW, this led to problems). It also had
	problems with the MF_BYPOSITION flag.

        * [windows/message.c]
        SendMessage(): call the WH_CALLWNDPROC hook function. This is rather
        ugly, I'm afraid. Windows probably passes a pointer to the 16 bit
        stack for speed reasons.
	
        * [windows/hook.c] [include/windows.h]
        Set/HookWindowsHook() shouldn't just call their *Ex counterparts, as
        they have slightly different semantics.
        MS Hearts now works somewhat, if you disable the new builtin DDEML.
        The graphics are completely messed up, though.
1995-04-30 10:05:20 +00:00
controls Release 950430 1995-04-30 10:05:20 +00:00
debugger Release 950430 1995-04-30 10:05:20 +00:00
etc Release 941227 1994-12-27 14:11:53 +00:00
if1632 Release 950430 1995-04-30 10:05:20 +00:00
include Release 950430 1995-04-30 10:05:20 +00:00
loader Release 950430 1995-04-30 10:05:20 +00:00
memory Release 950430 1995-04-30 10:05:20 +00:00
misc Release 950430 1995-04-30 10:05:20 +00:00
miscemu Release 950430 1995-04-30 10:05:20 +00:00
multimedia Release 950403 1995-04-03 16:55:37 +00:00
objects Release 950430 1995-04-30 10:05:20 +00:00
rc Release 950319 1995-03-19 17:39:39 +00:00
toolkit Release 950403 1995-04-03 16:55:37 +00:00
tools Release 950430 1995-04-30 10:05:20 +00:00
windows Release 950430 1995-04-30 10:05:20 +00:00
ANNOUNCE Release 950430 1995-04-30 10:05:20 +00:00
BUGS Release 941017 1994-10-17 18:12:41 +00:00
ChangeLog Release 950430 1995-04-30 10:05:20 +00:00
Configure Release 950403 1995-04-03 16:55:37 +00:00
DEVELOPERS-HINTS Release 950319 1995-03-19 17:39:39 +00:00
Imakefile Release 950403 1995-04-03 16:55:37 +00:00
LICENSE Release 941017 1994-10-17 18:12:41 +00:00
README Release 950302 1995-03-02 17:33:47 +00:00
README.OEMANSI Release 0.4.3 1993-09-29 12:21:49 +00:00
RELEASE-NOTES Release 950403 1995-04-03 16:55:37 +00:00
WARRANTY Release 0.5 1994-01-04 20:14:34 +00:00
Wine.tmpl Release 950403 1995-04-03 16:55:37 +00:00
autoconf.h Release 941122 1994-11-22 16:31:29 +00:00
wine.ini Release 941030 1994-10-30 16:25:19 +00:00

README

1. INTRODUCTION

Wine is a program that allows running MS-Windows programs under X11.
It consists of a program loader, that loads and executes an
MS-Windows binary, and of an emulation library that translates Windows
API calls to their Unix/X11 equivalent.

Wine is free software. See the file LICENSE for the details.
Basically, you can do anything with it, except claim that you wrote it.


2. COMPILATION

You must have one of:

	Linux version 0.99.13 or above
	NetBSD-current
	FreeBSD-current or FreeBSD 1.1

You also need to have libXpm installed on your system. The sources for
it are probably available on the ftp site where you got Wine. They can
also be found on ftp.x.org and all its mirror sites.

To build Wine, first do a "./Configure" and then a "make" (or "gmake"
if you're running *BSD).  The executable "wine" will be built.  "wine"
will load and run 16-bit Windows executables. 

To upgrade to a new release by using a patch file, first cd to the
top-level directory of the release (the one containing this README
file). Then do a "make clean", and patch the release with:

    gunzip -c patch-file | patch -p1

where "patch-file" is the name of the patch file (something like
Wine-yymmdd.diff.gz). You can then re-run "./Configure", and then
run "make". 


3. SETUP

Wine requires you to have a file /usr/local/etc/wine.conf (you can
supply a different name when configuring wine) or a file called .winerc
in your home directory.

The format of this config file is just like a Windows .ini file.
The file wine.ini contains a config file example.

Here's an explanation of each section:

* [drives]

format: <driveletter> = <rootdirectory>
default: none

This section is used to specify the root directory of each `dos'drive 
as Windows' applications require a dos/mswindows based diskdrive & 
directory scheme. 

If you mounted your dos-partition as /dos and installed Microsoft Windows 
in c:\windows than you should specify c=/dos in the drives section.

* [wine]

format: windows = <directory>
default: c:\windows

Used to specify an different windows directory.

format: system = <directory>
default: c:\windows\system

Used to specify an different system directory.

format: temp = <directory>
default: c:\temp

Used to specify a directory where Windows applications can store temporary
files.

format: path = <directories separated by semi-colons>
default: c:\windows;c:\windows\system

Used to specify the path which will be used to find executables and DLL's.

format: systemresources = <filename>
default: c:\temp

Used to specify the name of sysres.dll, a dll which is used by Wine itself.

* [serialports]

format: com[12345678] = <devicename>
default: none

Used to specify the devices which are used as com1 - com8.

* [parallelports]

format: lpt[12345678] = <devicename>
default: none

Used to specify the devices which are used as lpt1 - lpt8.

* [spy]

format: file = <filename or CON when logging to stdout>
default: none

used to specify the file which will be used as logfile.

format: exclude = <message names separated by semicolons>
default: none

Used to specify which messages will be excluded from the logfile.

format: include = <message names separated by semicolons>
default: none

Used to specify which messages will be included in the logfile.


4. RUNNING PROGRAMS

When invoking Wine, you must specify the entire path to the executable,
or a filename only.

For example: to run Windows' solitaire:

	wine sol		   (using the searchpath to locate the file)
	wine sol.exe

	wine c:\\windows\\sol.exe  (using a dosfilename)

	wine /usr/windows/sol.exe  (using a unixfilename)

Note: the path of the file will also be added to the path when
      a full name is supplied on the commandline.

Have a nice game of solitaire, but be careful.  Emulation isn't perfect.
So, occasionally it may crash.


5. GETTING MORE INFORMATION

The best place to get help or to report bugs is the Usenet newsgroup
comp.emulators.ms-windows.wine. The Wine FAQ is posted there every
month.

If you add something, or fix a bug, please send a patch to
wine-new@amscons.com for inclusion in the next release.

--
Alexandre Julliard
julliard@lamisun.epfl.ch