IPBT
IPBT is a ttyrec player written by Simon Tatham. It is easiest to run on Unix, but can be made to work on other operating systems. It stands for It's Play-Back Time.
There are several good reasons to use IPBT: it allows you to rewind files, it allows you to play at linear or logarithmic speeds, it allows you to jump to specific frames. The disadvantage is that IPBT must load the entire ttyrec file before it begins play; this is less of a problem for NetHack than for large, repetitive games like Angband.
Downloading, installing and compiling
You will need a working compiler and related utilities. This includes at least gcc and make. You will also need the ncurses headers. On Debian, Ubuntu, and some other distributions, they are in the package libncurses5-dev.
Download the latest version of IPBT from http://www.chiark.greenend.org.uk/~sgtatham/ipbt/ (direct link), unarchive, and make:
$ wget http://www.chiark.greenend.org.uk/~sgtatham/ipbt/ipbt-r6770.tar.gz $ tar zxfv ipbt-r6770.tar.gz $ cd ipbt-r6770/ $ make
You can now run IPBT from the current directory:
./ipbt <ttyrecfile>
The included README contains these instructions:
* `q' (or `Q') quits ipbt. * Space moves on by a frame. Prefix it by a number to move on by multiple frames at a time. * `b' moves back by a frame. Prefix it by a number to move backwards by multiple frames at a time. * `o' toggles the on-screen display, which shows the current status of ipbt. * `L' toggles logarithmic time compression (designed to have little effect on small delays but massively compress long ones). * Typing a number followed by `x' causes play to proceed at that many times normal speed (e.g. `3x' means play at triple speed). Typing just `x' is equivalent to `1x': it restores normal speed. * `X' is like `x', but slows down rather than speeding up: `2X' means half speed and `3X' means one third speed. `X' on its own restores normal speed, just like `x'. * `g' jumps to the beginning of the animation. Prefixing a number jumps to a particular frame. * `G' jumps to the end of the animation. Prefixing a number jumps to that many frames from the end. * `p' (and also `s', for historical reasons) toggles pause mode. Pause mode is initially enabled.