Amiga: ship as a NetHack drawer with drawer icon and README

This commit is contained in:
Ingo Paschke
2026-05-04 15:43:12 +02:00
parent d94fb08f8b
commit 5852e8c2a0
4 changed files with 123 additions and 61 deletions
+50 -43
View File
@@ -3,9 +3,9 @@
Requirements Requirements
------------ ------------
- AmigaOS 3.0 or later (Kickstart 39+) - AmigaOS 3.0 or later (Kickstart 39+)
- 6 MB free RAM minimum (8 MB recommended) - 6 MB free RAM minimum (8 MB recommended)
- Hard drive with ~5 MB free space - Hard drive with ~5 MB free space
Recommended: RTG graphics card (Picasso96/CyberGraphX) for best Recommended: RTG graphics card (Picasso96/CyberGraphX) for best
tile rendering. Native AGA/OCS/ECS chipsets are supported. tile rendering. Native AGA/OCS/ECS chipsets are supported.
@@ -13,56 +13,62 @@ tile rendering. Native AGA/OCS/ECS chipsets are supported.
Installation Installation
------------ ------------
Extract NH370AMI.ZIP to a directory and assign it: Extract NH500AMI.ZIP somewhere on your hard drive (e.g. into Work:).
You'll get a NetHack drawer with everything inside.
assign NetHack: <path> To play from Workbench, open the NetHack drawer and double-click the
nethack icon.
The directory should contain: To play from a Shell:
nethack - game binary
nhdat - data library
symbols - symbol set definitions
sysconf - system configuration
nethack.cnf - game options
hack.font - font descriptor
hack/8 - font bitmap (8pt)
tiles/tiles16.iff - 16-color tiles (OCS/ECS)
tiles/tiles32.iff - 32-color tiles (AGA/RTG)
tomb.iff - tombstone image
record - high score file
To play: Work:NetHack/nethack
cd NetHack:
nethack To redirect to a different install -- for example to test two versions
side by side -- set the NETHACKDIR (or HACKDIR) environment variable
before launching:
setenv NETHACKDIR Work:games/nethack-dev/
Work:games/nethack-dev/nethack
Display Modes Display Modes
------------- -------------
Two display modes are available, selected in nethack.cnf: The shipped nethack.cnf selects tile mode (AMIV). AMIV needs a screen
with at least 4 bitplanes (16 colours) and ~384 KB free chip RAM; on
Text mode (AMII): machines that don't qualify, the binary automatically falls back to
OPTIONS=symset:AmigaFont text mode (AMII) at startup with a short note explaining why.
Tile mode (AMIV):
OPTIONS=windowtype:amiv
Tile mode auto-selects tiles32.iff (32 colors, 5 bitplanes) when the Tile mode auto-selects tiles32.iff (32 colors, 5 bitplanes) when the
screen supports 32+ colors, otherwise tiles16.iff (16 colors, 4 planes). screen supports 32+ colors, otherwise tiles16.iff (16 colors, 4 planes).
To force text mode unconditionally, edit nethack.cnf:
#OPTIONS=windowtype:amiv
OPTIONS=windowtype:amii
OPTIONS=symset:AmigaFont
Configuration Configuration
------------- -------------
Edit nethack.cnf for game options. Key settings: Edit nethack.cnf for game options. Defaults shipped:
OPTIONS=windowtype:amiv - tile graphics (default) OPTIONS=windowtype:amiv - tile graphics
OPTIONS=symset:AmigaFont - text mode with line-drawing chars OPTIONS=number_pad:1 - numpad movement; '5' is run prefix
OPTIONS=menucolors - colored inventory items OPTIONS=time,showexp - turn count, experience visible
OPTIONS=time,lit_corridor - show turn count, lit corridors OPTIONS=lit_corridor - show lit corridors
OPTIONS=boulder:0 - display boulders as '0' OPTIONS=menucolors - colored inventory items
Menu color examples (add after OPTIONS=menucolors): ALT+letter shortcuts to extended commands (ALT+L for #loot, ALT+F for
MENUCOLOR=" blessed "=green #force, etc.) are enabled by default. On keymaps that need ALT for
MENUCOLOR=" cursed "=red typing characters (Scandinavian, German, French, ...) disable with:
MENUCOLOR=" uncursed "=cyan
OPTIONS=!altmeta
Menu color examples (after OPTIONS=menucolors):
MENUCOLOR=" blessed "=green
MENUCOLOR=" cursed "=red
MENUCOLOR=" uncursed "=cyan
Building from Source Building from Source
@@ -79,18 +85,19 @@ Cross-compilation from Linux using bebbo's m68k-amigaos-gcc toolchain
make CROSS_TO_AMIGA=1 all make CROSS_TO_AMIGA=1 all
make CROSS_TO_AMIGA=1 package make CROSS_TO_AMIGA=1 package
The distribution ZIP is created at targets/amiga/NH370AMI.ZIP. The distribution ZIP is created at targets/amiga/NH500AMI.ZIP.
Toolchain requirements: Toolchain requirements:
- m68k-amigaos-gcc (bebbo's amigaos-cross-toolchain in /opt/amiga)
- -noixemul (libnix) for linking - m68k-amigaos-gcc (bebbo's amigaos-cross-toolchain in /opt/amiga)
- -m68000 for maximum compatibility (or -m68020/040/060) - -noixemul (libnix) for linking
- -m68000 for maximum compatibility (or -m68020/040/060)
Known Issues Known Issues
------------ ------------
- Native Amiga compilation (SAS/C, DICE) is not supported; - Native Amiga compilation (SAS/C, DICE) is not supported;
cross-compilation with GCC is required cross-compilation with GCC is required
Credits Credits
+17
View File
@@ -0,0 +1,17 @@
begin 644 NetHack.info
MXQ```0`````!HP`/`#D`#@`&``$``0`SE&``-K,H````````````````````
M```!`@```````````(````"``````#!?4````````!```+@`30%R`$K__P``
M```"`!!_`#:X9@``````+N.D````````````7@!!_____P`!````````````
M`````#D`#@`"``%O4`,`````````````````#_______Y``,```````$``@`
M`````"0`"``)_R``)``(``G5(``D``@`"``@`"0`"``'_\``)``(```````D
M``G______^0`````````!``/_______\```````````````````````_____
M___X`#```````!@`,_______^``W_______8`#?_]@#?_]@`-__V*M__V``W
M__?_W__8`#?_^``__]@`-_______V``V```````8`#________@`````````
M```````````````````````````````Y``X``@`!<#`#````````````````
M``_______^0`&JJJJJJJM``U5555555<`'________P`0```````!`!`````
M```&`$``"?\@``8`0``)U2``!H!```@`(``&@$``!__```:`0```````!H!_
M_______^@`*JJJJJJJJ`/_______^``P```````8`"*JJJJJJJ@`!5555555
M4````````````#________@`/_______^``___8`W__X`#__]BK?__@`/__W
K_]__^``___@`/__X`#________@```````````````````````````$`````
`
end
+35
View File
@@ -0,0 +1,35 @@
begin 644 README.amiga.info
MXQ```0``````#P!(`"<`(P`&``$``4`&_1A`!QW@````````````````````
M```!!`!`!QWX!X8V<(````"``````````````````!`````````G`",``T`'
M(S`'```````````$```````%````'``$@```.``$0```\``$(```8``$$```
M0``'^``````![```````#@`!___`!@``````!@`!____A@`0````!@`!___^
M!@``````!@`!_\``!@``````!@``````!@`!____A@``````!@`!___\!@`0
M````!@`!____!@``````!@`!___P!@``````!@`!___^!@``````!@``````
M!@`!_```!@``````!@``````!@``````!@#______@#______@#____X``#_
M___[``#_[__[@`#_W__[P`#^/__[X`#_?__[\`#____[^`#____^"`#_____
M\@#_I*J_^@#_____^@#_BPBB>@#O____^@#_(DBE^@#_____^@#_2G__^@#_
M____^@#_____^@#_B2J*>@#_____^@#_(E$3^@#O____^@#_F15$^@#_____
M^@#_(DBO^@#_____^@#_-(15^@#_____^@#_____^@#^D___^@#_____^@#_
M____^@#_____^@```````@#______@`````&```````$@```&``$0```,``$
M(``!X``$$```P``$"``````$```````!\```````"```6U5`````````````
M=/==@```````````W;=:````````````M8``````````````````````=M5U
M@```````````W:[L````````````9NJ[````````````W;=0````````````
MRWNJ```````````````````!;`````````````````````````````"`````
M`````````````````"<`(P`#0`<EL`<````````````````````"```````"
M```.```"```<```"``!X```"```P```"```@```"```````"```````"``#_
M_^`"```````"``#____"``@````"``#___\"```````"``#_X``"```````"
M```````"``#____"```````"``#___X"``@````"``#___^"```````"``#_
M__@"```````"``#___\"```````"```````"``#^```"```````"```````"
M```````"`'_____^`````````'_____\`'_____\`'_W___\`'_O___\`'\?
M___\`'^____\`'_____\`'_____\`'_____\`'_255_\`'_____\`'_%A%$\
M`'?____\`'^1)%+\`'_____\`'^E/__\`'_____\`'_____\`'_$E44\`'__
M___\`'^1*(G\`'?____\`'_,BJ)\`'_____\`'^1)%?\`'_____\`'^:0BK\
M`'_____\`'_____\`'])___\`'_____\`'_____\`'_____\`````````/__
M___^`(`````"`(```````(`,`````(`8`````(#P`````(!@`````(``````
M`(```````(```````(`MJJ```(```````(`Z>Z[``(```````(!NVZT``(``
M`````(!:P````(```````(```````(`[:KK``(```````(!NUW8``(``````
M`(`S=5V``(```````(!NVZ@``(```````(!EO=4``(```````(```````("V
M`````(```````(```````(```````,```````````!)365,Z5&]O;',O161I
.=%!A9``````(`````0``
`
end
+21 -18
View File
@@ -310,24 +310,27 @@ UUDECODE = ../util/uudecode
$(CC) $(CFLAGS) -o $@ $< $(CC) $(CFLAGS) -o $@ $<
amigapkg: $(AMITILES) ../util/uudecode amigapkg: $(AMITILES) ../util/uudecode
mkdir -p $(TARGETPFX)pkg/tiles $(TARGETPFX)pkg/hack mkdir -p $(TARGETPFX)pkg/NetHack/tiles $(TARGETPFX)pkg/NetHack/hack
cp $(GAMEBIN) $(TARGETPFX)pkg/nethack cp $(GAMEBIN) $(TARGETPFX)pkg/NetHack/nethack
cp ../dat/nhdat $(TARGETPFX)pkg/nhdat cp ../dat/nhdat $(TARGETPFX)pkg/NetHack/nhdat
cp ../dat/license $(TARGETPFX)pkg/license cp ../dat/license $(TARGETPFX)pkg/NetHack/license
cp ../dat/symbols $(TARGETPFX)pkg/symbols cp ../dat/symbols $(TARGETPFX)pkg/NetHack/symbols
cp $(TARGETPFX)tiles16.iff $(TARGETPFX)pkg/tiles/tiles16.iff cp $(TARGETPFX)tiles16.iff $(TARGETPFX)pkg/NetHack/tiles/tiles16.iff
cp $(TARGETPFX)tiles32.iff $(TARGETPFX)pkg/tiles/tiles32.iff cp $(TARGETPFX)tiles32.iff $(TARGETPFX)pkg/NetHack/tiles/tiles32.iff
cp $(TARGETPFX)tomb.iff $(TARGETPFX)pkg/tomb.iff cp $(TARGETPFX)tomb.iff $(TARGETPFX)pkg/NetHack/tomb.iff
cp ../doc/nethack.txt $(TARGETPFX)pkg/nethack.txt cp ../doc/nethack.txt $(TARGETPFX)pkg/NetHack/nethack.txt
( cd $(TARGETPFX)pkg && ../../../util/uudecode ../../../sys/amiga/amifont8.uu && mv 8 hack/8 ) ( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/amifont8.uu && mv 8 hack/8 )
( cd $(TARGETPFX)pkg && ../../../util/uudecode ../../../sys/amiga/amifont.uu ) ( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/amifont.uu )
cp $(AMISRC)/nethack.cnf $(TARGETPFX)pkg/nethack.cnf cp $(AMISRC)/nethack.cnf $(TARGETPFX)pkg/NetHack/nethack.cnf
( cd $(TARGETPFX)pkg && ../../../util/uudecode ../../../sys/amiga/NHinfo.uu ) cp $(AMISRC)/README.amiga $(TARGETPFX)pkg/NetHack/README.amiga
( cd $(TARGETPFX)pkg && ../../../util/uudecode ../../../sys/amiga/cnf-info.uu ) ( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/NHinfo.uu )
( cd $(TARGETPFX)pkg && ../../../util/uudecode ../../../sys/amiga/license-info.uu ) ( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/cnf-info.uu )
( cd $(TARGETPFX)pkg && ../../../util/uudecode ../../../sys/amiga/txt-info.uu ) ( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/license-info.uu )
touch $(TARGETPFX)pkg/record ( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/txt-info.uu )
( cd $(TARGETPFX)pkg && zip -9r ../NH$(NHV)AMI.ZIP * ) ( cd $(TARGETPFX)pkg/NetHack && ../../../../util/uudecode ../../../../sys/amiga/readme-info.uu )
( cd $(TARGETPFX)pkg && ../../../util/uudecode ../../../sys/amiga/drawer-info.uu )
touch $(TARGETPFX)pkg/NetHack/record
( cd $(TARGETPFX)pkg && zip -9r ../NH$(NHV)AMI.ZIP NetHack NetHack.info )
@echo amiga package zip file $(TARGETPFX)NH$(NHV)AMI.ZIP @echo amiga package zip file $(TARGETPFX)NH$(NHV)AMI.ZIP
endif # CROSS_TO_AMIGA endif # CROSS_TO_AMIGA