Saturday, June 19, 2010

Nethack for Psion 5MX


Nethack 3.4.3 is now included in the downloads area. See the installation section for details about upgrading from 3.4.1 or earlier versions.

This is Nethack 3.4.3 ported to run on the Psion 5/5MX, Series 7/Netbook, Revo (or other compatible Epoc 5 devices). Sorry, it doesn't run on Nokia mobile phones or other more recent Epoc devices, although I'm quite happy to offer advice if anyone wants to do the port.
Changes in 3.4.3
NetHack 3.4.3 is a bugfix release for 3.4.1.

The only Epoc related changes are:

* Added Epoc specific help in the game ('?' command, menu item 'j').
* #version command now works properly.

The binary supplied here is based on the official Nethack distribution with the addition of the Jukka Lahtinen's dump patch. This build is compatible with Hearse which allows you to share your bones files with other Epoc Nethack players. Please do share your bones files, it adds another dimension to the game.
Changes in 3.4.1

NetHack 3.4.1 is a bugfix release for 3.4.0.

* Fix a few fatal errors including one for reentering shops, one involving land mines and boulders/statues, one for delayed polymorph, and one for chest traps blowing up a ball and chain
* Fix a buffer overflow that could lead to security problems
* Hundreds of general bug fixes
* Several message and other glitches corrected
* Travel command adjustments and ability to disable travel command
* message recall window extensions (by Christian Cooper)

Psion specific fixes:

* Nethack database entries should now display correctly. e.g. Long descriptions of creatures.
* Dump patch now included. This means you get a file 'name.txt' created in C:Documents when you die, quit, escape or ascend.
* Fixed the bug that stopped it running on original Psion 5.

Changes added in 3.4.0

There are a great many bug fixes and improvements to the game core in this release. In particular, the new travel command means that you can now move to a known location on the screen simply by clicking on it (but see below).

* This release adds colour support on those devices (such as the Netbook) that have colour displays. You must have the color option selected in the configuration file, (or set the option at runtime) for this to work. N.B. Colour displays use a black background and coloured (or white) text, but mono displays use a white background and display in black or black plus 2 shades of grey. Readability on mono devices may be improved by turning color off in the configuration file, or use the 'O' command followed by 'e' to toggle this option at runtime.
* Font selection is now more reliable. There are 4 font sizes in the default file including 6x6 for the Revo, 8x9 for Series 5, 8x12 for no particular reason, and 8x18 for the series 7 or Netbook (actually the 8x18 is really just the 8x9 at double height). The game should always select at startup the largest font size that fits on your screen.
* There is a new font file that uses lighter weight fonts at the smallest size and has new glyphs for the various dungeon features. Anyone particularly attached to the old fonts can edit the configuration file: commented out sections have the settings for the old font.
* The front-end program now has a menu command to edit the configuration file (Edit/Edit Config). Also, the game used to have a problem using configuration files that had been edited on the Psion: this has now been fixed. Users of monochrome systems will probably want to set the nocolor option in this file.
* There is now an Epoc menu in the game. This has two main effects. You can easily browse through commands if you have forgotten which one you want, and you have a handy list of the keys for each command as well. A side effect of adding the menu is that most extended commands now have new accelerators using a Ctrl+Shift+key sequence. The old key sequences all continue to work though. N.B. The menu simply types the appropriate command at the game: if you use the menu when the game is waiting for specific input this will become obvious.
* The travel command (new in Nethack 3.4) allows easy movement to any explored part of the current level by clicking anywhere more than one square away from the current location. However, the small screen can make it hard to click reliably exactly one square from the current location, so this version allows a tap up to 4 squares in any direction to move you a single square, and tapping further uses the travel command. Moving by tapping on the screen also has other effects (this is not Epoc specific): tapping exactly on your character may perform an action appropriate to the current location. Trying to move through a door will attempt to open it first. Alternatively you may use the keyboard to move: use arrow keys to move up/down/left/right. ctrl-arrow to move further. Fn+arrows rotates the keypad 45° clockwise for diagonal movement.

Acknowledgements

* Mooz for testing and the latest font.
* David Damerell and Glenn Strong for testing.
* Rune Andreas Grimstad for kicking me into compiled a 3.3.1 version.
* Brunel Merleau-Ponty for the new screen backdrop.
* H. Muraoka for the Revo font.
* rekrutacja for bugging me into fixing original series 5 bug.

Download stats
As of 22nd April 2003:
nethack323.zip 1154
nethack331.zip 476
nethack340.zip 548
nethack341.zip 0
In each case, I count each distinct email address as a single download for a file (no matter how many attempts it took), but all attempts are counted for those people who choose to leave the email field blank.
Known Bugs

* 3.4 doesn't run on the original Series 5.
* Screen colours sometimes go wrong immediately after going up or down a level. Presumably something thinks the colour has been set, but it gets lost when the screen is cleared.
* Tapping on the screen gets the wrong position if the display has been scrolled. This is because the code that used to compensate for scrolled screens was a horrible kludge, so I commented it out when rewriting the screen code and forget to uncomment it when I was done.

Installing

Installation/removal uses a normal .SIS file. You should have PsiWin 2.1 or later installed on your PC before installing. Simply download the ZIP file, unzip it and run the .SIS file it contains. Alternatively, you may download the game directly to your Psion and run the SIS file from there provided you have the Add/Remove programs extension to the control panel installed.

