(1 / 1)
Date: July 20, 1987 08:48
From: KIM::ALBAUGH
To: @SYS$MAIL:ENGINEER
Back in the days when I/O meant punched cards, there was usually a sign near the card reader with the above inscription. The purpose of this exercise was to break the partial vacuum that existed between the cards of a deck that had not been used for a while, to discharge the static electricity it may have accumulated, and to align the bottom edges. Those who failed to heed this advice often got away with it. They also sometimes had their decks jam, which angered the operators and lost hours (perhaps days) of work. Nowadays few of us remember this admonition, which is no big deal, but we also forget things like the following: "Always clear the decimal flag on entry to an interrupt routine, and at power-up." A 6502 will come up in binary mode almost all the time, but we are not dealing with hand grenades or horseshoes, and once in a while one came get some very bizarre behavior. This bug bit one of our first 6502 games 10 years ago, and a later game about five years ago. It just bit again, a victim who shall remain nameless. Old bugs don't die. "DTACK and VPA must never be asserted at the same time." An amazing percentage of 680x0 systems will let you get away with this most of the time. When they do decide to get picky, the result is often a failure to stack all the information needed to return from an interrupt. This is particularly pernicious, since the symptoms generally occur when the interrupt routine returns, often many thousand (i.e. more than in the trace buffer of the AMS) cycles later. Another endearing feature of the AMS, is that such a botched interrupt is not recognized as anything out of the ordinary. The trace just shows instructions being executed with the interrupt routine "spliced" in, no JMP, no interrupt, just a quiet change of the addresses in the left column. Anyway, this hardware bug is getting more likely with the new "short-address" architectures, wherein the FFFFxx put out during an interrupt acknowledge is a valid address for some piece of game memory. The old fool, Mike
Jul 20, 1987