Le Ricoh 2A03 ou RP2A03 (version NTSC) / Ricoh 2A07 ou RP2A07 (version PAL) est un microprocesseur 8 bits fabriqué par Ricoh pour la console de jeux vidéo Nintendo Entertainment System. Il a également été utilisé comme puce sonore et processeur secondaire par Nintendo dans ses jeux d’arcade Punch-Out!! et Donkey Kong 3.

RP2A07
RP2A07

Détails techniques

modifier

Le Ricoh 2A03 est une variante du microprocesseur MOS Technology 6502 dont le mode décimal codé binaire (BCD) a été désactivé. Il inclut également un générateur de son programmable (également appelé APU, comportant vingt-deux registres d’entrée/sortie mappés en mémoire), un DMA rudimentaire et une fonction de lecture des contrôleurs de jeu par polling.

Partie sonore

modifier

La partie sonore du Ricoh 2A03 dispose de 5 canaux, répartis entre deux unités de traitement audio (APU pour Audio Processing Units). La première APU comprend un générateur à deux canaux de forme d’onde carrée à usage général, avec 4 cycles de service, similaires aux générateurs de son présents sur les plateformes antérieures. La seconde APU contient trois canaux : un générateur d’onde pseudo-triangle, un générateur de bruit basé sur un registre à décalage à rétroaction linéaire (LFSR), et un canal PCM (modulation delta à 1 bit) codé en DPCM.

L’onde triangulaire est générée par un contrôle automatique du volume sur 4 bits, qui progresse de 0 à 15, puis redescend. La vitesse de ces étapes peut être ajustée pour produire différentes fréquences pour le son résultant. En raison de ce décalage discret, un harmonique est créé à quatre octaves plus haut, avec un volume égal à 1/8 du ton principal, conférant au son une qualité « bourdonnante ». Comme le volume est utilisé pour générer l’onde triangulaire, ce canal ne dispose pas de contrôle de volume séparé.

La majorité de la bibliothèque NES utilise uniquement les quatre canaux programmés en raison de la quantité de mémoire nécessaire pour encoder les signaux DPCM. Les jeux plus tardifs ont commencé à utiliser le cinquième canal DPCM car les expansions de mémoire des cartouches sont devenues moins chères. Par exemple, Super Mario Bros. 3 et Kirby's Adventure utilisent le canal DPCM pour des sons de batterie simples. Une particularité intéressante du canal DPCM est que l’ordre des bits est inversé par rapport à ce qui est normalement attendu pour un PCM 1 bit. De nombreux développeurs n’étaient pas au courant de ce détail, ce qui a provoqué des distorsions des échantillons lors de la lecture.

La sortie de chaque canal est mélangée de manière non linéaire dans leur APU respective avant d’être combinée. Cela signifie que le volume des canaux varie lorsque le volume des autres canaux change. Cette caractéristique peut rendre difficile l’équilibrage des canaux dans les passages complexes. C’est un problème particulièrement marqué avec l’onde triangulaire, car son volume ne peut pas être ajusté séparément pour compenser cet effet.

Sur les systèmes Famicom, des puces sonores d’expansion peuvent ajouter leur propre son à la sortie via une broche sur la cartouche de jeu. Les capacités audio d’expansion ont été supprimées des systèmes NES internationaux, mais peuvent être restaurées en modifiant le port d’expansion situé au bas de la console.

Variations régionales

modifier

Les versions PAL de la NES (vendues en Europe, en Asie et en Australie) utilisent le processeur Ricoh 2A07 ou RP2A07, qui est un 2A03 modifié pour être adapté au taux de rafraîchissement vertical de 50 Hz utilisé par la norme de télévision PAL. Cependant, la plupart des développeurs manquaient de ressources pour ajuster correctement la musique de leurs jeux entre les versions NTSC et PAL, ce qui a conduit à de nombreux jeux PAL ayant un son plus lent, légèrement plus grave, et dans certains cas, désaccordé par rapport à leurs versions NTSC originales.

Notes et références

modifier
(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Ricoh 2A03 » (voir la liste des auteurs).

Liens externes

modifier