| 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.0.2 of the Windows loader. It will do some |
| relocations and then run the program. The program test.exe is a |
| Windows executable. Try the command "wine test.exe". |
| |
| 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. |
| - Make changes to the kernel to allow more than 32 LDT entries. |
| - Trap and handle DOS and DPMI calls. |
| - Windows emulation library (connect to Peter MacDonald's library). |
| - Set registers correctly when starting Windows program. |
| - Allowing loading of 16-bit DLLs for use with program. |
| - global memory allocation |
| - complete and improve local heap allocation |
| |
| 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. If you installed the "ldt.tar" from the first release |
| of this package, then you MUST to replace it. 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. |
| |
| 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 |