Filetrip Logo

HackDS 1.0

Thumbnail 1 for HackDS
Hackds 1.0

Nintendo DS port of PC Hack 3.61
by Donnie Russell

Hack history

1982 Hack by Jay Fenlason with help from Kenny Woodland, Mike Thome and Jon
Payne. Inspired by Rogue.

1985 Hack 1.0.3 by Andries E. Brouwer. Evolution of Jay Fenlason's Hack.

1986 PC Hack 3.61 by Don G. Kneller. Hack 1.0.3 ported to MS-DOS, with new
features and bugfixes.

1987 NetHack project begins, organized by Mike Stephenson.

2004 RevivedHack 1.1 by Donnie Russell. PC Hack 3.61 updated for modern
operating systems, with color, sound effects, and bugfixes.

2007 AGB_Hack 1.6 by Donnie Russell. RevivedHack 1.1 ported to the Nintendo
Gameboy Advance, with level compression, menus, graphical tiles, and

2008 Hackds 1.0 by Donnie Russell. AGB_Hack 1.6 ported to the Nintendo DS.


The software contained in this archive is freeware, and may not be sold in any
form for any reason whatsoever. This software is provided to the end-user
"as is", and comes with no warranty of any kind. In no event shall the
copyright owner be liable for any damage that may result from the use of this

This software may be redistributed provided that the original archive is
whole, intact, and unmodified. Only copies identical to the original
distribution archive available from my web site are authorized for
redistribution. Proper credit must be given to all people involved in the
creation of this software near the point of redistribution. Redistribution of
this software on cartridge media is strictly prohibited.


When the initial screen appears the game will ask you to enter your name. Type
a name with the virtual keyboard then press the START button (or type the
Enter key). If you leave the name blank the game will select one for you.

Next, you can select the type of character you would like to play, or have one
chosen for you randomly. Move the arrow-shaped cursor up or down with the
directional pad (or 'j' and 'k' keys, see table below) to the character you
want then press the START button (Enter key) or A button (Space key). Each
character has its own strengths and weaknesses, so choose carefully.

Use the directional pad to move your character. To move diagonally, hold down
the R button, select the direction with the directional pad, then release the
R button. To run, hold down the L button, select the direction, then release
the L button. You can also release the L or R button before releasing the
directional pad.

Roguelike games such as Hack are typically played by entering commands with a
keyboard. Consult the two in-game help screens for: (1) a list of available
game commands, accessed by typing the '?' key on the virtual keyboard, and (2)
a key to the various symbols representing game objects, accessed by typing
the '/' key.

Frequently used keys are mapped to buttons as shown in the table below:

Button Key
------ ---
Pad left 'h' key
Pad right 'l' key
Pad up 'k' key
Pad down 'j' key
A Space key
B Escape key
X ',' key (for picking up items)
Y 's' key (for searching)
SELECT '~' key (for switching between tile and text modes)
START Enter key

Press the START button (Enter key) to open the game menu, consisting of two
screens for objects and actions. Press the directional pad left or right to
switch between them. Objects listed on the object menu are those which you are
currently carrying. Selecting an object on this menu brings up a list of
things you can do with that object. Some actions on the actions menu also work
on objects, either in your inventory or on the ground. Pressing the B button
(Escape key) exits the menu.

To cancel a command, press the B button (Escape key).

To repeat the last command (for example, to fire another arrow), use the 'a'
(again) command.

If you ever find yourself inside a room with no exits, use the search command
's' (Y button) repeatedly along the walls of the room. This command can also
be used to find hidden traps.

Use the '@' command to toggle the automatic picking up of objects on or off
(off by default). Gold is always picked up if it is the only object at your
current location.

To quit the current game, use the 'Q' command or select "Quit" from the
actions menu screen.

To save and power off the game, use the 'S' command or select "Save & Power
Off" from the actions menu screen.

Game messages are displayed at the top of the screen. When "--MORE--" is
displayed after a message, press the A button (Space key) to view the next

At the bottom of the display, you can see what dungeon level you are on ("L1"
means you are on level 1), how many hit points you have now and will have when
fully recovered ("H12/12" means you have 12 out of 12 maximum hitpoints), how
much gold you are carrying ("Au0" means you have 0 gold pieces), what your
armor class is ("AC3" means your armor class is 3--lower is better), your
strength ("St10" means your strength is 10), experience level ("Ex1" means
your experience is 1) and the state of your stomach.


The minimap, in the top-right corner of the virtual keyboard screen, displays
the current level as a matrix of colored dots:

Object Color
------ -----
Human Cyan
Monster Red
Large Rock Dark Red
Wall Gray
Corridor White
Door Black
Item Light Blue
Water Dark Blue
Gold Yellow
Food Brown
Trap Magenta
Up Stairs Dark Green
Down Stairs Green

Saved games

As you play, each keystroke is recorded in memory. Before ending a game
session, you *must* save your game before powering off.

There is a limited amount of memory available for saving games, enough for
about 65,532 keystrokes, as indicated by the growing red line below the
minimap. When this line reaches the right side of the screen, any further
input will not be recorded, but the game will continue playing normally.

To continue a previous game, turn on the console and if a saved game is found
it will be played back to the point where you left off. During playback a
progress bar is displayed. Pressing the A button allows you to switch the
progress bar off so you can see each move being played. Holding down the B
button slows down each move. Saved games play back faster with the progress
bar turned on.


Level compression uses Markus Franz Xaver Johannes Oberhumer's miniLZO 1.08, a
mini subset of the LZO real-time data compression library.

Change log (1.0):
comments powered by Disqus