| 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 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 |