Images prises en charge
Modèles
- La Game Boy originale est sortie le 21 avril 1989 au Japon, le 31 juillet 1989 aux États-Unis et le 28 septembre 1990 en Europe.
- La console de génération suivante, la Game Boy Color, est sortie le 21 octobre 1998 au Japon, le 18 novembre 1998 en Amérique du Nord et le 23 novembre 1998 en Europe.
Carte mère
Diagrammes
- Diagramme principal de l’architecture de la Game Boy originale
Brève introduction
- On peut voir la Game Boy comme une NES portable aux performances limitées, mais elle inclut plusieurs nouvelles fonctionnalités très intéressantes.
Analyse arc-en-ciel
- L’immense popularité de cette console a conduit à l’apparition de nombreuses révisions (par exemple Game Boy Pocket, Light, ou encore sous la forme d’une cartouche Super Nintendo).
- La marque Game Boy couvre deux générations.
- La 4e génération comprend la Game Boy monochrome et ses révisions, tandis que la génération suivante comprend la Game Boy Color (sortie après l’échec de la Virtual Boy).
- Comme cet article couvre les deux générations, il permet au final de bien comprendre le fonctionnement de la Game Boy et l’évolution de sa technologie jusqu’à devenir la Game Boy Color.
CPU
- Au lieu de placer plusieurs puces disponibles sur le marché directement sur la carte mère, Nintendo a choisi une conception à puce unique qui intègre (et masque) la plupart des composants.
- Cette puce est appelée System On Chip (SoC) et, dans ce cas, elle a été conçue spécialement pour cette console afin de répondre aux exigences de Nintendo (efficacité énergétique, anti-piratage, E/S supplémentaires, etc.).
- Comme cette puce est introuvable dans les catalogues de vente au détail, les concurrents de l’époque avaient plus de difficulté à produire des clones.
- Le SoC utilisé dans la Game Boy est appelé DMG-CPU ou Sharp LR35902, et il est fabriqué par Sharp Corporation.
- Cette entreprise entretient une relation étroite avec Nintendo.
Cœur CPU
- Le processeur principal à l’intérieur du DMG-CPU est le Sharp SM83, un mélange entre le Z80 (CPU utilisé dans la Sega Master System) et l’Intel 8080.
- Il fonctionne à environ 4,19 MHz, ce qui le rend plus rapide qu’un CPU moyen à 1 MHz.
- Le SM83 ne comprend ni les registres
IX ou IY du Z80, ni les instructions IN ou OUT de l’Intel 8080. Il ne peut donc pas utiliser de ports d’E/S.
- Comme seul l’ensemble de registres de l’Intel 8080 est implémenté, il ne dispose que de 8 registres généraux, contre 16 pour le Z80.
- Il inclut une partie du jeu d’instructions étendu du Z80 (uniquement les instructions de manipulation de bits).
- Sharp a également ajouté quelques nouvelles instructions absentes du Z80 et du 8080. Elles optimisent certaines tâches spécifiques liées à la manière dont Nintendo/Sharp a organisé le matériel.
Effet couleur
- Presque dix ans plus tard, après l’abandon de la Virtual Boy et de son matériel innovant, son humble successeur, la Game Boy Color, est arrivé.
- À l’intérieur se trouve un nouveau SoC, le CPU CGB, avec quelques ajouts. Le cœur CPU SM83 reste le même, mais sa fréquence d’horloge est doublée (il fonctionne désormais à ~8,38 MHz).
- Les développeurs pouvaient réutiliser leurs techniques existantes pour programmer la nouvelle console, économiser sans devoir repenser totalement le système pour une nouvelle architecture, et obtenir la rétrocompatibilité sans effort majeur.
- Le CPU CGB implémente deux modes de fonctionnement :
- Mode normal : le SM83 fonctionne à ~4,19 MHz.
- Mode double vitesse : le SM83 fonctionne à ~8,38 MHz.
Accès matériel
- Le SM83 conserve un bus de données 8 bits et un bus d’adresses 16 bits, ce qui lui permet d’adresser jusqu’à 64 KB de mémoire.
- La carte mémoire se compose principalement des points d’accès suivants :
- Espace du Game Pak (cartouche de jeu).
- RAM de travail (WRAM), RAM haute (HRAM) et RAM vidéo (VRAM).
- E/S (manette, audio, graphismes, LCD).
- Contrôle des interruptions.
Mémoire disponible
- Nintendo a équipé la carte mère de 8 KB de RAM. Elle sert aux usages généraux (appelée Work RAM ou « WRAM »).
- À l’intérieur du SoC, on trouve aussi 127 B de RAM, offrant un petit espace pour les données nécessitant un accès immédiat (par exemple la pile).
Graphismes
- Tous les calculs graphiques sont effectués par le CPU, puis le Picture Processing Unit ou « PPU » se charge du rendu.
- L’image est affichée sur l’écran LCD intégré, d’une résolution de 160×144 pixels, et la Game Boy monochrome peut afficher 4 niveaux de gris (blanc, gris clair, gris foncé et noir).
Organisation du contenu
- Le PPU est connecté à 8 KB de VRAM ou « RAM vidéo », tout en fournissant aussi au CPU un accès coordonné.
- Le jeu est responsable de remplir les différentes zones avec le bon type de données.
Construction d’une image
- Pour voir comment le PPU dessine les éléments à l’écran, on peut prendre Super Mario Land 2 comme exemple.
Tuiles
- Le PPU utilise des tuiles comme matériau de base pour le rendu graphique.
- Une tuile est un bitmap 8x8 stocké dans une zone de la VRAM appelée jeu de tuiles ou « table de motifs de tuiles ».
Couche d’arrière-plan
- La couche d’arrière-plan est une carte de 256x256 pixels (32x32 tuiles) contenant des tuiles statiques.
- La portion affichée à l’écran est choisie par le jeu, qui peut déplacer la zone visible pendant la partie.
Fenêtre
- La fenêtre est une couche de 160x144 pixels affichée au-dessus de l’arrière-plan et des sprites, et cette couche ne défile pas.
Sprites
- Les sprites sont des tuiles pouvant se déplacer indépendamment sur l’écran.
- Cette couche utilise/exige une couleur supplémentaire : la transparence.
Résultat
- Une fois l’image terminée, on passe à la suivante.
Secrets et limitations
- L’introduction de la couche fenêtre et d’interruptions supplémentaires a permis de nouveaux types de contenus et d’effets.
Ajouts couleur
- Le PPU de la Game Boy Color fonctionne comme un surensemble de celui du modèle original.
Audio
- Le système audio repose sur l’Audio Processing Unit (APU), une puce PSG à 4 canaux.
Fonctionnalités
- Chacun des quatre canaux est réservé à un seul type de forme d’onde :
Secrets et limitations
- Le mixeur produit un son stéréo, ce qui permet d’assigner les canaux à gauche ou à droite.
Système d’exploitation
- Contrairement à la NES, la Game Boy a été conçue pour toujours démarrer depuis une ROM interne de 256 octets, puis sauter ensuite vers le code du jeu.
Jeux
- Les jeux sont écrits en assembleur et leur taille maximale est de 32 KB.
Communication externe
- Il est possible de communiquer avec d’autres Game Boy via le câble Link de la Game Boy.
Anti-piratage
- La console n’exécute pas le jeu immédiatement : elle effectue une série de vérifications pour empêcher l’exécution de cartouches non autorisées et vérifier que la cartouche est correctement insérée.
L’avis de GN⁺
- L’évolution technique de la Game Boy représente une avancée importante dans l’histoire des consoles portables.
- L’approche SoC de Nintendo était innovante en matière de conception matérielle et rendait la création de clones plus difficile pour les concurrents.
- La rétrocompatibilité de la Game Boy Color a constitué un avantage majeur pour les développeurs comme pour les utilisateurs.
1 commentaires
Commentaires sur Hacker News