2 points par GN⁺ 2023-12-28 | 1 commentaires | Partager sur WhatsApp

Images prises en charge

  • Modèles
    • Original
    • Color

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

  • Originale
    • Avec marquages

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 :
    • Impulsion
    • Bruit
    • 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

 
GN⁺ 2023-12-28
Commentaires sur Hacker News
  • Ce qui est remarquable dans le développement de la Game Boy originale, c’est qu’à l’époque l’équipe de Gunpei Yokoi faisait face à beaucoup de scepticisme. Certains pensaient qu’il serait inconfortable de jouer dans le bus ou aux toilettes. Leur vision était de créer un appareil offrant des jeux simples et courts à l’aide d’une technologie simple. Cette équipe a été à l’origine du jeu mobile.
  • La Game Boy Color a bien été mentionnée, mais la partie indiquant que la taille des cartouches était de 1 MB n’a pas été corrigée. Certains jeux GBC atteignent 4 MB. Il existe aussi un jeu de trains de 8 MB, avec de courtes vidéos et des images en haute qualité.
  • Merci pour la démo utilisant l’audio de Pokémon. C’était un voyage nostalgique.
  • La Game Boy reste ma console préférée de tous les temps. Je développe actuellement un jeu de pinball dungeon crawler en ASM (langage d’assemblage). Le matériel est facile à comprendre, et les contraintes exigent de la créativité.
  • Je me demande si nous vivons désormais à une époque où n’importe qui peut acheter les composants nécessaires et des PCB pour recréer une Game Boy.
  • Qu’est-ce qu’on peut faire en apprenant l’architecture de la Game Boy, vous prévoyez de pirater la Terre ?
  • Il existe un livre entier sur la Game Boy, mais malheureusement il n’a pas été traduit en anglais. Je l’ai acheté en espagnol. Il contient des interviews uniques de ses créateurs.