Programmation online des machines rétro

La programmation sur des machines anciennes est très en vogue ces derniers temps, c’est une manière très particulière et plaisante de programmer, dans le sens où la programmation est de très bas niveau, pas de langage évolué, le plus souvent c’est de l’assembleur, le langage C au plus, ça implique aussi une maîtrise totale de l’architecture, car il n’y a pas de système d’exploitation ni de pilote pour les périphériques, ni aucune couche intermédiaire pour faciliter la programmation. Dans un sens c’est très pédagogique dans l’apprentissage des architectures des ordinateurs.

Machines programmables sur 8bitworkshop.com

Le site web 8 bit workshop est un site qui offre plusieurs machines rétro à programmer, dont les consoles Nintendo NES, l’Atari 2600, le PC Apple II+, des machines de jeux arcades…etc, comme c’est présenté sur l’image en haut. L’interface du site web est représentée sur l’image en bas. L’avantage d’utiliser la programmation online est d’éviter de faire l’installation de tous les outils nécessaire pour faire ce type de programmation, comme un éditeur de texte, un assembleur/compilateur, un émulateur, un éditeur de graphique, un débogueur…etc, ça permet aussi de faire la sauvegarde online, et de profiter directement de plusieurs exemples à tester sur le site. Si vous envisagez autrement de faire la même chose sur PC, pour programmer la NES par exemple vous aurez besoin d’installer Notepad++ (ou autres) comme éditeur de texte pour écrire le code source, de cc65 pour compiler/assembler le code, c’est une chaîne à outils pour le processeur 6502 (le processeur de la NES) qui contient entre autres un assembleur, un compilateur C, un éditeur de liens, un débogueur…etc. Mesen un émulateur pour faire tourner votre jeu sur PC comme s’il était sur une machine NES réel, il fait aussi office d’un excellent débogueur. De Asprite et Tiled pour réaliser des graphismes compatibles avec la NES…etc.

Interface de l’IDE NES du site web 8 bit workshop

,Dans tous les cas, la programmation sur les machines rétro donne au programmeur un contrôle total de la machine et ainsi une compréhension accrue du hardware, avec en plus un degré plus élevé de complexité. Tandis que les machines modernes sont plus faciles à programmer mais le prix de cette facilité c’est au détriment de plusieurs couches logicielles, comme les pilotes, les API, le système d’exploitation, qui masquent au programmeur le fonctionnement réel de la couche matériel.