Les appareil les plus insolites qui peuvent faire tourner Doom

Peut Il Faire Tourner Doom Voici Pourquoi La Reponse Est.png

Ce récit captivant explore l’évolution d’un mème emblématique et la passion qui entoure le portage de “Doom” sur n’importe quel appareil imaginable. De l’arrivée de son code source en 1997 à des ports récents sur des dispositifs insolites, cette aventure met en lumière l’ingéniosité des développeurs et leur quête de défis.

Avec son héritage de plusieurs décennies, le mème “Can it run Doom” est l’une des blagues les plus anciennes et les plus appréciées de l’internet. Mais il a évolué bien au-delà de cela. C’est un rite de passage pour les développeurs en herbe.

Parcourez ce qui est devenu mon subreddit préféré récemment, r/itrunsdoom, et vous verrez cette flamme être courageusement portée jusqu’à aujourd’hui. Depuis que la page Tumblr It Runs Doom ! a cessé de publier des mises à jour il y a environ un an, la communauté Reddit a dépassé les 100 000 membres qui publient et réagissent à Doom porté sur pratiquement n’importe quoi. Des calculatrices, des terminaux de cartes de crédit — bien sûr. Mais aussi l’Alarmo de Nintendo, un robot RS Media de 2006, et un DJ Pioneer en multijoueur. Et ça, c’est juste au cours des derniers mois.

Plus je m’enfonçais dans l’exploration de ces ports étranges de Doom, plus je me demandais d’où venait l’idée — et plus important encore, pourquoi est-ce même possible. Qui a eu cette idée absurde au départ ? Pour découvrir l’histoire, j’aurais besoin de plonger dans les annales infernales de l’histoire d’internet des années 1990 et de parler à certains des hackers aux yeux fous qui maintiennent la tradition vivante aujourd’hui.

Pourquoi Doom ?

Youtube video

Doom sur le Touch Bar du MacBook Pro

Notre histoire ne commence pas en 1993 lorsque Doom a été lancé. Elle commence quatre ans plus tard, en 1997. Le 23 décembre de cette année-là, deux jours avant Noël, id Software a publié le code source de Doom. Le maître d’œuvre John Carmack, qui avait lui-même écrit le code original, a écrit une lettre à la communauté qui vit encore sur la page GitHub de Doom. Oui, même aujourd’hui, même après qu’une grande entreprise comme Zenimax a absorbé id Software (Zenimax a ensuite été racheté par Microsoft), le code source de Doom existe encore.

“Je n’ai pas de bonne estimation du nombre de personnes qui vont s’amuser avec ça, mais si des projets significatifs sont entrepris, ce serait génial de voir un niveau de coopération de la communauté,” écrivait Carmack dans la lettre. “Je sais que la plupart des premiers projets seront des bricolages maladroits faits en isolation, mais je serais très heureux de voir une ‘publication nette’ coordonnée d’une version améliorée et rétrocompatible de Doom sur plusieurs plateformes l’année prochaine.” Carmack a même fourni aux lecteurs quelques idées de projets potentiels.

La communauté a commencé à porter Doom immédiatement. Je veux dire que c’est littéralement le cas. Le premier port source de Doom, DOSDoom, a été publié le même jour que la publication du code source. Vous pouvez toujours le télécharger aujourd’hui. Le code source original qu’id Software a publié n’était disponible que pour la version Linux de Doom. Le code DOS n’était pas disponible en raison d’une bibliothèque sonore protégée par des droits d’auteur — “Wow, quelle erreur,” a écrit Carmack dans sa lettre. “J’écris mon propre code sonore maintenant.”

À partir de là, il y a une généalogie extrêmement dense et compliquée des ports source de Doom qui s’est poursuivie pendant des décennies. Rien qu l’année dernière, une version d’un autre port source appelé PrBoomX a vu le jour. Franchement, cette généalogie est hors du cadre de cet article. La couvrir seule nécessiterait un article d’un ordre de grandeur beaucoup plus grand que celui-ci. Je voulais savoir ce qui est étrange.

Heureusement, il n’a pas fallu longtemps pour que les choses deviennent étranges. La première version insolite de Doom que j’ai pu trouver était pour la calculatrice graphique TI-82 de Texas Instruments, qui a été téléchargée sur ticalc.org le 12 avril 1998. Écrite en Basic, donc moins un port qu’un clone maladroit. Mais même il y a 26 ans, il y avait de l’intérêt pour faire fonctionner Doom sur des plateformes pour lesquelles il n’était pas prévu.

