Release 940201
[wine/multimedia.git] / README
blob6b0e42a35456db064cfd21948d004c0da18771f0
1 Copyright  Robert J. Amstadt, 1993.  All code is provided without
2 warranty.  All code is covered by the license contained in the file
3 LICENSE unless explicitly stated in the individual source file.
5 INSTALLATION:
7 Linux:
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.
13 NetBSD:
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.
18 All:
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 have a file "wine.ini" in the current directory,
23 your homedirectory, or in the path specified by the environment 
24 variable WINEPATH. Multiple directories in WINEPATH should be seperated
25 by semi-colons and NOT by colons!
27 You must specify the entire path to the executable, or a filename only
28 (using the path= statement in wine.ini as the search path)
30 For example: to run Windows' solitaire:
32         export WINEPATH=/etc;/usr/windows
34         wine sol                   (using the path= statement in wine.ini
35         wine sol.exe                as the search path)
37         wine c:\\windows\\sol.exe  (using a dosfilename)
39         wine /usr/windows/sol.exe  (using a unixfilename)
41 Have a nice game of solitaire, but be careful.  Emulation isn't perfect.
42 So, occassionally it will crash.
44 WHAT'S NEW with Wine-940201: (see ChangeLog for details)
45         - Support for huge data structures.
46         - FreeBSD support.
47         - Many many bug fixes
49 WHAT'S NEW with version 0.8: (see ChangeLog for details)
50         - Eliminated Xt-dependent code.  Thanks to Alexandre and Martin.
51         - EnumWindows() and EnumChildWindows()
52         - Activating and deactivating of windows.
53         - More work on system menus.
55 WHAT'S NEW with version 0.7: (see ChangeLog for details)
56         - Eliminated Xt-dependent code.  Thanks to Alexandre and Martin.
57         - Other bug fixes.
58         - IsWIndowEnabled() and EnableWindow() now implemented.
59         - New command line options.
61 WHAT'S NEW with version 0.6: (see ChangeLog for details)
62         - Working towards elimination of Xt-dependent code.  Thanks to
63           Alexandre and Martin.
64         - Other bug fixes.
65         - I added a rudimentary spy facility which can be turned
66           on from the wine.ini file.  See the sample wine.ini
67           for details
69 WHAT'S NEW with version 0.5: (see ChangeLog for details)
70         - Working towards elimination of Xt-dependent code.
71         - StretchBlt()
72         - GetClassName() & GetClassInfo()
73         - Implemented loader relocation types 5 and 6.
75 WHAT'S NEW with version 0.4.14: (see ChangeLog for details)
76         - Bug fixes and enhancements
77         - Comm functions
78         - Text caret functions
80 WHAT'S NEW with version 0.4.13: (see ChangeLog for details)
81         - Bug fixes
82         - GetCapture()
83         - More keyboard handling
84         - Polyline() and Polygon()
86 WHAT'S NEW with version 0.4.12: (see ChangeLog for details)
87         - Bug fixes
88         - New DOS file functions
89         - Experimental Imakefiles
91 WHAT'S NEW with version 0.4.11: (see ChangeLog for details)
92         - Bug fixes
93         - New cursor functions
94         - New file system handling
95         - Atoms
97 WHAT'S NEW with version 0.4.10: (see ChangeLog for details)
98         - Bug fixes
99         - More scroll bar functions
100         - More icon and cursor handling
102 WHAT'S NEW with version 0.4.9: (see ChangeLog for details)
103         - Bug fixes
104         - real MessageBox()
105         - New resource functions
106         - Icon functions
107         - Selector manipulation functions
108         - Catch()/Throw()
110 WHAT'S NEW with version 0.4.7: (see ChangeLog for details)
111         - More dialog box functions
112         - More DOS interrupts
113         - NetBSD compatibility patches
115 WHAT'S NEW with version 0.4.5: (see ChangeLog for details)
116         - Bug fixes
117         - focus routines
118         - dialog box functions
119         - improvements to control windows
121 WHAT'S NEW with version 0.4.4: (see ChangeLog for details)
122         - Bug fixes
123         - New static control class
124         - Preliminary listbox, combobox and scrollbar controls
125         - System initialization file is now called "wine.ini", and
126           may be located in the user's current directory, the
127           user's home directory or any directory specified by
128           the WINEPATH environment variable.
129         - The loader now searches the directories specified by the
130           WINEPATH environment variable for programs and DLLs.
131         - Internal debugger now works on 386BSD.
133 WHAT'S NEW with version 0.4.3: (see ChangeLog for details)
134         - Bug fixes
135         - Resource loading now able to load DLL resources
136         - Button control now based on GDI calls
137         - Preliminary system color support
138         - Miscellaneous window functions
139         - Limited debugging facility (sometimes hangs)
141 WHAT'S NEW with version 0.4.2: (see ChangeLog for details)
142         - Bug fixes
143         - 32-bit callback functions allowed
144         - .INI file handling
145         - lstr* functions and ANSI<->OEM conversion functions.
147 WHAT'S NEW with version 0.4.1: (see ChangeLog for details)
148         - Bug fixes
149         - Memory usage changes.
151 WHAT'S NEW with version 0.4.0: (see ChangeLog for details)
152         - Wine now compiles and runs under NetBSD.  Patches are
153           required for NetBSD.
154         - Wine stat patches included.  Add "-DWINESTAT" to the definition
155           of COPTS in the main Makefile to activate.
156         - Preliminary keyboard handling.
157         - Button control window implemented.
158         - many other new functions added.
160 WHAT'S NEW with version 0.3.1: (see ChangeLog for details)
161         - LineDDA() completed
162         - numerous bug fixes
163         - INT 1Ah implemented
164         - SOUND DLL implemented
165         - More of WIN87EM DLL implemented
166         - OpenFile() and friends implemented
168 WHAT'S NEW with version 0.3.0: (see ChangeLog for details)
169         - Mouse capture
170         - Text justification and underlining
171         - Clipping
172         - LoadBitmap() completed
173         - Code generated by the Borland compiler should now work
175 WHAT'S NEW with version 0.2.8: (see ChangeLog for details)
176         - Text functions from Alexandre
177         - INT 21h from Eric
178         - Menu improvements from David
179         - Bug fixes and GetProcAddress() stub from me
181 WHAT'S NEW with version 0.2.7: (see ChangeLog for details)
182     - sol.exe gets further.  I did some debugging and now solitaire
183       stops when it tries to call GetTextExtent().  Any volunteers?
184     - Many DC updates from Alexandre.
185     - Menu updates to support underlining characters from David Metcalfe.
187 WHAT'S NEW with version 0.2.6: (see ChangeLog for details)
188     - More region updates from Alexandre
190 WHAT'S NEW with version 0.2.5: (see ChangeLog for details)
191     - Regions implemented by Alexandre
192     - More menuing code from me
194 WHAT'S NEW with version 0.2.4: (see ChangeLog for details)
195     - Many improvements to GDI from Alexandre
196     - Many improvements to menu handling by me.
198 WHAT'S NEW with version 0.2.3: (see ChangeLog for details)
199     - Bug fixes with SendMessage() and PostMessage()
200     - Preliminary menu support
202 WHAT'S NEW with version 0.2.2: (see ChangeLog for details)
203     - Misc bug fixes
204     - More bitmap code
205     - Timers
206     - Memory DC's
208 WHAT'S NEW with version 0.2.1:
209     - I have placed things into sub-directories.  The organization is
210       not finalized.  I imagine that the directory structure will
211       change as is necessary.  Files in the ./misc directory need
212       to be split apart and placed in apropriate directories.
213     - Tons of code from Alexandre.  He has constructed the framework
214       for handling GDI objects.  He has also provided code for DCEs.
215     - Local heap functions have been completed.
216     - Bug fixes in global.c and win.c
217     - New function GlobalQuickAlloc() combines GlobalAlloc() and
218       GlobalLock() into a single function call.
219     - New patch kit for Linux 0.99 pl11 kernel.  Thanks to Linus
220       who has graciously included our patches into the ALPHA patch
221       release cycle.
223 WHAT'S NEW with version 0.2.0:
224     - Alexandre Julliard has provided a replacement for the Tcl code.
225       The new code uses Xlib and Xt directly with no intervening
226       interpretted language.  This should reduce the learning
227       curve for casual hackers.
228     - I changed all GLOBAL_ names to Global.
230 WHAT'S NEW with version 0.1.1:
231     - I have completed global memory allocation, but I don't like it.
232       It is not 100% compatible with Windows.  I need some more kernel
233       modifications for 100% compatibility.
234     - Alexandre Julliard has provided written better emulation for
235       the Windows message queue.
237 WHAT'S NEW with version 0.1.0:
238     - Latest patches from Alexandre Julliard.
239     - minor bug fix in if1632.S
241 WHAT'S NEW with version 0.0.5:
242     - Patches from Alexandre Julliard.  Some integration with Tcl.
243     - Generic interface for callback procedures.  This will allow
244       callbacks into DLLs.
245     - MakeProcInstance() has been implemented but untested.
247 WHAT'S NEW with version 0.0.4:
248     - Eric Youngdale modified wine.c and selector.c to allow loading
249       of Windows DLLs.
250     - Added global memory allocation routines (GlobalAlloc, GlobalFree,
251       and GlobalLock)
252     - Bitmap resource loading into global memory.
254 WHAT'S NEW with version 0.0.3:
255     - Fixed bug with sector sizes.
256     - Registers at program startup are now set correctly.
257     - Segment fixups for relocatable-segment internal entry points.
258     - Fixed bug in DOS PSP structure.
259     - Some resource loading is done.
260     - Added "return" ordinal type to build program.
261     - Added comment capability to build program.
263 WHAT'S NEW with version 0.0.2:
265     - Again thanks to Eric Youngdale for some very useful comments.
266     - The Windows startup code created by Micrsoft C 7.0 now runs 
267       to completion.
268     - Added a new patch to the kernel to increase the usable size of
269       the ldt to the full 32 entries currently allowed.
270     - Imported name relocations are now supported.
271     - Source code for my infamous test program is now included.
272     - A handful of basic Windows functions are now emulated.  See
273       "kernel.spec" for examples of how to use the build program.
275 WHAT'S NEW with version 0.0.1:
277     - Eric Youngdale contributed countless improvements in memory
278       efficiency, bug fixes, and relocation.
279     - The build program has been completed.  It now lets you specify
280       how the main DLL entry point should interface to your emulation
281       library routines.  A brief description of how to build these
282       specifications is included in the file "build-spec.txt".
283     - The code to dispatch builtin DLL calls is complete, but untested.
285 TODO:
287     - Segment fixup code completion.
288     - Trap and handle DOS and DPMI calls.
289     - GlobalAlloc of code segments.
290     - Rewrite global memory support including kernel mods to allow
291       application to mess with page map.
292     - Handle self-loading applications.
293     - Resource loading
294     - Lots and lots of API fiunctions.
296 BUILD:
298     The documentation for the build program is in the file build-spec.txt
300 FINALE:
302 Good luck,
304         If you successfully add anything, please send me a copy.
306 Bob Amstadt
307 bob@amscons.com