Jonas Eschenburg se tape un petit délire cet été, en portant Command & Conquer sur Atari ST, et il vient de s'occuper des cinématiques du jeu, le tout sur une machine équipée d'un Motorola 68000 cadencé à 8 MHz. Le même garçon avait déjà fait tourner Doom dessus.
Le décalage vaut le détour. Command & Conquer sort en 1995 sur PC, en VGA 256 couleurs, soit dix ans après l'Atari ST, qui affiche lui 16 couleurs en 320 par 200 points.
Envoyer les pixels bruts à l'écran est hors de question su
Jonas Eschenburg se tape un petit délire cet été, en portant Command & Conquer sur Atari ST, et il vient de s'occuper des cinématiques du jeu, le tout sur une machine équipée d'un Motorola 68000 cadencé à 8 MHz. Le même garçon avait déjà fait tourner Doom dessus.
Le décalage vaut le détour. Command & Conquer sort en 1995 sur PC, en VGA 256 couleurs, soit dix ans après l'Atari ST, qui affiche lui 16 couleurs en 320 par 200 points.
Envoyer les pixels bruts à l'écran est hors de question sur ce genre de matériel. La machine n'a ni le débit de lecture ni la puissance de calcul pour ça.
Eschenburg a donc écrit son propre codec, baptisé STV, adapté du format VQA que Westwood utilisait à l'époque pour ses vidéos. Le principe repose sur un codebook, autrement dit un dictionnaire de petits carrés de pixels : au lieu de transmettre chaque image entière, le fichier envoie surtout des numéros qui pointent vers des motifs déjà connus du lecteur.
L'astuce est en réalité ailleurs. Les blocs sont découpés pour tomber pile sur l'organisation mémoire de l'Atari, qui range ses couleurs en plans séparés plutôt qu'en pixels contigus, ce qui permet au processeur de recopier les motifs sans passer son temps à réorganiser les bits.
La palette et le dictionnaire se mettent à jour en continu pendant la lecture, et pas une fois pour toutes au début du fichier. Ça évite le gros pâté de blocs baveux qu'on attendrait d'une compression aussi agressive.
Le tout fonctionne sur un 8 MHz d'origine. Sans accélérateur. A priori, aucun jeu Atari ST n'avait affiché de vidéo plein écran avant celui-là.
Le jeu, lui, reste beaucoup plus poussif pour le moment : quelques images par seconde en 16 couleurs, correct seulement à partir d'un Falcon, et il réclame 4 Mo de mémoire. Autour du codec, Eschenburg a publié une dizaine d'utilitaires, dont un encodeur pour fabriquer les fichiers STV et un lecteur natif pour les regarder sur la machine.
Tout est sous licence GPL sur GitHub, le portage se récupère sur itch.io, et il faut fournir ses propres fichiers du jeu d'origine puisque le projet n'a rien à voir avec EA.
Détail amusant, le son ne sort que sur STe et Falcon. Sur un ST de base, les cinématiques défilent en silence complet. La question étant maintenant de savoir si tout ça ne m'a pas donné envie de rejouer à Command and Conquer, pour ressortir mon premier pseudo de game : Moissonneuse killer (vraiment).
Une Atari Jaguar, la console de 1993 qu'Atari vendait comme la première machine 64 bits et que le marché a snobée, vient de booter sous Linux pour la première fois ! Derrière ce hack, un développeur connu sous le pseudo de
Cakehonolulu
, qui a collé un vrai noyau sur le Motorola 68000 de la bécane.
Le 68000 n'a pas de
MMU
, ce circuit qui gère la mémoire virtuelle et dont dépend le Linux que vous faites tourner sur votre PC. Sauf que le noyau embarque depuis toujours une branche pour les puces q
Une Atari Jaguar, la console de 1993 qu'Atari vendait comme la première machine 64 bits et que le marché a snobée, vient de booter sous Linux pour la première fois ! Derrière ce hack, un développeur connu sous le pseudo de
Cakehonolulu
, qui a collé un vrai noyau sur le Motorola 68000 de la bécane.
Le 68000 n'a pas de
MMU
, ce circuit qui gère la mémoire virtuelle et dont dépend le Linux que vous faites tourner sur votre PC. Sauf que le noyau embarque depuis toujours une branche pour les puces qui en sont privées, l'antique
μClinux
, et c'est elle qui fait tout le taf ici.
La Jaguar offre seulement 2 Mo de RAM et jusqu'à 6 Mo de ROM sur la cartouche, du coup Cakehonolulu a coupé le noyau en deux : le code qui ne bouge pas, le .text et le .rodata, reste dans la ROM et s'exécute directement depuis là en XIP, pendant que les données qui changent atterrissent dans les 2 Mo de RAM. Bref, chaque octet compte.
Après, ce n'était pas simple non plus parce que le 68000 ne sait pas lire une donnée qui serait mal alignée en mémoire. Alors que les processeurs modernes savent le faire sans broncher. Et comme le cross-compilateur d'Ubuntu générait quand même ce type de données mal alignées, alors qu'on lui précise bien que la cible c'était un 68000, ça faisait des plantages en cascade.
L'astuce a donc été de recompiler tout le toolchain à la main, puis de bâtir un user space minimal avec BusyBox et uClibc, tout ça en binaire FLAT au lieu du classique format ELF.
Et voilà, la Jaguar affiche maintenant fièrement ses 1,04 BogoMIPS. Soit une puissance de feu qui ferait chialer une calculatrice. Mais bon, elle boote et c'est le principal. Si vous avez encore une Jaguar dans un placard, vous pouvez parfaitement installer ça dessus, puisque
le code est disponible sur GitHub
.
Voilà, c'est assez génial parce qu'en fait, ça montre bien que Linux est vachement résilient. On est en 2026 et pourtant, le support des 68000 est encore présent dans le noyau, et bien vivant même !
Voilà, tant que ce bon vieux noyau gardera tous ses vieux pilotes, eh bien n'importe quelle console oubliée pourra toujours renaître avec un petit terminal dessus. Et ça, je trouve que ça clôt tous les débats sur la conservation et le poids du code legacy dans le kernel.
Vous connaissez l'histoire de la NES ? Celle du petit robot R.O.B. qui a aidé à ressusciter l'industrie du jeu vidéo américaine en 1985 ? Hé bien la
Video Game History Foundation
vient de sortir un documentaire d'une heure qui raconte tout ce qu'on ne vous a jamais dit sur le lancement de cette console mythique. Et dedans, y'a des révélations qui font mal ^^.
Frank Cifaldi, le fondateur de la VGHF, a passé des années à fouiller cette histoire. Il a rencontré des gens qui étaient chez Nintendo à
Vous connaissez l'histoire de la NES ? Celle du petit robot R.O.B. qui a aidé à ressusciter l'industrie du jeu vidéo américaine en 1985 ? Hé bien la
Video Game History Foundation
vient de sortir un documentaire d'une heure qui raconte tout ce qu'on ne vous a jamais dit sur le lancement de cette console mythique. Et dedans, y'a des révélations qui font mal ^^.
Frank Cifaldi, le fondateur de la VGHF, a passé des années à fouiller cette histoire. Il a rencontré des gens qui étaient chez Nintendo à l'époque, il a déterré des documents que personne n'avait jamais vus, il a même manipulé des prototypes qui n'auraient jamais dû survivre. Et le résultat, c'est cette plongée incroyable dans les coulisses d'un des plus grands paris de l'histoire du gaming.
Alors remontons au printemps 1983... Nintendo négocie avec Atari, le géant de l'époque, pour leur refiler les droits de distribuer la Famicom dans le monde entier. Hé oui, en interne, Atari avait même donné un nom de code au projet : "3600". L'idée, c'était d'intégrer la technologie Nintendo dans un boîtier plastique Atari existant. Le deal était quasiment signé, et les deux boîtes s'étaient mises d'accord sur tout : Nintendo fabriquerait les composants, Atari les revendrait sous sa marque. Ils avaient même commencé à convertir des jeux arcade (Millipede, Joust et Stargate) pour le système.
Et puis tout s'est cassé la gueule au CES de 1983. Atari a vu Coleco montrer un prototype de Donkey Kong sur leur ordinateur Adam, et ils ont pété un câble. Ils pensaient que Nintendo les avait doublés en refilant les droits à un concurrent. En réalité, c'était juste un malentendu sur les licences
ColecoVision
, mais le mal était fait. Le président de Nintendo, Hiroshi Yamauchi, a tellement gueulé sur les représentants de Coleco sur le salon que tout le monde s'en souvient encore.
Ça a contribué à torpiller les négociations, et dans le contexte des turbulences internes chez Atari, le deal n'a jamais abouti. Atari, qui évaluait également le système MARIA de GCC en parallèle, s'est finalement concentré sur ce qui deviendra l'Atari 7800. Et Nintendo s'est retrouvé tout seul, obligé de se débrouiller.
Et c'est là que ça devient vraiment intéressant parce que Nintendo of America, c'était une petite boîte de rien du tout à l'époque. Quelques dizaines d'employés dont le boulot principal consistait à importer des bornes d'arcade japonaises. Ils n'avaient aucune idée de comment vendre une console de salon aux États-Unis.
Alors ils ont fait appel à Lance Barr, un designer industriel, pour repenser complètement la Famicom. Et le mec a créé un design qui ressemblait plus à une chaîne hi-fi haut de gamme qu'à une console de jeux. Le prototype s'appelait l'AVS (Advanced Video System). C'était un truc tout en finesse avec des manettes sans fil, un clavier, un magnétophone à cassettes, et une esthétique empilable façon chaîne hi-fi. Les photos de l'époque sont magnifiques, on croirait du design scandinave ^^.
Le prototype AVS de Nintendo, avec son design hi-fi et ses manettes sans fil (
Source
)
Sauf que personne n'en voulait. Nintendo a fait des tests consommateurs, et les gamins (et leurs parents) trouvaient le concept de programmation barbant. Ils aimaient bien l'idée des manettes sans fil et de l'empilement des boitiers, mais coder / modifier soi-même ses propres jeux en Basic ? Grosse flemme...
En plus, le marché américain était en plein crash. Les magasins croulaient sous les invendus de jeux Atari bradés, et personne ne voulait entendre parler d'une nouvelle console. Tous les détaillants que Nintendo rencontrait leur disaient la même chose : le jeu vidéo, c'est mort, c'était une mode passagère, passez votre chemin (tiens ça me rappelle quelque chose plus actuel... lol).
Alors Nintendo a tout viré. Plus de manettes sans fil, plus de clavier, plus de magnétophone. Ils ont gardé uniquement le robot R.O.B. comme cheval de Troie. L'idée, c'était de faire croire aux magasins de jouets qu'ils vendaient un robot high-tech, et pas une console de jeux.
Et ça a marché, les amis !!
Une armée de R.O.B., le robot qui a permis à Nintendo d'infiltrer les magasins de jouets (
Source
)
Puis en octobre 1985, Nintendo a lancé la NES dans la région de New York avec une garantie de rachat pour les détaillants : si ça ne se vendait pas, ils reprenaient tout. L'équipe a bossé comme des dingues depuis un entrepôt minable du New Jersey, infesté de rats et de serpents. Il y a même eu un ouragan pendant le lancement. Du grand n'importe quoi.
Le présentoir NES chez FAO Schwarz en 1986 (
Source
)
Mais le plus fou dans cette histoire, c'est le fameux chip CIC, le "lockout chip" qui empêchait de jouer à des jeux non autorisés par Nintendo. Et devinez d'où venait cette idée ? D'Atari eux-mêmes ! Lors des négociations de 1983, quelqu'un chez Atari avait demandé à Nintendo s'ils pouvaient créer un système technique pour bloquer les cartouches non officielles. Atari se plaignait des jeux pourris que n'importe qui pouvait sortir sur leurs consoles, et ils voulaient reprendre le contrôle.
Nintendo n'avait pas de solution à l'époque, mais ils ont retenu l'idée. Et selon les dépositions du procès Atari vs. Nintendo, le président Yamauchi aurait lui-même reconnu qu'après avoir entendu ce qu'Atari avait dit, Nintendo avait conclu qu'un système de sécurité devait être développé pour vendre des consoles aux États-Unis.
En gros, Atari aurait suggéré le concept qui allait se retourner contre eux. C'est le chip qui les empêchera plus tard de publier librement des jeux sur NES, conçu par Nintendo suite à leur demande initiale. Ironique non ? Et ce système de contrôle est ensuite devenu le modèle pour toutes les consoles qui ont suivi. Aujourd'hui, on trouve normal qu'on ne puisse pas sortir un jeu PlayStation sans l'accord de Sony, mais avant la NES, n'importe qui pouvait fabriquer des cartouches pour n'importe quelle console.
La VGHF a aussi récupéré les jeux qu'Atari avait commandés à Nintendo en 1983. Trois d'entre eux (Millipede, Joust et Stargate) sont d'ailleurs finalement sortis en 1987 via le HAL Laboratory avec un copyright "Atari 1983" sur l'écran titre. Tant mieux, ça aurait été dommage de ne pas pouvoir y jouer...
Bref, si vous avez une heure devant vous pendant les fêtes, foncez regarder ce documentaire. C'est de la recherche historique de première main, pas du réchauffé de Wikipedia. Et si vous voulez aller plus loin, la VGHF a aussi mis en ligne
un panel avec trois anciens de Nintendo
qui ont vécu le lancement de 1985. Des témoignages de première main qu'on ne retrouvera probablement jamais ailleurs...