Youtube video

DOOM sur un appareil photo numérique de 1998 !

Au cours de la décennie suivante, il n’y a pas grand-chose sur internet montrant Doom fonctionnant sur ces plateformes étranges — je veux dire, YouTube n’a même pas été lancé avant 2005. Il y a probablement eu de nombreux “bricolages faits en isolation”, comme Carmack l’avait prédit. En 1998, plusieurs caméras fonctionnant avec le système d’exploitation DigitaOS ont été commercialisées, et comme la chaîne YouTube LGR l’a montré il y a quelques années, vous pouvez faire fonctionner Doom sur ces caméras. Gardez DigitaOS à l’esprit. Nous y reviendrons dans la prochaine section.

Est-ce que quelqu’un a réellement réussi à faire fonctionner Doom sur l’une de ces caméras en 1998 ? Pas d’après ce que j’ai pu trouver, mais je suppose que c’est une réponse perdue dans le temps — ou du moins, sur internet. Mais dès les premiers jours de la publication du code source et de son portage sur différentes plateformes, il est clair qu’il y avait au moins quelques expérimentations en cours. Une des premières références que j’ai pu trouver à un port correct de Doom était un post sur le forum Doomworld de 2007, où l’auteur renvoie à une vidéo (aujourd’hui supprimée) sur YouTube montrant le jeu fonctionner sur une calculatrice TI-83.

En octobre 2013, la page Tumblr It Runs Doom ! a été mise en ligne, et après avoir montré quelques ports basiques du jeu, l’auteur a partagé une vidéo de Doom joué sur un piano.

Après avoir fouillé sur Tumblr, Reddit, YouTube et tout simplement Google, cependant, il y a une vidéo qui continuait à apparaître. C’est la vidéo de LGR montrant Doom sur la TI-83. Publiée en 2017, la vidéo a cumulé plus de 7 millions de vues, et est de loin la plus populaire des sources montrant Doom sur un appareil non conventionnel que j’ai pu trouver dans mes recherches. L’idée que Doom puisse fonctionner sur n’importe quoi remonte à l’époque de la sortie du jeu, et a été une idée que les passionnés ont explorée pendant des années par la suite. Toutefois, l’obsession moderne de faire fonctionner Doom sur un éventail d’appareils étranges semble, au moins en partie, découler de la vidéo de LGR sur le sujet.

Doom est iconique, et cela sans doute explique l’obsession pour son portage. Mais il y a aussi un mélange de divers facteurs au sein du jeu qui en réalité un candidat idéal pour ces projets de hacking par des passionnés.

Le tueur de démons ultra-portable

Youtube video

DOOM fonctionnant sur un ORDINATEUR REDSTONE – E1M1 dans Minecraft !

Avant de plonger dans certains des détails techniques qui ont rendu Doom si portable, rien de tout cela n’aurait pu se produire si Doom n’était pas un point de repère culturel certifié. Dire que Doom était incroyablement populaire est un euphémisme. Le fondateur de Valve, Gabe Newell — qui travaillait chez Microsoft lors de la sortie de Doom — a estimé que Doom était installé sur plus d’ordinateurs que Windows en 1993. Même si c’est peut-être exagéré, il est indéniable que Doom a été une sensation.

Quelques mois après la sortie de Doom, en 1994, Universal Pictures a acheté les droits pour réaliser un film. Newell a proposé de porter Doom sur Windows gratuitement. Intel a interdit l’installation de Doom sur les ordinateurs de travail. Dans un communiqué de presse annonçant le jeu, id Software a écrit : “nous nous attendons pleinement à [Doom] à être la principale cause de la baisse de productivité dans les entreprises à travers le monde.”

John Carmack travaillant sur Quake dans les bureaux d'id Software.

“Beaucoup ont commencé à s’émerveiller de la manière dont id pourrait rendre des entreprises comme Microsoft ou IBM obsolètes. Id avait pris le phénomène du shareware et l’avait transformé en une recette pour l’addiction,” lit-on dans le livre Masters of Doom de David Kushner. “Doom était si captivant que les personnes devaient avoir la dose complète. Certains l’ont appelé ‘heroinware’. Le magazine Forbes a publié un article élogieux intitulé Profits from the Underground sur la manière dont id, en réalité, rendait des entreprises comme Microsoft obsolètes. ‘id Software, une société privée, ne publie pas ses finances,’ se lisait-il, ‘mais d’après ce que je peux déduire sur la marge bénéficiaire de la société, elle fait paraître Microsoft comme une entreprise de second ordre.’”

