Analyse interne des cartouches Super Nintendo
(fabiensanglard.net)Here is a summary of the key points from the article on Super Nintendo cartridges, translated into Korean and organized using Markdown syntax:
Structure interne des cartouches Super Nintendo
- Les cartouches de jeux Super Nintendo peuvent contenir, au-delà de la puce ROM avec les instructions et les assets, des composants supplémentaires.
- On peut trouver sur le PCB une puce de protection contre la copie CIC, de la SRAM, voire même un « processeur d’amélioration des performances ».
CIC (protection contre la copie)
- Le mécanisme de protection contre la copie de la SNES fonctionne grâce à une communication synchronisée entre deux puces, l’une dans la console et l’autre dans la cartouche.
- Si le CIC de la console détecte un comportement anormal, il réinitialise tous les processeurs.
ROM : instructions & assets
- À l’époque, la taille des ROM de jeux était indiquée en bits plutôt qu’en octets (par exemple, The Legend of Zelda 3 faisait 8Mb).
- Le jeu de plus grande capacité est Star Ocean (48Mb), tandis qu’un classique comme Super Mario World n’utilise qu’une seule ROM de 4Mb.
- L’auteur a compilé dans un CSV qu’il a lui-même créé une estimation de l’utilisation ROM pour 3 378 titres.
SRAM (sauvegarde)
- Certains jeux proposent une fonction de sauvegarde de la progression grâce à une puce SRAM et une batterie.
- Quand la console est éteinte, la SRAM passe en mode basse consommation pour réduire l’usure de la batterie.
Processeur d’amélioration des performances (Enhancement Processor)
- Le plus connu est le Super FX, utilisé dans Star Fox en 1993 (surnoms « MARIO », « GSU-1 »).
- Wikipédia et snescentral.com proposent une liste complète des jeux SNES utilisant des puces d’amélioration.
- Au total, 13 types de puces ont été utilisés dans 72 jeux.
SA-1
- Le « Super Accelerator 1 » est le MVP des puces d’amélioration et a été utilisé dans 34 cartouches.
- Il s’agit du même CPU 65C816 que la console, mais cadencé 4 fois plus vite, à 10.74Mhz.
- Il embarque 2KB de SRAM ainsi qu’un CIC intégré.
- Le SA-1 dispose de 3 modes de fonctionnement (accélération, traitement parallèle, traitement mixte). Dans sa configuration la plus puissante, il multiplie par 5 les performances globales du système.
- Dans la communauté du rétro gaming, le SA-1 est utilisé pour améliorer la jouabilité d’anciens jeux souffrant de ralentissements (Super Mario World, Gradius 3, Contra 3, etc.).
CX4
- Le CX4 est une création de Capcom, utilisée dans Mega Man X2 et X3.
- Il fournit à la VRAM du rendu 3D filaire, divers calculs, ainsi que des fonctions de mise à l’échelle et de rotation des sprites.
- Bien qu’il soit surtout connu pour ses effets filaires, il est utilisé pour le traitement de tous les sprites du jeu, ce qui permet d’en afficher davantage sans clignotement à l’écran.
Autres Enhancement Processor
CS-DD1: puce de décompression de sprites. Utilisée dans 2 jeux.- Série
DSP: utilisée dans 16 jeux. Fournit une multiplication 16 bits rapide, ainsi que des instructions comme sin/cos. OBC-1: utilisé dans 1 jeu. (il n’existe que des suppositions sur sa manipulation des sprites)S-RTC: fournit une fonction d’horloge temps réel. Utilisé dans 1 jeu.SPC7110: puce de décompression de données. Utilisée dans 3 jeux.ST-010,ST-011,ST-018: puces de la société SETA visant à améliorer l’IA. Utilisées chacune dans 1 à 2 jeux.
SUPERFX (GSU-1, GSU-2)
- Le GSU-1 est utilisé dans 5 jeux, dont Star Fox.
- Il fonctionne à 10.74Mhz et, grâce à un cache d’instructions de 512 octets, peut tourner sans affamer le CPU de la SNES.
- Alors que le PPU de la SNES est centré sur les tuiles et les sprites, le SuperFX est spécialisé dans le rendu pixel et la rastérisation de polygones.
- En général, il effectue le rendu dans le framebuffer de la cartouche puis transfère le tout vers la VRAM au moment du VSYNC.
- Le GSU-2 correspond à un GSU-1 fonctionnant à pleine vitesse, soit 21.47Mhz. Il a été utilisé dans 3 jeux, dont Yoshi’s Island et Doom.
- Dans la communauté SNES, des projets sont en cours pour améliorer d’anciens jeux à l’aide des GSU-1 et GSU-2.
Les puces d’amélioration et les émulateurs
- Les puces d’amélioration ont fortement amélioré l’expérience de jeu tout en réduisant les coûts pour les éditeurs, mais elles sont ensuite devenues un casse-tête pour les développeurs d’émulateurs.
- Certains jeux dépendaient de puces atypiques et n’ont été correctement émulés qu’en 2012.
- Leur prise en charge a demandé un important travail de reverse engineering.
- Pour les puces disposant d’une ROM interne (basées sur ARM), il faut fournir un fichier BIOS à l’émulateur.
- Même en 2020, l’émulation de certaines puces rares n’était toujours pas terminée.
L’avis de GN⁺
- Les puces d’amélioration constituent un cas fascinant dans l’histoire de la conception matérielle et du développement de jeux. Elles illustrent bien la diversité des idées et des efforts déployés pour tirer le maximum d’un matériel limité.
- Du point de vue du développement d’émulateurs aujourd’hui, elles sont pénibles, mais à l’époque c’était une méthode efficace pour améliorer la qualité des jeux tout en réduisant les coûts de développement.
- On trouve des cas similaires dans l’industrie, par exemple les différentes puces additionnelles de la Sega Mega Drive / Genesis (SVP, Sega Virtua Processor, etc.) ou le slot de carte mémoire de la Neo Geo.
- Ce type de puce d’extension apparaît souvent en fin de cycle de vie d’une console, ce qui ressemble à une tentative de dépasser les limites des spécifications matérielles. C’est aussi une période de transition préparant l’arrivée d’une nouvelle console.
- Il est frappant de voir la communauté du rétro gaming mener des projets pour améliorer les performances d’anciens jeux. On peut y voir une manière de réinterpréter ces œuvres avec un regard moderne tout en respectant l’intention des créateurs d’origine.
1 commentaires
Commentaires Hacker News