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

billr@saab.CNA.TEK.COM (Bill Randle) (11/23/89)

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



#! /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 5 (of 15)."
# Contents:  patches06c
# Wrapped by billr@saab on Wed Nov 22 10:50:10 1989
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'patches06c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'patches06c'\"
else
echo shar: Extracting \"'patches06c'\" \(55103 characters\)
sed "s/^X//" >'patches06c' <<'END_OF_FILE'
X*** others/Old/Makefile.msc	Sun Nov 19 14:11:03 1989
X--- others/Makefile.msc	Wed Nov  8 19:38:42 1989
X***************
X*** 285,291 ****
X  o\polyself.o:  $(HACK_H)
X  o\potion.o:  $(HACK_H)
X  o\pray.o:  $(HACK_H)
X! o\pri.o:  $(HACK_H)
X  o\priest.o:  $(HACK_H) $(INCL)\mfndpos.h $(INCL)\eshk.h $(INCL)\epri.h
X  o\prisym.o:  $(HACK_H) $(INCL)\lev.h $(INCL)\wseg.h
X  o\random.o:
X--- 285,291 ----
X  o\polyself.o:  $(HACK_H)
X  o\potion.o:  $(HACK_H)
X  o\pray.o:  $(HACK_H)
X! o\pri.o:  $(HACK_H) $(INCL)\termcap.h
X  o\priest.o:  $(HACK_H) $(INCL)\mfndpos.h $(INCL)\eshk.h $(INCL)\epri.h
X  o\prisym.o:  $(HACK_H) $(INCL)\lev.h $(INCL)\wseg.h
X  o\random.o:
X***************
X*** 303,309 ****
X  o\sp_lev.o:  $(HACK_H) $(INCL)\sp_lev.h
X  o\spell.o:  $(HACK_H)
X  o\steal.o:  $(HACK_H)
X! o\termcap.o:  $(HACK_H)
X  o\timeout.o:  $(HACK_H)
X  o\topl.o:  $(HACK_H)
X  o\topten.o:  $(HACK_H)
X--- 303,309 ----
X  o\sp_lev.o:  $(HACK_H) $(INCL)\sp_lev.h
X  o\spell.o:  $(HACK_H)
X  o\steal.o:  $(HACK_H)
X! o\termcap.o:  $(HACK_H) $(INCL)\termcap.h
X  o\timeout.o:  $(HACK_H)
X  o\topl.o:  $(HACK_H)
X  o\topten.o:  $(HACK_H)
X*** others/Old/Makefile.os2	Sun Nov 19 14:11:25 1989
X--- others/Makefile.os2	Wed Nov  8 19:38:50 1989
X***************
X*** 300,306 ****
X  o\polyself.o:  $(HACK_H)
X  o\potion.o:  $(HACK_H)
X  o\pray.o:  $(HACK_H)
X! o\pri.o:  $(HACK_H)
X  o\priest.o:  $(HACK_H) $(INCL)\mfndpos.h $(INCL)\eshk.h $(INCL)\epri.h
X  o\prisym.o:  $(HACK_H) $(INCL)\lev.h $(INCL)\wseg.h
X  o\random.o:
X--- 300,306 ----
X  o\polyself.o:  $(HACK_H)
X  o\potion.o:  $(HACK_H)
X  o\pray.o:  $(HACK_H)
X! o\pri.o:  $(HACK_H) $(INCL)\termcap.h
X  o\priest.o:  $(HACK_H) $(INCL)\mfndpos.h $(INCL)\eshk.h $(INCL)\epri.h
X  o\prisym.o:  $(HACK_H) $(INCL)\lev.h $(INCL)\wseg.h
X  o\random.o:
X***************
X*** 318,324 ****
X  o\sp_lev.o:  $(HACK_H) $(INCL)\sp_lev.h
X  o\spell.o:  $(HACK_H)
X  o\steal.o:  $(HACK_H)
X! o\termcap.o:  $(HACK_H)
X  o\timeout.o:  $(HACK_H)
X  o\topl.o:  $(HACK_H)
X  o\topten.o:  $(HACK_H)
X--- 318,324 ----
X  o\sp_lev.o:  $(HACK_H) $(INCL)\sp_lev.h
X  o\spell.o:  $(HACK_H)
X  o\steal.o:  $(HACK_H)
X! o\termcap.o:  $(HACK_H) $(INCL)\termcap.h
X  o\timeout.o:  $(HACK_H)
X  o\topl.o:  $(HACK_H)
X  o\topten.o:  $(HACK_H)
X*** /dev/null	Sun Nov 19 23:20:35 1989
X--- others/Makefile.ovl	Sun Nov 19 23:20:10 1989
X***************
X*** 0
X
X--- 1,451 -----
X+ #	SCCS Id: @(#)Makefile.ovl	3.0	89/11/16
X+ #	PC NetHack 3.0 Makefile for Microsoft(tm) "C" 5.1 -- Pierre Martineau
X+ #	Overlay Arrangement -- Stephen Spackman, Pierre Martineau, Norm Meluch
X+ #
X+ #	 Other things that have to be reconfigured are in config.h,
X+ #	 {unixconf.h, pcconf.h, tosconf.h}, and possibly system.h
X+ #
X+ #	 In addition to your C compiler,
X+ #
X+ #	 if you want to change	you will need a		and a rule in 
X+ #	 files with suffix	workalike for		Make.ini called
X+ #	   .y			  yacc			  .y.c
X+ #	   .l			  lex			  .l.c
X+ #	   .asm			  masm
X+ #
X+ # ******************************************************************************
X+ # ************************ Compiler Info ***************************************
X+ # ******************************************************************************
X+ # Large memory model, register bug, remove stack probes:
X+ CC	= cl /c
X+ LINK	= link
X+ MODEL	= L
X+ ASM	= masm
X+ # 286 or higher machines can use the /G2 CFLAG option for better performance.
X+ CFLAGS	= /A$(MODEL) /Os /Oa /Gs /Gt24 /Zp1 /W0 /I$(INCL)
X+ LFLAGS	= /noi /seg:512 /map /st:4096 /cp:1
X+ AFLAGS	= /MX
X+ # ******************************************************************************
X+ # ********* Directories (makedefs hardcodes these, don't change them) **********
X+ # ******************************************************************************
X+ INCL	= ..\include
X+ AUX	= ..\auxil
X+ SRC	= ..\src
X+ OTHERS	= ..\others
X+ OBJ	= $(SRC)\o
X+ # ******************************************************************************
X+ # ************************ Local Variables *************************************
X+ # ******************************************************************************
X+ # The game name
X+ GAME	 = nethack
X+ 
X+ # Default main target
X+ MAINTARG : $(GAME)
X+ 
X+ # The game directory
X+ # make sure GAMEDIR exists!
X+ GAMEDIR  = \games
X+ 
X+ # The game filename
X+ GAMEFILE = $(GAMEDIR)\$(GAME).exe
X+ 
X+ # Overlay manager object file.
X+ OVLMGR	 = ovlmgr.obj
X+ 
X+ # Switch the following line if you have made changes in ovlmgr.asm
X+ # $(OBJ)\$(OVLMGR):
X+ $(OBJ)\$(OVLMGR): ; copy $(OTHERS)\$(OVLMGR) $(OBJ)\$(OVLMGR)
X+ 
X+ # Optional high-quality BSD random number generation routines (see pcconf.h).
X+ # Set to nothing if not used.
X+ RANDOM	 = $(OBJ)\random.o
X+ # RANDOM =
X+ 
X+ # Target prefix
X+ TARG	 = pc
X+ 
X+ # Optional C library specifier for those with non-standard libraries
X+ # CLIB	   = llibcer /nod
X+ CLIB	 =
X+ 
X+ # The TERMLIB line may be commented out if TERMLIB isn't defined in the source
X+ # TERMLIB  =
X+ TERMLIB  = $(SRC)\termlib.lib
X+ # ******************************************************************************
X+ # ************************ Begin Structure Definition **************************
X+ # ******************************************************************************
X+ #
X+ # nothing below this line should have to be changed
X+ #
X+ ROOT =	$(OBJ)\main.o $(OBJ)\allmain.o $(OBJ)\termcap.o $(OBJ)\cmd.o \
X+ 	$(OBJ)\trampoli.o $(OBJ)\hack.o $(OBJ)\msdos.o $(OBJ)\$(OVLMGR)
X+ 
X+ # These are the overlays; the Microsoft linker limits them to 63.
X+ #
X+ OVL01 = $(OBJ)\rip.o $(OBJ)\topten.o $(OBJ)\end.o
X+ OVL02 = $(OBJ)\lock.o
X+ OVL03 = $(OBJ)\artifact.o
X+ OVL04 = $(OBJ)\mklev.o $(OBJ)\mkroom.o
X+ OVL05 = $(OBJ)\trap.o
X+ OVL06 = $(OBJ)\read.o
X+ OVL07 = $(OBJ)\dbridge.o
X+ OVL08 = $(OBJ)\u_init.o
X+ OVL09 = $(OBJ)\eat.o $(OBJ)\rumors.o
X+ OVL10 = $(OBJ)\do_wear.o
X+ OVL11 = $(OBJ)\restore.o $(OBJ)\save.o $(OBJ)\bones.o
X+ OVL12 = $(OBJ)\search.o
X+ OVL13 = $(OBJ)\weapon.o
X+ OVL14 = $(OBJ)\mon.o
X+ OVL15 = $(OBJ)\dokick.o
X+ OVL16 = $(OBJ)\priest.o
X+ OVL17 = $(OBJ)\steal.o
X+ OVL18 = $(OBJ)\potion.o
X+ OVL19 = $(OBJ)\mcastu.o
X+ OVL20 = $(OBJ)\exper.o
X+ OVL21 = $(OBJ)\extralev.o
X+ OVL22 = $(OBJ)\pager.o
X+ OVL23 = $(OBJ)\dog.o $(OBJ)\dogmove.o
X+ OVL24 = $(OBJ)\sit.o $(OBJ)\fountain.o
X+ OVL25 = $(OBJ)\sounds.o
X+ OVL26 = $(OBJ)\worn.o
X+ OVL27 = $(OBJ)\were.o $(OBJ)\demon.o
X+ OVL28 = $(OBJ)\mhitm.o
X+ OVL29 = $(OBJ)\attrib.o
X+ OVL30 = $(OBJ)\unix.o
X+ OVL31 = $(OBJ)\engrave.o
X+ OVL32 = $(OBJ)\getline.o
X+ OVL33 = $(OBJ)\wizard.o
X+ OVL34 = $(OBJ)\worm.o
X+ OVL35 = $(OBJ)\mthrowu.o
X+ OVL36 = $(OBJ)\music.o
X+ OVL37 = $(OBJ)\zap.o
X+ OVL38 = $(OBJ)\pri.o $(OBJ)\prisym.o
X+ OVL39 = $(OBJ)\objnam.o
X+ OVL40 = $(OBJ)\write.o
X+ OVL41 = $(OBJ)\mondata.o
X+ OVL42 = $(OBJ)\dothrow.o
X+ OVL43 = $(OBJ)\monst.o $(OBJ)\objects.o $(OBJ)\mail.o $(OBJ)\alloc.o $(OBJ)\tty.o $(OBJ)\topl.o
X+ OVL44 = $(OBJ)\monmove.o
X+ OVL45 = $(OBJ)\mkmaze.o $(OBJ)\sp_lev.o
X+ OVL46 = $(OBJ)\makemon.o
X+ OVL47 = $(OBJ)\apply.o
X+ OVL48 = $(OBJ)\decl.o $(OBJ)\polyself.o
X+ OVL49 = $(OBJ)\do.o
X+ OVL50 = $(OBJ)\spell.o
X+ OVL51 = $(OBJ)\uhitm.o
X+ OVL52 = $(OBJ)\invent.o
X+ OVL53 = $(OBJ)\wield.o
X+ OVL54 = $(OBJ)\mkobj.o $(OBJ)\o_init.o
X+ OVL55 = $(OBJ)\shk.o $(OBJ)\shknam.o
X+ OVL56 = $(OBJ)\pickup.o
X+ OVL57 = $(OBJ)\pray.o
X+ OVL58 = $(OBJ)\options.o
X+ OVL59 = $(OBJ)\do_name.o
X+ OVL60 = $(OBJ)\rnd.o $(RANDOM)
X+ OVL61 = $(OBJ)\vault.o
X+ OVL62 = $(OBJ)\mhitu.o
X+ OVL63 = $(OBJ)\version.o $(OBJ)\track.o $(OBJ)\timeout.o
X+ 
X+ #
X+ # ******************************************************************************
X+ # ************************* Make Objects ***************************************
X+ # ******************************************************************************
X+ #
X+ MOBJ =	$(OVL01) $(OVL02) $(OVL03) $(OVL04) $(OVL05) $(OVL06) $(OVL07) $(OVL08) \
X+ 	$(OVL09) $(OVL10) $(OVL11) $(OVL12) $(OVL13) $(OVL14) $(OVL15) $(OVL16) \
X+ 	$(OVL17) $(OVL18) $(OVL19) $(OVL20) $(OVL21) $(OVL22) $(OVL23) $(OVL24) \
X+ 	$(OVL25) $(OVL26) $(OVL27) $(OVL28) $(OVL29) $(OVL30) $(OVL31) $(OVL32) \
X+ 	$(OVL33) $(OVL34) $(OVL35) $(OVL36) $(OVL37) $(OVL38) $(OVL39) $(OVL40) \
X+ 	$(OVL41) $(OVL42) $(OVL43) $(OVL44) $(OVL45) $(OVL46) $(OVL47) $(OVL48) \
X+ 	$(OVL49) $(OVL50) $(OVL51) $(OVL52) $(OVL53) $(OVL54) $(OVL55) $(OVL56) \
X+ 	$(OVL57) $(OVL58) $(OVL59) $(OVL60) $(OVL61) $(OVL62)
X+ 
X+ VOBJ =	$(ROOT) $(MOBJ)
X+ 
X+ HOBJ =	$(VOBJ) $(OVL63)
X+ 
X+ # object files for makedefs
X+ MAKEOBJS    =	$(OBJ)\makedefs.o $(OBJ)\alloc.o    $(OBJ)\monst.o    \
X+ 		$(OBJ)\objects.o  $(OBJ)\panic.o
X+ 
X+ OVERLAYS = ($(OVL01)) ($(OVL02)) ($(OVL03)) ($(OVL04)) ($(OVL05)) ($(OVL06)) \
X+ 	   ($(OVL07)) ($(OVL08)) ($(OVL09)) ($(OVL10)) ($(OVL11)) ($(OVL12)) \
X+ 	   ($(OVL13)) ($(OVL14)) ($(OVL15)) ($(OVL16)) ($(OVL17)) ($(OVL18)) \
X+ 	   ($(OVL19)) ($(OVL20)) ($(OVL21)) ($(OVL22)) ($(OVL23)) ($(OVL24)) \
X+ 	   ($(OVL25)) ($(OVL26)) ($(OVL27)) ($(OVL28)) ($(OVL29)) ($(OVL30)) \
X+ 	   ($(OVL31)) ($(OVL32)) ($(OVL33)) ($(OVL34)) ($(OVL35)) ($(OVL36)) \
X+ 	   ($(OVL37)) ($(OVL38)) ($(OVL39)) ($(OVL40)) ($(OVL41)) ($(OVL42)) \
X+ 	   ($(OVL43)) ($(OVL44)) ($(OVL45)) ($(OVL46)) ($(OVL47)) ($(OVL48)) \
X+ 	   ($(OVL49)) ($(OVL50)) ($(OVL51)) ($(OVL52)) ($(OVL53)) ($(OVL54)) \
X+ 	   ($(OVL55)) ($(OVL56)) ($(OVL57)) ($(OVL58)) ($(OVL59)) ($(OVL60)) \
X+ 	   ($(OVL61)) ($(OVL62)) ($(OVL63))
X+ 
X+ # object files for special levels compiler
X+ SPLEVOBJS   =	$(OBJ)\lev_comp.o $(OBJ)\lev_lex.o  $(OBJ)\lev_main.o \
X+ 		$(OBJ)\alloc.o	  $(OBJ)\monst.o    $(OBJ)\objects.o  \
X+ 		$(OBJ)\panic.o
X+ 
X+ TL_LOBJECTS =	$(OBJ)\tgetent.o  $(OBJ)\tgetflag.o $(OBJ)\tgetnum.o  \
X+ 		$(OBJ)\tgetstr.o  $(OBJ)\tgoto.o    $(OBJ)\tputs.o    \
X+ 		$(OBJ)\isdigit.o  $(OBJ)\fgetlr.o
X+ 
X+ # ******************************************************************************
X+ # ************************** Header Objects ************************************
X+ # ******************************************************************************
X+ 
X+ TRAP_H	   = $(INCL)\trap.h
X+ PERMONST_H = $(INCL)\permonst.h    $(INCL)\monflag.h
X+ PCCONF_H   = $(INCL)\$(TARG)conf.h $(INCL)\extern.h   $(INCL)\msdos.h \
X+ 	     $(INCL)\system.h
X+ GLOBAL_H   = $(PCCONF_H)	   $(INCL)\coord.h    $(INCL)\global.h
X+ CONFIG_H   = $(GLOBAL_H)	   $(INCL)\config.h   $(INCL)\tradstdc.h
X+ YOU_H	   = $(PERMONST_H)	   $(INCL)\attrib.h   $(INCL)\mondata.h \
X+ 	     $(INCL)\monst.h	   $(INCL)\you.h      $(INCL)\youprop.h
X+ DECL_H	   = $(YOU_H)		   $(INCL)\decl.h     $(INCL)\obj.h \
X+ 	     $(INCL)\onames.h	   $(INCL)\pm.h       $(INCL)\spell.h
X+ HACK_H	   = $(CONFIG_H)	   $(DECL_H)	      $(TRAP_H) \
X+ 	     $(INCL)\flag.h	   $(INCL)\gold.h     $(INCL)\mkroom.h \
X+ 	     $(INCL)\monsym.h	   $(INCL)\objclass.h $(INCL)\rm.h \
X+ 	     $(INCL)\trampoli.h
X+ 
X+ # ******************************************************************************
X+ # ************************ File Dependencies ***********************************
X+ # ******************************************************************************
X+ 
X+ .SUFFIXES: .exe .o .c .y .l .obj .asm
X+ 
X+ .c.o:
X+ 	$(CC) $(CFLAGS) /Fo$(OBJ)\$*.o $*.c
X+ 
X+ .asm.obj:
X+ 	$(ASM) $(AFLAGS) $*.asm,$(OBJ)\$*.obj ;
X+ 
X+ $(GAME): $(GAMEFILE)
X+ 
X+ $(GAME).exe: $(GAMEFILE)
X+ 
X+ $(GAMEFILE): $(OBJ) $(HOBJ) $(TERMLIB)
X+ 	@echo Loading....
X+ 	$(LINK) $(ROOT) $(OVERLAYS),$(GAMEFILE),$(GAME),$(CLIB) $(TERMLIB) $(LFLAGS) ;
X+ 	@echo Nethack is up to date.
X+ 
X+ $(OBJ):
X+ 	if not exist .\$(OBJ)\*.* mkdir $(OBJ)
X+ 	if not exist $(GAMEDIR)   mkdir $(GAMEDIR)
X+ 	if not exist $(GAMEDIR)   mkdir $(GAMEDIR)\bones
X+ 
X+ $(TERMLIB):	$(TL_LOBJECTS)
X+ 		lib $(TERMLIB) -+ $(TL_LOBJECTS);
X+ 
X+ #
X+ #	The following 3 programs vary depending on what OS you are using.
X+ #
X+ 
X+ $(OBJ)\main.o:	$(HACK_H) $(TARG)main.c
X+ 	$(CC) $(CFLAGS)  /Fo.\$(OBJ)\main.o $(TARG)main.c
X+ 
X+ $(OBJ)\tty.o:	$(HACK_H) $(INCL)\func_tab.h $(TARG)tty.c
X+ 	$(CC) $(CFLAGS)  /Fo.\$(OBJ)\tty.o  $(TARG)tty.c
X+ 
X+ $(OBJ)\unix.o:	$(HACK_H) $(TARG)unix.c
X+ 	$(CC) $(CFLAGS)  /Fo.\$(OBJ)\unix.o $(TARG)unix.c
X+ 
X+ $(OBJ)\makedefs.o:	$(INCL)\config.h $(INCL)\permonst.h $(INCL)\objclass.h
X+ 
X+ makedefs.exe:	$(MAKEOBJS)
X+ 	$(LINK) $(LFLAGS) $(MAKEOBJS), makedefs.exe,, $(CLIB);
X+ 
X+ lev_comp.exe:	$(SPLEVOBJS)
X+ 	$(LINK) $(LFLAGS) $(SPLEVOBJS),lev_comp.exe,, $(CLIB);
X+ 
X+ # If you have yacc or lex programs, and make any changes,
X+ # add some .y.c and .l.c rules to your Make.ini.
X+ #
X+ #lev_comp.c:	lev_comp.y
X+ #lev_lex.c:	lev_comp.l
X+ 
X+ # ******************************************************************************
X+ # *************************  Makedefs Stuff ************************************
X+ # ******************************************************************************
X+ #	The following include files depend on makedefs to be created.
X+ #	date.h should be remade any time any of the source or include code
X+ #	is modified.
X+ #
X+ $(INCL)\date.h: $(VOBJ) makedefs.exe
X+ 	.\makedefs -v
X+ 
X+ $(INCL)\trap.h: 	makedefs.exe
X+ 	.\makedefs -t
X+ 
X+ $(INCL)\onames.h:	makedefs.exe
X+ 	.\makedefs -o
X+ 
X+ $(INCL)\pm.h:		makedefs.exe
X+ 	.\makedefs -p
X+ 
X+ data:	$(AUX)\data.bas makedefs.exe
X+ 	.\makedefs -d
X+ 
X+ rumors: $(AUX)\rumors.tru $(AUX)\rumors.fal makedefs.exe
X+ 	.\makedefs -r
X+ 
X+ # ******************************************************************************
X+ # ************************ Secondary targets ***********************************
X+ # ******************************************************************************
X+ 
X+ install:	$(OBJ) lev_comp.exe $(GAMEFILE) auxil.tag install.tag
X+ 	@echo Don't forget to check HACKDIR in nethack.cnf.
X+ 	@echo Done.
X+ 
X+ #
X+ #	Watch Out!  This make cleans out the game & bones dirs!
X+ #	This will delete any config file you have and overwrite it
X+ #	with the default.
X+ #	Since the game options may have changed since your last install,
X+ #	you should say yes to clean the directory.
X+ #
X+ install.tag:
X+ 	copy $(OTHERS)\termcap		$(GAMEDIR)
X+ 	copy $(AUX)\*.			$(GAMEDIR)
X+ 	copy $(OTHERS)\nethack.cnf	$(GAMEDIR)
X+ 	echo record > $(GAMEDIR)\record
X+ 	echo install done > install.tag
X+ 
X+ spec_lev.tag: lev_comp.exe $(AUX)\castle.des $(AUX)\endgame.des $(AUX)\tower.des
X+ 	lev_comp $(AUX)\castle.des
X+ 	lev_comp $(AUX)\endgame.des
X+ 	lev_comp $(AUX)\tower.des
X+ 	copy castle $(GAMEDIR)
X+ 	copy endgame $(GAMEDIR)
X+ 	copy tower? $(GAMEDIR)
X+ 	echo spec_lev done > spec_lev.tag
X+ 
X+ auxil.tag:	spec_lev.tag	data	rumors
X+ 	echo special levels created > auxil.tag
X+ 
X+ clean:
X+ 	del $(OBJ)\*.o
X+ 	del $(OBJ)\*.obj
X+ 	rmdir $(OBJ)
X+ 
X+ spotless: clean
X+ 	del $(INCL)\date.h
X+ 	del $(INCL)\onames.h
X+ 	del $(INCL)\pm.h
X+ 	if exist makedefs.exe del makedefs.exe
X+ 	if exist lev_comp.exe del lev_comp.exe
X+ 	del castle
X+ 	del endgame
X+ 	del tower?
X+ 	del *.bak
X+ 	del *.tag
X+ 	del *.map
X+ 	del *.lib
X+ 	del *.txt
X+ 	del $(AUX)\data
X+ 	del $(AUX)\rumors
X+ 
X+ # ******************************************************************************
X+ # ************************* Other dependencies *********************************
X+ # ******************************************************************************
X+ # Other dependencies
X+ #
X+ # I deleted that line.	;-}
X+ #
X+ $(OBJ)\allmain.o:	$(HACK_H)
X+ $(OBJ)\alloc.o: 	$(CONFIG_H)
X+ $(OBJ)\apply.o: 	$(HACK_H)   $(INCL)\edog.h
X+ $(OBJ)\artifact.o:	$(HACK_H)   $(INCL)\artifact.h
X+ $(OBJ)\attrib.o:	$(HACK_H)
X+ $(OBJ)\bones.o: 	$(HACK_H)
X+ $(OBJ)\cmd.o:		$(HACK_H)   $(INCL)\func_tab.h
X+ $(OBJ)\dbridge.o:	$(HACK_H)
X+ $(OBJ)\decl.o:		$(HACK_H)
X+ $(OBJ)\demon.o: 	$(HACK_H)
X+ $(OBJ)\do.o:		$(HACK_H)
X+ $(OBJ)\do_name.o:	$(HACK_H)
X+ $(OBJ)\do_wear.o:	$(HACK_H)
X+ $(OBJ)\dog.o:		$(HACK_H)   $(INCL)\edog.h
X+ $(OBJ)\dogmove.o:	$(HACK_H)   $(INCL)\mfndpos.h	 $(INCL)\edog.h
X+ $(OBJ)\dokick.o:	$(HACK_H)
X+ $(OBJ)\dothrow.o:	$(HACK_H)
X+ $(OBJ)\eat.o:		$(HACK_H)
X+ $(OBJ)\end.o:		$(HACK_H)   $(INCL)\eshk.h
X+ $(OBJ)\engrave.o:	$(HACK_H)
X+ $(OBJ)\exper.o: 	$(HACK_H)
X+ $(OBJ)\extralev.o:	$(HACK_H)
X+ $(OBJ)\fountain.o:	$(HACK_H)
X+ $(OBJ)\getline.o:	$(HACK_H)   $(INCL)\func_tab.h
X+ $(OBJ)\hack.o:		$(HACK_H)
X+ $(OBJ)\invent.o:	$(HACK_H)   $(INCL)\lev.h	 $(INCL)\wseg.h
X+ $(OBJ)\ioctl.o: 	$(HACK_H)
X+ $(OBJ)\lev_comp.o:	$(HACK_H)   $(INCL)\sp_lev.h
X+ $(OBJ)\lev_lex.o:	$(HACK_H)   $(INCL)\sp_lev.h	 $(INCL)\lev_comp.h
X+ $(OBJ)\lev_main.o:	$(HACK_H)   $(INCL)\sp_lev.h
X+ $(OBJ)\lock.o:		$(HACK_H)
X+ $(OBJ)\makemon.o:	$(HACK_H)
X+ $(OBJ)\mail.o:		$(HACK_H)
X+ $(OBJ)\mcastu.o:	$(HACK_H)
X+ $(OBJ)\mhitm.o: 	$(HACK_H)   $(INCL)\artifact.h
X+ $(OBJ)\mhitu.o: 	$(HACK_H)   $(INCL)\artifact.h	 $(INCL)\edog.h
X+ $(OBJ)\mklev.o: 	$(HACK_H)
X+ $(OBJ)\mkmaze.o:	$(HACK_H)
X+ $(OBJ)\mkobj.o: 	$(HACK_H)
X+ $(OBJ)\mkroom.o:	$(HACK_H)
X+ $(OBJ)\mon.o:		$(HACK_H)   $(INCL)\mfndpos.h	 $(INCL)\artifact.h
X+ $(OBJ)\mondata.o:	$(HACK_H)   $(INCL)\eshk.h	 $(INCL)\epri.h
X+ $(OBJ)\monmove.o:	$(HACK_H)   $(INCL)\mfndpos.h	 $(INCL)\artifact.h
X+ $(OBJ)\monst.o: 	$(CONFIG_H) $(PERMONST_H)	 $(INCL)\eshk.h     \
X+ 			$(INCL)\epri.h $(INCL)\vault.h
X+ $(OBJ)\msdos.o: 	$(HACK_H)
X+ $(OBJ)\mthrowu.o:	$(HACK_H)
X+ $(OBJ)\music.o: 	$(HACK_H)
X+ $(OBJ)\o_init.o:	$(HACK_H)   $(INCL)\onames.h
X+ $(OBJ)\objects.o:	$(CONFIG_H) $(INCL)\obj.h	 $(INCL)\objclass.h \
X+ 			$(INCL)\prop.h
X+ $(OBJ)\objnam.o:	$(HACK_H)
X+ $(OBJ)\options.o:	$(HACK_H)
X+ $(OBJ)\pager.o: 	$(HACK_H)
X+ $(OBJ)\panic.o: 	$(CONFIG_H)
X+ $(OBJ)\pickup.o:	$(HACK_H)
X+ $(OBJ)\polyself.o:	$(HACK_H)
X+ $(OBJ)\potion.o:	$(HACK_H)
X+ $(OBJ)\pray.o:		$(HACK_H)
X+ $(OBJ)\pri.o:		$(HACK_H)
X+ $(OBJ)\priest.o:	$(HACK_H)   $(INCL)\mfndpos.h	 $(INCL)\eshk.h \
X+ 			$(INCL)\epri.h
X+ $(OBJ)\prisym.o:	$(HACK_H)   $(INCL)\lev.h	 $(INCL)\wseg.h
X+ $(OBJ)\random.o:
X+ $(OBJ)\read.o:		$(HACK_H)
X+ $(OBJ)\restore.o:	$(HACK_H)   $(INCL)\lev.h	 $(INCL)\wseg.h
X+ $(OBJ)\rip.o:		$(HACK_H)
X+ $(OBJ)\rnd.o:		$(HACK_H)
X+ $(OBJ)\rumors.o:	$(HACK_H)
X+ $(OBJ)\save.o:		$(HACK_H)   $(INCL)\lev.h	 $(INCL)\wseg.h
X+ $(OBJ)\search.o:	$(HACK_H)   $(INCL)\artifact.h
X+ $(OBJ)\shk.o:		$(HACK_H)   $(INCL)\eshk.h
X+ $(OBJ)\shknam.o:	$(HACK_H)   $(INCL)\eshk.h
X+ $(OBJ)\sit.o:		$(HACK_H)
X+ $(OBJ)\sounds.o:	$(HACK_H)   $(INCL)\edog.h	 $(INCL)\eshk.h
X+ $(OBJ)\sp_lev.o:	$(HACK_H)   $(INCL)\sp_lev.h
X+ $(OBJ)\spell.o: 	$(HACK_H)
X+ $(OBJ)\steal.o: 	$(HACK_H)
X+ $(OBJ)\termcap.o:	$(HACK_H)
X+ $(OBJ)\timeout.o:	$(HACK_H)
X+ $(OBJ)\topl.o:		$(HACK_H)
X+ $(OBJ)\topten.o:	$(HACK_H)
X+ $(OBJ)\track.o: 	$(HACK_H)
X+ $(OBJ)\trampoli.o:	$(HACK_H)
X+ $(OBJ)\trap.o:		$(HACK_H)   $(INCL)\edog.h	 $(INCL)\trapname.h
X+ $(OBJ)\u_init.o:	$(HACK_H)
X+ $(OBJ)\uhitm.o: 	$(HACK_H)   $(INCL)\artifact.h
X+ $(OBJ)\vault.o: 	$(HACK_H)   $(INCL)\vault.h
X+ $(OBJ)\version.o:	$(HACK_H)   $(INCL)\date.h
X+ $(OBJ)\weapon.o:	$(HACK_H)
X+ $(OBJ)\were.o:		$(HACK_H)
X+ $(OBJ)\wield.o: 	$(HACK_H)
X+ $(OBJ)\wizard.o:	$(HACK_H)
X+ $(OBJ)\worm.o:		$(HACK_H)   $(INCL)\wseg.h
X+ $(OBJ)\worn.o:		$(HACK_H)
X+ $(OBJ)\write.o: 	$(HACK_H)
X+ $(OBJ)\zap.o:		$(HACK_H)
X*** others/Old/Makefile.pc	Sun Nov 19 14:12:08 1989
X--- others/Makefile.pc	Wed Nov  8 19:38:55 1989
X***************
X*** 244,250 ****
X  o\polyself.o:  $(HACK_H)
X  o\potion.o:  $(HACK_H)
X  o\pray.o:  $(HACK_H)
X! o\pri.o:  $(HACK_H)
X  o\priest.o:  $(HACK_H) $(INCL)\mfndpos.h $(INCL)\eshk.h $(INCL)\epri.h
X  o\prisym.o:  $(HACK_H) $(INCL)\lev.h $(INCL)\wseg.h
X  o\random.o:
X--- 244,250 ----
X  o\polyself.o:  $(HACK_H)
X  o\potion.o:  $(HACK_H)
X  o\pray.o:  $(HACK_H)
X! o\pri.o:  $(HACK_H) $(INCL)\termcap.h
X  o\priest.o:  $(HACK_H) $(INCL)\mfndpos.h $(INCL)\eshk.h $(INCL)\epri.h
X  o\prisym.o:  $(HACK_H) $(INCL)\lev.h $(INCL)\wseg.h
X  o\random.o:
X***************
X*** 262,268 ****
X  o\sp_lev.o:  $(HACK_H) $(INCL)\sp_lev.h
X  o\spell.o:  $(HACK_H)
X  o\steal.o:  $(HACK_H)
X! o\termcap.o:  $(HACK_H)
X  o\timeout.o:  $(HACK_H)
X  o\topl.o:  $(HACK_H)
X  o\topten.o:  $(HACK_H)
X--- 262,268 ----
X  o\sp_lev.o:  $(HACK_H) $(INCL)\sp_lev.h
X  o\spell.o:  $(HACK_H)
X  o\steal.o:  $(HACK_H)
X! o\termcap.o:  $(HACK_H) $(INCL)\termcap.h
X  o\timeout.o:  $(HACK_H)
X  o\topl.o:  $(HACK_H)
X  o\topten.o:  $(HACK_H)
X*** others/Old/Makefile.st	Sun Nov 19 14:12:25 1989
X--- others/Makefile.st	Mon Nov 13 21:19:34 1989
X***************
X*** 3,12 ****
X  #
X  #    NOTE: There's one really awful kludge here: I had to break
X  #    monst.o up into two pieces to get it to compile on my machine
X! #    (a Mega 2). If you've got 2.5 megs or more, you can (and probably
X! #    should) replace "monst1.o monst2.o" by "monst.o", and delete
X! #    the dependencies for monst1.o and monst2.o. If they ever change
X! #    the loader, this kludge might break.
X  #
X  CC	= d:\gnu\bin\gcc.ttp
X  LD	= d:\gnu\bin\gcc-ld.ttp
X--- 3,12 ----
X  #
X  #    NOTE: There's one really awful kludge here: I had to break
X  #    monst.o up into two pieces to get it to compile on my machine
X! #    (a Mega 2). You'll need "sed" to get this to work.
X! #    If you have 2.5 megs or more, you can probably delete the
X! #    strange dependency lines for monst.o and just compile
X! #    it directly.
X  #
X  CC	= d:\gnu\bin\gcc.ttp
X  LD	= d:\gnu\bin\gcc-ld.ttp
X***************
X*** 26,32 ****
X  AUX	= ..\auxil
X  SRC	= ..\src
X  
X! CFLAGS	= $(MODEL) -O -I..\include
X  LFLAGS	= $(MODEL) -s
X  TARG	= tos
X  PC	= pc
X--- 26,32 ----
X  AUX	= ..\auxil
X  SRC	= ..\src
X  
X! CFLAGS	= $(MODEL) -O -fomit-frame-pointer -I..\include
X  LFLAGS	= $(MODEL) -s
X  TARG	= tos
X  PC	= pc
X***************
X*** 45,55 ****
X  GAMEFILE = $(GAMEDIR)\$(GAME).ttp
X  
X  # object files for makedefs
X! MAKEOBJS = makedefs.o alloc.o monst1.o monst2.o objects.o panic.o
X  
X  # object files for special levels compiler
X  SPLEVOBJS = lev_comp.o lev_lex.o \
X! 	lev_main.o alloc.o monst1.o monst2.o objects.o panic.o
X  
X  # nothing below this line should have to be changed
X  #
X--- 45,55 ----
X  GAMEFILE = $(GAMEDIR)\$(GAME).ttp
X  
X  # object files for makedefs
X! MAKEOBJS = makedefs.o alloc.o monst.o objects.o panic.o
X  
X  # object files for special levels compiler
X  SPLEVOBJS = lev_comp.o lev_lex.o \
X! 	lev_main.o alloc.o monst.o objects.o panic.o
X  
X  # nothing below this line should have to be changed
X  #
X***************
X*** 62,68 ****
X   	eat.o end.o engrave.o exper.o extralev.o fountain.o getline.o hack.o \
X  	invent.o lock.o main.o makemon.o mcastu.o mhitm.o \
X  	mhitu.o mklev.o mkmaze.o mkobj.o mkroom.o mon.o mondata.o monmove.o \
X! 	monst1.o  monst2.o mthrowu.o msdos.o music.o o_init.o objects.o \
X  	objnam.o options.o pager.o \
X  	pickup.o polyself.o potion.o pray.o pri.o priest.o prisym.o read.o \
X  	restore.o rip.o rnd.o rumors.o save.o search.o shk.o shknam.o sit.o \
X--- 62,68 ----
X   	eat.o end.o engrave.o exper.o extralev.o fountain.o getline.o hack.o \
X  	invent.o lock.o main.o makemon.o mcastu.o mhitm.o \
X  	mhitu.o mklev.o mkmaze.o mkobj.o mkroom.o mon.o mondata.o monmove.o \
X! 	monst.o  mthrowu.o msdos.o music.o o_init.o objects.o \
X  	objnam.o options.o pager.o \
X  	pickup.o polyself.o potion.o pray.o pri.o priest.o prisym.o read.o \
X  	restore.o rip.o rnd.o rumors.o save.o search.o shk.o shknam.o sit.o \
X***************
X*** 121,132 ****
X  #
X  lev_comp.c:  lev_comp.y
X  	$(YACC) -d lev_comp.y
X! 	mv y,tab.c lev_comp.c
X! 	mv y,tab.h ..\include\lev_comp.h
X  
X  lev_lex.c:  lev_comp.l
X  	$(LEX) lev_comp.l
X! 	mv lex,yy.c lev_lex.c
X  #
X  #	The following include files depend on makedefs to be created.
X  #
X--- 121,134 ----
X  #
X  lev_comp.c:  lev_comp.y
X  	$(YACC) -d lev_comp.y
X! 	cp y,tab.c lev_comp.c
X! 	cp y,tab.h ..\include\lev_comp.h
X! 	rm y,tab.c y,tab.h
X  
X  lev_lex.c:  lev_comp.l
X  	$(LEX) lev_comp.l
X! 	cp lex,yy.c lev_lex.c
X! 	rm lex,yy.c
X  #
X  #	The following include files depend on makedefs to be created.
X  #
X***************
X*** 177,185 ****
X  # Secondary targets
X  #
X  
X! auxil:	spec_levs
X  	cd $(AUX)
X! 	cp *. $(GAMEDIR)
X  
X  spec_levs: $(AUX)\castle.des $(AUX)\endgame.des $(AUX)\tower.des
X  	cd $(AUX)
X--- 179,191 ----
X  # Secondary targets
X  #
X  
X! AUXMISC = cmdhelp help hh history license opthelp oracles
X! 
X! auxil:	data rumors spec_levs
X  	cd $(AUX)
X! 	cp data rumors $(GAMEDIR)
X! 	rm data rumors
X! 	cp $(AUXMISC) $(GAMEDIR)
X  
X  spec_levs: $(AUX)\castle.des $(AUX)\endgame.des $(AUX)\tower.des
X  	cd $(AUX)
X***************
X*** 186,197 ****
X  	..\src\lev_comp castle.des
X  	..\src\lev_comp endgame.des
X  	..\src\lev_comp tower.des
X! 	cp castle $(GAMEDIR)
X! 	rm castle
X! 	cp endgame $(GAMEDIR)
X! 	rm endgame
X! 	cp tower? $(GAMEDIR)
X! 	rm tower?
X  
X  clean:
X  	rm *.o
X--- 192,201 ----
X  	..\src\lev_comp castle.des
X  	..\src\lev_comp endgame.des
X  	..\src\lev_comp tower.des
X! 	cp castle endgame $(GAMEDIR)
X! 	rm castle endgame
X! 	cp tower1 tower2 tower3 $(GAMEDIR)
X! 	rm tower1 tower2 tower3
X  
X  clean:
X  	rm *.o
X***************
X*** 253,264 ****
X  mon.o:  $(HACK_H) $(INCL)\mfndpos.h $(INCL)\artifact.h
X  mondata.o:  $(HACK_H) $(INCL)\eshk.h $(INCL)\epri.h
X  monmove.o:  $(HACK_H) $(INCL)\mfndpos.h $(INCL)\artifact.h
X  # kludge for "monst.c: Virtual memory exhausted" errors
X! #monst.o:  $(CONFIG_H) $(PERMONST_H) $(INCL)\eshk.h $(INCL)\vault.h $(INCL)\epri.h
X! monst1.o:  $(CONFIG_H) $(PERMONST_H) $(INCL)\eshk.h $(INCL)\vault.h $(INCL)\epri.h monst.c
X! 	$(CC) $(CFLAGS) -c -o monst1.o -DSPLITMON_1 monst.c
X! monst2.o:  $(CONFIG_H) $(PERMONST_H) $(INCL)\eshk.h $(INCL)\vault.h $(INCL)\epri.h monst.c
X! 	$(CC) $(CFLAGS) -c -o monst2.o -DSPLITMON_2 monst.c
X  msdos.o:  $(HACK_H)
X  mthrowu.o:  $(HACK_H)
X  music.o:  $(HACK_H)
X--- 257,277 ----
X  mon.o:  $(HACK_H) $(INCL)\mfndpos.h $(INCL)\artifact.h
X  mondata.o:  $(HACK_H) $(INCL)\eshk.h $(INCL)\epri.h
X  monmove.o:  $(HACK_H) $(INCL)\mfndpos.h $(INCL)\artifact.h
X+ 
X  # kludge for "monst.c: Virtual memory exhausted" errors
X! # we build monst.s in two pieces, then glue them together with
X! # "sed". if you don't have memory problems, uncomment out
X! # all but the next line. if you don't have sed, get it from
X! # a comp.binaries.atari.st site, or get gnu sed (the port to
X! # the atari GCC is easy).
X! 
X! monst.o:  $(CONFIG_H) $(PERMONST_H) $(INCL)\eshk.h $(INCL)\vault.h $(INCL)\epri.h
X! 	$(CC) $(CFLAGS) -S -o monst1.s -DSPLITMON_1 monst.c
X! 	$(CC) $(CFLAGS) -S -o monst2.s -DSPLITMON_2 monst.c
X! 	sed -e s/LC/LD/ -e s/gcc_compiled.:// monst2.s >>monst1.s
X! 	$(CC) $(CFLAGS) -c monst1.s -o monst.o
X! 	rm monst1.s monst2.s
X! 
X  msdos.o:  $(HACK_H)
X  mthrowu.o:  $(HACK_H)
X  music.o:  $(HACK_H)
X***************
X*** 272,278 ****
X  polyself.o:  $(HACK_H)
X  potion.o:  $(HACK_H)
X  pray.o:  $(HACK_H)
X! pri.o:  $(HACK_H)
X  priest.o:  $(HACK_H) $(INCL)\mfndpos.h $(INCL)\eshk.h $(INCL)\epri.h
X  prisym.o:  $(HACK_H) $(INCL)\lev.h $(INCL)\wseg.h
X  random.o:
X--- 285,291 ----
X  polyself.o:  $(HACK_H)
X  potion.o:  $(HACK_H)
X  pray.o:  $(HACK_H)
X! pri.o:  $(HACK_H) $(INCL)\termcap.h
X  priest.o:  $(HACK_H) $(INCL)\mfndpos.h $(INCL)\eshk.h $(INCL)\epri.h
X  prisym.o:  $(HACK_H) $(INCL)\lev.h $(INCL)\wseg.h
X  random.o:
X***************
X*** 290,296 ****
X  sp_lev.o:  $(HACK_H) $(INCL)\sp_lev.h
X  spell.o:  $(HACK_H)
X  steal.o:  $(HACK_H)
X! termcap.o:  $(HACK_H)
X  timeout.o:  $(HACK_H)
X  topl.o:  $(HACK_H)
X  topten.o:  $(HACK_H)
X--- 303,309 ----
X  sp_lev.o:  $(HACK_H) $(INCL)\sp_lev.h
X  spell.o:  $(HACK_H)
X  steal.o:  $(HACK_H)
X! termcap.o:  $(HACK_H) $(INCL)\termcap.h
X  timeout.o:  $(HACK_H)
X  topl.o:  $(HACK_H)
X  topten.o:  $(HACK_H)
X*** others/Old/Maketcc.ini	Sun Nov 19 14:13:25 1989
X--- others/Maketcc.ini	Fri Nov 17 19:31:03 1989
X***************
X*** 77,85 ****
X  #	pas2
X  
X  #	Y -> C, for YACC
X! #.y.c:
X! #	$(YACC) $(YFLAGS) $<
X! #	rename ytab.c $@
X  
X  #	L -> C, for LEX
X  #.l.c:
X--- 77,88 ----
X  #	pas2
X  
X  #	Y -> C, for YACC
X! .y.c:
X! 	$(YACC) $(YFLAGS) $<
X! 	del $@
X! 	rename y.tbc $@
X! 	del $*.h
X! 	rename y.tbh $*.h
X  
X  #	L -> C, for LEX
X  #.l.c:
X*** others/Old/NetHack.cnf	Sun Nov 19 14:13:38 1989
X--- others/NetHack.cnf	Wed Oct 25 20:52:03 1989
X***************
X*** 60,78 ****
X  # stone, vertical wall, horizontal wall, top left corner, top right corner, 
X  # bottom left corner, bottom right corner, crosswall, up T wall, down T wall, 
X  # left T wall, right T wall, vertical beam, horizontal beam, left slant, right
X! # slant, door, floor, corridor, up stairs, down stairs, trap, web, pool,
X  # fountain, sink, throne, altar, up ladder, down ladder, vertical drawbridge
X  # wall, horizontal drawbridge wall 
X  #
X! # If you specify less that 32 ASCII values, the remaining characters will be
X  # set to their respective defaults.
X  #
X  #
X  # An example using the IBM graphics character set:
X! #	   ' '  |   -   .   .   `   '   -   -   -   -   -   |   -   \   /   +   .   #   <   >   ^   "   }   {   #   \   _   <   >   #   #
X! GRAPHICS = 032 179 196 218 191 192 217 197 193 194 180 195 179 196 092 047 239 249 177 060 062 094 157 247 244 035 190 220 060 062 186 205
X  # An alternative:
X! #GRAPHICS= 032 186 205 201 187 200 188 206 202 203 185 204 179 196 092 047 239 249 177 060 062 094 034 247 244 035 092 095 060 062 179 196
X  #
X  #
X  # Using the DEC Rainbow/ANSI line-drawing character set:
X--- 60,79 ----
X  # stone, vertical wall, horizontal wall, top left corner, top right corner, 
X  # bottom left corner, bottom right corner, crosswall, up T wall, down T wall, 
X  # left T wall, right T wall, vertical beam, horizontal beam, left slant, right
X! # slant, no door, vertical open door, horizontal open door, closed door,
X! # floor, corridor, up stairs, down stairs, trap, web, pool,
X  # fountain, sink, throne, altar, up ladder, down ladder, vertical drawbridge
X  # wall, horizontal drawbridge wall 
X  #
X! # If you specify less that 35 ASCII values, the remaining characters will be
X  # set to their respective defaults.
X  #
X  #
X  # An example using the IBM graphics character set:
X! #	   ' '  |   -   .   .   `   '   -   -   -   -   -   |   -   \   /   .   -   |   +   .   #   <   >   ^   "   }   {   #   \   _   <   >   #   #
X! GRAPHICS = 032 179 196 218 191 192 217 197 193 194 180 195 179 196 092 047 249 239 239 254 249 177 060 062 094 157 247 244 035 190 220 060 062 186 205
X  # An alternative:
X! #GRAPHICS= 032 186 205 201 187 200 188 206 202 203 185 204 179 196 092 047 249 239 239 254 249 177 060 062 094 034 247 244 035 092 095 060 062 179 196
X  #
X  #
X  # Using the DEC Rainbow/ANSI line-drawing character set:
X***************
X*** 83,86 ****
X  # can use characters from both sets this way.  These are also the characters
X  # to use for the ANSI ruling character set '0'.
X  #
X! #GRAPHICS= 032 248 241 236 235 237 234 238 246 247 245 244 248 241 092 047 043 254 225
X--- 84,87 ----
X  # can use characters from both sets this way.  These are also the characters
X  # to use for the ANSI ruling character set '0'.
X  #
X! #GRAPHICS= 032 248 241 236 235 237 234 238 246 247 245 244 248 241 092 047 254 241 248 043 254 225
X*** /dev/null	Sun Nov 19 14:13:49 1989
X--- others/atari.cnf	Mon Oct 30 12:10:17 1989
X***************
X*** 0 ****
X--- 1,79 ----
X+ # A '#' at the beginning of a line means the rest of the line is a comment.
X+ #
X+ # This configuration file is set up for two cases, for a hard disk
X+ # (as drive C:), and for two floppy disks.
X+ #
X+ # To change the configuration, comment out the unwanted lines, and
X+ # uncomment the configuration you want.
X+ 
X+ 
X+ # *** OPTIONS ***
X+ #
X+ # If you want people to play NetHack over the modem, you should probably
X+ # uncomment the following line:
X+ #
X+ #OPTIONS=!IBM_BIOS,number_pad,nocolor
X+ #
X+ # Some options to set personal preferences.  Uncomment and change these to
X+ # suit your personal preference.  If several people are to use the same
X+ # configuration, options like these should not be set.
X+ #
X+ #OPTIONS=name:Janet-V,female,dogname:Fido,catname:Morris,fruit:apricot
X+ #OPTIONS=packorder:")[%?+/=!(*0_`,endgame:10 top/2 around/own
X+ #
X+ #
X+ # Other general options.  You might also set "silent" so as not to attract
X+ # the boss's attention.
X+ #
X+ OPTIONS=time,rest_on_space,nopickup
X+ 
X+ # Color: if you have a color monitor and want colored objects to appear,
X+ # comment out the following line.
X+ OPTIONS=nocolor
X+ 
X+ # *** HARD DISK CONFIGURATION ***
X+ #
X+ HACKDIR=c:\games\nethack
X+ #
X+ #   LEVELS and SAVE default to HACKDIR
X+ #
X+ LEVELS=c:\games\nethack
X+ SAVE=c:\games\nethack;n
X+ #
X+ #   appending a ";n" to SAVE means don't prompt to insert a disk.
X+ #SAVE=;n
X+ #
X+ # Using a ramdisk speeds things up; a 200K ramdisk is OK even on a 1 megabyte
X+ # system.
X+ RAMDISK=m:
X+ 
X+ 
X+ # *** 2-FLOPPY CONFIGURATION ***
X+ #
X+ #HACKDIR=a:
X+ #LEVELS=b:
X+ #SAVE=b:
X+ #RAMDISK=m:
X+ 
X+ 
X+ # *** CHARACTER GRAPHICS ***
X+ #
X+ # The 35 GRAPHICS characters (0-34) are:
X+ # stone, vertical wall, horizontal wall, top left corner, top right corner, 
X+ # bottom left corner, bottom right corner, crosswall, up T wall, down T wall, 
X+ # left T wall, right T wall, vertical beam, horizontal beam, left slant, right
X+ # slant, no door, vertical open door, horizontal open door, floor, corridor,
X+ # up stairs, down stairs, trap, web, pool, fountain, sink, throne, altar,
X+ # up ladder, down ladder, vertical drawbridge wall, horizontal drawbridge wall 
X+ #
X+ # If you specify less than 35 ASCII values, the remaining characters will be
X+ # set to their respective defaults.
X+ #
X+ #
X+ # An example using the Atari's graphics character set:
X+ #	   ' '  |   -   .   .   `   '   -   -   -   -   -   |   -   \   /   .   -   |   +   .   #   <   >   ^   "   }   {   #   \   _   <   >   #   #
X+ #GRAPHICS=042 124 045 169 170 045 045 043 045 045 045 045 124 045 092 047 249 251 251 252 250 240 174 175 222 223 247 221 189 196 227 243 242 178 179
X+ #
X+ # Using the font constructed by hackfnt.prg
X+ #	   ' '  |   -   .   .   `   '   -   -   -   -   -   |   -   \   /   .   -   |   +   .   #   <   >   ^   "   }   {   #   \   _   <   >   #   #
X+ #GRAPHICS=032 190 191 194 195 192 193 189 197 196 199 198 190 191 092 047 202 201 201 200 202 203 210 211 207 206 214 204 205 208 209 212 213 215 215
X*** /dev/null	Sun Nov 19 14:13:59 1989
X--- others/atarifnt.uue	Mon Oct 30 12:10:18 1989
X***************
X*** 0 ****
X--- 1,116 ----
X+ table
X+  !"#$%&'()*+,-./0123456789:;<=>?
X+ @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
X+ begin 644 atarifnt.arc
X+ M&@A(04-+1DY4+D1/0P  & $  %T3-Z930'4!   ,5-"4 0%'SILS<L*T 2$"z
X+ M39@Q:\RXH2,"Q!B';LZ4F0-BSILV ]^8 4%'H$6'"<?0*2.'8QHW)$W6@0.'y
X+ M)<$P<N@T4" RYL @='"F.<%Q3IXY*Q>:>3.QXQL083C2>5KPC9TT9 :R>3D0x
X+ M81@X:-*,X1C&#1FG("W66;E3+-,Y+D D&9GG31T0<NK +)F&8U6O;5A -0O"w
X+ MH9V!;=Z026,F39FS(MR4*?EPC8LQ;LR(V/FU:L$T85:RR2.XY,:!%W$^7-D2v
X+ MQ)TT;-A I5D&)XB72&N?[6D:A)LW<MJ$D>T5K%BX.QM6EDC1-? U+F&626-:u
X+ M#HC$OR\:3 O<XALVP 67/2L\#P@Q _/"-+-]9^\P:Y\N99-5CHN=&@A(04-+t
X+ M1DY4+E!21P  YQ$  %T3#86'&U$;   ,8#0  "   *0!& @8'$!A8  ,!A6Hs
X+ M> . P(AF S40$-$& (9I[0!P&)$L(P(2'5DHD7 &@0AE2C28X0>&GI!,)O*8r
X+ M5#+IC P46QAP !#$##VA *28<8?TB!ET2*V8$8>TAQEN0D:16()%$8@D)A)8q
X+ M4I1E$+E!8)A\C<9O(2 A6$0D(('$3@ 0;0D",,''[;5F$"9, =#&@)1%2B:8p
X+ M<2 KT1D#0C* ""9ED!!,8"@PF   A!D%E2='E@L&FX1I8*B90'*IF9)<&1E\o
X+ M'I$7Q$(-#*[EBRUB@;1& @+].^C/19 7"UXT$'+F!P\ 2IP$^=;V((,7.4R^n
X+ M4/!B0"=G3F #",#B!X#P#A$,=&+E'S\DYV" @.$"@ ([3,S_&" =RY,60+C'm
X+ MA#L$,/ //$YXX40=[+D'GWSHC6>&;3  @)]^_ 7A'X "$F@@@@HR:,5 H  Pl
X+ M C 949#@@@V^=PX.(#BARS_FV"&-->)I0 $(0S  !0 0F"&!'>K@F"*/(/ Rk
X+ MD  $@,&"C48"H".//@* @)!$1CGE$$D.)$&3"B"!!T$R_L.$?R#H).5&:FH$j
X+ M @H , !-*@#LV"8!T* BD@& .&1A#$(0\0,!+P"PGW10_!<@/P,2P,$_[*Q8i
X+ MAT$B1* 0) 1 A(-!.0!AD L\&&!0"6#(((-!!/#PG*H+\7#00O\,!(%!!:@'h
X+ M"0@008)! :#TQ8>OD!2 Z@)P8@I17Y#<,"L8!FG@  ;@H&H 1& ,1:U'8)AAg
X+ M!@, ^$ M!LQJ"X #"QF J:FT@L'L0:8&L! ,>NAAA@&SLLKJ0:X20 ( JPP4f
X+ MR4+XB&2#01+T!8 'Y$*" $0 X+!IL/Z\RP ?_KCCKI5XX,"K+@+HH(,@N."Be
X+ MRZMC M  -AYIZX,9;&!@0+;2\H !#WXPX <'?MQ;  \X8, '#WCXX<?*?AC d
X+ M#!C&F,'#S_CXX(>V29OAAP=@X#$K'  P*RJY8&#  # //XM!A0#PL*W9, R,c
X+ MMM(P* U1SF; P$/;!V'@@1D8.,  IO$.Q# (MAT4;P\#^8$!$TQLRX<>]CZ'b
X+ M+Z;[5E/0OP>! X(//@3@!PY^'.3&4'5''/%!$/#L@P<0^& P& 8\.Q ;!L, a
X+ M QX1SXP#!SCX8TP SSD !!"\&F/N ,8  XPQKWH*@ %P8J#MTRTST':N QA@z
X+ MN- VT_SJN " X\?/0O/1^0!2&XVTU ?Q(S34SU.=<<-9+W]PUEZ#;= !N4X[y
X+ M=N%X:XO!4/[SWT'\  !\!-!Y?L.!TCR  4PASF\# 1S#$$=  (PN4Q!01N-:x
X+ M!3E^%82 SP%'#,9@@P%L;FA^<,/ \$7 B!$$ GY@ P@@ ,/:P<$!&<  !@1 w
X+ M!(/A 0D,XP$)6$ #7?C#&N3#P /@ #Q0".\@Q3O>J[ &@ - (V7_  ,;>H8[v
X+ MF97+# H4"AC@8 #__<\/<#"#.9YF!C> X2!X,P VP. .,V#J:,XS0]08 "X,u
X+ M;&HH6O-(_   C%SASR#Z(YL9#-( 51$099 P@-GFYC]$WFL (QA!K@A@!G=At
X+ MPU4#D)4&5^6X >0K<B< @.&> XL,^, &*W.9#;1U*C.(P98" (,'5,D'/<+@s
X+ M5^ PAN%NMP$=^@!V P&B(DE@CC-(@A^2&, P>)" WS4 %D\DGO&0-P ^*,\%r
X+ MLW)>%AG0,WQ13S9AY("ZRH@W/V[.#,*P8Y/@Z+(YNL,.=AP 'J%F-C["  -Lq
X+ MB-/2>. #F:D.!PQ@!D!5Q0?5.8U]4M,A#,201U<E  <#] ,8[/!). Y0:FW#p
X+ M&\\F:0:G,<P$)FB5V7K@!VR,3Y3_X,$_?L"/ X#C'S-5WSDPL(HZ\, *,P, o
X+ M)AH RU[*T@QVP  $[F$/,X#!#S!0(#^,(01C8, :UCB>X7!73 #PP6$ ^  2n
X+ M_CF089!@$,&P!C]T88!(\  !0,#!-071,1WH(F2"T(4N_%"R'$0KCWS  !P:m
X+ M.(!_$)" LO':S/@ !@;03(=8XP #M"&U;/W*#88S #S X ]\'H09@^6GS,8&l
X+ MT(HX37S!0B@W,."/SAT HIOSHSS )34?8 JU \ H^9SZ!V^,SXX&@,'3,. #k
X+ MSDEM7G@;" M8@ $-P,)IF/V'-_()4YG2] 'PP"E-_7 .$E2C"C[0 @YXX \&j
X+ M', &-@A&9FU@AX)"(!/<<"H_ &I'  BBJCR0A"2.ITH'#!8#?O 4Z9  !B0,i
X+ M)!#G0*LQ\(&#MKYU(!W Q4#X$"RO\D%4!]E4RDHJ6,(:5I4><8-B:<8'QWH+h
X+ M6N-B@#7,P%@6\P&S+MNL-9Z6OIYIRQHS:R !C#&0,F;KN'AC #Y8:\<"=.W&g
X+ M_82'W7S!@Q^;JTGY)*RV^+"!Z2H,#'(3W[3RV=[D>N0@-L!&&=U@AFU8.91 f
X+ M4D9,<_H!?&B7'[$BP2JH8(Z8DI< !WCE(-9K!P> ,1.(8"PJ&) T& C"#TG3e
X+ M[U2%ACL=^J$@!X&&F,AVCD TTQKZT 4C.@$T#W @!YR@*RYT<!".Z4('K3L d
X+ M/!8"D7\$UQL>R3&KD^HU-EC/>:(" !QN=M6G94M=_I,C&&9\7'QP((\X)BT4c
X+ M![*R'^?1:TI>,:;&B&RS84#)'N $"7YL6RC7+:-\V(,!K^P/YQ'7>1F-VT!@b
X+ M( . LF%E=G##-ESZM(7H8<UMINF;8X6!:E# 'O]0&AN \0U8FM0 -C! &7'Pa
X+ M#D0X%06$CMM]V2 $10O3C\>&B \6<L5@D6 81)2$/"3!B$#P !\0D$ >/"$\z
X+ M8 Q/>,+S P0>$+"Z <#5-H"U#KUXD.G5NHRX'@CG>L8-7SO5V<(V!IE[B8UGy
X+ M:<L?,OLG'Q=B=,/Y3\A7E2<89/9T<_=L4TY%GY''1UBA@>$?XTZ </%F]8_&x
X+ M36ADQ@ V;/ T._CA&_1>Y$$4L&;LZCNGW.47!WR@E!@:#[WBDZ7"><"&JSP<w
X+ M X6^+PHJOE\>"_99!S$8!G[D<3!R0!?VL 8VAH%&#G @#HYH^<L-(+QM?8 =v
X+ MM#HN,V+=3H],KVU%B]N\=#B4P0)#Z\XVP]&4'G9F;)F\,NO:U.$8]B,'&1M9u
X+ MG[;3D1\WB0) "-K*UK2-Q?S28,.."("JN?OGN7P*;1K.<#>7L?']5^U]S3;]t
X+ M^W;/ 8!J8, >>AC&/]@ #WB\,AAQY ,*5UI-!08H  .%EC2J8 98I57@,BW0s
X+ MISP\@#4>-S?D9 [&@ 5F$"L00 &HIWI0Q'IE)  )$7N]-'NXLT@005MC V1Mr
X+ M(S;D$BWBD$]N%'S#EWUJ8'S.PP-UU$?3LA#9YU0 %F0*E333=GSN0#/_M#_#q
X+ M$(3;ERG=QWY%QD9SXS/CARGKPSH&H $8$&;R)(7N-P *<$F@5#8'L2^KX <Up
X+ MHG_\!P\V\ >#$( *QP0\)@:,A0):] <@(#[N\#U\$$P$5#>0E"J!LS,,PP?No
X+ MX YPP .SDG)A8 @<,VH=8VHZP&N7@A 0%#'2 T'@TCD%(C3"-5JL]C3AHU&Dn
X+ MB&B(5EE\<'&&DS0 Y@$&,"81TSD%0%Q*PP#.P -),SY/Y0&M6%*&LS^&!0D+m
X+ M $K/(UVTZ#2&\P< !6 TPT8%I5$&P #MYER>^ _^\#P+,8:E5(:@%#D$Y0<Xl
X+ M!0#\P \V, 8'MSP&P 8\!@!LP"S^@ -= "2,QX@PQ&-DAPFHDBL-4"$/,P!!k
X+ M( B^,I 6]AP0<(D, Q%VL#S,(DC@\HP\X%ASPS,ZQ&IF\S-!LW52HXNIV&0Vj
X+ M8 R!)3."P':P*(O=TE!U4T81:0RZJ#0-!09\X #>,I*WMC]E8UMCR'Q^T%N@i
X+ MA#F2)#/_ "YP4% $)2YEPSH8\ ,,4U"\P M_0(7;2(:O\HW\,C/3\&'EB#F)h
X+ M)RH*]X]@L&H1@R*S<A#PD#KX6#<4* &V,981X &.XP 5 @EP:1 K4$'(8F08g
X+ M=@ $]"S1$B>(Q"V0 $.T @3K8CV!.  ?0(*H @A] @D)()6A1)75\!S_LD@Xf
X+ M90,<@"*0H  "1@!]@BP#$"V0<$B0< (70 4&X0"!HYITZ4/IDI?(8@ /(YL&e
X+ M 0'(0@*063:E%"N88IFQ@@"-V0&YPD>C)5/GH#DZU'^\<F&_ I(5A@>J9BDId
X+ M(T@]XU^T(@ R0S/9DS//(3];)S,8*30K$RI.E30#!3ZPY0% 8#4+$4B I$-@c
X+ M$#;/0H'DPT?5ES+3DRU>8RC.\T]T@Q <8 8<X %[0P T0 .T8@P\M@'8<* %b
X+ M 0!_  ,'NBT P#BDQ$&AM"\*TQ:@@P#DLDA#84&M,A"2U2W/,3;<4I%@U3 Xa
X+ M4#)"A#N9\ _#($T\D)G $#PO9SRLQV-@0'/$DC+OQC+_HT#4LW#;HDZL8T;<z
X+ M$E)FPS)OE$3K2$>>58L0-2U=LRDH$D@5TI!=<S_Y0UA=<Z(J"!$J" #J)DAXy
X+ MH(+)53<Z8 8V\$^8@@58H"H,PPP*90-L(*<\4!#0)Z<>D4$;]#CZ @ J@)V]x
X+ M@ #/ 0\S@%XS<#,^T%HVL %+!0 V$#%FL$L>H2HVH%1I9#@'(38R@$SNR 8,w
X+ M8*DD8 ]O, S^D D&, T\8 '^\ TX"D4ZJJ! \WHGDS+^H$7E9$KG)&+3LC2-v
X+ M)4 FY#)DUGST%(N<16--DD<LN2VD%5!;]S,%U5!?96[L\#/6^E!Z]#R$-5MZu
X+ M9TH#L2K["& M%7N3)#<LADAEM!#LYXX#8Z8T@S)E P!1-4JZR4$$0']4< +Ft
X+ M(*!^X _<L %WX /,L"WL9 ,\DPGX9 ;^$%5L #=FD#$MIDK2TU5, %8/T#(:s
X+ M-@P)%@SGP \\P BN"@'8L W7-&$5]BLODQ#,(TAL(#-8HT,?1D 8D%0,P "Vr
X+ M%I(;9Z]QP@!JP&*6]6*9!0?#]C2]]#/(EF.8PF,PX&/:$E(ZU#+9&"S.]ZS2q
X+ MXS6>0 /9HBH_J9$\@R]-5F7&:+6!Q0=R,UXL5E)XHSKH)7<;H"IN(&_>H$.+p
X+ ME&;XA@_8]68$A ,J4 =V\ ]T9VL/\$H66T9V$*!L %]\( 8MPP8M<US<0 7$o
X+ MYJD#4$R!F"EL  /< @#G, QH-0SYD DG*W/>\ _7!(+$(X)"DQ!6!+.O%FL\n
X+ M-P ^9SUEU#;3\BHZA%G-AW1X@#1DME&VED=01UK+-P#-!E)FA ?1UR1<QX#Fm
X+ MABD,0 //8P "^#)DQWQ\\ ?CA@!8AC9;=A -*SL,L 8BQ@8)AU1V@'>J<K<0l
X+ M<&\RA5UMQK?N2 7=8 Y:H+#\]P.PU*@,4$;3J$?O@ Q.M;F0BV[Z1+DP@Z)Rk
X+ M!P"GXA'8 #LE0P)F@*J9, _#  ?#  &#Y0$9@ FJ"W- =Y#@M!#^<((B0:05j
X+ MPH)M(QNZQT=> U59DT_O&'SO&#5:%$ \B#==\X/=YU0P$$O-:(1-<GS4"J>Ai
X+ M) 9F\U12DS-/6G8:!88%L#)LTY]M-P!N4%!8Q@##@&-X2F,# (9H!@'<B*%Fh
X+ M.  OH@(SXP=C0'_\  P^< <'^[]%XU@C&5\Y?,!F0P+L@ /6T*FL!GU,X#<4g
X+ M6 "XV47G< X@, PXH&0;L'+,&<D&\"L\X %NZ5<PBP%&L)#6Z;,8  00*9%If
X+ M:Z^BTC4K$YY@,)YFTY%@,$L&!7DD*0 FJ3H$-3<JN8/F^9(QZ2V-9SWSJ4H(e
X+ M4%#=AJB1]#QWUY,"2%  YC.IK"I4/!!QPP"&\ D8P* %-4!/66][EYM4204$d
X+ M% A/>7/F.# UPY4,0*]VP%AL$(_,.#,3^TLKHTIHN4EQ:8CN1P RUY"H9Q ,c
X+ M<)H/TP#KH@,&4\BL<S^:MQ"SF2NV"4'Q,YIE"  /X,,$\#O0K#11V8U3^1S[b
X+ M4J]G.!"Q CH'0)]@@ \&1DBETYYCZ<,+0 8ZP 5GX 9UP 5L &D%$ 9R< 9Qa
X+ M20"76!!H$ 9CL 9M1 <N &D#$  (< 9C, 9?, 9OT 9P0-1&_05?( 9A, =Ez
X+ MX"<'H1%2W09AD 9NL"0+01Y2709XD 9T -8'$=5,S09R\ 5D$ :7^"52/0=Ty
X+ M8--G3=-?T 9OX 9OX-9PO1!,\@5E0 =D?=9Z<1 %(=AN8 =I( =[[2Y9C0!Sx
X+ M30=K, =IH >0/0"X(=AR( =\C=6:#0&"7=9GC=AA+=E<[=6 '=9F\ 5>;=:Kw
X+ MG=96\ 5AP 9>?=7C<1L4(-AO7=<#<8E:709N0 :HDME<6"[/P@1 \+\DP  (v
X+ 20 ,HH%0(H  0@  2T#H  !H u
X+  t
X+ end
X*** others/Old/msdos.c	Sun Nov 19 14:14:13 1989
X--- others/msdos.c	Mon Nov 13 21:20:43 1989
X***************
X*** 1,4 ****
X! /*	SCCS Id: @(#)msdos.c	3.0	88/11/20
X  /* NetHack may be freely redistributed.  See license for details. */
X  /* An assortment of MSDOS functions.
X   */
X--- 1,4 ----
X! /*	SCCS Id: @(#)msdos.c	3.0	89/11/08
X  /* NetHack may be freely redistributed.  See license for details. */
X  /* An assortment of MSDOS functions.
X   */
X***************
X*** 8,13 ****
X--- 8,16 ----
X  #ifdef MSDOS
X  # ifdef TOS
X  #  include <osbind.h>
X+ #  ifndef WORD
X+ #    define WORD short		/* 16 bits -- redefine if necessary */
X+ #  endif
X  # else
X  #  ifdef __TURBOC__	/* avoid incompatible redeclaration */
X  #   undef getdate
X***************
X*** 15,21 ****
X  #  include <dos.h>
X  # endif
X  #ifdef OS2
X! # include "def_os2.h"    /* OS2 definitions (Timo Hakulinen) */
X  #endif
X  static char DOSgetch();
X  #ifdef DGK
X--- 18,24 ----
X  #  include <dos.h>
X  # endif
X  #ifdef OS2
X! # include "def_os2.h"   /* OS2 definitions (Timo Hakulinen) */
X  #endif
X  static char DOSgetch();
X  #ifdef DGK
X***************
X*** 23,28 ****
X--- 26,36 ----
X  #endif
X  static unsigned int ioctl();
X  
X+ #ifdef TOS
X+ static void init_aline();
X+ char *_a_line;			/* for Line A variables */
X+ #endif
X+ 
X  void
X  flushout()
X  {
X***************
X*** 498,504 ****
X  
X  void
X  eraseall(path, files)
X! char *path, *files;
X  {
X  	char
X  #ifndef OS2
X--- 506,512 ----
X  
X  void
X  eraseall(path, files)
X! const char *path, *files;
X  {
X  	char
X  #ifndef OS2
X***************
X*** 535,541 ****
X  #endif
X  	*comspec;
X  	int status;
X- 	long fs;
X  	extern saveprompt;
X  
X  	if (!ramdisk)
X--- 543,548 ----
X***************
X*** 850,856 ****
X  			int lth;
X  
X  		     if ((lth = sscanf(bufp,
X! 	 "%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d",
X  				&translate[0], &translate[1], &translate[2],
X  				&translate[3], &translate[4], &translate[5],
X  				&translate[6], &translate[7], &translate[8],
X--- 857,863 ----
X  			int lth;
X  
X  		     if ((lth = sscanf(bufp,
X! 	"%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d",
X  				&translate[0], &translate[1], &translate[2],
X  				&translate[3], &translate[4], &translate[5],
X  				&translate[6], &translate[7], &translate[8],
X***************
X*** 861,867 ****
X  				&translate[21], &translate[22], &translate[23],
X  				&translate[24], &translate[25], &translate[26],
X  				&translate[27], &translate[28], &translate[29],
X! 				&translate[30], &translate[31])) <= 0) {
X  					msmsg ("Syntax error in GRAPHICS\n");
X  					getreturn("to continue");
X  			}
X--- 868,875 ----
X  				&translate[21], &translate[22], &translate[23],
X  				&translate[24], &translate[25], &translate[26],
X  				&translate[27], &translate[28], &translate[29],
X! 				&translate[30], &translate[31], &translate[32],
X! 				&translate[33], &translate[34])) <= 0) {
X  					msmsg ("Syntax error in GRAPHICS\n");
X  					getreturn("to continue");
X  			}
X***************
X*** 926,932 ****
X  
X  void
X  getreturn(str)
X! char *str;
X  {
X  #ifdef TOS
X  	msmsg("Hit <Return> %s.", str);
X--- 934,940 ----
X  
X  void
X  getreturn(str)
X! const char *str;
X  {
X  #ifdef TOS
X  	msmsg("Hit <Return> %s.", str);
X***************
X*** 938,946 ****
X  }
X  
X  void
X! msmsg VA_DECL(char *, fmt)
X  	VA_START(fmt);
X! 	VA_INIT(fmt, char *);
X  	Vprintf(fmt, VA_ARGS);
X  	flushout();
X  	VA_END();
X--- 946,954 ----
X  }
X  
X  void
X! msmsg VA_DECL(const char *, fmt)
X  	VA_START(fmt);
X! 	VA_INIT(fmt, const char *);
X  	Vprintf(fmt, VA_ARGS);
X  	flushout();
X  	VA_END();
X***************
X*** 950,987 ****
X  /* Chdrive() changes the default drive.
X   */
X  #ifndef __TURBOC__
X! #ifndef OS2
X! #define SELECTDISK	0x0E
X! #endif
X  void
X  chdrive(str)
X  char *str;
X  {
X  	char *ptr;
X! #ifndef TOS
X! #ifndef OS2
X  	union REGS inregs;
X! #endif
X! #endif
X  	char drive;
X  
X  	if ((ptr = index(str, ':')) != NULL) {
X  		drive = toupper(*(ptr - 1));
X! #ifdef TOS
X  		Dsetdrv(drive - 'A');
X! #else
X! #ifdef OS2
X  		DosSelectDisk((USHORT)(drive - 'A' + 1));
X! #else
X  		inregs.h.ah = SELECTDISK;
X  		inregs.h.dl = drive - 'A';
X  		intdos(&inregs, &inregs);
X! #endif
X! #endif
X  	}
X  	return;
X  }
X  #else
X  void
X  chdrive(str)
X  char *str;
X--- 958,997 ----
X  /* Chdrive() changes the default drive.
X   */
X  #ifndef __TURBOC__
X! # ifndef OS2
X! #  define SELECTDISK      0x0E
X! # endif
X  void
X  chdrive(str)
X  char *str;
X  {
X  	char *ptr;
X! # ifndef TOS
X! #  ifndef OS2
X  	union REGS inregs;
X! #  endif
X! # endif
X  	char drive;
X  
X  	if ((ptr = index(str, ':')) != NULL) {
X  		drive = toupper(*(ptr - 1));
X! # ifdef TOS
X  		Dsetdrv(drive - 'A');
X! # else
X! #  ifdef OS2
X  		DosSelectDisk((USHORT)(drive - 'A' + 1));
X! #  else
X  		inregs.h.ah = SELECTDISK;
X  		inregs.h.dl = drive - 'A';
X  		intdos(&inregs, &inregs);
X! #  endif
X! # endif
X  	}
X  	return;
X  }
X  #else
X+ extern int setdisk(int);
X+ 
X  void
X  chdrive(str)
X  char *str;
X***************
X*** 1158,1165 ****
X--- 1168,1177 ----
X  #ifdef TOS
X  	if (run_from_desktop)
X  	    getreturn("to continue"); /* so the user can read the score list */
X+ # ifdef TEXTCOLOR
X  	if (flags.IBMBIOS && flags.use_color)
X  		restore_colors();
X+ # endif
X  #endif
X  	exit(code);
X  	return;
X***************
X*** 1213,1218 ****
X--- 1225,1234 ----
X  
X  	LI = regs.h.dl + 1;
X  	CO = regs.h.ah;
X+ #   else  /* TOS */
X+ 	init_aline();
X+ 	LI = (*((WORD  *)(_a_line + -42L))) + 1;
X+ 	CO = (*((WORD  *)(_a_line + -44L))) + 1;
X  #   endif /* TOS */
X  #  endif
X  }
X***************
X*** 1248,1262 ****
X  	return Cconis();
X  }
X  
X  static unsigned orig_color[4] = {-1, -1, -1, -1};
X  static unsigned new_color[4] = { 0x0, 0x730, 0x047, 0x555 };
X  
X  void set_colors()
X  {
X  	int i;
X  
X! 	for (i = 0; i < 4; i++)
X! 		orig_color[i] = Setcolor(i, new_color[i]);
X  }
X  
X  void restore_colors()
X--- 1264,1308 ----
X  	return Cconis();
X  }
X  
X+ static void
X+ init_aline()
X+ {
X+ #ifdef __GNUC__
X+ 	asm(" .word 0xa000; movel d0, __a_line");
X+ #else
X+ 	asm(" .dc.w 0xa000");	/* tweak as necessary for your compiler */
X+ 	asm(" move.l d0, __a_line");
X+ #endif
X+ }
X+ 
X+ #ifdef TEXTCOLOR
X  static unsigned orig_color[4] = {-1, -1, -1, -1};
X  static unsigned new_color[4] = { 0x0, 0x730, 0x047, 0x555 };
X+ static int numcolors = 2;
X  
X  void set_colors()
X  {
X  	int i;
X  
X! 	init_aline();
X! 	numcolors = 1 << (((unsigned char *) _a_line)[1]);
X! 	if (numcolors == 2) {			/* mono */
X! 		flags.use_color = FALSE;
X! 		return;
X! 	}
X! 	else if (numcolors == 4) {
X! 		for (i = 0; i < 4; i++)
X! 			orig_color[i] = Setcolor(i, new_color[i]);
X! 	}
X! 	else {
X! 		orig_color[0] = Setcolor(0, new_color[0]);
X! 		orig_color[1] = Setcolor(15, 0x777);
X! 		for (i = 0; i < 16; i++) {
X! 			hilites[i] = (char *) alloc(sizeof("\033b0"));
X! 			sprintf(hilites[i], "\033b%c", '0'+i);
X! 		}
X! 		HE = "\033q\033b\017\033c0";
X! 	}
X  }
X  
X  void restore_colors()
X***************
X*** 1263,1269 ****
X  {
X  	int i;
X  
X! 	for (i = 0; i < 4; i++)
X! 		(void) Setcolor(i, orig_color[i]);
X  }
X  #endif /* TOS */
X--- 1309,1323 ----
X  {
X  	int i;
X  
X! 	if (numcolors == 2)
X! 		return;
X! 	else if (numcolors == 4)
X! 		for (i = 0; i < 4; i++)
X! 			(void) Setcolor(i, orig_color[i]);
X! 	else {
X! 		(void) Setcolor(0, orig_color[0]);
X! 		(void) Setcolor(15, orig_color[1]);
X! 	}
X  }
X+ #endif /* TEXTCOLOR */
X  #endif /* TOS */
X*** others/Old/oldtos.c	Sun Nov 19 14:15:00 1989
X--- others/oldtos.c	Fri Oct 20 13:30:41 1989
X***************
X*** 442,448 ****
X  			int lth;
X  
X  		     if ((lth = sscanf(bufp,
X! 	     "%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d",
X  				&translate[0], &translate[1], &translate[2],
X  				&translate[3], &translate[4], &translate[5],
X  				&translate[6], &translate[7], &translate[8],
X--- 442,448 ----
X  			int lth;
X  
X  		     if ((lth = sscanf(bufp,
X! 	"%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d",
X  				&translate[0], &translate[1], &translate[2],
X  				&translate[3], &translate[4], &translate[5],
X  				&translate[6], &translate[7], &translate[8],
X***************
X*** 453,459 ****
X  				&translate[21], &translate[22], &translate[23],
X  				&translate[24], &translate[25], &translate[26],
X  				&translate[27], &translate[28], &translate[29],
X! 				&translate[30], &translate[31])) < 0) {
X  					cprintf("Syntax error in GRAPHICS\n");
X  					getreturn("to continue");
X  			}
X--- 453,460 ----
X  				&translate[21], &translate[22], &translate[23],
X  				&translate[24], &translate[25], &translate[26],
X  				&translate[27], &translate[28], &translate[29],
X! 				&translate[30], &translate[31], &translate[32],
X! 				&translate[33], &translate[34])) < 0) {
X  					cprintf("Syntax error in GRAPHICS\n");
X  					getreturn("to continue");
X  			}
X*** /dev/null	Sun Nov 19 14:15:59 1989
X--- others/ovlmgr.uu	Sat Nov 18 17:06:13 1989
X***************
X*** 0 ****
X--- 1,90 ----
X+ begin 644 ovlmgr.obj
X+ M@`P`"F]V;&UG<BYA<VUDEA4```904U!314<&3U9,5$),!$-/1$6%F`H`````
X+ M`"P``@$!+I@*```````0``,!`4F8!P!HZ`X$`0']C$8`!R0D24Y43D\`"20D
X+ M3U9,0D%310`*)"1-4$=33D]63``+)"1-4$=33D)!4T4`!B0D34%)3@`&)"1#
X+ M1U-.``8D)$-/5DP`T9`0```#"20D3U9,24Y)5/`&`/&(!```H@'1H!0``@``
X+ M`````````````````````$J@*P`#``#__P````````````#__P``````````
X+ M____________```````````_G`@`Q`8``P-#`$FB9@`#)P`!`````DU:`0``
X+ M``(```$````"```!`````@```0````(```$````"```!`````@```0````(`
X+ M``$````"```!`````@```0````(```$````"```!`````@```0````(``/VB
X+ M#P`#0P```0$``0````(```2B#P`#0P(``@$``0````(```&@``0#0P8-"DYO
X+ M="!E;F]U9V@@;65M;W)Y('1O(')U;B!T:&ES('!R;V=R86TN(%1I;64@=&\@
X+ M9V\@=&\@=&AE('-T;W)E+@T*!R0-"EEO=7(@9&]G(&5A=',@86QL('EO=7(@
X+ M<F5M86EN:6YG(&UE;6]R>2$@66]U(&1I92X-"@<D#0I4:&4@3GEM<&@@<W1O
X+ M;&4@>6]U<B`N15A%(&9I;&4A(%EO=2!D:64N#0H')`T*)%!345)65U4>!HS8
X+ M!1``+J,``(X>``"^__]&@SP`=?J#Q@2P`+0]B];-(7,(L`6Z``#I```NHP``
X+ MN```+J,``+L`";1(S2%S`^D``([`M$B[___-(;1(S2%S`^D``"[&!@```"ZC
X+ M``"X``".V(L.```NB0X``(L.```NB0X``"O9<P/I``!3M$G-(7,#Z0``,^TS
X+ M_S/VZ```+J$``"X#!@``CL`SP":C```FHP``)J,``":B```NH0``T>#1X-'@
X+ MT>#1X"Z+%@``"])T#M'JT>K1ZM'J0BT@``/")J,``"XK!@``+H,^````=`L[
X+ MQW('B_@FBS8``":)+@``+@,N``"+U8K.BO(R[3+2T>+1T;``M$+-(2ZA``!(
X+ M+CL&``!T`^D``%8NH0``CL`NBS8``"X#-@``)L8&````)HDV`@`FQP8$````
X+ M)HD^"``#^"Z)/@``CL8FQ@8````FQP8"````)J,$`%Y;)HD>"``NHP``+L<&
X+ M`````"['!@````"X```NHP``B_@NQP7__X/'!BZA```NB04NB3X``([`)L8&
X+ M```'1CO><PBP!;H``.D``+@``([8M#6@``#-(2Z)'@``+HP&``"T-;`AS2$N
X+ MB1X``"Z,!@``N```CMBT):```(S+CMNZ``#-(;0EL"&,RX[;N@``S2$NBPX`
X+ M`+@``([`C,B.V+L``+X``+\``":*!#+D`P8``(D%)HL'*P8``(E%`H/'!(/#
X+ M`D;BX@<?75]>6EE;6.H`````+HD>```NC`8``%L'4%8FBT<!+J,``#+D)HH'
X+ M@\,#+HLV```NC$0"+HE<!(O8T>/1XX'#```NC@<NBT<"+HQ$!BZ#!@``!BZ+
X+ M-@``1BZ)-@``)HDV``!T;";V!@```71V)@,&```NHP``+HL>```NC@8``%Y8
X+ MG2[_'@``G"Z,!@``+HD>```NBQX``"Z.1_HN_W?\+O]W_E$NBPX``$$NB0X`
X+ M`":)#@``=#$F]@8```%T.RZ#+@``!BZ+'@``+HX&``!9SRZ+-@``1BZ)-@``
X+ M)HDV``#K@N@``.N%+HL.``!!+HD.```FB0X``.N]Z```Z\!04U%25E=5'@8N
X+ M@#X```!T`^@``.@``";V!@``!'4*)J$``.@*G,,"Q+T``P,4`,3!``$!+`#$
X+ MW``#`[\&A-\``P..#L3C!`,#R.8F`@+$Z@`#`PX`A/8``P.8"(4(``,#F`C%
X+ M#0`#`QX`Q1(``P,,`,D5)@<'Q1LF!@;%(``#`PH`Q20F!P?%*0`#`P@`A3``
X+ M`P.8"(4Z``,#F`B%0P`#`VH.Q4<``P,,`,5,``,#00#%5``"`@H`Q5@``@(,
X+ M`,5<``("!`#%8`0"`L5D``,#*P#%<P`#`RD`Q8D``@((`,6.``,#+P#%DP`#
X+ M`T$`Q:$``@((`,6F``("!@#%JP`#`RL`Q<,``P,(`,7)``,#00"%S@`#`X4'
X+ MQ=,``P,.`,7:``,##`#%WP`#`P@`Q?T``P,0`,8;``,#$@#&(``#`P(`QB<`
X+ M`P,$`,8L``,#0P#&,``#`P8`QCX``P,,`,9&``,#!@#&300"`L98``,#0P:&
X+ M6P`#`XX.REXF`0'&928!`<9L``,#%@#&<0`#`Q@`QGP``P,:`,:!``,#'`#*
X+ MA"8!`<:+)@$!QI(``P,I"<:?``,#B`O&I@`#`PH`RJDF!`3&LB8$!,:U)@,#
X+ MQK@``P-#`L;!``,##`#&R@`#`PX`SN(F!07&Z0`#`Q\`QNX``P,A`,;Z``,#
X+ M(P#'!P`#`P8`QQD``P-#`L<I``,#!@#'+P`#`P(`QS4``P,"`,<Z``(""@#'
X+ M000"`L=)``("!`#'30`#`R4`QU(``P,?`,=7``,#(0#'7P`#`R,`QV4``P,A
X+ M`,=J``,#'P#';P`#`P8`QX$``P,"`,>'``,#`@#'C``"`@H`QY,$`@+'FP`#
X+ M`P8`QZ$``P,?`,>F``,#(0#'K0`#`P0`Q[,``P,$`,>X``("#`"'O0`#`QL*
X+ MQ\0``P,$`,?*``,#!`#'SP`"`@P`A]0``P,;"L?D``,#'@"'Z@`#`R8,A^T`
X+ M`P-2"\?R!`("Q_D``@((`-N@``0#/PH``.L$D.@``":C```%`0".V":+%@``
X+ MBLZ*\C+M,M+1XM'1M$*P`"Z+'@``S2%R*#/2)HL.``#1X='AT>'1X;0_S2%R
X+ M$^@```<F@`X```$?75]>6EE;6,.P!;H``.D``(L.!@",V`,&"``FHP``B_@N
X+ M*SX``(LV&`#C*JV+V*TN`P8```/'CL`FBP<N`P8``"X[!@``<@DN.P8``',"
X+ M`\<FB0?BUL-345)65U4>+HX>```SP(O0B^B+V"Z+#@``]H<```%T*?:'```"
X+ M=2(NBS8``"Z+/@``*[<``!N_```[UW(&=0H[QG,&B\:+UXOK@\,0XLL+[74(
X+ ML`6Z``#I``#1[='MT>W1[8S8`\4?75]>6EE;PP8NC@8``"Z+#@``,]LF@*<`
X+ M`/N#PQ#B]2Z+'@``@^L&ZPR0+HX?@`X```2#ZP8N@S__=>\'PX#\2W05@/Q,
X+ M=`4N_RX``%A86+``N@``Z0``4%-14E97508>+J$``.L=CM@N.P8``'(1]@8`
X+ M``%T"HX&!@`F@"8``/ZA`@`+P'7?+J$``"X#!@``CL`FQP8(``(`)L<&`@``
X+ M`";&!@```"[&!@``_RZ+%@``+HX>``"T);`AS2$NC@8``"Z+'@``@\,"M$K-
X+ M(1\'75]>6EE;6"[_+@``!K1*+HX&``"[___-(;1*+HX&``!3S2$NQ@8````N
X+ MH0``+@,&``".P%@N*P8``":C"`"T-;`AS2$NB1X``"Z,!@``M"6P(8S+CMNZ
X+ M``#-(0?#)HL>```NH0``ZU>0CM@[V',4B],F`Q8``(/"`3O"<S_H``#K#)`#
X+ M!@@`.]AS,>@``(S8.]AR*(O3)@,6``"#P@$#!@@`.\)R%HS8B\LKR'0#Z```
X+ M)HL.``"#P0'K+9"A`@`+P'0"ZZ2P!;H``.D``(O(@\$!Z```.]%S#.@``.@`
X+ M`#D."`!R].L!D`:`#@```8S8`\&.P*$(`"O!/0$`<C6)#@@`)J,(`*$"`":C
X+ M`@",!@(`)HP>!``FQ@8````>)J$"``O`=`:.V(P&!`",P([8Z```'P>,!@8`
X+ MC-C#!HS8`\&.P*$(`"O!B0X(`":C"`"A`@`FHP(`C`8"`":,'@0`Q@8````F
X+ M@`X```$FH0(`"\!T"!Z.V(P&!``?Z```C,".V`>,!@8`C-C#+J$``#/2ZQB0
X+ MCMCV!@```74+.0X(`'(%BQ8(`,.A`@`+P'7EP_8&```!=`P&C@8&`":`)@``
X+ M_@?K$)".V(`F``#^H0``CMCK`9`&@"8``/ZA!``+P'0RCL`F]@8```%U*"8#
X+ M!@@`C-H[T'4=H0@`)@$&"`"A`@`FHP(`"\!T!H[8C`8$`(S`CMBA`@`+P'0P
X+ MCL`F]@8```$;G.X!A````P/G#(0&``,#=PS$"@`"`@(`Q!0``@(&`,0I!`,#
X+ MQ#0``@((`(1%``,#G@K$2P0"`L1:``,#OP:$70`#`XX.Q&L``@($`,1R``,#
X+ M#@#$@0`#`Q0`Q(T``P,4`,22``,##@#$F0`#`Q``Q*\``P,,`,2\``,#"`#$
X+ MP`0"`L3'!`("Q,\``P,"`,34``,#!`#$V``"`@H`Q-P``@(,`,3Z``,#B`:$
X+ M_0`#`XX.Q1<``P,,`,4<``,#"`#%(P0"`L4N``,#!@#%.P0"`L56``,#&@#%
X+ M7@`#`^T&A6$``P..#L5N``,#$@#%=P`#`PP`Q8D$`@+%E0`#`PP`Q9H``P,(
X+ M`,6U``,#'@#%NP`#`QH`Q<```P,<`,7+``,##`#%T``#`P@`Q>4``P,:`,7M
X+ M``,##`#%^0`#`PP`Q@$``P,>`,8&``,##`#&"P`#`P@`QA,``P,(`,8B``,#
X+ M&@#&)P`#`QP`QC(``P.("\8[``("`@#&/P`#`Q(`QD\``@((`(99``,#R`V&
X+ M9P`#`\@-QG0``@((`(:*``,#50W&CP`"`@@`QJ,``P.(!H:F``,#C@Z&K@`#
X+ M`Z,-AK4``P/D"H:X``,#W@V'"P`#`^T-AU8``P/M#<=F``,#$@#'F`0"`L>C
X+ M!`("QZ<``@("`*"@L0`#.PYU)HS8`P8(`(S".\)U&B:A"``!!@@`)J$"`*,"
X+ M``O`=`>.P":,'@0`@"8``/X'PU&,R([8N@``+HL>``"Y'`"T/\TA<@8[P74"
X+ M6<.P!;H``.L!D%",R([8M`G-(2Z+%@``@_K_=`X>+HX>``"T):```,TA'RZ+
X+ M%@``@_K_=`T>+HX>``"T);`AS2$?+J$``#W__W0&CL"T2<TA+HL>``"#^_]T
X+ M!+0^S2%8M$S-(>F<00#$-0`#`R<`Q#H$`P/$3@`#`[\&Q%\``P,6`,1J``,#
X+ G&`#$;R8!`<1W``,#&@#$@@`#`QP`Q(T``P,,`,2=!`,#H8H"``!T
X+ `
X+ end
END_OF_FILE
if test 55103 -ne `wc -c <'patches06c'`; then
    echo shar: \"'patches06c'\" unpacked with wrong size!
fi
# end of 'patches06c'
fi
echo shar: End of archive 5 \(of 15\).
cp /dev/null ark5isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 15 archives.
    rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0