La popularité a peut-être été l’étincelle qui a allumé le feu, mais pour que Doom fonctionne sur autant de plateformes différentes, il a fallu trois éléments clés. Premièrement, le code source devait être librement disponible. Vérifié. Carmack a choisi de prendre soin de cette étape lui-même. Après tout, vous pourriez exécuter le jeu Super Mario Bros sur presque tous les appareils modernes, mais bonne chance pour trouver le code source.

Mais voici les deux points qui nécessitent un peu plus d’explication. Des ports source doivent être disponibles pour pratiquement tous les appareils souhaités, et enfin, le jeu doit être écrit pour fonctionner avec des exigences logicielles et matérielles extrêmement faibles, même selon les normes de la fin des années 1990.

Il existe d’autres jeux qui possèdent certains de ces éléments. Mais Doom, associé à sa popularité dévastatrice, remplit les trois. Et comme l’explique le développeur Sick.Codes, Doom est devenu “l’un des jeux les plus portés sur Terre, où quelqu’un, à un moment donné, a compilé le jeu pour même les architectures les plus aléatoires.”

Laissez-moi vous montrer.

Voici un lien vers une version de Doom que vous pouvez jouer dans votre navigateur. Rien de spécial, n’est-ce pas ? Il existe des dizaines de moyens de jouer à Doom dans votre navigateur, mais si vous regardez la barre d’adresse, vous trouverez quelque chose d’intéressant. Cette version de Doom que vous pouvez jouer est un fichier SVG. C’est un fichier vectoriel — quelque chose que vous chargeriez dans Photoshop. Ils sont censés être des images statiques, et certainement des images que vous ne pouvez pas interagir avec. Mais voici Doom fonctionnant à l’intérieur d’un SVG que vous pouvez jouer dans votre navigateur.

Un autre fait important est que les PC n’étaient pas la meilleure plateforme pour jouer à des jeux en 1993, lorsque les accélérateurs graphiques 3D étaient chers et difficiles à obtenir, et que la plupart de ces puces étaient utilisées dans des machines d’arcade et des consoles de salon. Si id Software devait développer un jeu, et en particulier si l’entreprise devait le distribuer sous forme de shareware comme elle l’avait fait précédemment avec Commander Keen et Wolfenstein, il devait fonctionner sur presque tout.

Gzalo fait partie du groupe de bénévoles argentins Cybercirujas, qui prend des pièces de PC en donation et les remet à neuf. Le développeur a réussi à faire fonctionner Doom sur un terminal de paiement Verifone VX620 qu’il a trouvé à la poubelle.

Doom a juste besoin d’un framebuffer (zone de mémoire qui correspond à l’écran) pour afficher des images, et de quelques entrées basiques. Sur le plan logiciel, vous devez simplement pouvoir compiler du C pour l’architecture cible, ce qui est presque toujours un des premiers prérequis nécessaires pour écrire des programmes pour les processeurs 32 bits,” explique le développeur Gzalo. “Pour porter d’autres jeux plus récents, vous devez souvent avoir un système d’exploitation (typiquement quelque chose comme Linux/POSIX) et un moyen de supporter OpenGL, ce qui est réalisable, mais nécessite plus de travail.”

Youtube video

Terminal de paiement fonctionnant sur Doom

Gzalo a poursuivi en expliquant combien Doom nécessite peu de ressources, au niveau logiciel, pour fonctionner.

“Le logiciel du terminal n’est pas modifié. J’ai trouvé quelqu’un au Brésil qui avait travaillé avec ce terminal il y a une décennie et qui avait encore le certificat de développement et un moyen de signer une application, donc le programme exécute un code valide signé,” a déclaré le développeur.

Avoir des exigences minimales en matière de logiciels est important, mais du côté matériel, il en va de même. Sans surprise, Doom n’avait pas besoin de beaucoup de matériel pour fonctionner. Les exigences système originales pour le jeu stipulaient un CPU 386 fonctionnant à au moins 25MHz et 4Mo de RAM. Pour mettre cela en perspective, le 80386 était le premier processeur Intel 32 bits de la série x86 jamais publié, et il a commencé à apparaître dans des PC en 1986 — sept ans avant la sortie de Doom. Faire en sorte que Doom fonctionne sur presque tout était intentionnel.

