[comp.sources.games] v12i025: NetHack3 - display oriented dungeons & dragons

billr@saab.CNA.TEK.COM (Bill Randle) (02/09/91)

Submitted-by: Izchak Miller <izchak@linc.cis.upenn.edu>
Posting-number: Volume 12, Issue 25
Archive-name: NetHack3/Patch10a
Patch-To: NetHack3: Volume 7, Issue 56-93
Environment: 


[[Patch 10 to NetHack 3.0 adds no new features, and few optimizations.
It fixes many mostly rare bugs and extends support to a couple more
system variants.

The major change with this patch is that the MSDOS overlay manager is
now bright enough to split up one logical executable among several disk
files, thus simplifying distribution via floppies since each file can
be <360K.  Entering debugging mode for the Macintosh is simplified.
There are provisions for later versions of several compilers, although
not yet Turbo C++, as we have not gotten an executable with adequate
performance (see Install.ovl for gory details).

NetHack should now get along better with Irises, IBM RS/6000s, NeXTs,
and possibly even SCO UNIX.

Among the dead bugs are those involving artifact damage, VMS file
manipulation, crushed iron balls, elven equipment, orcs with 2^32-1
daggers, trolls with ridiculously high hitpoints, exploding bags of
holding on the ground, inappropriate messages, saved luck, unbounded
digging on special levels, and several distinct trap problems.]]

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 1 (of 8)."
# Contents:  MANIFEST.P10 patch10.01
# Wrapped by billr@saab on Fri Feb  8 17:18:56 1991
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'MANIFEST.P10' -a "${1}" != "-c" ; then 
  echo shar: Renaming existing file \"'MANIFEST.P10'\" to \"'MANIFEST.P10.orig'\"
  mv -f 'MANIFEST.P10' 'MANIFEST.P10.orig'
fi
echo shar: Extracting \"'MANIFEST.P10'\" \(641 characters\)
sed "s/^X//" >'MANIFEST.P10' <<'END_OF_FILE'
X   File Name		Archive #	Description
X-----------------------------------------------------------
X Install.mac                8	
X MANIFEST.P10               1	This shipping list
X UPDATE10                   3	
X do_patch10.sh              2	
X mac/NH.proj.hqx            6	
X mac/NH.rsrc.hqx            6	
X mac/SL.proj.hqx            7	
X others/exesmurf.c          8	
X others/exesmurf.doc        8	
X others/ovlmgr.doc          7	
X others/ovlmgr.uu           7	
X patch10.01                 1	
X patch10.02                 5	
X patch10.03                 2	
X patch10.04                 4	
X patch10.05                 3	
X src/lev_main.c             8	
END_OF_FILE
if test 641 -ne `wc -c <'MANIFEST.P10'`; then
    echo shar: \"'MANIFEST.P10'\" unpacked with wrong size!
fi
# end of 'MANIFEST.P10'
if test -f 'patch10.01' -a "${1}" != "-c" ; then 
  echo shar: Renaming existing file \"'patch10.01'\" to \"'patch10.01.orig'\"
  mv -f 'patch10.01' 'patch10.01.orig'
