Cutucada assassina
No jargão da informática, um killer poke é um método de induzir dano físico ao hardware em uma máquina ou seus periféricos pela inserção de valores inválidos, por meio, por exemplo, do comando BASIC's POKE, em um registrador de controle mapeado em memória. O termo é normalmente usado para descrever uma família de truques bastante conhecidos que podem sobrecarregar a eletrônica analógica nos monitores CRT de computadores sem verificação de sanidade de hardware (exemplos notáveis são o IBM Portable e o Commodore PET).
Exemplos específicos
Zuse Z1/Z3
Os computadores Z1 (1938) e Z3 (1941) construídos por Konrad Zuse continham sequências ilegais de instruções que danificavam o hardware se executadas acidentalmente.
Pet Comodoro
O puxão assassino específico do PET está conectado à arquitetura dos circuitos rasterizadores de vídeo dessa máquina. Nos primeiros PETs, escrever um determinado valor no endereço de memória de um determinado registro de E/S (POKE 59458,62
) tornava a máquina capaz de exibir texto e gráficos na tela 106% mais rápido. Isso foi feito com a desativação de uma proteção “esperar para imprimir na tela” projetada para reduzir a estática/ruído, impedindo que a VRAM compartilhada fosse lida pelo monitor ao mesmo tempo em que era gravada pela CPU. Com essa proteção desabilitada, os gráficos podem aparecer na tela duas vezes mais rápido, mas pequenos pedaços de estática também aparecem. Apesar da estática, alguns jogos projetados para os primeiros PETs incluíram esse POKE em seu código-fonte para se beneficiar dos gráficos mais rápidos.
Quando a gama PET foi renovada com hardware atualizado, os circuitos do rasterizador de vídeo foram redesenhados para funcionar a uma velocidade mais rápida e sem a necessidade de uma salvaguarda de “espera para imprimir”. Assim, o antigo truque do POKE não resultava mais em gráficos mais rápidos. Em vez disso, executar o velho truque no novo hardware levou a um comportamento estranho do novo chip de vídeo, o que poderia causar contenção de sinal e possivelmente danificar o monitor CRT integrado do PET. Isso ocorre porque o pino exato visado pelo comando POKE usado para controlar o tempo de exibição, mas no chip de vídeo atualizado, esse pino controlava a sincronização vertical. Assim, executar o POKE no hardware mais novo fazia com que os gráficos fossem compactados verticalmente, às vezes até uma linha horizontal extremamente brilhante. O medo de que essa anomalia pudesse queimar a tela levou ao apelido de “cutucada assassina”, no entanto, não se sabe se ela já causou qualquer dano permanente ao monitor.
Commodo Unidade de disco 1541
O Commodore 64 tinha uma unidade disquete externa 5-1/4 " opcional. O Commodore 1541 continha um microprocessador 6502 que foi usado para executar o Commodore DOS e também para gerenciar o mecanismo de acionamento. As unidades armazenavam dados em 35 faixas (#0–34), e o motor stepper poderia ser controlado manualmente através de comandos BASIC por PRINT#-ing "MEMORY-WRITE" para a unidade (que correspondem ao comando POKE de BASIC, mas escreva para a memória interna da unidade e I/O registra, não os do próprio computador). Se a unidade estava em qualquer extremidade de seu intervalo (faixa 0 ou faixa 39) e foi comandado para continuar se movendo, não havia software ou método de firmware para evitar danos de unidade. Continuando "knocking" da cabeça da unidade contra a parada iria lançar o mecanismo fora do alinhamento. O problema foi exacerbado por técnicas de proteção de cópia que usaram formatos de disco não padrão com contagem de faixas incomuns. O Commodore 1571 teve uma parada de cabeça óptica em vez de uma mecânica.
TRS-80 Modelo III
O TRS-80 Modelo III tinha a capacidade de alternar entre um display de 32 caracteres e um display de 64 caracteres. Isso acionou um relé no hardware de vídeo, obtido por meio da gravação em um registro de controle específico mapeado na memória. Os programas que alternam repetidamente entre os modos de 32 e 64 caracteres em alta velocidade (de propósito ou acidentalmente) podem danificar permanentemente o hardware de vídeo. Embora este não seja um único 'cutucão matador', ele demonstra um modo de falha de software que pode danificar permanentemente o hardware.
Relé de fita cassete
O TRS-80 Color Computer, IBM PC, IBM PCjr, Nascom, MSX, Amstrad CPC e BBC Micro da Acorn Computers continham um relé embutido para controlar um gravador externo. Alternar o relé de controle do motor em um loop apertado reduziria a longevidade do relé.
Amiga
O drive de disquete do computador pessoal Amiga pode ser feito para produzir ruídos de vários tons, fazendo com que as cabeças do drive se movam para frente e para trás. Existia um programa que podia tocar El Cóndor Pasa, mais ou menos corretamente, no drive de disquete do Amiga. Como alguns sons dependiam do conjunto da cabeça batendo no batente, isso gradualmente fez com que a cabeça desalinhasse.
Unidades de CD-ROM LG
Alguns modelos de unidades de CD-ROM da LG com firmware específico usavam um comando anormal para "atualizar firmware": o comando "limpar buffer" comando geralmente usado em unidades de CD-RW. O Linux usa esse comando para diferenciar as unidades de CD-ROM e CD-RW. A maioria das unidades de CD-ROM retorna um erro confiável para o comando CD-RW não suportado, mas as unidades defeituosas o interpretam como "atualizar firmware", fazendo com que parem de funcionar (ou, em linguagem casual, sejam " 34;em tijolos").
Portáteis MSi UEFI
Systemd monta variáveis usadas pela Unified Extensible Firmware Interface em sysfs do sistema Linux como graváveis pelo usuário root de um sistema. Como resultado, é possível para o usuário root de um sistema bloquear completamente um sistema com uma implementação UEFI não conforme (especificamente alguns laptops MSi) usando o comando rm
para excluir o /sys/firmware/efi/efivars/
ou exclua recursivamente o diretório raiz.
Gameboy
A tela LCD do Game Boy pode ser desligada pelo software do jogo. Fazer isso fora do intervalo de supressão vertical pode supostamente danificar o hardware.
Dragão 32
A velocidade do clock da CPU do Dragon 32 foi definida por um divisor de clock programável que pode ser programado pelo usuário para aumentar a velocidade da CPU em 50% ou 100% e, teoricamente, 150% (embora a seleção dessa velocidade causasse o travamento do sistema.) A CPU instalada, a 6809E, foi originalmente classificada em 1Mhz com o Dragon 32 rodando em 0,89 MHz. Um aumento de velocidade para 1,33Mhz parecia praticamente estável, enquanto um aumento para 1,78 MHz faria com que a sincronização de vídeo fosse perdido. Foi divulgado na época que o aumento do calor produzido pelo aumento da velocidade acabaria por danificar a CPU. POKE 65495, 0
permitido para velocidade dupla com gráficos ainda exibido corretamente. POKE 65497, 0
sincronização de vídeo perdida.
Contenido relacionado
Computador Atanasoff-Berry
Detecção e correção de erros
Código Baudot
Arquivo de computador
Sistema operacional de disco