wine/README
Alexandre Julliard dba420a731 Release 940201
Tue Feb  1 21:14:47 1994  Bob Amstadt  (bob@pooh)

	* [loader/selector.c]
	Added function CreateNewSegments().  Modified IPCCopySelector
	to allow aliasing to any arbitrary memory space.

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

	* [memory/linear.c]
	Created functions GlobalLinearLock() and GlobalLinearUnlock().

Tue Feb  1 05:51:43 1994  julliard@di.epfl.ch (Alexandre Julliard)

	* [controls/widgets.c]
	Removed CAPTION window class.

	* [loader/cursor.c]
	Bug fix in LoadCursor(): don't allocate memory every time for
	built-in cursors.

	* [windows/clipping.c]
	Invalidate child windows in InvalidateRgn().

	* [windows/defwnd.c]
	Added repaint of the caption when changing window text.

	* [windows/event.c]
	Modified SetCapture() to allow keyboard events while capturing.

	* [windows/message.c]
	New function MSG_GetHardwareMessage(), to do mouse tracking
	without returning control to the Windows program.

	* [windows/nonclient.c]
	A couple of changes in frame drawing for DLGMODALFRAME windows.
	Rewritten window moving code, to use MSG_GetHardwareMessage()
	instead of non-client mouse events (this is the way Windows
	does it), and to send WM_ENTERSIZEMOVE messages.
	Removed WM_NCBUTTONUP and WM_NCMOUSEMOVE handlers.

	* [windows/win.c]
	Allocate temporary structures on the USER heap instead of
	using GlobalAlloc().

	* [windows/winpos.c]
	Added function WINPOS_GetMinMaxInfo() to get sizing informations.

Jan 31, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)

	* [windows/nonclient.c]
	Call to StdDrawScrollBar() during NC's drawing.
	Call to NC_ScrollBarButtonDown() on NC mouse events WM_LBUTTONDOWN.
	Call to NC_ScrollBarButtonUp() on NC mouse events WM_LBUTTONUP.
	Call to NC_ScrollBarMouseMove() on NC mouse events WM_MOUSEMOVE.

	* [controls/menu.c]
	New GetSubMenu() function.
	Move GetMenu() & SetMenu() functions from 'windows/win.c'.

	* [controls/listbox.c]
	Start changes to satisfy recent changes in scrollbars/windows.

	* [loader/resource.c]
	Put some code in LoadAccelerators() stub.
	New TranslateAccelerator() function.

	* [windows/win.c]
	Remove GetMenu() & SetMenu() functions.
	Call to NC_CreateScrollBars() if required by CreateWindow().

Mon Jan 24 10:40:10 EST 1994 John Richardson (jrichard@cs.uml.edu)

        * [window/win.c]
        Added functions EnumWindows, EnumChildWindows, and helper
        WIN_EnumChildWin.  EnumWindows won't list all wine windows
        because GetDesktopWindow isn't complete.  However, the code
        is in place for it to work correctly and only needs 
        GetDesktopWindow to do so.  

Tue Jan 25 05:51:47 1994  julliard@di.epfl.ch (Alexandre Julliard)

	* [windows/defwnd.c]
	Added handling of activation messages (WM_ACTIVATE,
	WM_NCACTIVATE, WM_MOUSEACTIVATE)

	* [windows/event.c]
	De-activate the window when losing input focus.

	* [windows/focus.c]
	Bug fix in SetFocus().

	* [windows/message.c]
	Added activation of the window on mouse-clicks.

	* [windows/nonclient.c]
	Changed non-client area painting to use the correct colors
	depending upon the activation state.
	Added WM_NCACTIVATE message handling.
	Fixed a couple of bugs in window moving and resizing.

	* [windows/winpos.c]
	Implemented Get/SetActiveWindow().
	Implemented SWP_NOACTIVATE flag in SetWindowPos().

Jan 17, 94 martin2@trgcorp.solucorp.qc.ca (Martin Ayotte)

	* [misc/message.c]
	MessageBox has a CaptionBar for his title except for
		MB_SYSTEMMODAL with MB_ICONHAND.

	* [windows/nonclient.c]
	Call to NC_TrackSysMenu on SysMenu button mouse click.

	* [windows/defwnd.c]
	Call to NC_TrackSysMenu on Alt key (VK_MENU).

	* [controls/menu.c]
	New GetSystemMenu() function.
	New CopySystemMenu() internal function.
	New NC_TrackSysMenu() internal function.

	* [include/windows.h]
	New WM_INITMENU, WM_INITMENUPOPUP, WM_MENUSELECT & WM_MENUCHAR defines.
1994-02-02 06:48:31 +00:00

308 lines
10 KiB
Plaintext

