Commit 692389d0 authored by Douglas Ridgway's avatar Douglas Ridgway Committed by Alexandre Julliard

Miscellaneous small fixes.

parent 1e360ebb
This is release 981108 of Wine, the MS Windows emulator. This is still a
developers only release. There are many bugs and many unimplemented API
features. Most applications still do not work correctly.
This is release 981108 of Wine, a free implementation of Windows on
Unix. This is still a developers only release. There are many bugs
and unimplemented features. Most applications still do not work
correctly.
Patches should be submitted to "julliard@lrc.epfl.ch". Please don't
forget to include a ChangeLog entry.
......@@ -26,7 +27,7 @@ from the following locations:
It should also be available from any site that mirrors tsx-11 or sunsite.
You can also get the current source directly from the CVS tree. Check
http://www.winehq.com/cvs.html for details.
http://www.winehq.com/dev.html for details.
If you submitted a patch, please check to make sure it has been
included in the new release.
......
This is intended to be a document to help new developers get started.
Existing developers should feel free to add their comments.
This document should help new developers get started. Like all of Wine, it
is a work in progress.
SOURCE TREE STRUCTURE
=====================
Source tree is loosely based on the original Windows modules. Most
directories are shared between the binary emulator and the library.
The Wine source tree is loosely based on the original Windows modules.
Most of the source is concerned with implementing the Wine API, although
there are also various tools, documentation, sample Winelib code, and
code specific to the binary loader.
Shared directories:
-------------------
Wine API directories:
---------------------
KERNEL:
files/ - file I/O
loader/ - Win16-, Win32-binary loader
memory/ - memory management
msdos/ - DOS and BIOS emulation
msdos/ - DOS features and BIOS calls (interrupts)
scheduler/ - process and thread management
GDI:
......@@ -31,34 +33,39 @@ USER:
resources/ - built-in dialog resources
windows/ - window management
Other DLLs:
dlls/*/ - Other system DLLs implemented by Wine
Miscellaneous:
misc/ - shell, registry, winsock, etc...
misc/ - shell, registry, winsock, etc.
multimedia/ - multimedia driver
ipc/ - SysV IPC management
ipc/ - SysV IPC based interprocess communication
win32/ - misc Win32 functions
Tools:
------
rc/ - resource compiler
tools/ - relay code builder + misc tools
rc/ - old resource compiler
tools/ - relay code builder, new rc, etc.
documentation/ - some documentation
Emulator-specific directories:
------------------------------
Binary loader specific directories:
-----------------------------------
debugger/ - built-in debugger
if1632/ - relay code
miscemu/ - hardware instruction emulation
graphics/win16drv/ - Win16 printer driver
Winelib-specific directories:
Winelib specific directories:
-----------------------------
library/ - Winelib-specific routines (should disappear)
programs/ - utilities (Progman, WinHelp)
libtest/ - Winelib test samples
library/ - Required code for programs using Winelib
libtest/ - Small samples and tests
programs/ - Extended samples / system utilities
IMPLEMENTING NEW API CALLS
==========================
......@@ -184,8 +191,7 @@ NAMING CONVENTIONS FOR API FUNCTIONS AND TYPES
==============================================
In order to support both Win16 and Win32 APIs within the same source
code, as well as share the include files between the emulator and the
library, the following convention must be used in naming all API
code, the following convention must be used in naming all API
functions and types. If the Windows API uses the name 'xxx', the Wine
code must use:
......@@ -197,9 +203,9 @@ code must use:
You should then use the macros WINELIB_NAME[_AW](xxx) or
DECL_WINELIB_TYPE[_AW](xxx) (defined in include/wintypes.h) to define
the correct 'xxx' function or type for Winelib. When compiling the
emulator, 'xxx' is _not_ defined, meaning that you must always specify
explicitly whether you want the 16-bit or 32-bit version.
the correct 'xxx' function or type for Winelib. When compiling Wine
itself, 'xxx' is _not_ defined, meaning that code inside of Wine must
always specify explicitly the 16-bit or 32-bit version.
If 'xxx' is the same in Win16 and Win32, or if 'xxx' is Win16 only,
you can simply use the same name as Windows, i.e. just 'xxx'. If
......
1. INTRODUCTION
Wine is a program that allows running MS-Windows programs under X11.
It consists of a program loader, that loads and executes an
MS-Windows binary, and of an emulation library that translates Windows
API calls to their Unix/X11 equivalent.
Wine is a program which allows running Microsoft Windows programs
(including DOS, Windows 3.x and Win32 executables) on Unix. It
consists of a program loader which loads and executes an Microsoft
Windows binary, and a library that implements Windows API calls using
their Unix or X11 equivalents. The library may also be used for
porting Win32 code into native Unix executables.
Wine is free software. See the file LICENSE for the details.
Basically, you can do anything with it, except claim that you wrote it.
Wine is free software, and its license (contained in the file LICENSE)
is BSD style. Basically, you can do anything with it except claim
that you wrote it.
2. COMPILATION
To compile the emulator, you must have one of:
To compile Wine, you must have one of:
Linux version 0.99.13 or above
NetBSD-current
......@@ -62,24 +65,20 @@ wine.ini contains a config file example.
When invoking Wine, you must specify the entire path to the executable,
or a filename only.
For example: to run Windows' solitaire:
For example: to run Solitaire:
wine sol (using the searchpath to locate the file)
wine sol.exe
wine c:\\windows\\sol.exe (using a dosfilename)
wine c:\\windows\\sol.exe (using a DOS filename)
wine /usr/windows/sol.exe (using a unixfilename)
wine /usr/windows/sol.exe (using a Unix filename)
Note: the path of the file will also be added to the path when
a full name is supplied on the commandline.
Have a nice game of solitaire, but be careful. Emulation isn't perfect.
So, occasionally it may crash.
UPDATE: Windows 95 components are known to cause more crashes compared
to the equivalent Windows 3.1 libraries.
Wine is not yet complete, so some programs may crash. You will be dropped
into a debugger so that you can investigate and fix the problem.
5. GETTING MORE INFORMATION
......@@ -87,16 +86,17 @@ Usenet: The best place to get help or to report bugs is the Usenet newsgroup
comp.emulators.ms-windows.wine. The Wine FAQ is posted there every
month.
WWW: Please browse old messages on http://www.dejanews.com to check whether
WWW: Please browse old messages on http://www.dejanews.com/ to check whether
your problem is already fixed before posting a bug report to the
newsgroup.
A great deal of information about Wine is available from WineHQ at
http://www.winehq.com. Untested patches against the current
release are available at http://www.winehq.com/patches.
http://www.winehq.com/. Untested patches against the current release
are available on the wine-patches mailing list; see
http://www.winehq.com/dev.html#ml for more information.
CVS: The current Wine development tree is available through CVS.
Go to http://www.winehq.com/cvs.html for more information.
Go to http://www.winehq.com/dev.html for more information.
FAQ: The Wine FAQ is located at http://pw1.netcom.com/~dagar/wine.html.
......
......@@ -4,8 +4,8 @@
Wine Man Page
The man page for the wine emulator is in this directory. It is installed
by 'make install'.
The man page for Wine is in this directory. It is installed by 'make
install'.
Wine Reference Manual
......
......@@ -100,17 +100,17 @@ to include/config.h.in
The next step depends on the nature of the missing function.
Case 1: It's easy to write a complete emulation of the
Case 1: It's easy to write a complete implementation of the
function. (`memmove' belongs to this case.)
You add your emulation in misc/port.c surrounded by
You add your implementation in misc/port.c surrounded by
"#ifndef HAVE_MEMMOVE" and "#endif".
You might have to add a prototype for your function. If so,
include/miscemu.h might be the place. Don't forget to protect
that definition by "#ifndef HAVE_MEMMOVE" and "#endif" also!
Case 2: A general emulation is hard, but Wine is only using
Case 2: A general implementation is hard, but Wine is only using
a special case.
An example is the various "wait" calls used in SIGNAL_child
......
.\" -*- nroff -*-
.TH WINE 1 "October 20, 1998" "Version 981018" "Windows Emulator"
.TH WINE 1 "October 20, 1998" "Version 981018" "Windows On Unix"
.SH NAME
wine \- run Windows programs under Unix
wine \- run Windows programs on Unix
.SH SYNOPSIS
.B wine
[
......@@ -20,7 +20,9 @@ wine \- run Windows programs under Unix
]
.SH DESCRIPTION
.B wine
invokes the Windows emulator.
.I program
loads and runs the given program, where the program is a DOS, Windows 3.x,
or Win32 executable.
.PP
.B wine
currently runs a growing list of applications written for both Win3.1 and
......@@ -441,12 +443,12 @@ or 'Wine-yymmdd.diff.gz' for the diff's from the previous release.
The latest snapshot of the code may be obtained via CVS. For information
on how to do this, please see
.I
http://www.winehq.com/cvs.html
http://www.winehq.com/dev.html
.PP
The
WineHQ, the
.B wine
homepage is at
.I http://www.winehq.com.
development headquarters, is at
.I http://www.winehq.com/.
This website contains a great deal of information about
.B wine
as well as a collection of unofficial patches against the current release.
......@@ -460,7 +462,7 @@ All discussions about the project take place in this forum.
.PD 0
.TP
.I /usr/local/bin/wine
The invoker program.
The Wine program loader.
.TP
.I /usr/local/etc/wine.conf
Global configuration file for wine.
......
......@@ -10,7 +10,7 @@
@ifinfo
@format
START-INFO-DIR-ENTRY
* wine: (wine.info). The Windows Emulator.
* wine: (wine.info). Windows on Unix.
END-INFO-DIR-ENTRY
@end format
@end ifinfo
......@@ -20,7 +20,8 @@ END-INFO-DIR-ENTRY
@end iftex
@ifinfo
This file documents Wine, the Windows Emulator.
This file documents Wine, a system providing Microsoft Windows compatibility
to Unix.
@c
Copyright @copyright{} 1997,1998 The Wine authors. @*
......@@ -261,11 +262,13 @@ Not yet implemented.
This is edition @winemanualversion{}, last updated @winemanualdate{},
of @winemanualtitle{}.
Wine (Wine Is Not an Emulator, or the WINdows Emulator)
is both an emulator that runs @mswindows{} executables and a library
that can be used to compile @mswindows{} source code.
Wine provides both source and binary compatibility with Microsoft Windows.
The Wine API is designed to be as compatible as possible with various
implementations of the Windows APIs. The Wine library allows porting
Windows source to Unix, and a program loader allows unaltered Windows binaries
to be run on Unix.
Wine is free software. Wine is still in development-only state.
Wine is free software. Wine is still under development.
@end ifinfo
@menu
......@@ -356,9 +359,9 @@ designed to be as compatible as possible with the
@item
A library, called @winelib{}, which implements this API
@item
A binary compatibility layer, sometimes referred to as the Wine
emulator, which acts as a program loader for native Windows binaries.
The emulator works for both 16 and 32 bit Intel binaries, and
A binary compatibility layer
acts as a program loader for native Windows binaries.
It works for both 16 and 32 bit Intel binaries, and
provides all the appropriate translation between 16 and 32 bit code
(thunking). Real mode interrupts are also supported, and their
functionality is implemented in @winelib{}.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment