Aidis.107
net.games.rogue
utzoo!decvax!duke!unc!mcnc!idis!dan
Sun Apr 11 13:04:32 1982
Robbed by a sign bit!
I have tracked the negative gold feature to its lair.
It really does seem to be a bug. The size of a pile
of gold is stored in a signed byte between the time
it is created and the time it is picked up. You can
force zero extension of this byte if you apply the
patch:
_pick_up+0x47: movzbl 0x20(r11),-(sp)
This makes the game playable but doesn't really fix the
problem. I suspect that only the great Shreldalff
can solve this one.
I know a bit about a few other bugs. The "huh" buffer overflow
problem that was reported a while back has not been fixed yet.
I get around it with the patch:
_init_names+0xb: pushl $3
This reduces the maximum scroll name length by one word.
The expanding save file bug that was reported a while back has not
been fixed either. A game is saved by dumping an encrypted copy of
the program's data segment. The problem is that the standard I/O
library routines are used. When the game is restored (by replacing
the running data segment with the dump), it appears as if the I/O
stream and buffer used for dumping are still in use. Each time the
game is saved, an I/O stream is used up and the core image grows
by one buffer size.
I have developed a rather long and involved patch that fixes this glitch
(and incidentally glosses over an incompatibility between the 4.1 and
4.0 stdio headers). If there is interest, I can make this patch
(and the others) available as a script and a symbolic patching utility
that interprets the script.
Percival Persistent,
Guardian of the Executable File
(aka Dan Strick, U of Pitt)
-----------------------------------------------------------------
gopher://quux.org/ conversion by John Goerzen <
[email protected]>
of
http://communication.ucsd.edu/A-News/
This Usenet Oldnews Archive
article may be copied and distributed freely, provided:
1. There is no money collected for the text(s) of the articles.
2. The following notice remains appended to each copy:
The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996
Bruce Jones, Henry Spencer, David Wiseman.