Copyright Robert J. Amstadt, 1993. All code is provided without
warranty. All code is covered by the license contained in the file
LICENSE unless explicitly stated in the individual source file.
INSTALLATION:
Linux:
Uncompress and untar this archive into the directory of your
choice. This release requires a Linux version 0.99 pl13 kernel
or above.
NetBSD:
If you use BSD make rather than GNU make, you must apply the patches
in the file "bsdmake.patch". This release requires NetBSD-current.
All:
To build Wine, first do a "make depend" and then a "make". The
executable "wine" will be built. "wine" will load and run Windows'
executables. You must have a file "wine.ini" in the current directory,
your homedirectory, or in the path specified by the environment
variable WINEPATH. Multiple directories in WINEPATH should be seperated
by semi-colons and NOT by colons!
You must specify the entire path to the executable, or a filename only
(using the path= statement in wine.ini as the search path)
For example: to run Windows' solitaire:
export WINEPATH=/etc;/usr/windows
wine sol (using the path= statement in wine.ini
wine sol.exe as the search path)
wine c:\\windows\\sol.exe (using a dosfilename)
wine /usr/windows/sol.exe (using a unixfilename)
Have a nice game of solitaire, but be careful. Emulation isn't perfect.
So, occassionally it will crash.
WHAT'S NEW with Wine-940201: (see ChangeLog for details)
- Support for huge data structures.
- FreeBSD support.
- Many many bug fixes
WHAT'S NEW with version 0.8: (see ChangeLog for details)
- Eliminated Xt-dependent code. Thanks to Alexandre and Martin.
- EnumWindows() and EnumChildWindows()
- Activating and deactivating of windows.
- More work on system menus.
WHAT'S NEW with version 0.7: (see ChangeLog for details)
- Eliminated Xt-dependent code. Thanks to Alexandre and Martin.
- Other bug fixes.
- IsWIndowEnabled() and EnableWindow() now implemented.
- New command line options.
WHAT'S NEW with version 0.6: (see ChangeLog for details)
- Working towards elimination of Xt-dependent code. Thanks to
Alexandre and Martin.
- Other bug fixes.
- I added a rudimentary spy facility which can be turned
on from the wine.ini file. See the sample wine.ini
for details
WHAT'S NEW with version 0.5: (see ChangeLog for details)
- Working towards elimination of Xt-dependent code.
- StretchBlt()
- GetClassName() & GetClassInfo()
- Implemented loader relocation types 5 and 6.
WHAT'S NEW with version 0.4.14: (see ChangeLog for details)
- Bug fixes and enhancements
- Comm functions
- Text caret functions
WHAT'S NEW with version 0.4.13: (see ChangeLog for details)
- Bug fixes
- GetCapture()
- More keyboard handling
- Polyline() and Polygon()
WHAT'S NEW with version 0.4.12: (see ChangeLog for details)
- Bug fixes
- New DOS file functions
- Experimental Imakefiles
WHAT'S NEW with version 0.4.11: (see ChangeLog for details)
- Bug fixes
- New cursor functions
- New file system handling
- Atoms
WHAT'S NEW with version 0.4.10: (see ChangeLog for details)
- Bug fixes
- More scroll bar functions
- More icon and cursor handling
WHAT'S NEW with version 0.4.9: (see ChangeLog for details)
- Bug fixes
- real MessageBox()
- New resource functions
- Icon functions
- Selector manipulation functions
- Catch()/Throw()
WHAT'S NEW with version 0.4.7: (see ChangeLog for details)
- More dialog box functions
- More DOS interrupts
- NetBSD compatibility patches
WHAT'S NEW with version 0.4.5: (see ChangeLog for details)
- Bug fixes
- focus routines
- dialog box functions
- improvements to control windows
WHAT'S NEW with version 0.4.4: (see ChangeLog for details)
- Bug fixes
- New static control class
- Preliminary listbox, combobox and scrollbar controls
- System initialization file is now called "wine.ini", and
may be located in the user's current directory, the
user's home directory or any directory specified by
the WINEPATH environment variable.
- The loader now searches the directories specified by the
WINEPATH environment variable for programs and DLLs.
- Internal debugger now works on 386BSD.
WHAT'S NEW with version 0.4.3: (see ChangeLog for details)
- Bug fixes
- Resource loading now able to load DLL resources
- Button control now based on GDI calls
- Preliminary system color support
- Miscellaneous window functions
- Limited debugging facility (sometimes hangs)
WHAT'S NEW with version 0.4.2: (see ChangeLog for details)
- Bug fixes
- 32-bit callback functions allowed
- .INI file handling
- lstr* functions and ANSI<->OEM conversion functions.
WHAT'S NEW with version 0.4.1: (see ChangeLog for details)
- Bug fixes
- Memory usage changes.
WHAT'S NEW with version 0.4.0: (see ChangeLog for details)
- Wine now compiles and runs under NetBSD. Patches are
required for NetBSD.
- Wine stat patches included. Add "-DWINESTAT" to the definition
of COPTS in the main Makefile to activate.
- Preliminary keyboard handling.
- Button control window implemented.
- many other new functions added.
WHAT'S NEW with version 0.3.1: (see ChangeLog for details)
- LineDDA() completed
- numerous bug fixes
- INT 1Ah implemented
- SOUND DLL implemented
- More of WIN87EM DLL implemented
- OpenFile() and friends implemented
WHAT'S NEW with version 0.3.0: (see ChangeLog for details)
- Mouse capture
- Text justification and underlining
- Clipping
- LoadBitmap() completed
- Code generated by the Borland compiler should now work
WHAT'S NEW with version 0.2.8: (see ChangeLog for details)
- Text functions from Alexandre
- INT 21h from Eric
- Menu improvements from David
- Bug fixes and GetProcAddress() stub from me
WHAT'S NEW with version 0.2.7: (see ChangeLog for details)
- sol.exe gets further. I did some debugging and now solitaire
stops when it tries to call GetTextExtent(). Any volunteers?
- Many DC updates from Alexandre.
- Menu updates to support underlining characters from David Metcalfe.
WHAT'S NEW with version 0.2.6: (see ChangeLog for details)
- More region updates from Alexandre
WHAT'S NEW with version 0.2.5: (see ChangeLog for details)
- Regions implemented by Alexandre
- More menuing code from me
WHAT'S NEW with version 0.2.4: (see ChangeLog for details)
- Many improvements to GDI from Alexandre
- Many improvements to menu handling by me.
WHAT'S NEW with version 0.2.3: (see ChangeLog for details)
- Bug fixes with SendMessage() and PostMessage()
- Preliminary menu support
WHAT'S NEW with version 0.2.2: (see ChangeLog for details)
- Misc bug fixes
- More bitmap code
- Timers
- Memory DC's
WHAT'S NEW with version 0.2.1:
- I have placed things into sub-directories. The organization is
not finalized. I imagine that the directory structure will
change as is necessary. Files in the ./misc directory need
to be split apart and placed in apropriate directories.
- Tons of code from Alexandre. He has constructed the framework
for handling GDI objects. He has also provided code for DCEs.
- Local heap functions have been completed.
- Bug fixes in global.c and win.c
- New function GlobalQuickAlloc() combines GlobalAlloc() and
GlobalLock() into a single function call.
- New patch kit for Linux 0.99 pl11 kernel. Thanks to Linus
who has graciously included our patches into the ALPHA patch
release cycle.
WHAT'S NEW with version 0.2.0:
- Alexandre Julliard has provided a replacement for the Tcl code.
The new code uses Xlib and Xt directly with no intervening
interpretted language. This should reduce the learning
curve for casual hackers.
- I changed all GLOBAL_ names to Global.
WHAT'S NEW with version 0.1.1:
- I have completed global memory allocation, but I don't like it.
It is not 100% compatible with Windows. I need some more kernel
modifications for 100% compatibility.
- Alexandre Julliard has provided written better emulation for
the Windows message queue.
WHAT'S NEW with version 0.1.0:
- Latest patches from Alexandre Julliard.
- minor bug fix in if1632.S
WHAT'S NEW with version 0.0.5:
- Patches from Alexandre Julliard. Some integration with Tcl.
- Generic interface for callback procedures. This will allow
callbacks into DLLs.
- MakeProcInstance() has been implemented but untested.
WHAT'S NEW with version 0.0.4:
- Eric Youngdale modified wine.c and selector.c to allow loading
of Windows DLLs.
- Added global memory allocation routines (GlobalAlloc, GlobalFree,
and GlobalLock)
- Bitmap resource loading into global memory.
WHAT'S NEW with version 0.0.3:
- Fixed bug with sector sizes.
- Registers at program startup are now set correctly.
- Segment fixups for relocatable-segment internal entry points.
- Fixed bug in DOS PSP structure.
- Some resource loading is done.
- Added "return" ordinal type to build program.
- Added comment capability to build program.
WHAT'S NEW with version 0.0.2:
- Again thanks to Eric Youngdale for some very useful comments.
- The Windows startup code created by Micrsoft C 7.0 now runs
to completion.
- Added a new patch to the kernel to increase the usable size of
the ldt to the full 32 entries currently allowed.
- Imported name relocations are now supported.
- Source code for my infamous test program is now included.
- A handful of basic Windows functions are now emulated. See
"kernel.spec" for examples of how to use the build program.
WHAT'S NEW with version 0.0.1:
- Eric Youngdale contributed countless improvements in memory
efficiency, bug fixes, and relocation.
- The build program has been completed. It now lets you specify
how the main DLL entry point should interface to your emulation
library routines. A brief description of how to build these
specifications is included in the file "build-spec.txt".
- The code to dispatch builtin DLL calls is complete, but untested.
TODO:
- Segment fixup code completion.
- Trap and handle DOS and DPMI calls.
- GlobalAlloc of code segments.
- Rewrite global memory support including kernel mods to allow
application to mess with page map.
- Handle self-loading applications.
- Resource loading
- Lots and lots of API fiunctions.
BUILD:
The documentation for the build program is in the file build-spec.txt
FINALE:
Good luck,
If you successfully add anything, please send me a copy.
Bob Amstadt
bob@amscons.com