Killer poke

From Wikipedia, the free encyclopedia

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 used especially of various 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 and Commodore PET; a similar trick is reported having been done to Atari ST displays).

Contents

[edit] Case in point: the Commodore PET

The PET-specific killer poke is uniquely connected to the architecture of that machine's video rasteriser 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 behaviour by the new video chip, causing it to destroy the PET's integrated CRT monitor.

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