Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site fortune.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxl!ihnp4!fortune!grw From: grw@fortune.UUCP (Glenn Wichman) Newsgroups: net.games.rogue Subject: Re: On posted fix for "saved game bug" Message-ID: <3931@fortune.UUCP> Date: Thu, 2-Aug-84 17:02:36 EDT Article-I.D.: fortune.3931 Posted: Thu Aug 2 17:02:36 1984 Date-Received: Sat, 4-Aug-84 00:45:23 EDT References: <274@tymix.UUCP> Organization: Fortune Systems, Redwood City, CA Lines: 41 bip. > Regarding the "saved game bug" the following has been posted: >> .... >> Guys, under 4.2BSD, ^Y is a delayed suspend signal. ^Y also means >>UP LEFT to rogue. If you get a ^Y through the game to the shell... >Probably the reason people keep complaining is that they don't understand >your "fix" or why it applies to the problem. Many people play Rogue who >know very little about Unix, shell script, suspend signals, and so on. You >may feel that such persons ought not to be playing Rogue, but, there they >are. >For example, I understand that control-Y has two meanings in two different >contexts, and I understand what a shell script is, but I am totally >baffled by your assertion that "If you get a ^Y through the game to the >shell". What the H*** does this mean?... Well, it doesn't mean anything, actually. [This next part is to the '>>' guy]. The shell isn't the thing that catches ^Ys, the tty driver is. And the ^Y doesn't get "through the game to the shell", it never gets to the game in the first place. In simple terms: In UNIX, a part of the kernel called the "tty driver" interprets the characters you type. Usually, these are just ASCII characters that the tty driver sends on to the program waiting for input, however, a couple of charcters are special, for instance the interrupt character. If the tty driver sees this charcter come in, rather than sending it along, it will send an interrupt signal to the program. Through the UNIX program stty, you can set your all these special charcters to whatever ASCII values you want. ^Y is one of these special characters. It means 'suspend this process as soon as it wants some input', but that's not important right now. The purpose of the shell script which was suggested in the original article is to change that character from ^Y to something else (I suggest setting it to(^@), which is something you are unlikely to type accidentally). I'm also not convinced that that's all there is to the "save game" bug. -Glenn.