Carmack lui-même a même dit qu’à un moment donné, il y avait même une version qui pouvait fonctionner sans moniteur et simplement sauvegarder des captures d’écran.

Presque ! Le code est extrêmement portable — j’avais une version à un moment qui pouvait même fonctionner sans afficher d’écran et simplement sauvegarder des captures d’écran.

— John Carmack (@ID_AA_Carmack) 3 mars 2022

Les exigences logicielles et matérielles de base pour Doom nous ramènent à DigitaOS. Ce système d’exploitation est écrit en C, et il a permis le développement et la publication d’applications tierces pour la plateforme. Les deux premières caméras lancées avec DigitaOS — la Kodak DC220 et DC260 — étaient toutes deux équipées de processeurs PowerPC 800. Selon moi, elles utilisaient le MPC860, qui peut fonctionner jusqu’à 80MHz. LGR mentionne que la puce à l’intérieur du DC260, au moins, atteint 66MHz.

Et tout à coup, les exigences pour faire fonctionner Doom sont remplies. Nous avons un processeur bien plus capable que le 386 à 25MHz, un peu de mémoire, et une plateforme capable de compiler du code écrit en C. Pour ne pas brouiller l’histoire, cela a été possible en 1998. Il n’y a rien venu plus tard qui aurait soudainement permis à Doom de fonctionner sur un Kodak DC260. Les bases étaient toutes là depuis le début.

Tout cela n’est pas uniquement dû au fait que Doom est un programme parfait. Il est très flexible et hautement portable sur les appareils modernes, mais une partie importante de cette histoire est liée au fait que le code source est libre pour quiconque veuille le modifier. Au cours des près de trois dernières décennies, des ports sources de Doom ont vu le jour pour presque toutes les plateformes imaginables. Si vous ne pouvez pas faire tourner Doom sur quelque chose avec le code source original, vous pouvez presque certainement le faire fonctionner avec l’un des nombreux ports sources.

Je sais que vous attendiez — parlons de l’SVG. Doom peut fonctionner à l’intérieur d’un fichier vectoriel parce que les SVG supportent JavaScript. Comme le développeur de l’SVG de Doom le dit, le fichier vectoriel exécute simplement js-dos — un émulateur DOS open-source basé sur JavaScript — et utilise ensuite l’un des différents ports sources DOS de Doom. Et bien que cela puisse sembler une forme de sorcellerie en programmation, le développeur le définit simplement comme “une utilisation amusante de quelques heures”. Cela résume bien le sujet.

Comment Doom est devenu un hack viable minimum

Doom fonctionnant sur un écran de tracteur John Deere.

En 2022, Sick.Codes a montré Doom fonctionnant sur un écran de tracteur John Deere. Cela a été présenté lors de Def Con 2022, une conférence annuelle sur la cybersécurité et le hacking qui se déroule à Las Vegas depuis 1993 — ironiquement, la même année où Doom a été lancé. Au-delà de simplement faire fonctionner Doom, le port présentait un tracteur au lieu d’armes, vous permettant littéralement de tondre des démons. C’est un port amusant, mais Sick.Codes explique que cela a pris des mois de travail pour le faire fonctionner. Pourquoi tout cet effort ?

Si vous êtes familiarisé avec le mouvement pour le droit à la réparation, vous avez probablement déjà fait le lien ici. Les équipements John Deere, créés par Deere & Company, sont au centre du mouvement pour le droit à la réparation, et ce n’est pas pour une raison positive. La société a mené une lutte juridique de plusieurs années avec les agriculteurs en raison de son logiciel verrouillé. Les équipements sont presque impossibles à réparer sans l’intervention directe de Deere. Faire fonctionner Doom sur un écran de tracteur John Deere est plus qu’un simple hack amusant. C’est une preuve de concept.

“Faire fonctionner Doom sur l’écran phare des machines agricoles John Deere, sur lequel ils ont passé des milliers d’heures à travailler pendant plusieurs années, montre que j’ai été capable de hacker complètement et totalement l’appareil,” m’a dit Sick.Codes. “Si je peux exécuter Doom sur leurs appareils phares, je peux faire toute autre modification non autorisée à l’appareil. Je peux le briquer. Je peux l’améliorer. Je peux installer des logiciels tiers. Je peux supprimer des fonctionnalités, ou installer des fonctionnalités qui sont censées coûter de l’argent.”