You need about 2.5-3Mb in total to install and run Nethack. I recommend putting the files on a CF card if you can.

In the unlikely situation that you want to remove Nethack, you should use the control panel to remove it (Add/Remove programs icon), but you will then also need to go to the directory SystemAppsNethack directory and remove any files left behind.

To upgrade from an earlier version follow these steps:

1. If you had customised your Nethack.cnf save a copy of it somewhere.
2. Use the control panel to remove the old version of Nethack.
3. Install the new version
4. If upgrading from earlier than 3.4.0 then delete the files .sav, bones.* from SystemAppsNethack.
5. If upgrading from 3.4.0, or from the version of 3.4.1 distributed prior to June 2003, you should download the file UpdateBonesSave341.zip from the downloads area. Extract UpdateBones.opo from the zip file, copy it anywhere on your Psion and run it. It should find and update and old save and bones files to make them compatible with the new version. Source for the update program is included in the archive. You may delete UpdateBones.opo after use.
6. If upgrading from the fixed version of 3.4.1, then bones and save files are fully compatible. Don't forget to save your old Nethack.cnf.
7. If you had customised your Nethack.cnf, you should merge your changes into the new Nethack.cnf.

Getting Started

To get started read the Guidebook then play the game, then read the Guidebook again.

Useful things to know in the game:

* The command ? will give you a list of the available commands (as well as other information) and the command / will identify the things you see on the screen.
* The online help is somewhat generic. Mostly you can ignore the bits about command line options (although the Tools/Play... menu command on the front screen lets you enter options if you feel the need).
* Use the arrow keys to move, Fn+arrow moves on a diagonal grid rotated 45º clockwise or use the pointer to move.

Change history
January 2004
Built Epoc version of 3.4.3

June 2003

Added support for Hearse server to share bones files with other players.
April 2003

Built Epoc version of 3.4.1
March 2003

Fixed bug that prevented nethack-database entries from displaying correctly.
December 2002

Added Jukka Lahtinen's dump patch.
May 2002

Built Epoc version of 3.4.0. Added colour support. Added a menu bar. Fixed up the fonts so we no longer need a separate one for Revo. Changed the fonts again. Added a configuration file editor. Fixed the problem reading nethack.cnf containing carriage returns on continuation lines. Fixed up the travel command.
October 2001

I finally got around to building an Epoc version of Nethack 3.3.1

Incorporated optional small font for Revo.
August 1999

The screen now uses a different font. The display is 80x25 so it no longer needs to scroll, and PC graphics are used to display walls etc. You can now move by tapping the pointer in the direction you want to go, and use real physical violence to kill the monsters... The pointer also works for identifying screen locations.

A new front-end program lets you run Nethack from the extras bar, and also lets you read the manual etc. without having to search for the directory containing the relevant files. Commands are available to run Nethack (optionally in Explore mode, or with an arbitrary command line string), or to view the ReadMe, Nethack manual or Guidebook files.

There is some support for zooming, but be warned that the status and messages are not always visible if you have any but the default 80x25 view, so you should restrict zooming to when you can't quite make out what is going on on the screen.
June 1998

The dungeon is back to its standard size, and the screen now scrolls as a result. Scrolling is automatic, but pressing the menu key will force it to scroll (unless you are too near the top or bottom). Special levels now work correctly (as a direct result of fixing the size). Screen updates are much faster.
Restrictions

If you turn off the number pad in the nethack.cnf file then you have the option of using yu, hjkl, bn to move and the arrows should still work (but kicking etc. needs extended sequences). Generally Fn acts as the meta key, except for keys with useful symbols already on Meta. If for some reason the screen starts off with fewer than 25 lines (e.g. if you remove the font file or subsitute a different one) the dungeon will scroll as needed to reveal to top or bottom lines. Ctrl+Z forces a scroll although the player always remains on the screen. Reducing file space you can to some extent reduce the filespace required for Nethack, although this will degrade the game as follows:

* Guidebook (161k), ReadMe (this file), Nethack (9k) are the documentation. You may remove them to save around some space.
* Nethack.aif (1k) provides the icon on the extras bar. May be removed if you don't want the icon.
* Nethack.mbm (33k) provides the background bitmap. May be removed or replaced with a different one.
* Nethack.app (9k), Nethack.rsc (1k) provides the frontend program. If you remove these you will have to start Nethack.exe by hand, or use a program such as Macro5 or Eshell to start it.
* PC8.gdr (8k) is the font used by Nethack. If you remove this you must edit nethack.cnf to turn off the graphics characters.
* Nethack.exe (1.5M), nhdat (543k) are the game and supporting data. If you remove these you won't be able to play anything (although I suppose you could remove the game and keep the frontend and documentation if you really wanted).

Source

Under the license agreement I have to tell you where to get the sources. They are probably on my website, but if I missed anything out, email me.
Crash Recovery

Very occasionally this version may crash. If this happens, all is not lost. Download the recovery program, backup your Psion to your PC, run recover.exe on the backed up files (directory PsionuserBackupInternalGamesNethack) to create a .sav file, and copy that file back onto the Psion. Don't keep a copy of the .sav file though as that would be cheating... (In case I didn't make that obvious enough, recover.exe is to be run on the PC, not on the Psion.)

Duncan Booth

0 comments:

Post a Comment