Killer poke

From Wikipedia, the free encyclopedia

This article is about the hardware damage method. For the WCW incident, see The Fingerpoke of Doom.

In computer jargon, a killer poke is a method of inducing hardware damage (i.e., actual physical, irreversible damage) on a machine and/or its peripherals by the insertion of invalid values, via e.g. 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 PC[citation needed] and Commodore PET; a similar trick is reported having been done to Atari ST displays).

Contents

[edit] Specific Examples

[edit] 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 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.

[edit] TRS-80 Model III

The TRS-80 Model III had the ability to switch between a 40-character-wide display and an 80-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 40 and 80 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.

[edit] Acorn Systems BBC Micro

The BBC Micro from Acorn Computers, popular in British schools, had a built in relay for controlling an external tape recorder. Many 'computer studies' classes in the late 1980's resounded to the buzz of smart-alec schoolkids toggling the motor control relay in a tight loop, which reduced the relay's longevity. (This example is not unique to the BBC Micro; other computers of the cassette-recorder-storage era, such as the TRS-80 Model 100, could have the tape relay similarly controlled.)

[edit] Protecting from this and similar problems

Any system that meets Popek and Goldberg virtualization requirements can be made immune to any killer poke entirely by software means. The reason is that the VMM is required to intercept all the privileged instructions, which include sensitive and dangerous ones such as POKE, making it possible to then filter dangerous instances of that instruction.

[edit] See also

[edit] External links

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.