Release 0.1.0
[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 So here goes release 0.1.0 of the Windows loader.  It will do some 
6 relocations and then run the program.  I have successfully loaded 
7 the Windows solitaire game.  Try it.  It currently stops a call to
8 GetObject().
9
10 WHAT'S NEW with version 0.1.0:
11     - Integrated patches from Alexandre.
12     - Minor bug fix in if1632.S
13
14 WHAT'S NEW with version 0.0.5:
15     - Patches from Alexandre Julliard.  Some integration with Tcl.
16     - Generic interface for callback procedures.  This will allow
17       callbacks into DLLs.
18     - MakeProcInstance() has been implemented but untested.
19
20 WHAT'S NEW with version 0.0.4:
21     - Eric Youngdale modified wine.c and selector.c to allow loading
22       of Windows DLLs.
23     - Added global memory allocation routines (GlobalAlloc, GlobalFree,
24       and GlobalLock)
25     - Bitmap resource loading into global memory.
26
27 WHAT'S NEW with version 0.0.3:
28     - Fixed bug with sector sizes.
29     - Registers at program startup are now set correctly.
30     - Segment fixups for relocatable-segment internal entry points.
31     - Fixed bug in DOS PSP structure.
32     - Some resource loading is done.
33     - Added "return" ordinal type to build program.
34     - Added comment capability to build program.
35
36 WHAT'S NEW with version 0.0.2:
37
38     - Again thanks to Eric Youngdale for some very useful comments.
39     - The Windows startup code created by Micrsoft C 7.0 now runs 
40       to completion.
41     - Added a new patch to the kernel to increase the usable size of
42       the ldt to the full 32 entries currently allowed.
43     - Imported name relocations are now supported.
44     - Source code for my infamous test program is now included.
45     - A handful of basic Windows functions are now emulated.  See
46       "kernel.spec" for examples of how to use the build program.
47
48 WHAT'S NEW with version 0.0.1:
49
50     - Eric Youngdale contributed countless improvements in memory
51       efficiency, bug fixes, and relocation.
52     - The build program has been completed.  It now lets you specify
53       how the main DLL entry point should interface to your emulation
54       library routines.  A brief description of how to build these
55       specifications is included in the file "build-spec.txt".
56     - The code to dispatch builtin DLL calls is complete, but untested.
57
58 TODO:
59
60     - Segment fixup code completion.
61     - Trap and handle DOS and DPMI calls.
62     - global memory allocation completion
63     - GlobalAlloc should support ZEROINIT.
64     - GlobalAlloc of code segments.
65     - complete and improve local heap allocation.
66     - Handle self-loading applications.
67     - Resource loading
68
69 INSTALLATION:
70
71     Uncompress and untar this archive into the directory of your
72 choice.  The file "ldt.tar" contains a necessary kernel patch against
73 Linux 0.99.10.  "ldt.tar" is unchanged from the version released
74 with release 0.0.2.  In the directory /usr/src/linux (or whereever 
75 you keep your kernel sources), untar this file it contains three files:
76
77         kernel/ldt.c
78                 - This is source for a new system call.
79         
80         include/linux/ldt.h
81                 - This contains structures defining the system call
82                   interface.
83
84         ldt.patch
85                 - This is a patch that must be applied to the kernel.
86                   It updates two header files, and the kernel Makefile.
87
88 BUILD:
89
90     The documentation for the build program is in the file build-spec.txt
91
92 FINALE:
93
94 Good luck,
95
96         If you successfully add anything, please send me a copy.
97
98 Bob Amstadt
99 bob@amscons.com