amidos.c amidos.p amifont.uu amifont8.uu amigst.c
amii.hlp amimenu.c amirip.c amisnd.c amistack.c
amitty.c amiwind.c amiwind.p ask.uu clipwin.c
-clipwin.uu colors.uu colorwin.c cvtsnd.c grave16.xpm
-ifchange mkdmake scroll.uu string.uu txt2iff.c
-winami.c winami.p winchar.c windefs.h winext.h
-winfuncs.c winkey.c winmenu.c winproto.h winreq.c
-winstr.c xpm2iff.c amibug
+colorwin.c cvtsnd.c grave16.xpm ifchange mkdmake
+txt2iff.c winami.c winami.p winchar.c windefs.h
+winext.h winfuncs.c winkey.c winmenu.c winproto.h
+winreq.c winstr.c xpm2iff.c
sys/atari:
(files for Atari version)
- Compiling Amiga NetHack 3.2
- Last Revision: 5 November 1996 for NetHack 3.2.2
+ Compiling Amiga NetHack 3.4
+ Last Revision: 21 February 2002 for NetHack 3.4.0
We would like to thank each and every one of the people who took
If you have problems with compilation, installation, or think you have
found a bug in the game, please report it by electronic mail to the
- development group at nethack-bugs@linc.cis.upenn.edu, where it will
- be routed to the appropriate person. Include your configuration, the
- version of NetHack you are playing (use the 'v' command or see
+ development group at nethack-bugs@nethack.org, where it will be routed
+ to the appropriate person. Include your configuration, the version of
+ NetHack you are playing (use the 'v' command or see
include/patchlevel.h), and as much specific information as possible.
As NetHack runs on many different machines, be sure to mention that you
- are playing the Amiga version.
+ are playing the Amiga version and also mention if you are using the
+ version for mc68k or ppc.
If you want to find out about distributing NetHack, read the license
(in NetHack:license or type ?i during the game).
-II. Compiling Amiga NetHack 3.2
+II. Compiling Amiga NetHack 3.4
II.A. Compilation Overview
Compiling NetHack is not very hard - basically you do a little
configuration and start make. It does, however, require a good amount
- of disk space - almost 7 meg (and subject to change; more if you are
- not doing the simple compile - more on that later). It also needs a
- good bit of memory, especially for linking.
+ of disk space and time. It also needs a good bit of memory, especially
+ for linking.
II.B. Basic Compilation
- NetHack can be built with SAS/C version 6.55 or the commercial version
- of DICE. The "official" compiler for NetHack 3.2 is SAS/C 6.55 - we
- have dropped support for SAS/C 5.x.
+ NetHack can be built with SAS/C version 6.5x. The commercial version
+ of DICE might work, but NetHack version 3.2.2 or later haven't been
+ compiled with it. The "official" compiler for NetHack 3.4 is SAS/C 6.58
+ - we have dropped support for SAS/C 5.x.
The Manx/Aztec port has not been tested recently and is certainly
broken. Anyone managing to compile NetHack with this compiler is
encouraged to submit context diffs of the required changes. When last
tested, NetHack required version 5.0B of that compiler.
+ Compiling with gcc should also work.
+
II.B.1. Introduction to Compiling NetHack
Before doing any compilation, read the README files distributed with
the source. These should familiarize you with the source tree layout
positions - most will be in dlb archives (if DLB was defined in config.h).
The first make run should be done in NH:obj and the make install should be
done in NetHack:; for both runs, the makefile is NH:sys/amiga/Makefile.ami
- (or NH:sys/amiga/DMakefile for DMake).
+ (or NH:sys/amiga/DMakefile for DMake and NH:sys/amiga/Makefile.agc for
+ gcc).
Note that not all the source is simple C code. If you are modifying
lev_comp or dgn_comp you may need bison and/or flex (depending on what
- modifications you are making). If you wish to modify the Intuition
- windows in HackWB, the (uuencoded) PowerWindows files are provided. You
- do not need any of these tools to simply build NetHack - all the C output
- files are provided in the source distribution. Also, the ifchange
- script requires a version of diff that produces standard Unix format
- context diffs for proper operation - the version shipped with SAS/C
- is not sufficient.
+ modifications you are making). You do not need any of these tools to
+ simply build NetHack - all the C output files are provided in the source
+ distribution. Also, the ifchange script requires a version of diff that
+ produces standard Unix format context diffs for proper operation - the
+ version shipped with SAS/C is not sufficient.
If you do not have bison and flex, copy the files from sys/share. The
include files go in include/ and the C files go in util/. If the compile
fails due to prototype errors for malloc and realloc, try deleting
the first line of lev_comp.c and dgn_comp.c.
-II.B.2. Compiling NetHack with SAS/C version 6.55
+II.B.2. Compiling NetHack with SAS/C version 6.58
NOTE WELL - Amiga NetHack has dropped support for SAS/C version 5.
- This version of NetHack was developed with SAS/C 6.55. Earlier versions
- of the compiler are known to cause problems - don't use them.
+ This version of NetHack was developed with SAS/C 6.58. Earlier versions
+ than version of the compiler are known to cause problems - don't use them.
A couple of notes and warnings from the SAS/C users on the team:
file upon catching various internal disasters. That is why the
debug=l flag is in the makefile. This adds about 270K to the disk
image, but it does not increase the run time memory requirements.
- (But note that this is not useful for split binaries - see below.)
* The 5.10b optimizer did not produce correct code for NetHack. The
current optimizer has not been tested.
During compilation, DICE will output a lot of warnings; they can be
safely ignored.
-
-II.C. Advanced Compilation
- As mentioned above, NetHack is very large. There are several
- techniques under development by the Amiga NetHack Team for dealing
- with the situation. As they are completed, they will be documented
- here. Before attempting any of them, you MUST do a "normal" build
- as documented above; the techniques described below require the
- auxiliary files from a normal build to form a complete NetHack
- installation.
-
-II.C.1. Splitter
- Splitter addresses two problems with NetHack: first, the long startup
- time of the game, and second, the size of the binary (which will not fit
- on a single floppy disk). See the file sys/amiga/splitter/split.doc for
- information on splitter. The normal install target in Makefile.ami will
- build the split version of NetHack as part of the normal install process;
- the front ends will run from either the normal version (HackExe:NetHack)
- or, preferably, from the split version (NetHack.c#? NetHack.d#?) - the
- decision is based on the presence (or absence) of HackExe:NetHack.dir.
- Note that the contents of NetHack.dir after a build will generally not
- be the correct contents for a floppy based system.
-
Greg Olson, Mike Passaretti, and Gregg Wonderly polished and extended
the 3.0 and 3.1 ports. Andrew Church, Ken Lorber, and Gregg Wonderly
are responsible for the 3.2 port. Janne Salmijärvi resurrected the
- amigaport for 3.3.
+ amigaport for 3.3 and Teemu Suikki joined before 3.4.0.
II. Using Amiga NetHack 3.4
Run NetHack from the shell or from some tool that allows that,
menu or by pressing Help key.
II.B. The Amiga NetHack WorkBench Front End
- 3.4.0 no longer supports HackWB.
+ Starting from 3.3.0 HackWB is not supported.
II.C. The Amiga NetHack CLI Front End
- 3.4.0 no longer supports CLI Front End either.
+ Starting from 3.3.0 CLI Front end is not supported either.
Instead, use the main binary. See NetHack.txt file for the standard Unix
flags for NetHack. In addition to those flags, Amiga NetHack accepts
while counting or deselect and reselect the item. The default
is to drop all selected items (as before).
+ For other options how to configure the screen setting and colors refer
+ to Nethack.cnf.
III. Installing Amiga NetHack 3.4
# NetHack Makefile.
-# SCCS Id: @(#)Makefile.ami 3.2 2000/01/12
+# SCCS Id: @(#)Makefile.ami 3.4 2002/21/02
# Copyright (c) Kenneth Lorber, Bethesda, Maryland, 1991,1992,1993,1996.
# NetHack may be freely redistributed. See license for details.
# of SAS/C, we would comment out these following two lines.
# If we don't use precompiled header files, we uncomment it as well.
-HDEP = $(I)hack.h
+HDEP = $(I)hack.h $(I)pm.h $(I)onames.h
CSYM =
#[MANX]
# undefine this to not compile with GSTs
#GST=gst=$(GSTFILE)
#
-#DEBUG=debug=sf
-OPTFLAGS=opt opttime optpeep optgo optinl optsched optcomp=10 optdep=5 optrdep=5 #optalias +OPTTIME -OPTSIZE
-CFLAGS = data=far nominc $(DEBUG) idir=$(I) cpu=any nostkchk nover \
+DEBUG=debug=symbol
+CPU=cpu=68000
+#OPTFLAGS=opt opttime optpeep optgo optinl optsched optcomp=10 optdep=5 optrdep=5 #optalias +OPTTIME -OPTSIZE
+CFLAGS = data=far nominc $(DEBUG) idir=$(I) $(CPU) nostkchk nover \
codename=nhcode dataname=nhdata strmerge $(OPTFLAGS) $(TILES) $(SAVEDS) \
afp $(ERRREXX) $(GST)
# for files that are too large for the standard flags:
CFLAGS2 = code=far strmerge $(SAVEDS)
-WBCFLAGS = ignore=217,62 data=far ansi nminc code=far idir=$(I) cpu=any afp \
+WBCFLAGS = ignore=217,62 data=far ansi nminc code=far idir=$(I) $(CPU) afp \
$(DEBUG) $(ERRREXX) define=AMIGA $(GST)
-XXX = data=far ansi nminc idir=$(I) cpu=any afp opt optinline optinlocal \
+XXX = data=far ansi nminc idir=$(I) $(CPU) afp opt optinline optinlocal \
optloop opttime
WBC2FLAGS = define=CLI
SPLFLAGS = define=SPLIT #dollarok
#for amistack.c
-CFLAGS3 = data=near dataname=__MERGED nominc $(DEBUG) idir=$(I) cpu=any nover nostkchk \
+CFLAGS3 = data=near dataname=__MERGED nominc $(DEBUG) idir=$(I) $(CPU) nover nostkchk \
codename=nhcode strmerge $(OPTFLAGS) $(TILES) $(SAVEDS) \
afp $(ERRREXX) $(GST)
#[SAS6]
-LINK = slink noicons verbose maxhunk 65536 stripdebug
+LINK = slink noicons verbose maxhunk 262144 stripdebug
LIN = from lib:catch.o
LLINK = with $(AMI)ami.lnk
LLIB = lib lib:scnb.lib BATCH #lib lib:amiga.lib BATCH #scnb.lib or sc.lib
INSTDATAFILES= \
$(NETHACK)license $(NETHACK)logfile $(NETHACK)record \
$(NETHACK)tomb.iff $(NETHACK)amii.hlp $(NETHACK)Recover.txt \
- $(NETHACK)GuideBook.txt $(NETHACK)NetHack.txt $(NETHACK)Install.ami \
-# $(NETHACK)HackWB.hlp $(NETHACK)WBDefaults.def
+ $(NETHACK)GuideBook.txt $(NETHACK)NetHack.txt $(NETHACK)Install.ami
LIBFILES= \
$(INSTDUNGEONFILES1) \
#SFD_INSTEAD all: $(SBIN)lev_comp $(SBIN)dgn_comp $(SBIN)NetHack \
all: $(COMPACT_HEADERS) $(SBIN)lev_comp $(SBIN)dgn_comp $(SBIN)NetHack \
- $(SBIN)dlb $(NETHACK)recover #$(NETHACK)HackCli $(SBIN)splitter \
-# $(NETHACK)HackWB
+ $(SBIN)dlb $(NETHACK)recover
install: inst-data inst-dungeon inst-fonts inst-sounds inst-tiles \
$(NETHACK)recover $(NETHACK)NetHack $(NETHACK)nhdat
- #$(NETHACK)NetHack.dir inst-icons
$(SBIN)NetHack: $(HOBJ) $(AMI)ami.lnk
$(LINK) $(LNSPEC) $(SBIN)NetHack $(LIN) $(LLINK) $(LLIB)
#notes
# install keeps doing re-install because it keeps rebuilding lev_comp???
# fixed(?) - deleted setdate
+# make nhdat rebuils sys/amiga objects
# use it, options like these should not be set here - use the command line
#OPTIONS=name:Janet-V,female,dogname:Fido,fruit:apricot
#OPTIONS=packorder:")[%?+/=!(*0_`,scores:10t/2a,noverbose
-
+#OPTIONS=gender:male
+#OPTIONS=role:random
+#OPTIONS=race:random
+#OPTIONS=align:chaotic
# Other general options
#OPTIONS=time,rest_on_space,noautopickup
# My own setup
#OPTIONS=nolegacy,fruit:lemon,time,autopickup,checkpoint,showexp,showscore,standout,nonews
-#OPTIONS=nomail,flush,eight_bit_tty,scores:10t/2a,pickup_types:$,suppress_alert:3.3.1
+#OPTIONS=nomail,flush,eight_bit_tty,scores:10t/2a,pickup_types:$,suppress_alert:3.3.0,autoquiver
# The windowtype option must be set before any options regarding colors and palette
# are set otherwise previously set values will be overridden by the defaults
# A hard disk configuration.
#
HACKDIR=NetHack:
-LEVELS=Nethack:levels
-SAVE=Nethack:save
+LEVELS=Nethack:Levels
+SAVE=Nethack:Save
BONESDIR=Nethack:Levels
SCOREDIR=Nethack:
LOCKDIR=Nethack:
244 245 246 247 239 248 249 250 \
230 234 231 236 212 237 232 235 233
-WARNING = 048 049 050 051 052 053
+WARNINGS = 048 049 050 051 052 053
# Monitors vary greatly in their color response. If the default colors
# are not good on your monitor, here are some other alternatives for the
#TEXTPENS=0,14
#OTHERPENS=1,12
#
-# Yet another alternative color scheme, this time for 16 color font mode
+# New alternative color scheme for 16 color font mode.
# This changes the colors of monsters, objects etc.
#
# FGPENS and BGPENS define APEN and BPEN for objects and monsters on the map.
# black, red, green, brown, blue, magenta, cyan, gray, no color, orange,
# bright green, yellow, bright blue, bright magenta, bright cyan, white
#
-#DEPTH=4
-#PENS=000,fff,830,7ac,181,c06,23e,c00,888,f60,4f4,ff0,4af,f8f,8ff,f00
-#FGPENS= 0, 7, 4, 2, 6, 5, 3, 8, 1, 9,10,11,12,13,14, 1
-#BGPENS= 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+DEPTH=4
+PENS=000,fff,830,7ac,181,c06,23e,c00,888,f60,4f4,ff0,4af,f8f,8ff,f00
+FGPENS= 0, 7, 4, 2, 6, 5, 3, 8, 1, 9,10,11,12,13,14, 1
+BGPENS= 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
#
# Screen mode selections below should all work for either the font or tile
# version of the game. Other modes can be tried and as long as they are at
+++ /dev/null
-Amiga Bug/WIP/Wish list
-Status:
- TODO fix now
- NEXT delay until next release
- LATER someday....
- IP in progress - someone is working on it now
- CHECK see if this can be reproduced - or delete it
-YYMMDD-seq from status last-seen
- info
-960312-00 andy LATER 3.2.0dev
- txt2iff.c should be cleaned up a bit - rather confusing now in some
- places.
-960204-01 keni TODO 3.2.0dev
- check Abort code for DICE - is what's there sufficient?
-950810-00 keni TODO 3.2.0dev
- stop using commands in c: in front ends. Update docs.
-950807-00 keni TODO 3.2.0dev
- Apparently panic() does something that prevents panic saves on micros.
-950806-03 keni TODO 3.2.0dev
- Seen once - toggle fastmap on during game. Border around player
- is rendered about 2 pixels left of proper location.
-950806-04 keni TODO 3.2.0dev
- If we're happy with fastmap, get rid of DISPMAP as distinct option.
-950806-08 keni TODO 3.2.0dev
- menu windows sometimes have inappropriate titles and/or prompts,
- and possibly bad decisions about when to allow selections
- (this problem needs to be defined better)
-950806-09 keni TODO 3.2.0dev
- Check and update copyright notices, dates, and version numbers.
-950806-10 keni TODO 3.2.0dev
- Check dependencies for dlb.o against Unix makefile.
- Check dependencies for tile.c/.o against Unix makefile (config.h
- onames.h pm.h more?)
-950806-11 keni TODO 3.2.0dev
- Check mouse actions on menu windows with single and multi-select -
- is it working right?
-950806-12 keni TODO 3.2.0dev
- Figure out AMIV versus AMITILE - can we get down to just one of these
- or is there a distinction I've forgotten?
-950806-14 andy TODO 3.2.0dev
- Missing message font gives almost zero height message window.
- Maybe only when running from sbin directory? (Is this a problem
- finding NetHack.cnf?)
-950806-15 user TODO 3.1.3
- Is there a conflict with SCREEN=x? Is X LACE/NOLACE or a public
- screen ID? Is the code consistent with the docs? Did we just lose
- some functionality by accident or is one of these just wrong?
-950805-00 devteam TODO 3.2.0dev
- cope with changed extended commands in menu
-950805-01 user LATER 3.2.0dev
- Known save bug. bputc does not check write return under ZEROCOMP
- Fixing this correctly must wait until saving state can be restarted.
- (Janet is aware of this situation - affects other ports too.)
- Vaguely related: re-consider issues involved in COW from save files.
- Related: check error checking code on level files (GURU after many
- write errors)
- Related: split save files (if needed)
- Vaguely related: multiple disks of level files
-950805-04 keni CHECK 3.2.0dev
- Argument processing (from all 3 ways to start a game). I broke it
- last month - is it _really_ fixed?
-950805-05 keni CHECK 3.2.0dev
- Has anyone checked HackWB really well recently?
-950805-06 keni TODO 3.2.0dev
- Update embedded copyright notices. There should be no version
- numbers left to update manually.
-950805-08 keni CHECK 3.2.0dev
- winfuncs:595 - is this test against TextsFont right? It's used
- unconditionally in many other places. Are the others right then?
-950805-10 user TODO 3.2.0dev
- 3.1.3 bug report of crash with really large font as FONT= in cnf.
- 3.2.0dev doesn't crash with FONT=helvetica.font:24, but we do get:
- 1. line break of start text is bad, scroll is wrong
- winstr.c:putstr:128 - I think the logic here is wrong. The test
- should be width-fudge, but when scanning for a break point the
- scan should start at width since the decision has already been
- made to cut the line.
- 2. initial position of hero is off screen (I think I have seen this
- occurs other times too)
- 3. why does sizing insist on so many lines for topl - map is too small
- 4. should ignore user font preference for botl if can't get all the
- info there
- 5. final "since you were in wizard mode.." not folded - may be a
- problem with unwrapped puts call
-950701-00 keni TODO 3.2.0dev
- AMIV scrolling does not always shift vertically by an even tile
- amount. After moving the integral amount, a second small shift
- occurs - and this leaves artifacts. Most easily seen by noting
- the height of a horizontal corridor or wall run where it abuts a
- vertical run.
-950701-01 keni TODO 3.2.0dev
- DOCUMENTATION:
- 1. make sure all docs have list of game requestors (sizing, color, help)
- 2. doc overview window
- 3. Install.ami
- 4. doc support for SCREEN=<publicscreen> etc for HackWB
- 5. split docs into separate binary and installation files
- 6. is there anything useful we can do with AmigaGuide inside or outside
- the game to deal with the various doc files?
- 7. doc WB cmdline options
-950701-02 keni IP 3.2.0dev
- BBS interface. Needs docs. Currently waiting for report from
- beta tester with real BBS system (and crippled NH binary for testing).
- Documentation update required. Further design work probably required.
- Further locking work probably required.
-950701-03 keni NEXT 3.2.0dev
- Use lower-level allocation scheme in loader and turn NH main into
- fake shared library so we can leave it in memory between invocations.
- This is much better for BBS mode, and means HackCli can lose the awful
- restart hack. Also should allow useful TB files (or fix catch.c so
- it doesn't try to make them).
-950601-00 user CHECK 3.1.3
- 1024*800 display wrong
-950601-01 keni CHECK 3.1.3
- Resize topl window - most keystrokes now cause scrollbar to flicker.
-950601-02 keni CHECK 3.1.3
- do -l and -L work right with -s?
-950601-03 keni CHECK 3.1.3
- help messages for highscore in hackwb
-950601-04 keni CHECK 3.1.3
- -s help missing in amiwbench (and hackcli?)
-950601-05 keni CHECK 3.1.3
- showscore (etc?) should track config.h in frontend
-950601-06 keni CHECK 3.1.3
- Newgame.info should be dup'd and modified, not modified in place
- Related: newgame.info should not be a legal icon
-950601-07 keni TODO 3.1.3
- check stacksize inside program and frontends.
- Related: how much stack is required? Let the frontends allocate
- that much.
-950601-08 keni CHECK 3.1.3
- improve initial mouse click suppression so first action of game can be
- mouse click and so that activation of one NH window from another doesn't
- suppress mouse action.
-950601-09 user CHECK 3.1.3
- (I don't know what this is - keni)
- copy SCREEN into TT of default icon (or other fix to problem??)
-950601-10 user CHECK 3.1.3
- (unknown condition) save cancel at start (when blank) disallows later
- save
-950601-11 user CHECK 3.1.3
- (Is this a good idea? Is it already done?)
- keypad 5 should be rest on space (like 3.0)
-950601-12 ? CHECK 3.2.0dev
- is NULL still begin redefined? (Yes. Do we care enough to change it?)
-950601-13 ? CHECK 3.1.3
- check for USE_BUILTIN_MATH for min/max
-950601-14 keni TODO 3.2.0dev
- add RESETOPTS to sc invocations
-950601-15 keni CHECK 3.1.3
- several strcpy of user supplied data instead of strncpy in wb
-950601-16 keni CHECK 3.1.3
- ^P of message >1 topl long
-950601-17 keni LATER
- make window frames optional on -L
-950601-18 keni LATER
- BufferGetchar - use circular buffer to limit copying
-950601-19 keni LATER
- busy pointer during load, save, etc
-950601-20 keni TODO
- check for orphaned (uncalled) functions
- check for prototypes for all functions
- reformat functions to match NH style guide
- make more Amiga functions static
- move data externs to include files
- rename .p to .h?
-950601-21 keni TODO
- lots of leftovers from original Amiga port from IBM port:
- 1. finish removing ramdisk
- 2. check flags IBM BIOS and rawio - flag.h options.c restore.c (more?)
- 3. check MFLOPPY vs MICRO (some was DGK stuff). Was DGK optional?
- If not, dump all the extra ifdefs.
-950601-22 keni LATER
- improve amifont - swallow should get its own chars for a solid
- surround (reverse video so it matches the "inside of monster"
- concept). Zap should get its own chars more like tildes than dashes.
-950601-23 keni LATER
- Can we use getprogramdir()? Do we want to? (We need to cope without
- it also.)
-950601-24 keni LATER
- botl - need new interface, don't fall off end, highlight changes
- (Need something other than the last thing I tried.)
-950601-25 Gregg(?) TODO
- have per-character-class icons for the front-end (code done)
- Can we get these from Warwick? Can we get them converted to the
- right format easily enough to do now?
-950601-25 many TODO
- Installation procedures. Do we actually need installer now that
- there are fewer files? Would a configuration utility or addon
- to HackWB take care of it better?
-950601-26 keni LATER
- waiting for key display
-950601-27 keni CHECK
- move(duplicate?) color requestor to front end
-950601-28 keni LATER
- picture at startup (maybe loaded by hackwb to cover load time?)
- Now that the new amirip is done this should be almost easy.
-950601-29 many LATER
- add permanent inventory window in interlace mode (Is there already
- some code for this?)
-950601-30 keni LATER
- Real line wrap (combine and split) for text windows. (I've tried
- this once - the proposal went down in flames. I think it deserves
- another try.)
-950601-31 keni LATER
- split Amiga and amii/amitile/amibbs code for window system (the way
- we should) Can we? Is it worth it? (probably - things are too
- intertwined)
-950601-32 keni LATER
- can we limit redundant SetAPen (etc) calls? Do the lib routines short
- circuit for us (and so is this a non-issue)? (No, at minimum there
- are too many unneeded calls.)
-950601-33 keni LATER
- Consider keyboard macros, function keys.
-950601-34 keni LATER
- (This is one step from being deleted - is there anything to do with
- this?) AREXX port
-950601-35 keni LATER
- change panic's to Aborts with AN_Unknown base (save string space)
-950601-36 keni LATER
- check MSTEP influence
-950601-37 keni LATER
- add requestor for options in main binary
-950601-38 keni LATER
- add requestor for score options in hackwb
dosh()
{
int i;
- char buf[ 500 ];
+ char buf[ BUFSZ ];
extern struct ExecBase *SysBase;
/* Only under 2.0 and later ROMs do we have System() */
+++ /dev/null
-begin 777 ask.pw
-M4&]W97)7:6YD;W=S('8R+C5C(*DQ.3@W+" Q.3@X(&)Y($E.3U9!5%)/3DE#
-M4RP@24Y#+B @(" @(" @(" @(" @(" @(" @(" @ "K E #_
-M 0 ! 9A<VLN8P 0 "$ ( ! 4 !?____\
-M!\:O, 0?&:_@ 5!<VM? ! $L 50(,
-M !( !0 %_____P $ ) 0 ' * P !!],"+ 'QHKP
-M 0?3 EC_____ P !0?3 CP = '0 +
-M"P P " $ !\: ( $*#\I H !
-M!\:#\ ?&A*@'QH>0!\:'V ?&C)@'QHRH 0 ! $ 0
-M ! $ 0 L 4 !]+> :5&AI<R!I<R!T:&4@
-.475E<W1I;VX@87)E80 L
-
-end
+++ /dev/null
-begin 777 clip.pw
-M4&]W97)7:6YD;W=S('8R+C5C(*DQ.3@W+" Q.3@X(&)Y($E.3U9!5%)/3DE#X
-M4RP@24Y#+B @(" @(" @(" @(" @(" @(" @(" @ #_ E 8#^ X
-M 0 ! IC;&EP=VEN+F, !Y9E^ "@ #( , 8 \ X
-M!X+O( @ $ 0 ! !B@H* #P\/!0X
-M@+ /#P / \/#P\/ ! (0#P!D G(!7@!,_____P X
-M &!X9HZ !4-L:7 $ <@ 0 5H 3 % 7_X
-M____ &45D:70@0VQI<'!I;F<@4&%R86UE=&5R<P 'EG/0 (8 &/\Y < X
-M( # ,'AFF8 >&:O@ !X<[Z !Y9SJ/____\# %!Y9SC X
-M )0 "4 @ ( !% & # X
-M , #_A/__ >&;& $%D@4V-A;&4@1F%C=&]R.@ YJOX
-M__\JJO__ "@ @ ,'AFCX!X<\F >'/*@'ASZH!X<^N >'/V@ &65-)X
-M6D4 0 ! 994TE:10 ! $ !Y9TX "& __.0 'X
-M " P #!X= " 'AT"X >'0A@ >6="C_____ P !0>6= P X
-M "4 E ( " +0 !@ P X
-M # _X3__P 'AT%H !!8(%-C86QE($9A8W1O<CH -FX
-M9/__*JK__P H ( #!X="R >'0M@'AT-X!X=#B >'1"@'AT0X !EA3X
-M25I% $ 0 &6%-)6D4 0 ! >6=3@ A@ N_SD X
-M!P @ , P>'5Z !X=84 'AUFP 'EG10_____P, 4'EG4<X
-M E )0 " @ !8 8 , X
-M P /^,__\ !X=9 /62!#;&EP($)O<F1E<CH ,SX
-M,O__*JK__P H ( #!X=:8 >'6G 'AU_@!X=?\ >'81@'AV$H !EE#X
-M3$E0 $ 0 &64-,25 0 ! >6=;@ A@ E_SD X
-M!P @ , P>'8<@ !X=B> 'AW]@ 'EG60_____P, 4'EG5TX
-M E )0 " @ "L 8 , X
-M P /^,__\ !X=G. /6"!#;&EP($)O<F1E<CH 0-?X
-MN/__*JK__P H ( #!X>R* >'LI@'A\*H!XA[F >(T* 'B-10 !EA#X
-M3$E0 $ 0 &6$-,25 0 ! >6=C@ $0 \ $T X
-M"@ , 0>6=>0 !Y57( D'EG80_____P, 4'EG7TX
-M 3@ $X "P L 0 & ! >) ] X
-M !4]K87D "@ $'B4%(!XE!B >)SY 'BA$(!XH;X >*'/ X
-M %3VMA>0 ! $ "$=!1$]+05D 0 ! X
-M\ [ $L "@ , 0>6=F0 !Y6+. H'EG@8_____P, X
-M 4'EG9T 3 $P "P L 0 #P ! X
-M >*N7 !T-A;F-E; * 0>3Q+@'D\;@!Y0)8 >4#*@'X
-ME [ !Y00. =#86YC96P 0 ! I'041#04Y#14P X
-' 0 ! X
- X
-end
+++ /dev/null
-begin 777 colors.pw
-M4&]W97)7:6YD;W=S('8R+C5C(*DQ.3@W+" Q.3@X(&)Y($E.3U9!5%)/3DE#
-M4RP@24Y#+B @(" @(" @(" @(" @(" @(" @(" @ "[ E #\
-M 0 ! !%A;6EG83IC;VQO<G=I;BYC ?3QL@ H R # &
-M / ?&; @ ( ! $ 0 8
-M\/#P8" 4(# $' 0P !@(##@P 0 "$ X 8 )X 4 !?____\
-M!],-2 !@?&AY 5#;VQ? ! *\ +0$X
-M %T !0 %_____P !-%9&ET(%-C<F5E;B!#;VQO<G, !]/8. @ "0!#P +
-M P #!\;.8 ?&S\ !0?3U(#_____ P !0?3V!P
-M $0 !$ , # 0< !P
-M ! P #_____ "@ L'QH?8!\:AZ ?&J. 'QJE8!\;/$ ?&T'
-M (0FQU95!E;@ ! $ "T=!1$),545014X 0 !
-M ?3V+@ ( 8 0\ "P , P?)]O 'SF<P 8'T]B0
-M_____P, 4'T]AT !$ 1 # P $' <
-M 0, _____P H +!\C; ?&T( 'R+NP
-M!\C=0 ?(WQ@'R?M( "4=R965N4&5N $ 0 ,1T%$1U)%
-M14Y014X 0 ! ?3V3@ ( , 0\ "P , P?20(
-M 'TF X <'T]D0_____P, 4'T]CT !$ 1 #
-M P $' < 0, _____P H
-M +!\G^, ?+<M 'S06H!\U"@ ?-$X@'S4) !U)E9%!E;@ !
-M $ "D=!1%)%1%!%3@ ! $ !]/X( #T $T .@ + P !
-M!]/99 'TF3 !@?3V9#_____ P !0?3V70
-M [ .P , # !P & $ !])2F '
-M0V%N8V5L H !!]):D ?29@@'TFGP!])J. ?2:@ 'TFMX !T-A
-M;F-E; ! $ #4=!1$-/3$-!3D-%3 ! $ !]/X
-M> " $T .@ + P !!]/X3 'TFWX !P?3V\C_____
-M P !0?3^%P [ .P , # !P 1 $
-M !])N^ $57-E H !!])O" ?2?D 'TH2(!]*H: ?2
-MA)@'TH68 !4]K87D 0 ! M'041#3TQ/2T%9 $
-M 0 D 30 Z L # $'T_BD ?2Y# *
-M!]/Y"/____\# %!]/XM #L [ P , '
-M T 0 'TFM@ 53879E H !!]*JH ?2L4@'
-MTK3X!]+"* ?2N,@'TK^( !5-A=F4 0 ! M'041#3TQ3
-M059% $ 0 ' ! #@ 'QHF@!]/5& )2 0
-M$ : ?2:U 'T]OP D< P 1 "8 !]*AL "
-"0@ :
-
-end
+++ /dev/null
-begin 777 scroll.pw
-M4&]W97)7:6YD;W=S('8R+C5C(*DQ.3@W+" Q.3@X(&)Y($E.3U9!5%)/3DE#
-M4RP@24Y#+B @(" @(" @(" @(" @(" @(" @(" @ "K E 8#_
-M 0 ! =B87)F+F, $ A + "6@ % 7_____
-M $ (86 ! ! ,\ $0$ 'T
-M!0 %_____P $ /_Q H #__M % P # "&'T
-M AB" P AB.C_____ P !0 NKQ0 0 $ !K :P
-M < 9@ !!?__________ "@!0 D
-M(8E "*KR BL:@ (^]0 "/P0 C\L ! $ 0 !
-( $ 0 B
-
-end
+++ /dev/null
-begin 777 string.pw
-M4&]W97)7:6YD;W=S('8R+C5C(*DQ.3@W+" Q.3@X(&)Y($E.3U9!5%)/3DE#
-M4RP@24Y#+B @(" @(" @(" @(" @(" @(" @(" @ "K E 8#_
-M 0 ! ES=')I;F<N8P 0 "$ X ) 4 !?____\
-M @?&A*@ $ $ .0! @X
-M'P % 7_____ 0 'T\6X $T #P&V H (# 0'T\,\
-M !]/#: !]/#F/____\# %!]/#3 ;< &W L +
-M !D " @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
-M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(#@
-M>*H *>) 0@ IXM@ U / !@ 0H (!!\;/$ ?&S\ 'QL_0!\;0
-M< ?&T( 'R+NP "E-T<E-T<FEN9P ! $ RTQ $
-M 0 D #P X H # $'T\7D ?)]O
-M!]/&$/____\# %!]/%] #D Y L + #
-M 0 0 'R-L =#86YC96P "@ $'R-U !\C?
-M& ?)^T@'R?XP!\MRT ?-!:@ ! $ 0 ",0 !
-# $
-
-end