Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site dartvax.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxl!houxm!vax135!cornell!uw-beaver!tektronix!hplabs!hpda!fortune!amd!decwrl!decvax!dartvax!chuck From: chuck@dartvax.UUCP (Chuck Simmons) Newsgroups: net.games.rogue Subject: Re: save game bug again Message-ID: <2376@dartvax.UUCP> Date: Sun, 9-Sep-84 22:45:11 EDT Article-I.D.: dartvax.2376 Posted: Sun Sep 9 22:45:11 1984 Date-Received: Fri, 14-Sep-84 20:35:48 EDT Organization: Dartmouth College Lines: 29 I think that some of us Rogue fans don't understand the "save game bug" as well as we should. It is probably the case that _every_ bug in Rogue can be called a "save game bug". In fact, it isn't a bug, it's a feature. (You'll notice that I don't consider it a bug to be able to read scrolls while you're blind.) If you look at the sources to the machine dependent Rogue routines (or if you look at the binary under ADB), you will notice that Rogue sets up an "on unit" (yes, I program in pl1) to catch most of the signals that a C program can get. The action that rogue takes upon getting one of these signals is to save the game. However, Rogue not only saves the data portions of the game, it also saves the binary. Thus when the game is restarted, as soon as the faulty code is executed, *whammo*, Rogue gets another signal and saves the game again. I would recommend the following: 1) Change the machine dependent sources so that when Rogue gets a signal implying there is a bug in the program, it dumps a copy of itself to some canonical location. (I believe this is a trivial patch since a routine to dump already exists within rogue.) 2) Find some Rogue fan who is also a reasonable programmer, have him (or preferably her) look at the dump, figure out the bug, patch it out of existence, and announce the bug and patch to the net. 3) And finally, let's stop talking about "save game bugs" since there ain't no such thing. Chuck