In computer jargon, a killer poke is a method of inducing physical hardware damage on a machine and/or its peripherals by the insertion of invalid values, via, for example, BASIC's POKE command, into a memory-mapped control register. The term is typically used to describe a family of fairly well known tricks that can overload the analog electronics in the CRT monitors of computers lacking hardware sanity checking (notable examples being the IBM Portable and Commodore PET.)
The Commodore PET
The PET-specific killer poke is connected to the architecture of that machine's video rasterizer circuits. In early model PETs, writing a certain value to the memory address of a certain I/O register ( POKE 59458,62 ) made the machine able to display text on the screen much faster. When the PET range was revamped with updated hardware, it was quickly discovered that performing the old trick on the new hardware led to disastrous behavior by the new video chip, causing it to destroy the PET's integrated CRT monitor.
TRS-80 Model III
The TRS-80 Model III had the ability to switch between a 32-character-wide display and a 64-character display. Doing so actuated a relay in the video hardware, and was accomplished by writing to a specific memory-mapped control register. Programs that repeatedly switched between 32 and 64 character modes at high speed (either on purpose or accidentally) could permanently damage the video hardware. While this is not a single "killer poke", it demonstrates a software failure mode that could permanently damage the hardware.
Cassette Tape Relay
The TRS-80 Color Computer, IBM PC, IBM PCjr, NASCOM, MSX, and BBC Micro from Acorn Computers all contained a built-in relay for controlling an external tape recorder. Toggling the motor control relay in a tight loop would reduce the relay's longevity.
The floppy drive of the Commodore Amiga personal computer could be made to produce noises of various pitches, by making the drive heads move back and forth. A program existed which could play El Cóndor Pasa, more or less correctly, on the Amiga's floppy drive. As some sounds relied on the head assembly hitting the stop, this gradually sent the head out of alignment. The same problem existed on the Commodore 1541 disk drive made for the Commodore 64.
LG CD-ROM drives
Certain models of LG CD-ROM drives with specific firmware used an abnormal command for "update firmware": the "clear buffer" command usually used on CD-RW drives. Linux uses this command to tell the difference between CD-ROM and CD-RW drives. Most CD-ROM drives dependably return an error for the unsupported CD-RW command, but the faulty drives interpreted it as "Update Firmware", causing them to be bricked.
- HCF (Halt and Catch Fire)
- Pentium F00F bug
- Scratch Monkey
- Stuxnet, malware designed to cause physical wear in industrial centrifuges
- This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.
- "Computing Myth #1: Software cannot damage hardware". Oldskooler Ramblings. 2 February 2006.
- "Commodore PET 2001 computer". oldcomputers.net.
- Fachat, André. "Killer Poke". PET index. 6502.org.
- Mims, Forrest M. (June 1985). "Computerized security alarms". Creative Computing Magazine 11 (6): 58.
- "El Condor Pasa". minimal video. 16 September 2008.
- "Re: LG CDRoms". email@example.com. The Mail Archive. 29 October 2003.
- "LCD Control Register". Pan Docs.