diff --git a/ANNOUNCE b/ANNOUNCE index 9aea0c440d8..5c78f1a48c0 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,6 +1,7 @@ -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. diff --git a/DEVELOPERS-HINTS b/DEVELOPERS-HINTS index 3070e8d73d5..50726c4e5ea 100644 --- a/DEVELOPERS-HINTS +++ b/DEVELOPERS-HINTS @@ -1,21 +1,23 @@ -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 diff --git a/README b/README index 9a315bf5343..cd189058662 100644 --- a/README +++ b/README @@ -1,17 +1,20 @@ 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. diff --git a/documentation/README.documentation b/documentation/README.documentation index a94d4b9fa7f..87af6909ed9 100644 --- a/documentation/README.documentation +++ b/documentation/README.documentation @@ -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 diff --git a/documentation/how-to-port b/documentation/how-to-port index 5800f92ee0f..4a89821e132 100644 --- a/documentation/how-to-port +++ b/documentation/how-to-port @@ -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 diff --git a/documentation/wine.man b/documentation/wine.man index df226fa555c..8d0b81ffaa9 100644 --- a/documentation/wine.man +++ b/documentation/wine.man @@ -1,7 +1,7 @@ .\" -*- 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. diff --git a/documentation/wine.texinfo b/documentation/wine.texinfo index 01a14ecc203..050c23a3fda 100644 --- a/documentation/wine.texinfo +++ b/documentation/wine.texinfo @@ -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{}.