| Copyright Robert J. Amstadt, 1993. All code is provided without |
| warranty. It is my intent to cover this code with the Gnu Public |
| License. |
| |
| So here goes release 0.2.0 of the Windows loader. It will do some |
| relocations and then run the program. I have successfully loaded |
| the Windows solitaire game. Try it. It currently stops a call to |
| GetObject(). |
| |
| 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. |
| - complete and improve local heap allocation. |
| - Handle self-loading applications. |
| - Resource loading |
| |
| INSTALLATION: |
| |
| Uncompress and untar this archive into the directory of your |
| choice. The file "ldt.tar" contains a necessary kernel patch against |
| Linux 0.99.10. "ldt.tar" is unchanged from the version released |
| with release 0.0.2. In the directory /usr/src/linux (or whereever |
| you keep your kernel sources), untar this file it contains three files: |
| |
| kernel/ldt.c |
| - This is source for a new system call. |
| |
| include/linux/ldt.h |
| - This contains structures defining the system call |
| interface. |
| |
| ldt.patch |
| - This is a patch that must be applied to the kernel. |
| It updates two header files, and the kernel Makefile. |
| |
| Or follow the same procedure with "ldt512.tar". This file contains |
| Eric Youngdales patches for ALPHA-pl11. These patches give the |
| emulator 512 ldt entries instead of the 32 available with the older |
| patch kit. |
| |
| 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 |