Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
C JavaScript Objective-C Shell Visual Basic C++

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
COPYRIGHT
ChangeLog
Makefile
README
build-spec.txt
build.c
callback.c
callback.h
class.c
class.h
dlls.h
dump.c
event.c
gdi-ordinals
gdi.spec
global.c
heap.c
heap.h
if1632.S
kernel-ordinals
kernel.c
kernel.spec
ldt.c
ldt.tar
ldt512.tar
ldtlib.c
message.c
message.h
neexe.h
prototypes.h
relay.c
resource.c
segmem.h
selector.c
shell.spec
unixlib.spec
user-ordinals
user.c
user.spec
widgets.c
win.c
win.h
win87em.spec
windows.h
wine.c
wine.h
xt.c

README

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
Something went wrong with that request. Please try again.