fi
echo shar: Extracting \"'patch10.01'\" \(51657 characters\)
sed "s/^X//" >'patch10.01' <<'END_OF_FILE'
X*** Files	Fri Jun  1 08:33:57 1990
X--- Files	Thu Jan 31 12:07:06 1991
X***************
X*** 49,57 ****
X  others:
X  (files for MSDOS (and OS/2) version)
X  Makefile.lib    Makefile.msc    Makefile.os2    Makefile.ovl    Makefile.pc
X! Makefile.tcc    NetHack.cnf     exesmurf.c      exesmurf.uu     maintain.ovl
X! ovlmgr.asm      ovlmgr.doc      ovlmgr.uu       splitf.c        splitf.uu
X! suputils.ovl    termcap.uu      trampoli.c
X  (file for MSDOS and VMS versions)
X  termcap
X  (files for MSDOS, Amiga, and Atari versions)
X--- 49,56 ----
X  others:
X  (files for MSDOS (and OS/2) version)
X  Makefile.lib    Makefile.msc    Makefile.os2    Makefile.ovl    Makefile.pc
X! Makefile.tcc    NetHack.cnf     exesmurf.c      exesmurf.doc    maintain.ovl
X! ovlmgr.asm      ovlmgr.doc      ovlmgr.uu       termcap.uu      trampoli.c
X  (file for MSDOS and VMS versions)
X  termcap
X  (files for MSDOS, Amiga, and Atari versions)
X*** Install.ami	Tue Jun 26 21:19:54 1990
X--- Install.ami	Mon Feb  4 16:19:35 1991
X***************
X*** 2,8 ****
X  	Instructions for compiling and installing NetHack 3.0
X  			on an AMIGA system
X  	=====================================================
X! 		    Last Revision: 27 May 1990
X  
X  Overview
X  --------
X--- 2,8 ----
X  	Instructions for compiling and installing NetHack 3.0
X  			on an AMIGA system
X  	=====================================================
X! 		    Last Revision: 4 February, 1991
X  
X  Overview
X  --------
X***************
X*** 18,29 ****
X  
X  Requirements
X  ------------
X!     Amiga 500,1000,2000,2500  running WorkBench 1.3 and KickStart 1.2 or 1.3.
X!     (As of this time, the Amiga 3000 running beta-release versions of
X!     WorkBench 2.0 are not supported.  While the core of the game appears to
X!     function, the custom font is not recognized by the operating system.
X!     The NetHack team welcomes reports of specific problems and solutions on
X!     this [or any other] subject.)
X  	one meg of RAM and one floppy drive (painful, but functional)
X  or	one meg of RAM and two floppy drives (much better)
X  or	more than one meg of RAM and a hard disk with 2+ meg free (best)
X--- 18,27 ----
X  
X  Requirements
X  ------------
X!     Amiga 500,1000,2000,2500 running WorkBench 1.3 and KickStart 1.2 or 1.3.
X!     Amiga 3000 running WorkBench 1.3 or 2.0.  For the Amiga 3000 under 2.0,
X!     be sure to follow the directions below (don't panic, the changes are
X!     minor.)
X  	one meg of RAM and one floppy drive (painful, but functional)
X  or	one meg of RAM and two floppy drives (much better)
X  or	more than one meg of RAM and a hard disk with 2+ meg free (best)
X***************
X*** 41,47 ****
X  	* NetHack (executable code)
X  	* Rumors file
X  	* Oracle file
X! 	* All of the various help and informational files (help, opthelp, etc)
X  	* Special level files (castle, tower1, tower2, tower3, endgame)
X  	* Amiga with at least 1 meg memory (may be optimistic....)
X  
X--- 39,45 ----
X  	* NetHack (executable code)
X  	* Rumors file
X  	* Oracle file
X! 	* All the various help and informational files (help, opthelp, etc)
X  	* Special level files (castle, tower1, tower2, tower3, endgame)
X  	* Amiga with at least 1 meg memory (may be optimistic....)
X  
X***************
X*** 58,64 ****
X      Installation Steps:
X  
X  	1) If you have a hard disk, create a directory named NetHack.
X! 	   Assign Nethack: to be the path to this directory.  If you have a
X  	   floppy, format a disk named NetHack.  (If you have a hard disk
X  	   but only one meg of memory, you will probably not have enough
X  	   memory: you may need to run from a floppy.)
X--- 56,62 ----
X      Installation Steps:
X  
X  	1) If you have a hard disk, create a directory named NetHack.
X! 	   Assign NetHack: to be the path to this directory.  If you have a
X  	   floppy, format a disk named NetHack.  (If you have a hard disk
X  	   but only one meg of memory, you will probably not have enough
X  	   memory: you may need to run from a floppy.)
X***************
X*** 66,72 ****
X  	2) If you have a hard disk, assign HackExe: to the above directory.
X  	   If you have a floppy, format an additional disk named HackExe.
X  
X! 	3) Copy Nethack, NetHack.info, NewGame.info, and NetHackScore.info
X  	   to HackExe.  Create an empty file called NewGame (WorkBench
X  	   refuses to Duplicate a project icon without a file attached).
X  
X--- 64,70 ----
X  	2) If you have a hard disk, assign HackExe: to the above directory.
X  	   If you have a floppy, format an additional disk named HackExe.
X  
X! 	3) Copy NetHack, NetHack.info, NewGame.info, and NetHackScore.info
X  	   to HackExe.  Create an empty file called NewGame (WorkBench
X  	   refuses to Duplicate a project icon without a file attached).
X  
X***************
X*** 82,98 ****
X  	   to set GRAPHICS if you are not using the optional font.  If you
X  	   have only one meg of ram, do not use a ram disk.
X  
X      That's all there is to it!  If you are using the CLI interface, make sure
X      that the stack is set fairly large (at LEAST 40000 bytes).  Move to the
X      NetHack: directory, and type NetHack <cmd line options>.  If you're
X      using the WorkBench interface, click on the NetHack directory/disk.
X!     You should see 3 icons.  Select the "NewGame" option, and "Duplicate" from
X!     the WorkBench pull down menu.  This icon now represents your personal
X!     profile.  You can now rename this icon, and tailor it to your liking
X!     as described below.  If you start a game from the WorkBench interface,
X!     saving the game will automatically tie the personal file icon to the
X!     saved game.  So the next time you select your icon, the game will be
X!     restored.
X  
X      As mentioned above, the icon representing your personal profile can be
X      customized.  This is done via the the Info command available from
X--- 80,104 ----
X  	   to set GRAPHICS if you are not using the optional font.  If you
X  	   have only one meg of ram, do not use a ram disk.
X  
X+ 	6) AMIGA 3000 running AmigaDos 2.0 ONLY:
X+ 	   If you are using the optional font, you need to build a new
X+ 	   hack.font file.  Execute the following commands from the CLI:
X+ 		copy NetHack:hack FONTS: all
X+ 		FixFonts
X+ 		copy FONTS:hack.font NetHack:
X+ 		delete FONTS:hack all
X+ 
X      That's all there is to it!  If you are using the CLI interface, make sure
X      that the stack is set fairly large (at LEAST 40000 bytes).  Move to the
X      NetHack: directory, and type NetHack <cmd line options>.  If you're
X      using the WorkBench interface, click on the NetHack directory/disk.
X!     You should see 3 icons.  Select the "NewGame" option, and "Duplicate"
X!     from the WorkBench pull down menu.  This icon now represents your
X!     personal profile.  You can now rename this icon, and tailor it to your
X!     liking as described below.  If you start a game from the WorkBench
X!     interface, saving the game will automatically tie the personal file icon
X!     to the saved game.  So the next time you double click your icon, the game
X!     will be restored.
X  
X      As mentioned above, the icon representing your personal profile can be
X      customized.  This is done via the the Info command available from
X***************
X*** 99,105 ****
X      WorkBench.  You can adjust the following using the ToolTypes from the
X      WorkBench info command:
X  
X! 	* OPTIONS=<options> - Options as avaliable in the NetHack.cnf file.
X  
X  	* HACKDIR=<directory> - Set NetHack working directory to be this
X  	  directory.
X--- 105,111 ----
X      WorkBench.  You can adjust the following using the ToolTypes from the
X      WorkBench info command:
X  
X! 	* OPTIONS=<options> - Options as available in the NetHack.cnf file.
X  
X  	* HACKDIR=<directory> - Set NetHack working directory to be this
X  	  directory.
X***************
X*** 226,234 ****
X      for the function yyunput.  Delete the word "register" from this line.
X      Note that if you neglect to do this, you will get an Error 72 at line 319
X      of file lev_comp.l (this is the correct message - lev_lex.c is flex output).
X!     Save the changed file.  Later compiler versions may or may not need this
X!     fix.
X  
X      Type 'CD NetHack:' and then type "lmk -f Amiga:Makefile.ami".  If all
X      goes well, you'll have a working binary a couple of hours later (depending
X      on your hardware configuration).  A couple of notes and warnings from the
X--- 232,243 ----
X      for the function yyunput.  Delete the word "register" from this line.
X      Note that if you neglect to do this, you will get an Error 72 at line 319
X      of file lev_comp.l (this is the correct message - lev_lex.c is flex output).
X!     Save the changed file.  Later compiler versions do not need this fix.
X  
X+     There is one other bug available: depending on the way your versions of
X+     lex/flex and yacc/bison generate #line statements, you may get requestors
X+     for "Src1: (just one quote).  If so, just select Cancel on the requestor.
X+ 
X      Type 'CD NetHack:' and then type "lmk -f Amiga:Makefile.ami".  If all
X      goes well, you'll have a working binary a couple of hours later (depending
X      on your hardware configuration).  A couple of notes and warnings from the
X***************
X*** 236,248 ****
X  
X  	* The primary Lattice compiler used on the Amiga port was version
X  	  5.05.  Previous versions of NetHack have been successfully compiled
X! 	  with 5.04 and 5.04a.
X  
X  	* The function monsndx, in file mondata.c, has a section of code
X  	  which Lattice 5.04 compiles incorrectly.  A hack has been written
X  	  around this so that Lattice will generate the correct code.  It is
X  	  recommended that you leave this in place, and not attempt to
X! 	  "improve" it.  This fix "does the right thing" in version 5.05.
X  
X  	* Included in the Lattice port is code for generating a SnapShot.tb
X  	  file upon catching various internal disasters.  That is why the
X--- 245,257 ----
X  
X  	* The primary Lattice compiler used on the Amiga port was version
X  	  5.05.  Previous versions of NetHack have been successfully compiled
X! 	  with 5.04 and 5.04a.  Final development of PL10 was done with 5.10.
X  
X  	* The function monsndx, in file mondata.c, has a section of code
X  	  which Lattice 5.04 compiles incorrectly.  A hack has been written
X  	  around this so that Lattice will generate the correct code.  It is
X  	  recommended that you leave this in place, and not attempt to
X! 	  "improve" it.  This fix "does the right thing" in later versions.
X  
X  	* Included in the Lattice port is code for generating a SnapShot.tb
X  	  file upon catching various internal disasters.  That is why the
X***************
X*** 260,265 ****
X--- 269,278 ----
X  SECTION IV  - AZTEC/MANX Compilation Instructions
X  -------------------------------------------------
X  
X+     Note: The current version of nethack does _not_ run with the Aztec 5.0
X+     compiler.  Future releases of Nethack will remedy this, but currently
X+     only 3.6 is supported.
X+ 
X      NetHack 3.0 compiles and runs fine under Aztec 3.6, but a little bit
X      of work is necessary.  The problem is that the Aztec pre-processor
X      is fairly stupid, and doesn't recognize the defined() pre-processor
X***************
X*** 316,322 ****
X  	  be a warning when defining lev_lex.c that LEV_LEX is redefined.  This
X  	  is OK.  Any other warnings should be investigated.
X  
X! 	* I haven't tried sdb on it, as I can't affort the disk space.  (You'll
X  	  have to save the intermediate cpp files if you cpp).  Unless you've
X            got a whopping amount of memory, I suspect it's going to be too large.
X  
X--- 329,335 ----
X  	  be a warning when defining lev_lex.c that LEV_LEX is redefined.  This
X  	  is OK.  Any other warnings should be investigated.
X  
X! 	* I haven't tried sdb on it, as I can't afford the disk space.  (You'll
X  	  have to save the intermediate cpp files if you cpp).  Unless you've
X            got a whopping amount of memory, I suspect it's going to be too large.
X  
X*** Install.dos	Fri Jun  1 17:17:42 1990
X--- Install.dos	Tue Feb  5 08:55:49 1991
X***************
X*** 2,16 ****
X  		   on an MS-DOS, TOS, or OS/2 system
X  	=====================================================
X  	    (or, How to make PC, ST, and OS/2 NetHack 3.0)
X! 		      Last revision: 22 May 1990
X  
X      Credit for ST and OS/2 NetHack 3.0 goes to Eric Smith and Timo Hakulinen,
X      respectively.  Additional credit should be given to Steve Creps and
X      Mike Threepoint for PC NetHack.
X  
X! *** Note: if you intend to compile NetHack on an MS-DOS PC using OVERLAY, 
X!     please turn to the instructions in Install.ovl.  The overlay version is
X!     currently available only for MSC.
X  
X  1.  Make sure all the NetHack files are in the appropriate directory structure.
X      You should have a main directory with subdirectories src, include, auxil,
X--- 2,17 ----
X  		   on an MS-DOS, TOS, or OS/2 system
X  	=====================================================
X  	    (or, How to make PC, ST, and OS/2 NetHack 3.0)
X! 		      Last revision: 04 Feb 1991
X  
X      Credit for ST and OS/2 NetHack 3.0 goes to Eric Smith and Timo Hakulinen,
X      respectively.  Additional credit should be given to Steve Creps and
X      Mike Threepoint for PC NetHack.
X  
X! *** Note: if you intend to compile an overlaid version of NetHack on an
X!     MS-DOS PC, please refer to the instructions in Install.ovl.  The overlaid
X!     version is currently supported only for MSC, however some notes about
X!     using Turbo C++ 1.0 are included for those who are not easily discouraged.
X  
X  1.  Make sure all the NetHack files are in the appropriate directory structure.
X      You should have a main directory with subdirectories src, include, auxil,
X***************
X*** 50,63 ****
X      random.c is only needed if you want the high-quality random number
X      generation routines.
X  
X!     trampoli.c and ovlmgr.obj files are needed for the MS-DOS overlays.
X!     You may ignore these.
X  
X-     TOS users should use others/lev_lex.c instead of src/lev_lex.c.
X-     MS-DOS users should be able to use either, but the one in src
X-     is smaller.  If you have flex or some other lex work-alike, use
X-     that to produce lev_lex.c from lev_comp.l.
X- 
X      Obviously, TOS users don't need the MS-DOS overlay functions.
X      Moreover, the GCC "curses" library has termcap routines built
X      in, so if you have this you don't need termcap.arc.
X--- 51,59 ----
X      random.c is only needed if you want the high-quality random number
X      generation routines.
X  
X!     trampoli.c, ovlmgr.asm, exesmurf.c, and ovlmgr.uu files are needed for
X!     the MS-DOS overlays.  You may ignore these.
X  
X      Obviously, TOS users don't need the MS-DOS overlay functions.
X      Moreover, the GCC "curses" library has termcap routines built
X      in, so if you have this you don't need termcap.arc.
X***************
X*** 71,77 ****
X  	Microsoft C 4.0 	Makefile.pc
X  	Turbo C 2.0		Makefile.tcc
X      OS/2:
X! 	Microsoft C 5.1 	Makefile.os2
X      TOS:
X  	GCC 1.34		Makefile.st
X  
X--- 67,73 ----
X  	Microsoft C 4.0 	Makefile.pc
X  	Turbo C 2.0		Makefile.tcc
X      OS/2:
X! 	Microsoft C 5.1 & 6.0	Makefile.os2
X      TOS:
X  	GCC 1.34		Makefile.st
X  
X***************
X*** 191,198 ****
X  	SHELL
X  	TEXTCOLOR	    1K
X  
X!     Using Turbo C, we eked by with just WIZARD, ZEROCOMP, BITFIELDS, ELBERETH,
X!     HARD, REDO, DGK and TEXTCOLOR.
X  
X  5.  If you're using a compiler not in the list in step 3, you may want to look
X      through system.h, in the include directory.  This file matches the return
X--- 187,194 ----
X  	SHELL
X  	TEXTCOLOR	    1K
X  
X!     Using Turbo C (long ago), we eked by with just WIZARD, ZEROCOMP,
X!     BITFIELDS, ELBERETH, HARD, REDO, DGK and TEXTCOLOR.
X  
X  5.  If you're using a compiler not in the list in step 3, you may want to look
X      through system.h, in the include directory.  This file matches the return
X***************
X*** 256,262 ****
X      your game directory.  (Note:  GCC's termcap routines have built-in
X      defaults, so the termcap file is not necessary with that compiler.)
X  
X!     To use funky graphics charaters in TOS, uudecode "atarifnt.uue" and unarc
X      the resulting "atarifnt.arc".  This contains a program to run that makes
X      some line graphics characters available to NetHack.  To use them, uncomment
X      the appropriate line in your NetHack.cnf file, and run the program before
X--- 252,258 ----
X      your game directory.  (Note:  GCC's termcap routines have built-in
X      defaults, so the termcap file is not necessary with that compiler.)
X  
X!     To use funky graphics characters in TOS, uudecode "atarifnt.uue" and unarc
X      the resulting "atarifnt.arc".  This contains a program to run that makes
X      some line graphics characters available to NetHack.  To use them, uncomment
X      the appropriate line in your NetHack.cnf file, and run the program before
X***************
X*** 295,308 ****
X      storage.  It is also a good idea to compile with as much free RAM as
X      possible.  It may otherwise get crowded with the bigger, more complex
X      source files.  (Compiler bombs with "out of heap space" or similar.)
X!     If this happens, strip your configuration, zap TSR's etc.
X  
X  4)  On a 286 10MHz PC you will have NetHack in about 2 - 2.5 hours.
X  
X! 5)  Both OS/2 NetHack and the overlaid PC NetHack have been developed using
X!     MSC 5.1.  MSC 6.0 is on the market, but since there hasn't been enough
X!     time to fully test the game compiled with MSC 6.0, the distribution version
X!     supports officially only MSC 5.1.  To compile NetHack with MSC 6.0, it may
X!     be necessary to make some slight modifications to respective makefiles
X!     as well as some source files.  Also, when compiling OS/2 version with MSC
X!     6.0, change library "doscalls" to "os2" in Makefile.os2.
X--- 291,307 ----
X      storage.  It is also a good idea to compile with as much free RAM as
X      possible.  It may otherwise get crowded with the bigger, more complex
X      source files.  (Compiler bombs with "out of heap space" or similar.)
X!     If this happens, strip your configuration, zap TSR's etc.  When compiling
X!     in OS/2, these troubles are mostly nonexistent and thus, people with dual
X!     systems can try to cross compile for DOS in OS/2.
X  
X  4)  On a 286 10MHz PC you will have NetHack in about 2 - 2.5 hours.
X  
X! 5)  OS/2 NetHack can be compiled using either MSC 5.1 or MSC 6.00A, the
X!     maintenance version of MSC 6.0.  Original version of the compiler is
X!     quite buggy - don't use it if possible.  See Makefile.os2 for details.
X! 
X! 6)  The default setting of the warning flags in Makefile.st will cause
X!     some spurious warnings about const variables being misused, especially
X!     when making lev_comp.ttp. You can safely ignore all of these, or
X!     turn the warnings off altogether.
X*** Install.ovl	Sun Jun  3 12:13:27 1990
X--- Install.ovl	Tue Feb  5 15:06:10 1991
X***************
X*** 2,14 ****
X  			NetHack 3.0 on an MS-DOS system
X  	    ======================================================
X  			(or, How to make PC NetHack 3.0)
X! 			  Last revision: June 02, 1990
X  
X      (Credit for a runnable full PC NetHack 3.0 goes to the overlay team of
X       Pierre Martineau, Stephen Spackman, Norm Meluch, and Kevin Smolkowski,
X       who built on the work of Steve Creps and Mike Threepoint.)
X  
X- 
X  I.  Dispelling the Myths:
X  
X      Compiling NetHack is not as easy as it sounds, nor as hard as it looks,
X--- 2,13 ----
X  			NetHack 3.0 on an MS-DOS system
X  	    ======================================================
X  			(or, How to make PC NetHack 3.0)
X! 			  Last revision: Feb 01, 1991
X  
X      (Credit for a runnable full PC NetHack 3.0 goes to the overlay team of
X       Pierre Martineau, Stephen Spackman, Norm Meluch, and Kevin Smolkowski,
X       who built on the work of Steve Creps and Mike Threepoint.)
X  
X  I.  Dispelling the Myths:
X  
X      Compiling NetHack is not as easy as it sounds, nor as hard as it looks,
X***************
X*** 15,20 ****
X--- 14,25 ----
X      however it will behoove you to read this entire file through before
X      beginning the task.
X  
X+ *** Note: If you are going to try compilation with TC++ 1.0, please feel
X+     free to read through this file, but bear in mind that most comments are
X+     directed toward MSC users.  TC++ hints are at the very end of this file.
X+     If you have any Borland Turbo C product without VROOM (overlay ability)
X+     you are wasting your time reading this file.
X+ 
X      The NetHack executable that you are about to get will be generated by an
X      overlay linker.  The beauty of this overlay linker beastie is that it will
X      create an executable that will function in much less memory than it would
X***************
X*** 30,36 ****
X      manager.  This program has been enhanced since its release in November
X      1989.  It will now allow NetHack to use EMS memory if any is available,
X      therefore, RAM requirements can be reduced to the minimum with at least
X!     256K of EMS.
X  
X      As of patch level 7, version 3.0 has an added feature in the Makefile.  
X      This feature enables a structured break-up of the object modules so that 
X--- 35,44 ----
X      manager.  This program has been enhanced since its release in November
X      1989.  It will now allow NetHack to use EMS memory if any is available,
X      therefore, RAM requirements can be reduced to the minimum with at least
X!     256K of EMS.  Also, the overlay manager will now read overlays out of
X!     files completely separate from the EXE.  This will cut down on the size
X!     of files for NetHack making distribution to PCs with low density disk
X!     drives much easier.
X  
X      As of patch level 7, version 3.0 has an added feature in the Makefile.  
X      This feature enables a structured break-up of the object modules so that 
X***************
X*** 65,73 ****
X  	 programs, but not with NetHack, yet.
X  	One of these linkers should be included in your MSC version.
X  
X!    C.	NDmake, version 4.5 or newer, (available from your local ftp site).
X! 	 As the overlay makefile is pretty large, you will want to use the
X! 	 large model of NDmake: MAKE45L.EXE, as your make program.
X  	MSC 6.0 has a new make program distributed with it that might be
X  	 able to handle the Makefile.ovl with a few modifications.  This has
X  	 not been completely tested.  We recommend NDmake 4.5.
X--- 73,84 ----
X  	 programs, but not with NetHack, yet.
X  	One of these linkers should be included in your MSC version.
X  
X!    C.	NDmake, version 4.5 or newer.
X! 	As the overlay makefile is pretty large, you will want to use the
X! 	 large model of NDmake: MAKE45L.EXE, as your make program.  This
X! 	 should be available from the "usual" archive sites, or you can try
X! 	 ftp from SIMTEL-20 (wsmr-simtel20.army.mil [26.2.0.74]) or its
X! 	 more-often-available mirror, wuarchive.wustl.edu [128.252.135.4].
X  	MSC 6.0 has a new make program distributed with it that might be
X  	 able to handle the Makefile.ovl with a few modifications.  This has
X  	 not been completely tested.  We recommend NDmake 4.5.
X***************
X*** 93,99 ****
X  
X  
X  V.  To compile your copy of NetHack on a MSDOS machine:
X!     (or "just follow the "simple" steps outlined below.)
X  
X  1.  It almost goes without saying that you should make sure that your tools
X      are set up and running correctly.
X--- 104,110 ----
X  
X  
X  V.  To compile your copy of NetHack on a MSDOS machine:
X!     (or "just follow these few 'simple' steps outlined below.")
X  
X  1.  It almost goes without saying that you should make sure that your tools
X      are set up and running correctly.
X***************
X*** 100,107 ****
X  
X  2.  Make sure all the NetHack files are in the appropriate directory
X      structure.  You should have a main directory with subdirectories
X!     src, include, auxil, others, amiga, mac, and vms.  If you do not
X!     follow this structure, the Makefile.ovl will not function properly.
X  
X      All the shared and UNIX-specific .c files and the source Makefile(.src)
X      belong in src; all the PC *.c files and PC make files belong in others;
X--- 111,120 ----
X  
X  2.  Make sure all the NetHack files are in the appropriate directory
X      structure.  You should have a main directory with subdirectories
X!     src, include, auxil, others, amiga, mac, and vms.  You will also
X!     need to create a directory under src called "o", (src\o).  If you
X!     do not follow this structure, the Makefile.ovl will not function
X!     properly.
X  
X      All the shared and UNIX-specific .c files and the source Makefile(.src)
X      belong in src; all the PC *.c files and PC make files belong in others;
X***************
X*** 124,130 ****
X      based on the following criteria.  You will probably want to include
X      most all of these files.
X  
X!     You will definitely need pc*.c, msdos.c, and trampoli.c.
X  
X      random.c is only needed if you want the high-quality random number
X      generation routines.
X--- 137,143 ----
X      based on the following criteria.  You will probably want to include
X      most all of these files.
X  
X!     You will definitely need pc*.c, msdos.c, trampoli.c, and exesmurf.c.
X  
X      random.c is only needed if you want the high-quality random number
X      generation routines.
X***************
X*** 148,173 ****
X      ovlmgr.uu (MS-DOS overlay manager) is the uuencoded assembled
X      object module for the overlay manager in case you do not have an assembler.
X      You will need to run a uudecode utility on this file too, to generate
X!     ovlmgr.obj.
X  
X-     Exesmurf.uu is the uuencoded copy of the exesmurf utility which displays
X-     and modifies the contents of an executable file header.  It is similar
X-     to Microsoft's exemod utility but it provides infomation on overlays
X-     which EXEMOD does not.  It is used to modify the Nethack executable's
X-     memory allocation.
X- 
X  4.  Rename the file Makefile.ovl to "Makefile." (no extension), and move 
X      it into your src directory.
X  
X      The PC NetHack makefiles are set up for NDMAKE, a public domain
X!     "make" utility.  Both Microsoft's "make" leaves much to
X!     be desired.  It is worth the extra effort to get NDMAKE if you don't
X      already have it.  Among other things, NDMAKE automatically generates
X      link response files when the link command involves so many objects
X!     that the command would become longer than DOS can handle.  If you must
X!     use Microsoft's or Borland's "make", you'll need to edit the makefile
X!     into a form your make can use, and add instructions to generate a link
X!     response file.
X  
X      If you are going to be constructing the Fred Fish termlib you will need 
X      the Makefile.lib.  Copy this to your source directory too, and do not 
X--- 161,182 ----
X      ovlmgr.uu (MS-DOS overlay manager) is the uuencoded assembled
X      object module for the overlay manager in case you do not have an assembler.
X      You will need to run a uudecode utility on this file too, to generate
X!     ovlmgr.obj.  If you are using this copy of ovlmgr.obj uudecode and
X!     leave the ovlmgr.obj generated in the others directory; the makefile
X!     will access it when it needs it.
X  
X  4.  Rename the file Makefile.ovl to "Makefile." (no extension), and move 
X      it into your src directory.
X  
X      The PC NetHack makefiles are set up for NDMAKE, a public domain
X!     "make" utility.  Microsoft 5.1's "make" leaves much to be desired.
X!     MSC 6.0's NMAKE can be used, however it will take some tinkering with
X!     the makefile to get it to work.  If you are going to do this you will
X!     need to take a cue from Makefile.os2, which has full support for NMAKE.
X!     Believe me, it is worth the extra effort to get NDMAKE if you don't
X      already have it.  Among other things, NDMAKE automatically generates
X      link response files when the link command involves so many objects
X!     that the command would become longer than DOS can handle.
X  
X      If you are going to be constructing the Fred Fish termlib you will need 
X      the Makefile.lib.  Copy this to your source directory too, and do not 
X***************
X*** 272,283 ****
X      NetHack.exe, however sufficient testing has not been completed at this
X      time for us to "recommend" its use.
X  
X! 2)  Save files and bones files from previous versions will not work with
X!     NetHack 3.0.  Don't bother trying to keep them.  Record (score) files
X!     from before 3.0 patchlevel 7 will almost work, but you need to make one
X!     change manually to them:  At the end of each line is a word or phrase
X!     specifying what killed the player.  Change the string to start with the
X!     words "killed by", "killed by a", or "killed by an" (whichever is
X      appropriate).  If the death was petrification, it should read "petrified
X      by" instead of "killed by".  Don't change "starvation", "quit", "escaped",
X      or "ascended".
X--- 281,295 ----
X      NetHack.exe, however sufficient testing has not been completed at this
X      time for us to "recommend" its use.
X  
X! 2)  Save files and bones files from any version of NetHack (other than
X!     3.0 patchlevel 9) will not work with this NetHack.  Don't bother trying 
X!     to keep them.  If you are going to try to bring a save file forward from
X!     pl 9 you will have to 'touch' it, or otherwise update the date and time
X!     on the file to later than the time on the NETHACK.EXE file.  Record
X!     (score) files from before 3.0 patchlevel 7 will almost work, but you need
X!     to make one change manually to them:  At the end of each line is a word or
X!     phrase specifying what killed the player.  Change the string to start with
X!     the words "killed by", "killed by a", or "killed by an" (whichever is
X      appropriate).  If the death was petrification, it should read "petrified
X      by" instead of "killed by".  Don't change "starvation", "quit", "escaped",
X      or "ascended".
X***************
X*** 291,293 ****
X--- 303,372 ----
X  4)  During linking the Microsoft Overlay Linker will need temporary storage
X      space.  Make sure you have about a meg of free disk wherever you have
X      defined your temporary storage.
X+ 
X+ A special note for those attempting compilation with Turbo C++ 1.0 (or better)
X+ ------------------------------------------------------------------------------
X+ 
X+ At this time NetHack has been compiled on a PC using TC++ with marginal
X+ results.  There are some modifications that need to be made to the source
X+ in order to accomplish this.  Unfortunately 3.0 NetHack is not receiving
X+ "official" support.  You will have to wait for 3.1 for that.  If you
X+ attempt TC++ compilation and have questions please feel free to write
X+ to us, but don't expect (correct) answers.
X+ 
X+ Not to be too negative though, here is what little advice we have on
X+ how to proceed:
X+ 
X+ 1)	First, make sure your version of TC++ will work.  Early releases of
X+ 	TC++ 1.0 had a serious bug in their overlay libraries.  A free fix
X+ 	is available from a Borland BBS.  (408)439-9181.  You will get
X+ 	*nowhere* if you do not have this fix.
X+ 
X+ 2)	You will need to create your own makefile from the current Makefile.tcc
X+ 	and Makefile.ovl.  You're pretty much on your own here.  Some have
X+ 	used Borland's MAKE 3.0, others have used NDMake 4.5 for compilation.
X+ 	If you elect to use NDMake 4.5 you will run into memory problems,
X+ 	Borland's MAKE avoids this by swapping itself out of memory when
X+ 	other programs are running.
X+ 
X+ 3)	Use TC++'s -A option (for __STDC__ to be defined) and use the -Y
X+         option to enable overlays.  The -A will leave you with problems with
X+         the fileno() macro.  To solve this add a 
X+ 		#define fileno(f) (f->fd)
X+ 	to global.h or some such.
X+ 
X+ 4)	You will probably need to play with the #ifdef __MSDOS__ in config.h.
X+ 	The "first area" is for TC and does not define things like
X+ 	NEARDATA etc.
X+ 
X+ 5)	You will probably need to massage the lines in global.h that sets
X+ 	CHAR_P, XCHAR_P ... to int.  These need to be set (for __STDC__)
X+         to int for the -A case of TC++ 1.0.
X+ 
X+ 6)	TC++ has trouble with informal declarations using 'static const char *'
X+ 	where the formal parameters are of type 'int'.  Thus any declarations
X+ 	that look like this:
X+ 		static const char *FDECL(foo, int);
X+ 	need to be changed (by hand) to:
X+ 		static const char *FDECL(foo, (int bar));
X+ 
X+ 7)	Barfage on 'struct permonst *' can possibly be corrected by changing
X+ 	type 'void *'.
X+ 
X+ 8)	Choking on msmsg declaration and definition and the like can be
X+         corrected by the setting definition of VDECL(f, a) to f() in global.h.
X+ 
X+ 9)	Finally, you will need to work with the overlay buffer size to
X+ 	optimize performance.  Using the OVLx (see maintain.ovl) scheme should
X+ 	help performance too.
X+ 
X+ Good luck.  BTW, any EXE produced has functioned somewhat lethargically with
X+ abysmally slow overlay swapping times.  If you do manage to succeed, and can
X+ figure out how to tune the game well, please write to us.  We are at
X+ 
X+ 	nethack-bugs@linc.cis.upenn.edu
X+ 
X+ We love to hear from you, and we *need* to hear from you to get good support
X+ for 3.1!
X+ 
X+ Hack On!
X*** Install.unix	Tue Apr 17 23:57:35 1990
X--- Install.unix	Tue Feb  5 09:25:46 1991
X***************
X*** 82,88 ****
X      files often produces amusing but useless confusions on the game's part.)
X  
X  5.  Xenix/286's lex generates a faulty lexical analyser from lev_comp.l.
X!     The beta-release of flex 2.1 (avaliable from uunet, osu-cis,
X      prep.ai.mit.edu, etc.) can be used to generate the lexer.
X      The only change to flex is to change "#define yyleng (yy_cp - yy_bp)"
X      to "#define yyleng (int)(yy_cp - yy_bp)" in flex.skel.
X--- 82,88 ----
X      files often produces amusing but useless confusions on the game's part.)
X  
X  5.  Xenix/286's lex generates a faulty lexical analyser from lev_comp.l.
X!     The beta-release of flex 2.1 (available from uunet, osu-cis,
X      prep.ai.mit.edu, etc.) can be used to generate the lexer.
X      The only change to flex is to change "#define yyleng (yy_cp - yy_bp)"
X      to "#define yyleng (int)(yy_cp - yy_bp)" in flex.skel.
X***************
X*** 96,103 ****
X  7.  If you are trying to compile NetHack on an AT&T 3B that is running an
X      OS earlier than SVR3, you are likely to have problems with overflowing
X      symbol tables.  This can be worked around by editing the source Makefile
X!     to make the Sys.3B2 target work more like the SysV-AT target, adding
X!     -DDUMB to CFLAGS and DUMB.Setup to the Sys.3B2 dependency line.  The
X      compiler provided with later versions of the OS has a large enough
X      symbol table that it does not need this workaround.
X  
X--- 96,103 ----
X  7.  If you are trying to compile NetHack on an AT&T 3B that is running an
X      OS earlier than SVR3, you are likely to have problems with overflowing
X      symbol tables.  This can be worked around by editing the source Makefile
X!     to make the Sys3B2 target work more like the SysV-AT target, adding
X!     -DDUMB to CFLAGS and DUMB.Setup to the Sys3B2 dependency line.  The
X      compiler provided with later versions of the OS has a large enough
X      symbol table that it does not need this workaround.
X  
X***************
X*** 105,109 ****
X      character, and then either hangs or gets a segmentation fault, you
X      should try changing the schar and uchar definitions in config.h to
X      short ints.  This problem is known to occur on the AT&T 3B series,
X!     Silicon Graphics Irises, and IBM PC/RT's running AIX, and may occur
X!     on other computers as well.
X--- 105,118 ----
X      character, and then either hangs or gets a segmentation fault, you
X      should try changing the schar and uchar definitions in config.h to
X      short ints.  This problem is known to occur on the AT&T 3B series,
X!     Silicon Graphics Irises, and IBM systems (PC/RT & RS/6000) running AIX,
X!     and may occur on other computers as well.
X! 
X! 9.  Under SCO UNIX, you may have all sorts of complaints about
X!     include/obj.h.  Go to the file and uncomment the marked line, working
X!     around the fact that SCO's system include files preempt a major
X!     NetHack structure name.  Also, there are difficulties with SCO's cc
X!     that thus far have been solved only by changing compilers; one report
X!     says gcc-NetHack works, and another says rcc-NetHack can be made to
X!     work by undef'ing __STDC__, applying note 8, and compiling with -tinfo
X!     and -xenix.
X*** Install.vms	Fri May 25 09:21:00 1990
X--- Install.vms	Wed Jan 30 08:48:26 1991
X***************
X*** 8,23 ****
X      Gentzel.)
X  
X  1.  Building NetHack requires a C compiler (either VAX C or GNU C) and
X!     VMS version 4.6 or later (but see note #9).  It has been tested on 5.3;
X!     as of this writing, 5.4 has not yet been released.  For MicroVMS 4.6
X!     or 4.7, an extra edit is required in file vmsconf.h (see step #3).
X!     The new build procedure (vmsbuild.com) should not need to be
X!     modified; it now accepts an option for selecting VAXC vs GNUC, and it
X!     can detect different versions of VAXC to use appropriate CC command
X!     qualifiers.  Versions of VAXC earlier than v2.3 will produce many
X!     warning messages (over 100 per source file; close to 10,000 total!),
X!     but NetHack has been verified to compile, link, and execute correctly
X!     when built with VAXC v2.2 using vmsbuild.com.
X  
X  2.  Make sure all the NetHack files are in the appropriate directory
X      structure.  You should have a main directory with subdirectories
X--- 8,22 ----
X      Gentzel.)
X  
X  1.  Building NetHack requires a C compiler (either VAX C or GNU C) and
X!     VMS version 4.6 or later (but see note #9).  It has been tested up
X!     through 5.4-1.  For MicroVMS 4.6 or 4.7, an extra edit is required in
X!     file vmsconf.h (see step #3).  The new build procedure (vmsbuild.com)
X!     should not need to be modified; it now accepts an option for selecting
X!     VAXC vs GNUC, and it can detect different versions of VAXC to use
X!     appropriate CC command qualifiers.  Versions of VAXC earlier than v2.3
X!     will produce many warning messages (over 100 per source file; close to
X!     10,000 total!), but NetHack has been verified to compile, link, and
X!     execute correctly when built with VAXC v2.2 using vmsbuild.com.
X  
X  2.  Make sure all the NetHack files are in the appropriate directory
X      structure.  You should have a main directory with subdirectories
X***************
X*** 40,47 ****
X      The distributed copy of config.h will work successfully on VMS;
X      vmsconf.h has conditional code to deal with the UNIX-specific items.
X  
X! 4.  Go to the [.src] directory and look at the top of topten.c.  You may
X!     want to change the definitions of PERSMAX and PERS_IS_UID here to get
X      different behavior from the high score list.
X  
X  5.  If you have lex or flex and yacc or bison, you may edit the procedure
X--- 39,47 ----
X      The distributed copy of config.h will work successfully on VMS;
X      vmsconf.h has conditional code to deal with the UNIX-specific items.
X  
X! 4.  If you want to tailor the scoreboard (record of top game scores),
X!     go to the [.src] directory and look at the top of topten.c.  You can
X!     change the definitions of PERSMAX and PERS_IS_UID here to get
X      different behavior from the high score list.
X  
X  5.  If you have lex or flex and yacc or bison, you may edit the procedure
X***************
X*** 71,76 ****
X--- 71,81 ----
X      create the target directory and copy all necessary files there.
X      After it completes, the files [.src]*.obj, [.src]nethack.olb and
X      [.src]*.exe can be deleted if you wish to recover their disk space.
X+     If the playground (ie, installation) directory is a subdirectory of
X+     an existing directory, be sure that the existing directory and its
X+     parents allow at least world=execute access so that players can reach
X+     the playground directory.  No access to the source directory tree is
X+     necessary.
X  
X  Notes:
X  
X***************
X*** 88,101 ****
X      them.  If you do not already have a termcap file in use on your
X      system there is a small one in file [.OTHERS]TERMCAP.  It contains
X      definitions for common Digital terminals, also suitable for most
X!     clones and emulators.  NetHack uses the translation of the logical
X!     name TERMCAP to find the termcap file, so you need to use the DCL
X!     command DEFINE or ASSIGN to set it up.  It uses the logical name
X      NETHACK_TERM to get the name of the terminal (such as "vt100").  If
X      that logical name is not defined, it tries EMACS_TERM.  If that also
X      is not defined, it uses the value generated by the C Run-Time library,
X      which is normally of the form "vt100-80" or "vt200-132".
X  
X  3.  There is code which attempts to make NetHack secure in case it is
X      installed with privileges (to allow the playground to be protected against
X      world write).  THIS HAS NOT BEEN TESTED.  Install NetHack with privileges
X--- 93,115 ----
X      them.  If you do not already have a termcap file in use on your
X      system there is a small one in file [.OTHERS]TERMCAP.  It contains
X      definitions for common Digital terminals, also suitable for most
X!     clones and emulators, and is copied into the playground directory by
X!     install.com.  NetHack uses the translation of the logical name TERMCAP
X!     to find the termcap file, so you need to use the DCL command DEFINE or
X!     ASSIGN to set it up.  If that's not defined, it looks for the file
X!     "emacs_library:[etc]termcap.dat", next the file "hackdir:termcap", then
X!     "termcap" (ie, in playground directory), and finally "$termcap" (an
X!     alternate logical name).  For terminal type, it uses the logical name
X      NETHACK_TERM to get the name of the terminal (such as "vt100").  If
X      that logical name is not defined, it tries EMACS_TERM.  If that also
X      is not defined, it uses the value generated by the C Run-Time library,
X      which is normally of the form "vt100-80" or "vt200-132".
X  
X+ 2.5 The problem with using the ``number_pad'' input option which required
X+     modification of termcap as a work-around has been fixed.  NetHack now
X+     sends the termcap 'ke' sequence to the terminal when number_pad is set,
X+     and that entry should put the VT keypad into proper numeric mode.
X+ 
X  3.  There is code which attempts to make NetHack secure in case it is
X      installed with privileges (to allow the playground to be protected against
X      world write).  THIS HAS NOT BEEN TESTED.  Install NetHack with privileges
X***************
X*** 144,154 ****
X      is preceded by "killed by", "killed by a", or "killed by an".  If the
X      death was by petrification, use "petrified by" instead.  Do not
X      change "starvation", "quit", "escaped", or "ascended".  Record files
X!     retained from patchlevel 7 to patchlevel 8 do not need any fixups.
X  
X  8.  NetHack optionally maintains a logfile which receives one line appended
X!     to it whenever a game ends.  This can be disabled entirely by adding
X!     an "#undef LOGFILE" directive to vmsconf.h prior to building the
X      program, or it can be disabled later by removing the file "LOGFILE."
X      from the playground directory.  If not disabled prior to compilation,
X      the logfile can be reinitialized by simply creating an empty LOGFILE
X--- 158,168 ----
X      is preceded by "killed by", "killed by a", or "killed by an".  If the
X      death was by petrification, use "petrified by" instead.  Do not
X      change "starvation", "quit", "escaped", or "ascended".  Record files
X!     retained from patchlevel 7 or later do not need any fixups.
X  
X  8.  NetHack optionally maintains a logfile which receives one line appended
X!     to it whenever a game ends.  This can be disabled entirely by removing
X!     the "#define LOGFILE" directive from vmsconf.h prior to building the
X      program, or it can be disabled later by removing the file "LOGFILE."
X      from the playground directory.  If not disabled prior to compilation,
X      the logfile can be reinitialized by simply creating an empty LOGFILE
X***************
X*** 179,182 ****
X  11. If necessary, send problem reports via email to
X         "nethack-bugs@linc.cis.upenn.edu"  (Internet address 130.91.6.8).
X  
X! 27-MAY-1990
X--- 193,196 ----
X  11. If necessary, send problem reports via email to
X         "nethack-bugs@linc.cis.upenn.edu"  (Internet address 130.91.6.8).
X  
X! 29-JAN-1991
X*** README	Tue Apr 17 23:57:49 1990
X--- README	Tue Feb  5 08:55:55 1991
X***************
X*** 77,108 ****
X  
X      At the time of this release, NetHack 3.0 is known to run on:
X  
X          AT&T 3B1 running System V (3.51)
X          AT&T 3B2/600 & 3B2/622 running System V R3.2.1
X          AT&T 3B2/1000 Model 80 running System V R3.2.2
X          AT&T 3B4000 running System V
X          Bull DPX/2 200 running System V R3.1
X          Bull XPS100 running System V R2.2 or R3.1
X          Data General AViiON systems running DG/UX
X          DEC vaxen running Ultrix and BSD
X!         Decstation 5400 running Ultrix 3.1
X          Encore Multimax running UMAX 4.2
X          Gould NP1 running UTX 3/2
X          H-P 9000s300 running HP-UX
X!         IBM PC/RT running AIX
X          Mips M2000 running RiscOS 4.1
X          Pyramid 9820x running OSx 4.4c
X          SGI Iris running IRIX
X          Stride 460 running UniStride 2.1
X!         Sun-3s and -4s running SunOS 3.x and 4.0.x
X          Valid Logic Systems SCALD-System
X          286 box running Microport SysV/AT (not extensively tested)
X  
X          Apple Macintosh running MacOS
X!         Atari 1040ST running TOS
X          Commodore Amiga running AmigaDOS 1.3 (WorkBench 1.3,
X                  KickStart 1.2 or 1.3) with Lattice or Manx/Aztec C
X!         DEC vaxen running VMS
X          IBM PC compatibles running MS-DOS with MicroSoft C or Turbo C
X          IBM PS/2 and AT compatibles running OS/2 with MicroSoft C
X  
X--- 77,111 ----
X  
X      At the time of this release, NetHack 3.0 is known to run on:
X  
X+         Apple Macintosh running A/UX 2.0
X          AT&T 3B1 running System V (3.51)
X          AT&T 3B2/600 & 3B2/622 running System V R3.2.1
X          AT&T 3B2/1000 Model 80 running System V R3.2.2
X          AT&T 3B4000 running System V
X+         AT&T 6386 running System V R3.2
X          Bull DPX/2 200 running System V R3.1
X          Bull XPS100 running System V R2.2 or R3.1
X          Data General AViiON systems running DG/UX
X          DEC vaxen running Ultrix and BSD
X!         DECstations running Ultrix 3.1 or 4.0
X          Encore Multimax running UMAX 4.2
X          Gould NP1 running UTX 3/2
X          H-P 9000s300 running HP-UX
X!         IBM PC/RT and RS/6000 running AIX
X          Mips M2000 running RiscOS 4.1
X+         NeXT workstations running NeXT 2.0 (Mach)
X          Pyramid 9820x running OSx 4.4c
X          SGI Iris running IRIX
X          Stride 460 running UniStride 2.1
X!         Sun-3s, -4s, and -386is running SunOS 3.x and 4.x
X          Valid Logic Systems SCALD-System
X          286 box running Microport SysV/AT (not extensively tested)
X  
X          Apple Macintosh running MacOS
X!         Atari 1040ST running TOS or MiNT
X          Commodore Amiga running AmigaDOS 1.3 (WorkBench 1.3,
X                  KickStart 1.2 or 1.3) with Lattice or Manx/Aztec C
X!         DEC VAX/VMS, running V4.6 through V5.4-1
X          IBM PC compatibles running MS-DOS with MicroSoft C or Turbo C
X          IBM PS/2 and AT compatibles running OS/2 with MicroSoft C
X  
X*** amiga/Makefile.ami	Sat Jun  2 00:06:08 1990
X--- amiga/Makefile.ami	Sat Jan  5 15:05:01 1991
X***************
X*** 99,104 ****
X--- 99,111 ----
X  UUDEC	= echo
X  #UUDEC	= uudecode
X  
X+ # Flex/Bison command assignments -- Useful only if you have flex/bison
X+ FLEX	= flex:flex
X+ BISON	= dh2d:bison/bison
X+ # FBFIL and FBLIB may be used, if required by your version of flex or bison,
X+ # to specify additional files or libraries to be linked with
X+ FBFIL	=
X+ FBLIB	= lib:compat.lib
X  
X  # Pathname for the C compiler being used.
X  
X***************
X*** 118,124 ****
X  #   Note: do not use -ms with Lattice 5.04 (Others:lev_lex.c fails)
X  #   Note: make sure your CLI stack size is large or lev_comp and makedefs
X  #	may fail terribly - stack checking is disabled.
X! CFLAGS	= -b0 -cfi -d1 -iIncl: -ma -v
X  
X  #[MANX3.6]
X  
X--- 125,131 ----
X  #   Note: do not use -ms with Lattice 5.04 (Others:lev_lex.c fails)
X  #   Note: make sure your CLI stack size is large or lev_comp and makedefs
X  #	may fail terribly - stack checking is disabled.
X! CFLAGS	= -b0 -cfi -d1 -iIncl: -ma -v -cs
X  
X  #[MANX3.6]
X  
X***************
X*** 140,145 ****
X--- 147,153 ----
X  LIN	= from Lib:catch.o
X  LLINK	= with Amiga:ami.lnk
X  LLIB	= lib Lib:lc.lib BATCH
X+ FLLIB	= lib $(FBLIB) Lib:lc.lib BATCH
X  
X  #[MANX3.6]
X  
X***************
X*** 147,154 ****
X  #LIN	=
X  #LLINK	= -f Amiga:ami.lnk
X  #LLIB	= -lcl
X  
X- 
X  # Name of the game:
X  
X  GAME	= HackExe:NetHack
X--- 155,162 ----
X  #LIN	=
X  #LLINK	= -f Amiga:ami.lnk
X  #LLIB	= -lcl
X+ #FLLIB	= -lcl
X  
X  # Name of the game:
X  
X  GAME	= HackExe:NetHack
X***************
X*** 439,445 ****
X  	$(CC) -dMAKEDEFS_C $(CFLAGS) -o$@ Src2:makedefs.c
X  
X  NetHack:lev_comp:  $(SPLEVOBJS)
X! 	$(LINK) NetHack:lev_comp $(LIN) $(SPLEVOBJS) $(LLIB)
X  
X  O_Src1:lev_comp.o:  Src1:lev_comp.c $(HDEP) Incl:sp_lev.h
X  	$(CC) -dLEV_LEX_C $(CFLAGS) -o$@ Src1:lev_comp.c
X--- 447,453 ----
X  	$(CC) -dMAKEDEFS_C $(CFLAGS) -o$@ Src2:makedefs.c
X  
X  NetHack:lev_comp:  $(SPLEVOBJS)
X! 	$(LINK) NetHack:lev_comp $(LIN) $(SPLEVOBJS) $(FBFIL) $(FLLIB)
X  
X  O_Src1:lev_comp.o:  Src1:lev_comp.c $(HDEP) Incl:sp_lev.h
X  	$(CC) -dLEV_LEX_C $(CFLAGS) -o$@ Src1:lev_comp.c
X***************
X*** 450,455 ****
X--- 458,479 ----
X  O_Src1:lev_main.o:  Src1:lev_main.c $(HDEP)
X  	$(CC) -dLEV_LEX_C -dAMIGA $(CFLAGS) -o$@ Src1:lev_main.c
X  
X+ # [OPTION] -- If you have flex/bison, leave these uncommented.  Otherwise,
X+ # comment them out and be careful! (You're not guaranteed to have the most
X+ # up to date lev_lex.c, lev_comp.c, and lev_comp.h)
X+ 
X+ Src1:lev_comp.c:	Src1:lev_comp.y
X+ 	$(BISON) -d Src1:lev_comp.y
X+ 	copy Src1:lev_comp.tab.c Src1:lev_comp.c
X+ 	copy Src1:lev_comp.tab.h Incl:lev_comp.h
X+ 	delete Src1:lev_comp.tab.c
X+ 	delete Src1:lev_comp.tab.h
X+ 
X+ Others:lev_lex.c:		Src1:lev_comp.l
X+ 	$(FLEX) Src1:lev_comp.l
X+ 	copy lex.yy.c Others:lev_lex.c
X+ 	delete lex.yy.c
X+ 
X  #
X  #	The following include files depend on makedefs to be created.
X  #	As a result, they are not defined in HACKINCL, instead, their
X***************
X*** 466,481 ****
X  
X  Incl:date.h:  $(HDEP) NetHack:makedefs $(AMIGAOBJ)
X  	NetHack:makedefs -v
X  
X  Incl:trap.h:  NetHack:makedefs
X  	NetHack:makedefs -t
X! 	-copy makedefs.1 $@
X  
X  Incl:onames.h:  NetHack:makedefs
X  	NetHack:makedefs -o
X  
X  Incl:pm.h:  NetHack:makedefs
X  	NetHack:makedefs -p
X  
X  #
X  #	The following programs vary depending on what OS you are using.
X--- 490,508 ----
X  
X  Incl:date.h:  $(HDEP) NetHack:makedefs $(AMIGAOBJ)
X  	NetHack:makedefs -v
X+ 	-wait 2
X  
X  Incl:trap.h:  NetHack:makedefs
X  	NetHack:makedefs -t
X! 	-wait 2
X  
X  Incl:onames.h:  NetHack:makedefs
X  	NetHack:makedefs -o
X+ 	-wait 2
X  
X  Incl:pm.h:  NetHack:makedefs
X  	NetHack:makedefs -p
X+ 	-wait 2
X  
X  #
X  #	The following programs vary depending on what OS you are using.
X*** amiga/amidos.c	Sun Mar  4 13:43:37 1990
X--- amiga/amidos.c	Sat Jan  5 14:58:46 1991
X***************
X*** 459,464 ****
X--- 459,465 ----
X  
X      tmp_ramdisk[0] = 0;
X      tmp_levels[0] = 0;
X+     assign_graphics((unsigned int *)0,0);	/* set default chars */
X      if ((fp = fopenp(configfile, "r")) == NULL) {
X  	msmsg("Warning: no configuration file!\n");
X  	getreturn("to continue");
X
END_OF_FILE
if test 51657 -ne `wc -c <'patch10.01'`; then
    echo shar: \"'patch10.01'\" unpacked with wrong size!
fi
# end of 'patch10.01'
echo shar: End of archive 1 \(of 8\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 8 archives.
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0