URL: https://linuxfr.org/news/entretien-avec-stephane-d-a-propos-du-sgdk Title: Entretien avec Stephane-D Ă propos du SGDK Authors: devnewton đș Pierre Jarillon, gUI, Ysabeau đ§¶, bobble bubble, BenoĂźt Sibaud, Florent Zara et claudex Date: 2023ćčŽ02æ13æ„T09:18:02+01:00 License: CC By-SA Tags: jeu_vidĂ©o, retrogaming et retrosdk Score: 58 Stephane-D dĂ©veloppe [un SDK pour crĂ©er des jeux pour la console Megadrive](https://www.patreon.com/SGDK), cet entretien revient sur son parcours et les raisons qui lâont amenĂ© Ă sâintĂ©resser Ă cette console.  [Code du SDK sous licence MIT](https://github.com/Stephane-D/SGDK) [Un article prĂ©sentant le hardware de la Megadrive](https://www.copetti.org/writings/consoles/mega-drive-genesis/) [Un podcast publiĂ© pour les 30 ans de la console](https://mag.mo5.com/150642/les-podcasts-de-mo5-com-42-la-mega-drive-a-30-ans/) [Un autre podcast sur lâhistoire de SEGA](https://cpu.dascritch.net/post/2020/06/11/Ex0139-Sega%2C-game-over-sur-console) [Un site consacrĂ© Ă SEGA et ses consoles](https://www.sega-16.com/) [Z-Team, une Ă©quipe qui porte des jeux micros sur Megadrive](https://z-team.itch.io/) ---- ---- ## PrĂ©sentation ### Bonjour, qui ĂȘtes-vous, quel est votre parcours et est-il liĂ© aux jeux vidĂ©os ? Bonjour, Mon nom est StĂ©phane Dallongeville, jâai 43 ans et je suis dĂ©veloppeur de mĂ©tier. Ătrangement, jâai toujours travaillĂ© dans le domaine de la santĂ©, pas forcĂ©ment par choix, mais plutĂŽt par le hasard de la vie et surement parce que câest un domaine oĂč les besoins sont assez techniques et que câest ce qui mâintĂ©resse en gĂ©nĂ©ral đ. Contrairement Ă bon nombre de personnes de ma gĂ©nĂ©ration, jâai dĂ©couvert les jeux vidĂ©os avec les bornes dâarcade vers lâage de 7-8 ans. Il y avait une salle de jeux dâarcade (le Flipper's house de CompiĂšgne pour celles et ceux qui ont connu) juste Ă cĂŽtĂ© de mon Ă©cole et, avec mon frĂšre, on avait pris lâhabitude dây passer avant et aprĂšs lâĂ©cole (avec pas mal dâarrivĂ©es en retard Ă cause de ça) et dây passer une bonne partie de nos week-ends Ă©galement. Je me souviens quâon Ă©tait vraiment accro, on venait juste pour regarder les gens jouer, car on nâavait pas ou trĂšs peu dâargent Ă dĂ©penser. Du coup, on a dĂ©couvert pas mal de classiques en arcade (Pole Position, Pac Man, Double Dragon, WonderBoy, Street Fighter 2, Final fight...) avant mĂȘme dâavoir une console. Dâailleurs notre premiĂšre console (en 1990) fut une... [GX-4000](https://www.gx4000.net/) đ . LĂ encore, ce nâĂ©tait pas forcĂ©ment par choix, mais simplement parce que câĂ©tait la seule en stock (mes parents achetaient beaucoup par correspondance), il faut admettre quâelle ne nous a pas laissĂ© de souvenirs impĂ©rissables... Mais par la suite, on sâest bien rattrapĂ© avec la NES dâabord, puis la Megadrive, la SNES, etc. Jâai passĂ© beaucoup, beaucoup dâheures Ă jouer Ă©tant jeune, mais Ă partir de 16 ans, jâai commencĂ© Ă mâintĂ©resser davantage au PC et Ă la programmation, jâai alors dĂ©laissĂ© un peu les consoles. Il faut dire que la gĂ©nĂ©ration 32 bit ne mâa jamais vraiment attirĂ©, dĂ©jĂ parce que le prix des consoles devenait indĂ©cent (_NDM : peut-ĂȘtre un lapsus faisant rĂ©fĂ©rence Ă [Descent](https://www.mobygames.com/game/Descent) ?_ ) mais surtout parce que le passage Ă la 3D sâest fait dans la douleur... MĂȘme si techniquement, câĂ©tait certes une rĂ©volution, visuellement, câĂ©tait moche et pendant ce temps-lĂ sur PC, on commençait Ă avoir de la 3D filtrĂ©e bien plus flatteuse. ### Comment en ĂȘtes-vous venu Ă vous intĂ©resser Ă la megadrive ? Jâai toujours Ă©tĂ© plus Sega que Nintendo, surement parce que jâai un frĂšre jumeau et, quand on Ă©tait jeune, il fallait se diffĂ©rencier lâun de lâautre, comme il Ă©tait plutĂŽt Nintendo alors, jâĂ©tais Sega, avec le recul, je pense que ça correspondait aussi un peu Ă nos diffĂ©rences de caractĂšre đ. La gĂ©nĂ©ration des consoles 16 bits est indĂ©niablement celle qui mâa le plus marquĂ© et, donc, la Mega Drive est un peu ma machine de cĆur mĂȘme si jâai passĂ© au moins autant de temps Ă jouer sur SNES. ## Parlons hard ### Quâest-ce que cette console a de particulier ? DĂ©jĂ , câest une console de la gĂ©nĂ©ration 16 bits et donc on est encore sur des machines pensĂ©es pour la 2D, je pense quâon aurait pu aller beaucoup plus loin sur les jeux 2D si lâarrivĂ©e de la Playstation nâavait pas « imposĂ© » un saut prĂ©coce Ă la 3D. Mais du coup « faute de mieux » la gĂ©nĂ©ration 16 bits reprĂ©sentent un peu la quintessence des jeux 2D dans un sens. Ensuite, par rapport Ă cette gĂ©nĂ©ration 16 bit et surtout par rapport Ă sa concurrente directe, la SNES, la Mega Drive est beaucoup plus simple Ă programmer, et, disons-le offre plus de libertĂ© au dĂ©veloppeur contrairement Ă ce quâon pourrait penser. Son processeur central - le 68000 - qui Ă©tait un peu « la rolls » des processeurs 16 bits de lâĂ©poque, est en grande partie responsable de cet Ă©tat de fait, surtout en comparaison du 65C816 qui Ă©quipe la SNES et qui est Ă lâextrĂȘme opposĂ©. Mais le reste de lâarchitecture nâest pas en reste. La SNES est plus moderne assurĂ©ment (elle est sortie quand mĂȘme 2 ans aprĂšs), elle affiche plus de couleurs avec beaucoup dâeffets graphiques hardware et un son Ă base de samples, mais lâensemble est assez contraint et il est difficile de sortir des frontiĂšres dessinĂ©es par les capacitĂ©s hardware de la machine. La Mega Drive câest un peu lâopposĂ©, on a peu dâeffets cĂąblĂ©s, câest assez root avec du son FM et des capacitĂ©s PCM rĂ©duites au minimum syndical. Par contre, on a beaucoup de flexibilitĂ© et de puissante brute pour dĂ©passer ces frontiĂšres et câest ça qui est plaisant avec cette machine. ### Comment fonctionne le processeur graphique (VDP) ? Câest un processeur graphique optimisĂ© pour lâaffichage 2D, ça reprend le mĂȘme principe quâon avait sur les consoles 8 bits : un arriĂšre-plan scrollable et des sprites quâon affiche par-dessus. Lâaffichage est composĂ© exclusivement de blocs de 8 Ăă°ă€ 8 pixels en 4 bpp (16 couleurs) quâon appelle « tuile », la mĂ©moire vidĂ©o (VRAM) va donc contenir un set de tuiles et des tables permettant de mapper ces tuiles sur les plans et sur les sprites (des tables dâindex en gros). Par rapport Ă la gĂ©nĂ©ration prĂ©cĂ©dente, la Mega Drive apporte un 2e plan scrollable pour ajouter plus de profondeur et de complexitĂ© dans les dĂ©cors ainsi que des capacitĂ©s de sprites gonflĂ©es (taille variable de 8 Ăă°ă€ 8 Ă 32 Ăă°ă€ 32 et jusquâĂ 80 sprites maximum). Le VDP apporte aussi quelques fonctionnalitĂ©s hardware pour faire des parallaxes facilement ainsi quâun scrolling vertical assez avancĂ© qui permettait de scroller des colonnes de 16 pixels individuellement (câest grĂące Ă lui quâon pouvait rĂ©aliser des effets de rotations avec des angles restreints par exemple). Une fonction majeure de cette gĂ©nĂ©ration Ă©tait lâapport du DMA qui permettait de faire des transferts rapides vers la mĂ©moire vidĂ©o. Par contre, la faiblesse majeure du VDP câest sans conteste son faible nombre de palettes : seulement 4 palettes de 16 couleurs sur une profondeur de 512 couleurs (RGB333), câest vraiment peu. La SNES en a 4 fois plus (8 palettes pour les arriĂšres plans + 8 palettes pour les sprites) et la PC Engine pourtant sortie 1 an avant en avait pas moins de 16 + 16 palettes. Câest dâautant plus dommage quâĂ la base le VDP a Ă©tĂ© conçu pour accueillir 4 + 4 palettes en RGB444 mais pour des raisons de coĂ»t ça a Ă©tĂ© tronquĂ© Ă 4 palettes partagĂ©es en RGB333. _NDM: pour aller plus loin voir le site [Rasterscroll](https://rasterscroll.com/mdgraphics/)._ ### Comment fonctionnent les puces sonores (Yamaha YM2612, Texas Instruments SN76489) ? Le SN76489 est vraiment un gĂ©nĂ©rateur audio assez basique que lâon retrouve sur beaucoup de machine 8 bit. Il est dâailleurs prĂ©sent sur la Master System... Câest un gĂ©nĂ©rateur dâonde carrĂ© sur 3 voies + 1 voie de bruit blanc, les capacitĂ©s audio de ce chip sont, disons-le, trĂšs limitĂ©es... Le YM2612 est un synthĂ©tiseur FM sur 6 voies, câest le mĂȘme type de synthĂ©tiseur quâon trouvait dans certains synthĂ©tiseurs des annĂ©es 80 (comme le Yamaha DX 11). Le principe de la synthĂšse FM est assez complexe, chaque voie est composĂ©e de plusieurs opĂ©rateurs (4 sur le YM2612) qui sont connectĂ©s ensemble selon plusieurs configurations possibles (8 possibles sur le YM2612). Ă la base, chaque opĂ©rateur produit une onde sinusoĂŻdale Ă une certaine frĂ©quence et une enveloppe de type ADSR par-dessus. Ensuite, selon la configuration des opĂ©rateurs, certains opĂ©rateurs vont servir à « moduler » lâonde sonore de lâopĂ©rateur suivant ou simplement produire le son de sortie. Prenons lâexemple de la configuration #0, dans cette configuration, les 4 opĂ©rateurs sont connectĂ©s en sĂ©rie : 0 --- 1 --- 2 --- 3 On a donc lâopĂ©rateur 0 qui va moduler le son de lâopĂ©rateur 1, qui va lui-mĂȘme moduler le son de lâopĂ©rateur 2, qui va lui-mĂȘme moduler le son de lâopĂ©rateur 3 qui va lui sortir le son final de la voie. Cette configuration permet de produire des ondes trĂšs complexes. Ă lâinverse, la configuration #7 positionne les 4 opĂ©rateurs en parallĂšle : 0 1 2 3 La sortie des 4 opĂ©rateurs est simplement mixĂ©e ensemble pour produire le son final de la voie. Une particularitĂ© du YM2612 est que la 6e voie peut ĂȘtre configurĂ©e en simple DAC pour pouvoir produire des samples (voix digitalisĂ©es), câest grĂące à ça que la Mega Drive peut produire du son digitalisĂ©. La synthĂšse FM reste un procĂ©dĂ© sonore complexe et difficile Ă maĂźtriser qui est capable du meilleur comme du pire. Beaucoup de dĂ©veloppeurs occidentaux se sont cassĂ©s les dents dessus (nos tympans en ont fait les frais) mais dans de bonnes mains ça pouvait produire du son extrĂȘmement riche et de meilleure qualitĂ© que les sampleurs de lâĂ©poque. De par le principe de fonctionnement des chips FM, lâonde de sortie est gĂ©nĂ©rĂ©e Ă haute frĂ©quence, sur le YM2612, on est Ă 53 KHz par exemple. ### Quâest-ce que le Blast Processing ? Est-ce juste une blague du service marketing de Sega ? Oui et non đ Il nây a donc pas de techno « Blast Processing » Ă proprement parler. Ă la base ça vient dâun trick trouvĂ© par un dĂ©veloppeur interne : il a dĂ©couvert quâon pouvait produire un pseudo-mode bitmap en transfĂ©rant en continu en CRAM (palette) via le DMA. Il a utilisĂ© le mot « blast » pour dĂ©crire ce procĂ©dĂ© de transfert en continu via le DMA... et en effet le marketing a repris ce terme pour en faire le fameux Blast Processing, car ils trouvaient que ça sonnait bien ! _NDM : le marketing de Sega et de ses partenaires Ă©tait connu pour ĂȘtre [agressif ](https://www.sega-dreamcast-info-games-preservation.com/pub-megadrive-aventure-numerisation), voire carrĂ©ment [lourd](https://www.sega-16.com/2016/08/sex-sega-partners-in-print/)._ ### Que dire sur le megacd ? Je pense que le MegaCD est assez sous-estimĂ©, ou plutĂŽt sa ludothĂšque. Il y a beaucoup de trĂšs bons jeux sortis sur MegaCD. Par contre, je pense sincĂšrement que le MegaCD aurait eu bien plus de succĂšs si Sega sâĂ©tait contentĂ© dâen faire juste un « gros support de stockage » (comme sur la PCE) plutĂŽt quâen faire un add-on si couteux avec des fonctions de pseudos mode 7 uniquement lĂ pour faire face Ă la SNES. Ă lâĂ©poque Ă plus de 2000Fr je nâai jamais *regardĂ©* le Mega-CD, il Ă©tait hors course Ă un prix si prohibitif et le positionnement marketing sur le FMV Ă©tait aussi une erreur, je pense. La Mega Drive en avait dĂ©jĂ pas mal dans le ventre et un simple gros stockage lui aurait permis de sâexprimer pleinement.  ### Que dire sur la 32x ? LĂ pour le coup câest assez difficile dâen dire du bien si on considĂšre la ludothĂšque de la machine... Ă peine 50 jeux dont une dizaine qui en vaille rĂ©ellement la peine đ. Le 32X Ă©tait une vaine tentative de prolonger artificiellement la vie de la Mega Drive mais le timing nâĂ©tait pas le bon avec lâarrivĂ©e de la Saturn et de la Playstation. Je pense que le 32X aurait peut-ĂȘtre pu avoir son marchĂ© comme « 32 bits abordable » en console standalone Ă cartouche. LĂ oĂč la Saturn et la Playstation sâaffichaient Ă 3000 Fr ou plus, le 32X aurait pu sĂ©duire les moins fortunĂ©s en se positionnant entre 1000 Fr et 1500 Fr, surtout quâen puissance brute le 32X est plutĂŽt capable !  ### La megadrive a connu plusieurs versions (model 2, CDX, Nomad, Teradrive, Wondermega, LaserActive...) ? Les avez-vous testĂ©s ? Pas tous ! Jâai eu une MD2 que jâai revendue, mais je possĂšde encore une Nomad et un WonderMega (le premier). Jâai aussi un TeraDrive, mais je ne lâai pas encore utilisĂ© (sic). Personnellement, jâadore le design du WonderMega đ.  ### La megadrive a rĂ©cemment eu deux versions « mini » ? Quâen pensez-vous ? Jâai la premiĂšre que jâaime beaucoup, jâai dĂ» la payer 50⏠ou 60⏠et pour le prix payĂ©, je trouve le contenu (en termes de jeux) trĂšs correct. Je nâai pas pu tester la 2e version, mais jâen ai entendu pas mal de bien. AprĂšs ce que je trouve dommage, câest que ces deux versions mini ont Ă©tĂ© prĂ©cĂ©dĂ©es de *beaucoup* de modĂšles AtGame dont la qualitĂ© Ă©tait vraiment discutable...  ### Quelle est votre manette prĂ©fĂ©rĂ©e ? Je nâai pas vraiment de manette prĂ©fĂ©rĂ©e, mais jâaime beaucoup la manette 6 boutons de la Mega Drive et celle de la Saturn.  ## Parlons soft ### Les Ă©mulateurs megadrive sont-ils bons ? Ce nâĂ©tait pas forcĂ©ment le cas par le passĂ© (dont mon propre Ă©mulateur Gens \^\^) mais aujourdâhui oui, ils existe plusieurs Ă©mulateurs de trĂšs bonne qualitĂ© (Genesis Plus, Exodus, BlastEm...). Si je devais en retenir quâun, je choisirais [BlastEm](https://www.retrodev.com/blastem/) qui est Ă la fois rapide et avec un trĂšs haut niveau de prĂ©cision sur lâĂ©mulation. ### Quels sont vos jeux commerciaux prĂ©fĂ©rĂ©s sur cette console ? Difficile Ă dire mais lĂ comme ça, ceux-lĂ me viennent en tĂȘte : Street of Rage 2, Sonic 2, Gunstar Heroes, Ranger-X, Mickey Mania, Landstalker, Aladdin, Yuyu Hakusho.  ### Quels sont vos jeux _homebrew_ prĂ©fĂ©rĂ©s sur cette console ? Pas dâordre particulier lĂ encore : Demons of Asteborg, Tanzer, Paprium, Xeno Crisis, Cave story, Omega Blast et jâen oublie câest certain.  ### Pourquoi crĂ©er un SDK aujourdâhui pour un si vieux systĂšme ? Ă la base, jâai créé ce SDK (vraiment minimaliste au dĂ©part) pour moi, car il nâexistait pas de bons outils pour dĂ©velopper sur cette machine (ça remonte Ă 2006 donc ça date !). Je voulais construire des petites roms de test afin de perfectionner mon Ă©mulateur (Gens). Par la suite, câest devenu un hobby parce que ça mâamusait vraiment de dĂ©velopper pour cette machine et jâai commencĂ© Ă ajouter de nouvelles fonctions, câest aussi Ă ce moment-lĂ que jâai commencĂ© Ă le distribuer en me disant que ça pourrait peut-ĂȘtre servir Ă dâautres. Les retours ont tellement Ă©tĂ© positifs que ça mâa poussĂ© Ă continuer le dĂ©veloppement, ce qui a abouti Ă SGDK đ. ### Est-ce que vous participez vous-mĂȘme Ă la crĂ©ation de jeux ? Oui ça mâarrive, jâai participĂ© notamment au dĂ©veloppement de Demons of Asteborg (jâai assistĂ© lâĂ©quipe sous contrat) et actuellement, je travaille sur un autre jeu, mais le dĂ©veloppement de SGDK reste mon activitĂ© principale, on va dire ! Je ne dĂ©sespĂšre pas de travailler sur mon propre jeu un de ces jours \^\^.  ### Quels ont Ă©tĂ© les difficultĂ©s pour crĂ©er SGDK ? Le plus compliquĂ© est assurĂ©ment le dĂ©veloppement des drivers son et le dĂ©veloppement du driver XGM en particulier qui est le driver son principal de SGDK. Câest compliquĂ©, car ça nĂ©cessite de programmer sur le second CPU (Z80) entiĂšrement en assembleur et avec des possibilitĂ©s de debug trĂšs limitĂ©es comparĂ© au CPU principal (le 68000). Lâautre complexitĂ©, câest que le driver son a besoin de gĂ©rer le stream PCM (il y a 0 assistance hardware pour ça) sans interruption en mĂȘme temps que la gestion de la partie FM et PSG. Je travaille actuellement sur une version 2 du driver XGM afin de rĂ©duire sensiblement la taille des _tracks_ (câest un point faible du driver XGM actuel) en plus dâajouter certaines fonctionnalitĂ©s et je peux dire que ça me prend un temps considĂ©rable ! Sur les autres aspects, le dĂ©veloppement de SGDK est plutĂŽt « facile », seul le dĂ©veloppement des outils annexes (compilateur de ressources par exemple) peut ĂȘtre assez ennuyant par moment... ### Vous aimeriez vivre du dĂ©veloppement de ce logiciel libre? En effet, jâadore ce que je fais avec SGDK et si je pouvais en vivre ça serait gĂ©nial đ. Mais je pense que câest assez illusoire, car ça reste un marchĂ© de niche. ### Est-ce que SGDK gĂšre les manettes Ă 6 boutons de la megadrive, les multitaps et les pistolets (Menacer Gun) ? Pour tout ça oui, la gestion du multipad et des pistolets a dâailleurs Ă©tĂ© une contribution extĂ©rieure đ. Les pistolets sont supportĂ©s par SGDK mais ne fonctionnent pas avec les TVs modernes. Il me semble quâil existe des kits pour les faire fonctionner sur des TVs modernes, mais honnĂȘtement, je ne suis jamais vraiment allĂ© voir ça... Sinon sur Ă©mulateur la souris permet de remplacer le pistolet.  ### Est-ce que SGDK gĂšre les modems ? Non, mais il existe un module [MegaWifi](https://gitlab.com/doragasu/mw) qui permet donc lâexploitation dâune cartouche spĂ©ciale avec un module Wifi (lĂ encore câest une contribution extĂ©rieure).  ### Est-ce que SGDK gĂšre dâautres pĂ©riphĂ©riques de la megadrive (souris, Miracle Keyboard System, Aura Interactor, Sega Activator...) ? La souris uniquement, les autres pĂ©riphĂ©riques Ă©tant vraiment anecdotiques (le Sega Activator nâest jamais sorti, il me semble ?). _NDM: peut-ĂȘtre au [BrĂ©sil](https://www.sega-brasil.com.br/Tectoy/Activator_para_Mega_Drive) ?_  ### Quels conseils donneriez-vous Ă quelquâun qui veut se lancer dans le dĂ©veloppement megadrive ? De ne pas vouloir aller trop vite \^\^. Il faut savoir que SGDK est un SDK en langage C, si vous ne connaissez ni le langage C ni lâarchitecture de la Mega Drive et que vous souhaitez vous lancer dans le dĂ©veloppement megadrive avec SGDK alors je vous conseille trĂšs fortement de vous familiariser dâabord avec le langage C et la programmation en gĂ©nĂ©ral. Apprendre les deux en mĂȘme temps, câest vraiment trĂšs (trop) compliquĂ©. 95% des requĂȘtes dâaide / support / bugs que je peux avoir sur le serveur Discord de SGDK concerne dâabord des questions ou des erreurs de programmation plus que SGDK en lui-mĂȘme. Ensuite, une fois quâon est plutĂŽt Ă lâaise avec le C, câest toujours un gros plus de savoir comment fonctionne la machine _under the hood_. SGDK abstrait pas mal de choses, mais ça Ă©vitera tout de mĂȘme des belles prises de tĂȘte sur la comprĂ©hension de certains bugs. Enfin et surtout, bien lire le fichier README de SGDK qui donne une foule dâinformations importantes sur lâutilisation de SGDK en gĂ©nĂ©ral. AprĂšs, je dirais que lorsquâon a la motivation, on arrive toujours Ă ses fins đ. ### Quels sont les outils pour crĂ©er/prĂ©parer des graphismes utilisables par SGDK ? Nâimporte quel outil capable de gĂ©rer des PNG en couleurs indexĂ©es peut faire lâaffaire, car câest ce que SGDK exploite en gĂ©nĂ©ral. MalgrĂ© tout certains outils sont plus appropriĂ©s que dâautres, car on y manipule plus facilement les palettes, personnellement je conseille ceux-lĂ : - Asesprite (_NDM: un [fork libre](https://libresprite.github.io) existe_) ; - Graphics gale ; - Pro Motion ; - [Grafx2](https://gitlab.com/GrafX2/grafX2) ; - [Palette quantizer](https://rilden.github.io/tiledpalettequant/) (un trĂšs bon outil pour convertir les graphismes). ### Quels sont les outils pour crĂ©er/prĂ©parer des musiques et des sons utilisable par SGDK ? Tout ce qui peut exporter au format [VGM Mega Drive](https://vgmrips.net/wiki/VGM_Specification) pour les musiques et des outils pour la retouche de samples. - Deflemask (tracker) - [Furnace](https://github.com/tildearrow/furnace) (tracker) - Wavosaur ou Audacity (Ă©diteurs WAV) Ă noter que certains prĂ©fĂšreront dĂ©velopper leurs propres outils đ. ### Est-il possible de crĂ©er ses propres cartouches ? Oui bien sĂ»r ! Aujourdâhui il existe plusieurs Ă©diteurs qui peuvent produire des cartouches Mega Drive ([Broke studio](https://www.brokestudio.fr/) ou [MegaCats Studios](https://megacatstudios.com/) pour ne citer quâeux). ### On a vu rĂ©cemment des dĂ©mos impressionnantes (portages de [Star Fox](https://mag.mo5.com/236549/star-fox-decolle-de-nouveau-sur-mega-drive/) ou [F-Zero](https://mag.mo5.com/66493/f-zero-aussi-porte-sur-mega-drive/)), comment est-ce possible ? Quelles sont vos astuces ou optimisations prĂ©fĂ©rĂ©es ? Câest un peu ce que je disais tout au dĂ©but en parlant de la Mega Drive, son architecture laisse pas mal de libertĂ©s. DĂ©jĂ son CPU central - le [68000](https://fr.wikipedia.org/wiki/Motorola_68000) - a de la ressource ! Quand on lâexploite vraiment bien, on peut en sortir pas mal de choses (je parle relativement pour cette Ă©poque) đ. Ensuite un autre avantage de la MD comparĂ© Ă pas mal de ses concurrentes, câest que les pixels des tuiles sont stockĂ©s en [chunky](https://en.wikipedia.org/wiki/Packed_pixel) et non en [planar](https://en.wikipedia.org/wiki/Planar_(computer_graphics)) ce qui permet de faire du rendu software plus facilement. Des astuces que jâaime bien, câest de jouer avec le registre dâincrĂ©ment automatique sur lâadresse VRAM (aprĂšs une Ă©criture en VRAM, lâadresse destination est automatiquement incrĂ©mentĂ©e selon la valeur dâun registre) pour faciliter et accĂ©lĂ©rer la conversion des donnĂ©es graphiques (par exemple pour simuler un [frame buffer](https://en.wikipedia.org/wiki/Framebuffer) plus ou moins linĂ©aire). Il y a aussi beaucoup dâastuces et dâeffet possibles en jouant avec les capacitĂ©s de scrolling ou en reprogrammant le VDP pendant lâaffichage (modification des couleurs, du scrolling vertical, des sprites). LĂ encore, le VDP se montre assez flexible sur ce point, ce qui ouvre les possibilitĂ©s (multiplexing sur les sprites par exemple). ### Comment sâaccommoder des faibles ressources (peu de RAM, CPU sans virgule flottante...) ? Avec des astuces et comme on le faisait Ă lâĂ©poque :) La « faible RAM » nâest en rĂ©alitĂ© pas un vrai problĂšme, car 64 Kio de RAM est en gĂ©nĂ©ral bien suffisant, il faut bien voir quâon a un accĂšs direct Ă toute la ROM dont la taille est bien plus importante, la RAM va juste servir Ă stocker les donnĂ©es dynamiques. Aussi, aujourdâhui, on peut dĂ©passer allĂšgrement la barriĂšre des 4 Mio pour la ROM ce qui lĂ encore offre plus de possibilitĂ©s et permet dâexploiter la machine Ă son plein potentiel. Il faut bien voir quâĂ lâĂ©poque la taille de la ROM (donc le coĂ»t de production dĂ©coulait directement) Ă©tait vraiment une contrainte trĂšs forte sur le dĂ©veloppement des jeux. Pour la virgule flottante, on utilise Ă la place une virgule fixe, câĂ©tait quelque chose dâassez courant Ă cette Ă©poque oĂč les unitĂ©s flottantes nâĂ©taient pas encore rĂ©pandues. Quand on dĂ©veloppe sur ce genre de machine, il faut quand mĂȘme avoir une certaine connaissance de comment fonctionne un ordinateur en gĂ©nĂ©ral pour comprendre ce qui consomme ou pas beaucoup de ressources. ## Libre Ă vous ### Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ? Jâutilise quasiment exclusivement des logiciels libres, tellement qui serait difficile de tous les Ă©numĂ©rer, mais entre autres Firefox, Eclipse, Code::Blocks, VLC, LibreSprite, GCC et la suite GNU en gĂ©nĂ©ral... Ătrangement par contre, je suis sous Windows, probablement parce que jâutilise beaucoup les Ă©mulateurs et quâil faut admettre quâon a plus de choix ou au moins plus de facilitĂ© de ce cĂŽtĂ© sous lâOS de Microsoft. Mais vu que je ne joue plus aujourdâhui, il est assez probable que je repasse Ă Linux. ### Au niveau professionnel, quels logiciels libres utilisez-vous, sur quel OS ? Au niveau professionnel, jâutilise certains des outils dont jâai lâhabitude comme Eclipse, mais principalement, on fonctionne sous Windows et Linux. En termes de technos, on utilise beaucoup de choses venant du monde libre comme tout le monde, je pense (node, angular, react.js, etc.) đ Jâutilise aussi beaucoup Java pour le dĂ©veloppement, professionnellement comme personnellement, mais depuis la rĂ©cupĂ©ration par Oracle, on ne peut plus parler de logiciel libre, je pense (_NDM : les distributions Linux et la plupart des entreprises utilisent aujourdâhui [Openjdk](https://openjdk.org/), la version libre de Java plutĂŽt quâOracle Java qui a de gros morceaux privateurs dedans_). ### Quelle est votre distribution GNU/Linux prĂ©fĂ©rĂ©e et pourquoi, quels sont vos logiciels libres prĂ©fĂ©rĂ©s ? Je nâutilise pas beaucoup Linux, mais jâaime les distributions plutĂŽt lĂ©gĂšres comme [Lubuntu](https://lubuntu.me/) ou [Mint](https://linuxmint.com/). Je nâai pas vraiment de logiciels libres prĂ©fĂ©rĂ©s, mais jâapprĂ©cie beaucoup Firefox mĂȘme si ce nâest pas le navigateur le plus performant. ### Quelle question auriez-vous adorĂ© quâon vous pose ? Pourquoi la Mega Drive et pas la Super Nintendo ? Mais dans un sens la question a Ă©tĂ© posĂ©e (pourquoi la Mega Drive ?) đ. ### Quelle question auriez-vous dĂ©testĂ© quâon vous pose ? Je nâen vois aucune vraiment \^\^.