Vue normale

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.
À partir d’avant-hierFlux principal

Street Fighter II - Une faute d'orthographe corrigée grâce au mollet de Guile

Par : Korben
12 février 2026 à 11:53

Street Fighter II, c'est dans l'esprit de la plupart d'entre nous, 1991, les salles d'arcade qui puent la clope et les pièces de 10 francs qui s'enchaînent... et surtout un écran-titre qui affiche "WORLD WARRIER" au lieu de "WORLD WARRIOR". Ouais, y'avait une coquille dans le titre d'un des jeux de baston les plus légendaires de l'univers et personne ne l'a jamais su !

Magnifique hein ?

Le problème, c'est que sur les bornes d'arcade Capcom CPS1, les graphismes sont gravés dans des puces ROM. Du vrai read-only qu'on grave une bonne fois pour toutes et qu'on ne touche PLUS après. Et en 1991, les puces ROM coûtaient un bras et les délais de production étaient assez dingues... Donc impossible pour Capcom de faire regraver quoi que ce soit même pour une malheureuse lettre.

Nous sommes donc toujours en 1991, à 3 jours de la deadline pour livrer le code ROM (la seule puce encore modifiable à ce stade) et quelqu'un se rend compte du bug.

Horreur malheur ! C'est la panique et tout le monde se met à réfléchir à une solution... Quand soudain, un hack digne des plus belles bidouilles émerge de ces cerveaux endoloris par tant de travail.

Il faut savoir que sur le CPS1, chaque graphisme est découpé en "tiles" c'est à dire des petits carrés de 8×8 pixels. Et le truc important, c'est que chaque tile ne contient pas une lettre entière mais un BOUT de lettre. Le logo "WORLD WARRIOR", c'est en fait une mosaïque de 16 tiles collées les unes aux autres, et chaque carreau contient des fragments des lettres voisines. Impossible donc de toucher à ces carreaux une fois gravés dans la ROM graphique... Mais la table qui dit "colle CE carreau ICI avec CETTE palette de couleurs"... ça, c'était encore modifiable dans la ROM code.

Le hic c'est qu'il fallait composer avec les tiles existantes car pas moyen d'en créer de nouvelles !

Du coup, l'équipe s'est mise à passer au crible les centaines de tiles déjà gravées dans la ROM, une par une, pour trouver des morceaux compatibles avec les bonnes lettres. Et bonne nouvelle... pour certaines tiles, ils ont trouvé des équivalents dans le mot "WORLD" sur l'écran-titre. Et en réarrangeant le puzzle, ils ont réussi à afficher presque tout "WARRIOR" correctement. Presque. Parce que le "i", lui, ressemblait maintenant à un "L" minuscule... il manquait le point mes amis !!

Et c'est là que ça devient du grand art car pour dessiner ce petit point, il leur fallait un carreau avec quasi rien dessus. Ils ont fini par repérer la tile 0x96 dans la ROM... un carré de 8×8 avec UN SEUL pixel allumé dans le coin bas gauche. Ce pixel appartient en fait au mollet de Guile. Ni plus ni moins.

En changeant sa palette (exit la teinte vert kaki, bonjour la couleur du logo), ils l'ont ensuite collé 3 fois au bon endroit pour dessiner le point du "I". Et personne n'a finalement rien capté pendant des DÉCENNIES.

Hé voilà comment, si vous avez joué à Street Fighter II en arcade dans les années 90, vous aviez littéralement un bout de la jambe de Guile planqué dans l'écran-titre sans le savoir. Magnifique non ?

C'est Fabien Sanglard qui a déterré toute cette histoire il y a quelques années, en analysant le code source du CPS1, aidé d'une interview d'Akira Nishitani (un des créateurs du jeu) datant de 1991.

C'est le genre de bidouille qu'on ne fait plus aujourd'hui avec les mises à jour en ligne mais à l'époque, quand la ROM était gravée, c'était FINITO donc fallait se débrouiller avec ce qu'on avait sous la main quand y'avait un souci.

TempleOS dans votre navigateur - L'OS de Dieu tourne maintenant en WebAssembly

Par : Korben
10 février 2026 à 10:36

Vous vous souvenez de TempleOS , ce système d'exploitation complètement barré créé par Terry Davis ? Mais siiiii, cet OS que Dieu lui aurait commandé de développer, avec sa résolution unique de 640x480 en 16 couleurs et son langage de programmation maison, le HolyC. Hé bien maintenant, vous pouvez l'essayer directement dans votre navigateur sans rien installer.

L'interface mythique de TempleOS, avec ses 16 couleurs et son style unique ( Source )

Un développeur a en effet mis au point TempleOS WASM , une version de l'OS qui tourne entièrement en WebAssembly. Vous allez sur le site, vous attendez quelques secondes que la machine virtuelle 64-bit s'initialise, et hop, vous voilà plongé dans l'univers mystique de Terry Davis. Pas besoin de télécharger une ISO ou de configurer une VM, tout se passe dans un onglet.

