Release 0.4.7
[wine] / README
1 Copyright  Robert J. Amstadt, 1993.  All code is provided without
2 warranty.  It is my intent to cover this code with the Gnu Public
3 License.
4
5 INSTALLATION:
6
7 Linux:
8
9     Uncompress and untar this archive into the directory of your
10 choice.  This release requires a Linux version 0.99 pl13 kernel
11 or above.
12
13 NetBSD:
14
15     If you use BSD make rather than GNU make, you must apply the patches
16 in the file "bsdmake.patch".  This release requires NetBSD-current.
17
18 All:
19
20 To build Wine, first do a "make depend" and then a "make".  The
21 executable "wine" will be built.  "wine" will load and run Windows'
22 executables.  You must specify the entire path to the executable,
23 have the executable in the current directory, or specify a load
24 path with environment variable WINEPATH.
25
26 For example, to run Windows' solitaire:
27
28         export WINEPATH=/dos/windows;/dos/windows/system
29         wine sol
30
31 Have a nice game of solitaire, but be careful.  Emulation isn't perfect.
32 So, occassionally it will crash.
33
34 WHAT'S NEW with version 0.4.7: (see ChangeLog for details)
35         - More dialog box functions
36         - More DOS interrupts
37         - NetBSD compatibility patches
38
39 WHAT'S NEW with version 0.4.5: (see ChangeLog for details)
40         - Bug fixes
41         - focus routines
42         - dialog box functions
43         - improvements to control windows
44
45 WHAT'S NEW with version 0.4.4: (see ChangeLog for details)
46         - Bug fixes
47         - New static control class
48         - Preliminary listbox, combobox and scrollbar controls
49         - System initialization file is now called "wine.ini", and
50           may be located in the user's current directory, the
51           user's home directory or any directory specified by
52           the WINEPATH environment variable.
53         - The loader now searches the directories specified by the
54           WINEPATH environment variable for programs and DLLs.
55         - Internal debugger now works on 386BSD.
56
57 WHAT'S NEW with version 0.4.3: (see ChangeLog for details)
58         - Bug fixes
59         - Resource loading now able to load DLL resources
60         - Button control now based on GDI calls
61         - Preliminary system color support
62         - Miscellaneous window functions
63         - Limited debugging facility (sometimes hangs)
64
65 WHAT'S NEW with version 0.4.2: (see ChangeLog for details)
66         - Bug fixes
67         - 32-bit callback functions allowed
68         - .INI file handling
69         - lstr* functions and ANSI<->OEM conversion functions.
70
71 WHAT'S NEW with version 0.4.1: (see ChangeLog for details)
72         - Bug fixes
73         - Memory usage changes.
74
75 WHAT'S NEW with version 0.4.0: (see ChangeLog for details)
76         - Wine now compiles and runs under NetBSD.  Patches are
77           required for NetBSD.
78         - Wine stat patches included.  Add "-DWINESTAT" to the definition
79           of COPTS in the main Makefile to activate.
80         - Preliminary keyboard handling.
81         - Button control window implemented.
82         - many other new functions added.
83
84 WHAT'S NEW with version 0.3.1: (see ChangeLog for details)
85         - LineDDA() completed
86         - numerous bug fixes
87         - INT 1Ah implemented
88         - SOUND DLL implemented
89         - More of WIN87EM DLL implemented
90         - OpenFile() and friends implemented
91
92 WHAT'S NEW with version 0.3.0: (see ChangeLog for details)
93         - Mouse capture
94         - Text justification and underlining
95         - Clipping
96         - LoadBitmap() completed
97         - Code generated by the Borland compiler should now work
98
99 WHAT'S NEW with version 0.2.8: (see ChangeLog for details)
100         - Text functions from Alexandre
101         - INT 21h from Eric
102         - Menu improvements from David
103         - Bug fixes and GetProcAddress() stub from me
104
105 WHAT'S NEW with version 0.2.7: (see ChangeLog for details)
106     - sol.exe gets further.  I did some debugging and now solitaire
107       stops when it tries to call GetTextExtent().  Any volunteers?
108     - Many DC updates from Alexandre.
109     - Menu updates to support underlining characters from David Metcalfe.
110
111 WHAT'S NEW with version 0.2.6: (see ChangeLog for details)
112     - More region updates from Alexandre
113
114 WHAT'S NEW with version 0.2.5: (see ChangeLog for details)
115     - Regions implemented by Alexandre
116     - More menuing code from me
117
118 WHAT'S NEW with version 0.2.4: (see ChangeLog for details)
119     - Many improvements to GDI from Alexandre
120     - Many improvements to menu handling by me.
121
122 WHAT'S NEW with version 0.2.3: (see ChangeLog for details)
123     - Bug fixes with SendMessage() and PostMessage()
124     - Preliminary menu support
125
126 WHAT'S NEW with version 0.2.2: (see ChangeLog for details)
127     - Misc bug fixes
128     - More bitmap code
129     - Timers
130     - Memory DC's
131
132 WHAT'S NEW with version 0.2.1:
133     - I have placed things into sub-directories.  The organization is
134       not finalized.  I imagine that the directory structure will
135       change as is necessary.  Files in the ./misc directory need
136       to be split apart and placed in apropriate directories.
137     - Tons of code from Alexandre.  He has constructed the framework
138       for handling GDI objects.  He has also provided code for DCEs.
139     - Local heap functions have been completed.
140     - Bug fixes in global.c and win.c
141     - New function GlobalQuickAlloc() combines GlobalAlloc() and
142       GlobalLock() into a single function call.
143     - New patch kit for Linux 0.99 pl11 kernel.  Thanks to Linus
144       who has graciously included our patches into the ALPHA patch
145       release cycle.
146
147 WHAT'S NEW with version 0.2.0:
148     - Alexandre Julliard has provided a replacement for the Tcl code.
149       The new code uses Xlib and Xt directly with no intervening
150       interpretted language.  This should reduce the learning
151       curve for casual hackers.
152     - I changed all GLOBAL_ names to Global.
153
154 WHAT'S NEW with version 0.1.1:
155     - I have completed global memory allocation, but I don't like it.
156       It is not 100% compatible with Windows.  I need some more kernel
157       modifications for 100% compatibility.
158     - Alexandre Julliard has provided written better emulation for
159       the Windows message queue.
160
161 WHAT'S NEW with version 0.1.0:
162     - Latest patches from Alexandre Julliard.
163     - minor bug fix in if1632.S
164
165 WHAT'S NEW with version 0.0.5:
166     - Patches from Alexandre Julliard.  Some integration with Tcl.
167     - Generic interface for callback procedures.  This will allow
168       callbacks into DLLs.
169     - MakeProcInstance() has been implemented but untested.
170
171 WHAT'S NEW with version 0.0.4:
172     - Eric Youngdale modified wine.c and selector.c to allow loading
173       of Windows DLLs.
174     - Added global memory allocation routines (GlobalAlloc, GlobalFree,
175       and GlobalLock)
176     - Bitmap resource loading into global memory.
177
178 WHAT'S NEW with version 0.0.3:
179     - Fixed bug with sector sizes.
180     - Registers at program startup are now set correctly.
181     - Segment fixups for relocatable-segment internal entry points.
182     - Fixed bug in DOS PSP structure.
183     - Some resource loading is done.
184     - Added "return" ordinal type to build program.
185     - Added comment capability to build program.
186
187 WHAT'S NEW with version 0.0.2:
188
189     - Again thanks to Eric Youngdale for some very useful comments.
190     - The Windows startup code created by Micrsoft C 7.0 now runs 
191       to completion.
192     - Added a new patch to the kernel to increase the usable size of
193       the ldt to the full 32 entries currently allowed.
194     - Imported name relocations are now supported.
195     - Source code for my infamous test program is now included.
196     - A handful of basic Windows functions are now emulated.  See
197       "kernel.spec" for examples of how to use the build program.
198
199 WHAT'S NEW with version 0.0.1:
200
201     - Eric Youngdale contributed countless improvements in memory
202       efficiency, bug fixes, and relocation.
203     - The build program has been completed.  It now lets you specify
204       how the main DLL entry point should interface to your emulation
205       library routines.  A brief description of how to build these
206       specifications is included in the file "build-spec.txt".
207     - The code to dispatch builtin DLL calls is complete, but untested.
208
209 TODO:
210
211     - Segment fixup code completion.
212     - Trap and handle DOS and DPMI calls.
213     - GlobalAlloc of code segments.
214     - Rewrite global memory support including kernel mods to allow
215       application to mess with page map.
216     - Handle self-loading applications.
217     - Resource loading
218     - Lots and lots of API fiunctions.
219
220 BUILD:
221
222     The documentation for the build program is in the file build-spec.txt
223
224 FINALE:
225
226 Good luck,
227
228         If you successfully add anything, please send me a copy.
229
230 Bob Amstadt
231 bob@amscons.com