Jouer à Doom sur un écran de tracteur John Deere (jailbroken/rooted) à @defcon pic.twitter.com/ih0QUTGNuS

— Sick.Codes (@sickcodes) 14 août 2022

Dans ce cas, Doom est un indice de travaux plus profonds et plus importants. Dans un rapport de Wired qui a couvert l’histoire il y a deux ans, le développeur a partagé qu’il avait pu accéder à 1,5 Go de journaux stockés dans la machine grâce à l’accès root. Ces journaux ne sont destinés qu’aux techniciens de réparation certifiés de John Deere. Avec ces logs, les agriculteurs ou des experts tiers peuvent diagnostiquer et potentiellement réparer l’équipement John Deere, même sans l’intervention directe de Deere & Company.

Doom nécessite un petit nombre de bibliothèques pour fonctionner, à savoir SDL2 pour les graphiques, donc pouvoir exécuter le jeu sur un appareil qui n’est pas censé faire tourner Doom prouve que vous pouvez faire tourner n’importe quel logiciel sur l’appareil que vous utilisez,” m’a expliqué Sick.Codes.

C’est amusant de voir Doom fonctionner sur un écran de tracteur, et je ne veux certainement pas gâcher cette joie. Mais il est important de mettre en lumière le contexte plus large ici. Vous pouvez essayer d’installer d’autres logiciels sur un appareil comme celui-ci, mais Doom est un candidat idéal pour mettre en valeur ce type de hack. C’est visuel, c’est interactif, et c’est un programme conçu pour un but très spécifique. Cela attire également beaucoup l’attention — pensez-vous que nous verrions des reportages sur l’exécution d’une interface de ligne de commande sur un écran de tracteur John Deere ? Probablement pas.

Bien que je ne veuille pas minimiser le travail que cela a demandé — rappelons que cette exploitation a pris des mois à être effectuée — Doom est aussi un programme relativement simple à mettre en valeur. Sick.Codes m’a dit qu’ils ont utilisé Chocolate Doom pour la démonstration, qui est un port source conçu pour fonctionner sur le plus grand nombre possible de configurations matérielles et logicielles différentes. Je veux dire, il existe même une page de la wiki de Chocolate Doom spécifiquement consacrée à la manière dont le port source est portable. Si nous n’avions pas le code source original, et si ce code source n’avait pas été porté autant de fois, nous n’aurions probablement pas eu cette démonstration. Cela aurait sans doute été possible, mais qui peut dire si cela aurait réellement eu lieu ?

Bienvenue en enfer

Disquettes pour Doom 2.

Doom est l’un des jeux les plus influents jamais créés, et une grande partie de cela repose sur les circonstances dans lesquelles il a été réalisé. Un code hautement optimisé pour PC a rencontré le modèle shareware pour rendre le jeu incroyablement populaire, et sa communauté de modding a explosé lorsque le code source a été publié en 1997. Aujourd’hui, nous avons non seulement l’une des plus grandes et plus accessibles plateformes de modding grâce à Doom, mais aussi une application qui a largement survécu à son objectif initial.

J’ai commencé à ressentir de la nostalgie en écrivant cette histoire, et vous pourriez ressentir la même chose après l’avoir lue. Si c’est le cas, je vous recommande de télécharger GZDoom et d’expérimenter certains des niveaux insensés qui ont été créés au fil des années — vous pouvez également trouver les fichiers WAD originaux des deux premiers jeux archivés en ligne. Si vous souhaitez aller plus loin, regardez le documentaire sur MyHouse.WAD si vous ne l’avez pas déjà fait (la vidéo a déjà atteint environ 13 millions de vues), ou mieux encore, téléchargez le niveau pour vous-même.

Et, si vous souhaitez rester dans l’esprit de faire fonctionner Doom là où il n’est pas censé être, des développeurs généreux ont documenté leurs parcours à travers différents appareils. Il y a un article sur son installation sur des écouteurs Ikko Activebuds, et un autre pour l’installer sur un téléphone VoIP. Il y a également un post détaillé sur le portage du jeu vers le terminal de paiement VX620 mentionné précédemment.

Peu importe comment vous appréciez, élargissez ou modifiez complètement Doom, amusez-vous en enfer. Des centaines de milliers de fans et de développeurs vous y attendent.