Pour ceux qui débarquent, TempleOS c'est 10 ans de développement par un homme diagnostiqué schizophrène qui affirmait recevoir des instructions divines pour créer le "temple officiel de Dieu" sous forme numérique. Le résultat est un OS minimaliste de 80 000 lignes de code, sans réseau (pour éviter les malwares impurs), conçu pour être aussi simple qu'un Commodore 64 mais avec une architecture 64-bit. D'ailleurs, pour ceux qui se demandent, TempleOS n'a jamais eu de navigateur web intégré, car Dieu n'aime pas le tracking (ou plus probablement parce que la pile TCP/IP n'était pas au programme divin).

Aiwnios permet de faire tourner le HolyC même en mode texte ( Source )

Le truc cool avec cette version navigateur, c'est qu'elle repose sur Aiwnios, un émulateur et runtime HolyC qui a été porté en WebAssembly. Du coup, vous pouvez explorer l'interface, tester le langage HolyC, ou jouer avec les démos audio/vidéo calculées en temps réel. Et si vous n'êtes pas très croyant, sachez qu'il existe aussi Shrine OS , un clone pour les hérétiques qui apporte même le support de TCP/IP pour les plus aventureux d'entre vous.

Terry Davis nous a quittés en 2018, mais son œuvre continue de fasciner les geeks du monde entier. Entre le génie technique indéniable et la dimension mystique délirante, TempleOS reste un des projets les plus singuliers de l'histoire du code. Et grâce au WebAssembly, on peut désormais y jeter un oeil en deux clics depuis n'importe quel navigateur moderne (puisque maintenant, tout le monde supporte le Wasm).

Bref, si vous êtes curieux de voir à quoi ressemble un OS conçu selon les spécifications divines, c'est le moment d'aller faire un tour. Au pire vous aurez découvert un projet hors normes, au mieux vous aurez appris trois mots de HolyC...

Source

Half-Life 2 - L'histoire du bug d'orteil qui a voyagé dans le temps

Par : Korben
17 janvier 2026 à 08:47

Si vous êtes du genre à avoir passé des heures sur Half-Life 2 à vous en retourner les paupières (et je sais que vous êtes nombreux), oubliez tout ce que vous pensiez savoir sur la stabilité légendaire du Source Engine. Car figurez-vous qu'un bug totalement improbable vient de refaire surface grâce à Tom Forsyth, un ancien de chez Valve, et c'est clairement un truc de fou, vous allez voir...

Tout commence en 2013. À l'époque, Valve bosse sur le portage de HL2 pour le tout premier Oculus Rift (le fameux DK1 qui nous donnait tous envie de vomir au bout de 5 minutes). Pour tester la VR, ils se disent que le mieux, c'est de reprendre un bon vieux classique. Tout se passe bien jusqu'à ce que Tom Forsyth reste bloqué dès l'intro du jeu, juste après la séquence de la canette. Un garde Barney censé vous ouvrir une porte reste planté là, et la porte refuse de bouger. Coincé. Rideau. On ferme.

Le truc qu'il constate alors, c'est qu'en recompilant le code source original de 2004, le bug est là aussi ! Pourtant, personne ne l'avait jamais croisé en neuf ans. Du coup, l'équipe a cru à une sorte de malédiction ou à un bug qui aurait voyagé dans le temps pour infecter l'original. (si si...)

Mais après une journée de spéléologie dans les outils de debug, ils ont fini par trouver le coupable : l'orteil d'un garde PNJ ! Le pauvre couillon était placé un millimètre trop près de la porte et en s'ouvrant, la porte tapait dans son pied, rebondissait et se verrouillait. Imaginez un peu la vie du gars, à se faire matraquer l'orteil depuis +20 ans sans pouvoir crier ou se décaler d'un millimètre... Dur !

Mais alors pourquoi ça marchait en 2004 et plus en 2013 ?

Hé bien la réponse tient en deux mots qui vont rappeler des souvenirs aux plus geeks d'entre vous : ✨ virgule flottante ✨.

Car en 2004, le jeu tournait avec les instructions x87 (80 bits de précision, un beau bordel hérité de l'époque)et en 2013, avec le passage au SSE (32 ou 64 bits), les calculs physiques sont devenus plus "stricts". Dans les deux versions, la porte tape l'orteil mais avec le x87, la micro-rotation infligée au garde suffisait à dégager son pied juste assez pour que la porte passe au millième de seconde suivant. Avec le SSE par contre, le garde pivotait un chouïa moins loin... et paf, collision, porte bloquée !

C'est encore une preuve que même dans un chef-d'œuvre comme Half-Life 2, tout ne tient qu'à un orteil et quelques bits. D'ailleurs, si vous voulez vous replonger dans l'ambiance, sachez que Half-Life a fêté ses 25 ans récemment avec une belle mise à jour, et pour les nostalgiques de la VR qui veulent souffrir avec style, le driver VorpX permet toujours de faire des miracles. Ce serait dommage de passer à côté !

Allez, je vous laisse, je vais vérifier si mon gros orteil ne bloque pas ma porte d'entrée.

Source

❌
❌