Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!utgpu!water!watmath!watdcsu!rsanders From: rsanders@watdcsu.UUCP Newsgroups: comp.misc Subject: Re: What the world needs now [ is an exploding computer ] Message-ID: <3409@watdcsu.UUCP> Date: Mon, 25-May-87 09:45:52 EDT Article-I.D.: watdcsu.3409 Posted: Mon May 25 09:45:52 1987 Date-Received: Tue, 26-May-87 02:48:03 EDT References: <12067@topaz.rutgers.edu> <910@killer.UUCP> <170@auvax.UUCP> Reply-To: rsanders@watdcsu.UUCP (Roger K. Sanderson P.Eng.) Organization: U. of Waterloo, Ontario Lines: 33 In article <170@auvax.UUCP> rwa@auvax.UUCP (Ross Alexander) writes: >In article <910@killer.UUCP>, jfh@killer.UUCP (John Haugh) writes: >> A friend of mine [...] told me [...] that one of the unused op-codes >> in the M6800 had the nasty side effect of overloading the bus and causing >> much grief on the PC board the chip was mounted on... >> You don't really expect me to believe that this actually happened now do >> you? Anybody out there heard of anything like this really happening? > >The opcode exists, the mnemonic is HCF (Halt and Catch Fire) :-) and >without my manuals I can't recall the hex. It's a manufacturability >instruction, for testing the chip after the wafers are cut apart, and >before they mount the dies onto carriers. It just counts 0000 to FFFF >on the address buss continuously. > The hex value was $DD . It does count up the bus as you describe. It also ignores interupts while doing so. Thats cause the 6800 looks for an interupt at the END of every instruction, and of course this instruction never ended. The result of the interupts being off (including NMI) was that you could not break out of the HCF instruction with anything but a reset. On the SWTP (Southwest Technical Products) machines the reset line went through a tristate buffer which was DISABLED by the HCF instruction. I think the HCF asserted the bus available line or something like that. The bottom line was that the only way out of an HCF on the SWTP was to turn the power off! On most other 6800 implementations a simple reset would get you out. I dont think this instruction could actually harm the machine, the bus was cycling at the normal clock speed. It was just doing it a lot. Anything that couldnt hack that was poorly designed in the first place! -- Roger Sanderson: {clyde|decvax|ihnp4}-\ {tektronix}-+--> watmath!watdcsu!rsanders {ubc-vision|utzoo}-/