This page documents information about Zork I: The Great Underground Empire
. Many of the tricks demonstrated here are near impossible in real time and documented for the purposes of creating Tool-assisted Speedruns.
super)
is about 20% faster than brief mode in the Apple II version.
P-CONT.)
For example, at the start of the game, you can enter
n.n.u.get egg.d to get to the tree, climb the tree, get the egg, and climb down again.
Doing this is generally slightly faster than entering the commands on separate lines.
There are limitations:
many game events, such as
entering the Loud Room
or
initiating combat,
will clear P-CONT.
If you queue up commands that produce more than a screen's worth of output,
you still have to enter inputs to clear the "[MORE]" prompts that appear.
get egg versus get egG versus Get EGG.
KEYIN
random number generator built into the Apple II firmware,
which rapidly increments a 16-bit counter at addresses 0x4e and 0x4f
(which the ZIP calls RNUM1 and RNUM2)
while waiting for a key to be pressed.
The ZIP's GETKEY subroutine
calls
the Apple II RDKEY subroutine,
which in turn calls KEYIN.
KEYIN returns an ASCII code in the A register and leaves
RNUM1 and RNUM2 in some hard-to-predict state.
At the end of GETKEY, the ZIP further tweaks the random number state by
adding the ASCII code into RNUM1 and xoring it into RNUM2:
ADC RNUM1 ;FUTZ WITH RANDOM
STA RNUM1
EOR RNUM2
STA RNUM2
SIZE property
that represents their weight.
The most weight you can carry is
95 units.
(The nominal limit of LOAD-MAX
is 100 units, but the game's WEIGHT
calculation includes the SIZE of the
WINNER container,
which is the default 5 units.)
The limit is lowered when you are injured
(LOAD-ALLOWED).
VILLAIN-BLOW and
HERO-BLOW functions.
For each blow result (KILLED, LIGHT-WOUND, etc.)
there is a table of flavor remarks
which is indexed randomly.
THIEF-ENGROSSED)
whereby you can
give the thief a treasure to
temporarily reduce his strength to 2.
But it doesn't seem to actually work:
his strength is restored to normal before the player's next turn.
ROOMS in reverse order,
starting in ROUND-ROOM and skipping any room that has SACREDBIT set, or RLANDBIT unset.
He is invisible while doing so.
When in the same room as the player, there is a random chance
that he will become visible and encounter the player.
TVALUE is greater than 0)
from rooms you've already seen
(rooms whose TOUCHBIT is set).
This can work to your advantage, as the thief has no carrying limit
and treasures stolen by him will be left in the treasure room after the final showdown.
SACREDBIT rooms,
so a treasure in such a room will not be stolen.
This notably includes BAT-ROOM
which initially contains the jade figurine.
Some treasures also have SACREDBIT set,
and the thief is prohibited from stealing those
(because it could bypass a puzzle the player is meant to solve).
The SACREDBIT treasures are
COFFIN
and
BAR.
SACREDBIT is cleared from BAR
after you echo in the loud room;
this makes it eligible for stealing again.
RLANDBIT,
which means something like "there is dry land in this room".
The thief cannot enter a room unless RLANDBIT is set.
Almost all the rooms that RLANDBIT unset are also sacred, so it doesn't matter much;
the only exception is the RESERVOIR room, which is not sacred,
and initially does not have RLANDBIT set.
Draining the reservoir at the dam
sets RLANDBIT
and lets the thief go there (to pick up the trunk of jewels, possibly).
MAZEBIT set),
there is special code
to unset TOUCHBIT on rooms you've entered.
This is to avoid revealing side information through whether the long or short room description is shown.
As a side effect, it prevents the thief from picking up items in the maze.
This does not apply in the coal mine, whose rooms do not have MAZEBIT set,
even though they form a small maze.