[net.micro] 6502 HCF mnem

bentonh@sri-unix (11/04/82)

    Some time ago there were some postings of clever processor
mnemonics. Among them was one which seemed to be halfway
serious.

    I was wondering about none other then the infamous
HCF - Halt and Catch Fire, of the 6502 uP.

    Does anyone know if there really was (is) such an op-code
that would cause the processor to lock up and get hot? If
so, was it ever corrected? Did it occur on both the MOS-Technology
as well as the Rockwell versions, and what was the op-code?
Left un-reset, could it cause permanent damage?

    Any information is certain to be quite amusing. Thanks.

      Benton Holzwarth
   ...teklabs!tekid!bentonh

martin (11/16/82)

	One of the unused opcodes on the 6502 used to do interesting
things if executed. The processor would get very hot and start drawing lots
of current. The only out was to turn off the power - reset didn't work.
This only happened on early processors, I think from both manufacturers.
It has since been fixed.
	Sorry, I don't know what the opcode is/was - but anyone with an
oldish 6502 system may know.

Martin Harriss	pyuxjj!martin

wagner (11/17/82)

I am not aware of any permanent damage that they could cause,
but there are several opcodes on the 6502 that cause it to 
go away and not recover, except by reset.

Michael Wagner, UTCS

kline (11/17/82)

#R:tekid:-55400:uicsovax:3700045:000:196
uicsovax!kline    Nov 17 12:08:00 1982


	KIM-1's with 6502's from MOS Technology locked up in an unresettable
state on opcode 02H. I never noticed the CPU getting hot, though.

			Charley Kline, ...decvax!pur-ee!uiucdcs!uicsovax!kline

pdh (11/18/82)

The HCF (Halt and Catch Fire) instruction did indeed exist, but not on the
6502.  The very early versions of the 6800, being a relative power burner,
if you took into account the (relatively small) die size, would execute this
opcode by locking into a tight loop (of microcode, I presume), which could
not be exited without powering down the chip; not even RESET would work
reliably.  Left unattended, it would be theoretically possible for the
chip to overheat in spots and cause silicon damage, but I'm not sure if
this actually happened with the 6800.

Another microporcessor heat peculiarity:  A friend tells me that the early
versions of the 6809, in the plastic package, could literally "melt down"
and burn out, because the chip ran too hot for the epoxy-resin packages.
To avoid the problem, you had to buy the ceramic package...

				Peter Henry
				{ucbvax!}hplabs!pdh

CSvax:Physics:hal (11/18/82)

#R:tekid:-55400:pur-phy:7800001:000:479
pur-phy!hal    Nov 17 08:22:00 1982

    There was an undocumented opcode in the 6800 which was dubbed HCF
(Halt and Catch Fire).  I don't know about its thermal properties but
it caused the 16 address lines to cycle as a 16 bit counter running at
the full clock frequency.  The processor was unresponsive to any further
signals, including NMI and RESET.  The only way to stop it was to remove
power.  Maybe I can locate the opcode at home tonight; it was in an early
issue of BYTE.

Hal Chambers
pur-ee!pur-phy!hal

greep@Su-Dsn@sri-unix (11/19/82)

This reminds me of something similar, which was for real.  The pdp-15
(successor to the pdp-9, which came after the pdp-7, which followed the
pdp-4, which was the offspring of the pdp-1 (all of which came before the
pdp-11)) had a standalone diagnostic called the "hot memory test".  It
would put a one-word loop (jump to self) in memory and let it run for a
while to see if the core (yes, they used core in those days) would keep
working after getting warm.  The thing would time out after 110 ms by
sending a character to the console (model 33 tty) and looping until the
interrupt occurred.

I don't think 110 ms was long enough to cause spontaneous combustion of the
memory, however.  At least I never smelled any smoke.

Speaking of bogus upcodes, there was a list of a couple of dozen at one
place where I worked, and we often added our own.  Many of them were of the
"skip" class, often used with minis of that era, e.g.  SFM (skip on full
moon).  Two others that I remember, which referred to specific people
(whose names I will hide here for obvious reasons) were:

   SDS - skip if dumber than Smith
   NOP - skip if dumber than Jones

The latter got its mnemonic because it could never happen.

wyse (11/20/82)

My office mate says he a microprocessor (he thought it was the 6800)
had an opcode that when it was executed did something similar to
Halt and Catch Fire, but with a purpose.  Apparently when this
was executed the chip started counting on the address lines and
also (he thought) on the data lines starting at 0 and incrementing.
There was no way out of it except to cycle power.  Since this
behavior was so regular it probably wasn't an accident.  Speculation
is that this was done for testing purposes as a first pass
rejection/acceptance test for newly produce chips.

		Neal Wyse
		ihuxp!wyse

malcolm (11/22/82)

#R:tekid:-55400:pur-ee:6700006:000:480
pur-ee!malcolm    Nov 16 10:07:00 1982

The Half and Catch Fire (HCF) instruction on the 6809 is one of the most
useful for hardware debugging.  When I first bring a processor up I give 
it a HCF and then watch the address lines cycle.   They increment once
for each processor cycle.  This means that an entire 65k cycle is displayed
15 times a second.  Works out pretty well for checking out addressing
errors.

						I know which end of my
						soldering iron gets hot!!!!

						Malcolm Slaney
						Purdue EE Dept.