# Funny blooper - Halt and catch fire S1 E1

#### Robin Mitchell

Joined Oct 25, 2009
819
Hi all,

So I am watching one of my fav tv shows and noticed a funny mistake.
This program is about computers and hardware in general but there are two guys who want to reverse engineer an IBM bios. So they need the chip removed so they can get the info off it. Now they spend all this time de-soldering the pins but it turns out the chip is in a socket! Hope the view does not notice!

#### Papabravo

Joined Feb 24, 2006
15,561
Hi all,

So I am watching one of my fav tv shows and noticed a funny mistake.
This program is about computers and hardware in general but there are two guys who want to reverse engineer an IBM bios. So they need the chip removed so they can get the info off it. Now they spend all this time de-soldering the pins but it turns out the chip is in a socket! Hope the view does not notice!
Epic fail!

In the days of Big Iron and small memories, the HLT (Halt Instruction) actually had a legitimate purpose. In today's embedded control world, that instruction would be anathema to the operation of the device.

#### RichardO

Joined May 4, 2013
2,271
I thought that the Halt and Catch Fire was a Motorola MC6800 instruction.

#### Papabravo

Joined Feb 24, 2006
15,561
I thought that the Halt and Catch Fire was a Motorola MC6800 instruction.
It was alleged to be an instruction on successively the IBM 650 (ca. 1958), the IBM 1604(ca. 1960), and the IBM 7090 (ca. 1962), a good 2 decades before the MC6800 saw the light of day.

#### RichardO

Joined May 4, 2013
2,271
It was alleged to be an instruction on successively the IBM 650 (ca. 1958), the IBM 1604(ca. 1960), and the IBM 7090 (ca. 1962), a good 2 decades before the MC6800 saw the light of day.
Those systems were (more than) a bit before my time. I first started learning about computers in 1968 using the Bi-Tran Six, a training computer.

Thanks for the history!

#### RichardO

Joined May 4, 2013
2,271
Sure. Here are the wiki articles with references. The dates above were when I first encountered the machines.
https://en.wikipedia.org/wiki/IBM_650
https://en.wikipedia.org/wiki/IBM_7090

There was no article I could find on the 1604
Thanks for the links. That will no doubt be hours of interesting reading.

I mentioned the Halt and Catch Fire to a friend, he said that programmers joked about IBM computers doing a Halt and Catch Fire but there was no actual instruction. There was an op-code on the MC6800 that would put it into a test mode that continuously incremented the address on the port pins if it was executed.

From Wikipedia:
The Motorola 6800 microprocessor was the first for which an undocumented assembly mnemonic HCF became widely known. The operation codes (opcodes) — the portions of the machine language instructions that specify an operation to be performed — referred to by the mnemonic HCF are $9D and$DD and were reported in an article written by Gerry Wheeler in the December 1977 issue of BYTE magazine on undocumented opcodes.[4] Wheeler noted that Motorola reported 197 valid operation codes for the M6800 processor, and so inferred that with 256 possible 8 bit combinations, there must be 59 "invalid instructions." He goes on to describe the HCF as a "big surprise," and saying of the Catch Fire portion of the moniker, "Well, almost.":

When this instruction is run the only way to see what it is doing is with an oscilloscope. From the user's point of view the machine halts and defies most attempts to get it restarted. Those persons with indicator lamps on the address bus will see that the processor begins to read all of the memory, sequentially, very quickly. In effect, the address bus turns into a 16 bit counter. However, the processor takes no notice of what it is reading… it just reads."[4]

#### Papabravo

Joined Feb 24, 2006
15,561
The 6502 and the Z80 were reputed to also have undocumented instructions. I'm sure there are articles on both of them.

#### atferrari

Joined Jan 6, 2004
4,255
The 6502 and the Z80 were reputed to also have undocumented instructions. I'm sure there are articles on both of them.
My first micro was the Z 80 and I recall reading some articles about them. It took me some time to understand that devoting time to them would lead me nowhere.

Not sure now if I tested one or two jointly with the use of "secret" RAM locations in the Timex Sinclair 2068.

#### Wendy

Joined Mar 24, 2008
22,343
As for Z80, I have used a C128, several TRS-80s, and a Sinclair.

#### RichardO

Joined May 4, 2013
2,271
The 6502 and the Z80 were reputed to also have undocumented instructions. I'm sure there are articles on both of them.
I don't know about the Z80 but the 6502 did not have any hidden instructions -- unless you count the non-working Rotate Right instruction on the early release.
In the same conversation with my friend about HCF in the 6800 he said that the 6502 would lock up in an infinite loop in its state machine when an invalid instruction was encountered.

#### Papabravo

Joined Feb 24, 2006
15,561
I don't know about the Z80 but the 6502 did not have any hidden instructions -- unless you count the non-working Rotate Right instruction on the early release.
In the same conversation with my friend about HCF in the 6800 he said that the 6502 would lock up in an infinite loop in its state machine when an invalid instruction was encountered.
I think the 6502 had a richer set than you are aware of:
http://www.ffd2.com/fridge/docs/6502-NMOS.extra.opcodes
http://www.ataripreservation.org/websites/freddy.offenga/illopc31.txt
http://www.oxyron.de/html/opcodes02.html
http://bbc.nvg.org/doc/6502OpList.txt