Doom8088 : FrenkelS réalise l'impossible portage sur Atari ST

FrenkelS adapte Doom sur Atari ST avec Doom8088ST Edition, exploitant seulement 1 Mo de RAM et un processeur 8 MHz pour l'impossible.
publié le 20 juin 2025
partager sur :

Doom8088ST Edition : quand l'Atari ST défie ses propres limites

Le développeur FrenkelS vient de réaliser l'impensable en portant Doom sur Atari ST, machine de 1985 jamais conçue pour de tels exploits techniques. Basé sur Doom8088, version adaptée aux PC 16-bit, ce portage baptisé Doom8088ST Edition fonctionne sur des configurations standard avec seulement 1 Mo de RAM.

Un défi technique considérable

Doom, conçu en 1993 pour des PC 32-bit disposant de 4 Mo de RAM, semblait techniquement inaccessible aux machines 16-bit de génération antérieure. L'Atari ST, avec son processeur Motorola 68000 cadencé à 8 MHz et son architecture mémoire segmentée, représentait un défi particulièrement ardu pour ce type d'adaptation.

FrenkelS contourne ces limitations en s'appuyant sur Doom8088, sa précédente adaptation pour PC 8088 et 286. Cette version intermédiaire, elle-même basée sur GBADoom (portage de PrBoom pour Game Boy Advance), constitue une base technique plus accessible pour les machines aux ressources limitées.

L'adaptation Atari ST nécessite des compromis techniques drastiques. Le portage ne supporte que l'épisode 1 de Doom, propose uniquement des modes 16 et 2 couleurs, et supprime de nombreuses fonctionnalités : textures au sol et plafond, diminution de luminosité, sauvegarde, multijoueur et support des WAD personnalisés. Ces sacrifices permettent néanmoins d'obtenir une expérience reconnaissable et jouable.

Optimisations spécifiques à l'architecture Atari

Le développeur a conçu plusieurs modes de performance adaptés aux différentes configurations Atari ST. Le mode "Low Detail" (30x128 pixels) offre une fluidité excellente sur ST standard 8 MHz, tandis que le mode "Medium" (60x128 pixels) améliore la qualité visuelle sur machines overclockées ou Mega STe.

Cette approche modulaire reflète la compréhension fine des contraintes Atari. Hackaday explique que "la faible résolution horizontale s'explique par le choix malheureux d'Atari concernant le format pixel des modes couleur". L'organisation mémoire particulière de l'Atari ST complique les mises à jour pixel individuelles, FrenkelS contournant cette limitation en regroupant les pixels par couleur identique.

Le format graphique Atari stocke séparément les bits de chaque plan couleur, nécessitant des accès mémoire multiples pour modifier un seul pixel. Cette architecture, similaire aux contraintes rencontrées sur Amiga avec ses bitplanes, explique pourquoi peu de jeux 3D texturés ont vu le jour sur ces plateformes à l'époque.

Évolution continue du projet

Doom8088ST Edition bénéficie d'un développement actif avec des améliorations régulières. Les versions récentes ajoutent des effets sonores type PC Speaker, plusieurs modes couleur, et diverses optimisations de performance. AtariCrypt témoigne de ces évolutions : "nous avons maintenant des luxes comme les effets sonores, la couleur, et un choix de trois nouveaux modes couleur".

Le projet propose désormais trois modes de détail : "Low Detail" pour les ST standard, "Medium" pour les configurations améliorées, et un mode expérimental haute résolution pour les passionnés acceptant des compromis de fluidité. Cette flexibilité maximise la compatibilité avec le parc Atari existant.

FrenkelS continue d'optimiser le code, exploitant chaque cycle processeur disponible. Les dernières versions incluent des améliorations de gestion mémoire et des optimisations d'affichage spécifiques aux particularités de l'Atari ST.

Contextualisation dans l'écosystème Doom

Ce portage s'inscrit dans une tradition établie d'adaptations Doom sur plateformes improbables. Des versions ont vu le jour sur calculatrices, consoles 8-bit et même écrans de réfrigérateurs, démontrant la popularité persistante du titre id Software.

Doom8088ST se distingue par son approche technique rigoureuse plutôt que spectaculaire. Contrairement aux portages "gadget", cette version vise la jouabilité réelle sur matériel d'époque, respectant les contraintes historiques tout en maximisant les performances.

Gamopat soulève des questions légitimes sur les spécifications exactes testées : "on ne sait pas si cette démo est sur ST ou STE ? si c'est bien à 8MHz ? et si ça tourne avec 1MB de RAM ?" Ces interrogations reflètent l'incrédulité face à cet exploit technique sur une configuration aussi modeste.Toujours est-il qu'en rendant accessible un classique moderne sur matériel historique, FrenkelS démontre que la compatibilité descendante peut être assurée par la communauté amateur.

Le projet est disponible en téléchargement libre sur GitHub, accompagné du code source pour les développeurs souhaitant contribuer ou comprendre les techniques employées. Cette transparence favorise l'apprentissage et la perpétuation des savoir-faire techniques.

YouTube Thumbnail

Sources : Indie Retro News, Gamopat, GitHub, Hackaday

Tags : -