CHIP-8
From Wikipedia, the free encyclopedia

CHIP-8 est un langage de programmation hexadécimal interprété utilisant une machine virtuelle, développé par Joseph Weisbecker en 1978. Il était spécifiquement conçu pour faciliter la conception de jeux vidéo sur les micro-ordinateurs 8-bits bas de gamme de cette époque, comme le COSMAC VIP, le Telmac 1800 ou le DREAM 6800.
Le CHIP-8 a connu un regain d'intérêt en 1990, lorsqu'un interpréteur avait été développé pour la calculatrice graphique HP-48, inspirant des évolutions du langage (Super Chip-48).
Des interpréteurs du CHIP-8 et ses évolutions ont été développées pour un grand nombre de plateformes. Ceci est en partie dû au fait que le court jeu d'instruction, la simplicité des caractéristiques, ainsi qu'une bonne documentation technique et une grande communauté ont fait de la machine virtuelle du CHIP-8 un cas d'école pour les programmeurs désirant débuter dans le développement des émulateurs.
En , Joseph Weisbecker introduit dans un article de Byte Magazine le CHIP-8 pour démontrer la puissance des langages de programmation hexadécimaux interprétés.
Le CHIP-8 se veut alors comme étant un langage de plus haut niveau que l'assembleur tout en restant un pseudo-langage machine, mais utilisable sur les machines bas de gamme de l'époque, n'ayant que 1 ou 2 kB de mémoire adressable, des terminaux monochromes basse résolution de quelques dizaines de pixels, et des claviers 16 touches.
Non seulement l'interpréteur CHIP-8 pouvait s'exécuter sur du matériel bas de gamme, ses programmes occupant 5 à 10 fois moins de place que des programmes équivalents en BASIC, à une époque où la mémoire RAM coutait extrêmement cher.
A titre comparatif, l'interpréteur BASIC le plus léger nécessitait au moins 8 kB de mémoire, un clavier complet et un terminal capable d'afficher des caractères alphanumériques, autrement dit un matériel dont le prix était encore hors de portée des particuliers.
Le langage CHIP-8 offre des boucles de contrôle, arithmétique, affichage de graphiques monochromes, émission de bips sonores, et support des claviers 16-touches hexadécimaux. De nombreux jeux phares de l'époque (Pong, Space Invaders, Pac-Man, etc.) sont vite adaptés en CHIP-8.
En 1990, Andreas Gustafsson développe un interpréteur en CHIP-8 pour la calculatrice graphique HP-48 qui manque alors de moyens de créer facilement des jeux. Ceci lance un regain d'intérêt pour le langage, et entraine des évolutions baptisées Chip-48, puis Super Chip-48 visant à tirer parti des possibilités de la calculatrice HP-48, notamment une plus grande résolution des graphismes. Par la suite, la machine virtuelle de CHIP-8 a souvent été utilisée comme cas pratique pour les gens souhaitant s'initier à la programmation d'émulateurs, et des implémentations de l'interpréteur de CHIP-8 et ses évolutions ont été développés sur une grande variété de plateformes.