Skip to content
Snippets Groups Projects
README 3.02 KiB
Newer Older
Alexandre Julliard's avatar
Alexandre Julliard committed
Copyright  Robert J. Amstadt, 1993.  All code is provided without
warranty.  It is my intent to cover this code with the Gnu Public
License.

Alexandre Julliard's avatar
Alexandre Julliard committed
So here goes release 0.0.3 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.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.
Alexandre Julliard's avatar
Alexandre Julliard committed

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).
    - Allowing loading of 16-bit DLLs for use with program.
Alexandre Julliard's avatar
Alexandre Julliard committed
    - global memory allocation.
    - complete and improve local heap allocation.
    - Handle self-loading applications.
    - Deal with callback functions.
    - Resource loading
Alexandre Julliard's avatar
Alexandre Julliard committed

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