Nenhum desses termos é apropriado para um bug em um jogo de arcade que foi programado em linguagem assembly e é executado sem o benefício de hardware ou sistema operacional de proteção de memória.
"Comportamento indefinido" é um termo de arte em C e idiomas relacionados, cunhado pelo comitê de padrões C em 1989. O código tem comportamento indefinido quando a especificação de linguagem não define o que vai fazer. Não existe tal coisa na linguagem assembly Z80: o efeito de cada opcode com todas as entradas possíveis é bem definido. O significado convencional em inglês de "comportamento indefinido" pode ser lido para ser aplicado - a tela de morte é um comportamento não definido pelas pessoas que escreveram o jogo - mas eu não o usaria neste contexto porque é muito provável que ele dê o erro impressão.
"Falha de segmentação" é um termo de arte em POSIX, derivado em última análise do jargão de programação do sistema PDP. Falhas de segmentação acontecem quando um programa tenta acessar um endereço de memória que não está "mapeado" para nada: o hardware e o sistema operacional detectam isso e desligam o programa com defeito, de uma maneira cuidadosamente definida que permite ao programa recuperar . Algo como isso poderia ter acontecido como resultado de um bug no programa de jogo Pac-Man, porque a placa de circuito Pac-Man preenche apenas um pouco menos da metade do espaço de endereço de 64kB do Z80 com ROM, RAM e periféricos, mas não consegui descobrir o que o hardware real faria se o software tentasse acessar a memória não mapeada. Seja o que for que isso faria, seria inapropriado descrever como uma "falha de segmentação", porque o "sistema operacional" para o Pac-Man (na medida em que ele tem um) é não uma implementação do Unix e, novamente, daria a impressão errada.
O bug do nível 256, entretanto, não não acessa a memória não mapeada, então é discutível.
É correto dizer que o jogo tem um bug que se manifesta ao avançar para o nível 256. Também é correto dizer que a causa raiz do bug é um estouro de número inteiro , e que suas conseqüências são corrupção de memória (ou, equivalentemente, violações de memória e segurança de tipo ). Estes são todos os termos CS de propósito geral definidos sem referência a qualquer idioma ou sistema operacional em particular.
Também é preciso observar que os efeitos do bug são similares aos efeitos, dentro de um ambiente moderno, de bugs de corrupção de memória que não provocam segmentação falhas, panes. Se você ler qualquer um dos Project Zero , você verá uma notável semelhança com A análise da tela de morte do Pac-Man de Don Hodges.
Observe que um emulador que não reproduz fielmente a tela de eliminação quando alimentado com as ROMs do Pac-Man não está emulando o hardware do jogo corretamente.