Misplaced Pages

Killer poke: Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editNext edit →Content deleted Content addedVisualWikitext
Revision as of 03:24, 17 September 2020 editTurboSonic (talk | contribs)Extended confirmed users, Pending changes reviewers, Rollbackers1,071 edits Commodore PETTag: Visual edit← Previous edit Revision as of 02:12, 21 September 2020 edit undoKvng (talk | contribs)Extended confirmed users, New page reviewers107,681 edits improve contribution. add ref. mention contention.Next edit →
Line 6: Line 6:


===Commodore PET=== ===Commodore PET===
The ]-specific killer poke is connected to the architecture of that machine's video rasterizer circuits. In early PETs, writing a certain value to the memory address of a certain ] register (<code>POKE 59458,62</code><ref>{{cite web|url=http://oldcomputers.net/pet2001.html|title=Commodore PET 2001 computer|publisher=oldcomputers.net}}</ref>) made the machine able to display text on the screen much faster.<!--Stay tuned: detailed info will be given soon, in the PET article, and linked to from here. The specifics are: setting bit 5 of the 6522 VIA at $E840/59456 to zero. Wernher--> When the PET range was revamped with updated hardware, it was discovered that performing the old trick on the new hardware led to strange behavior by the new video chip, which could possibly damage the PET's integrated ] monitor.<ref>{{cite web|url=http://www.6502.org/users/andre/petindex/poke/index.html |title=Killer Poke |work=PET index |first=André |last=Fachat |publisher=6502.org}}</ref> However this is easily fixable and is not known to have ever cause any permanent damage to the monitor. The ]-specific killer poke is connected to the architecture of that machine's video rasterizer circuits. In early PETs, writing a certain value to the memory address of a certain ] register (<code>POKE 59458,62</code><ref>{{cite web|url=http://oldcomputers.net/pet2001.html|title=Commodore PET 2001 computer|publisher=oldcomputers.net}}</ref>) made the machine able to display text on the screen much faster.<!--Stay tuned: detailed info will be given soon, in the PET article, and linked to from here. The specifics are: setting bit 5 of the 6522 VIA at $E840/59456 to zero. Wernher--> When the PET range was revamped with updated hardware, it was discovered that performing the old trick on the new hardware led to strange behavior by the new video chip, which could cause ] and possibly damage the PET's integrated ] monitor.<ref>{{cite web|url=http://www.6502.org/users/andre/petindex/poke/index.html |title=Killer Poke |work=PET index |first=André |last=Fachat |publisher=6502.org}}</ref> However this is not known to have ever caused any permanent damage to the monitor.<ref>{{cite video |url=https://www.youtube.com/watch?v=7bMJ0NIuWU0 |title=The Killer POKE}}</ref>


===Commodore 1541 Disk Drive=== ===Commodore 1541 Disk Drive===

Revision as of 02:12, 21 September 2020

In computer jargon, a killer poke is a method of inducing physical hardware damage on a machine 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.)

Specific examples

Commodore PET

The PET-specific killer poke is connected to the architecture of that machine's video rasterizer circuits. In early 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 discovered that performing the old trick on the new hardware led to strange behavior by the new video chip, which could cause signal contention and possibly damage the PET's integrated CRT monitor. However this is not known to have ever caused any permanent damage to the monitor.

Commodore 1541 Disk Drive

The Commodore 64 had an optional external 5-1/4" floppy drive. The Commodore 1541 contained a 6502 microprocessor which was used to run Commodore DOS and also to manage the drive mechanism. The drives stored data on 40 tracks (#0–39), and the stepper motor could be manually controlled through BASIC by PRINT#-ing "MEMORY-WRITE" commands to the drive (which correspond to the POKE command of BASIC, but write to the drive's internal memory and I/O registers, not those of the computer itself). If the drive was at either end of its range (track 0 or track 39) and it was commanded to continue moving, there was no software or firmware method to prevent drive damage. Continued "knocking" of the drive head against the stop would throw the mechanism out of alignment. The problem was exacerbated by copy protection techniques that used non-standard disk formats with unusual track counts. The Commodore 1571 had an optical head stop instead of a mechanical one.

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, 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, Amstrad CPC, 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.

Commodore Amiga

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.

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 stop working (or, in casual parlance, to be "bricked").

MSi Laptops UEFI

Systemd mounts variables used by Unified Extensible Firmware Interface on Linux system's sysfs as writable by the root user of a system. As a result, it is possible for the root user of a system to completely brick a system with a non-conforming UEFI implementation (specifically some MSi laptops) by using the rm command to delete the /sys/firmware/efi/efivars/ directory, or recursively delete the root directory.

Game Boy

The Game Boy's LCD screen can be turned off by game software. Doing so outside of the vertical blanking interval can allegedly damage the hardware.

See also

References

  1. "Computing Myth #1: Software cannot damage hardware". Oldskooler Ramblings. 2 February 2006.
  2. "Commodore PET 2001 computer". oldcomputers.net.
  3. Fachat, André. "Killer Poke". PET index. 6502.org.
  4. The Killer POKE.
  5. "80-GRAFIX Manual". Vintagecomputer.net. 1980. Retrieved 8 June 2015.
  6. Mims, Forrest M. (June 1985). "Computerized security alarms". Creative Computing Magazine. 11 (6): 58.
  7. "El Condor Pasa". minimal video. 16 September 2008.
  8. "Re: LG CDRoms". newbie@linux-mandrake.com. The Mail Archive. 29 October 2003.
  9. "Mount efivarfs read-only · Issue #2402 · systemd/systemd". 21 January 2016.
  10. "LCD Control Register". Pan Docs.

External links

Categories: