Programmation avec le 6502 : les capacités sonores de la NES

Magazine
Marque
Hackable
Numéro
38
Mois de parution
juillet 2021
Spécialités


Résumé

Jusqu'à présent, nous avons vu les maigres capacités de calcul et graphiques de la NES. Mais les jeux vidéo ne seraient pas ce qu'ils sont sans les ambiances sonores, que ce soit via les musiques ou simplement, les bruitages. Dans cet article, nous allons donc nous intéresser à la façon dont le son était géré sur les toutes premières consoles de jeux, comme la NES.


De nos jours, pour jouer un son ou une musique dans un jeu, on ne s'embête pas trop et il suffit d'appeler la routine qui permet de jouer un fichier .wav, voire .mp3 dans le thread qui gère le son, et le tour est joué. Rien de tout cela sur la NES, et ce, pour plein de raisons. Les fichiers sons non compressés, de type .wav par exemple, prennent beaucoup trop de place et toute la mémoire de la NES suffirait à peine pour quelques secondes de musique, au mieux. Les fichiers sons compressés comme les MP3 pourraient sembler mieux adaptés, mais le code pour les décompresser à la volée serait à la fois trop volumineux et trop lent pour être exécuté sur une NES.

Les machines de l'époque utilisaient des générateurs programmables aux capacités assez limitées, mais très peu gourmands en mémoire et en code. Dans le cas de la NES, c'est une puce intégrée avec le 6502 pour former le 2A03 ou 2A07 qui est chargée de tout cela et elle est astucieusement nommée APU pour...

Cet article est réservé aux abonnés. Il vous reste 95% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Programmation avec le 6502 : les sprites de la NES, ou comment coder le jeu Pac-Man

Magazine
Marque
Hackable
Numéro
36
Mois de parution
janvier 2021
Spécialités
Résumé

Dans le précédent article, nous avons commencé à nous familiariser avec la partie graphique de la console NES (Nintendo Entertainment System). Aujourd’hui, nous allons réaliser un véritable jeu, ou du moins nous allons suffisamment le débuter pour qu’il commence à être intéressant.

MiSTer : La solution rétro ultime ?

Magazine
Marque
Hackable
Numéro
35
Mois de parution
octobre 2020
Spécialités
Résumé

Imaginez, un matériel unique capable de simuler fidèlement n'importe quel ordinateur, console et borne d'arcade rétro, sans émulation et vous donnant accès à une collection presque infinie de programmes, de démos et de jeux. Le tout compatible avec du matériel moderne (HDMI, USB, etc.), activement développé et accessible pour un budget raisonnable (mais pas économique pour autant). Cette solution existe, c'est MiSTer !

Programmation avec le 6502 : découverte de la NES

Magazine
Marque
Hackable
Numéro
34
Mois de parution
juillet 2020
Spécialités
Résumé

Dans les articles précédents, nous avons étudié de près le langage d'assemblage du microprocesseur 6502. Et même si j'ai essayé d'étayer le tout avec beaucoup d'exemples, tout cela est resté très théorique. Aujourd'hui, nous allons vraiment passer à la pratique en réalisant des programmes graphiques pouvant s'exécuter sur une véritable console NES ou sur un émulateur.

Programmation avec le 6502 : trigonométrons !

Magazine
Marque
Hackable
Numéro
33
Mois de parution
avril 2020
Spécialités
Résumé

Lors du précédent article, nous avons parcouru les différents modes d'adressage du 6502, ce qui nous a permis d'élaborer quelques algorithmes simples, notamment pour réaliser des additions ou soustractions sur des nombres entiers de plus de 8 bits et même, des multiplications. Aujourd'hui, nous allons continuer dans cette voie en nous intéressant à la division et même aux nombres décimaux (à virgule), ce qui nous permettra de mettre un pied dans le monde effrayant de la trigonométrie !

Faites dialoguer une carte Arduino avec un vieux Commodore 64

Magazine
Marque
Contenu Premium
Spécialités
Résumé

Il y a des jours où il nous arrive des idées saugrenues mais où, plutôt que de les chasser rapidement de notre esprit, on fonce tête baissée pour les mettre en œuvre. Le jour où je me suis mis en tête de connecter un Commodore 64 à une carte Arduino pour les faire communiquer était un de ceux-là. Pire encore, hors de question de faire cela en BASIC. Si c'est du C côté Arduino, ce sera aussi du C côté Commodore 64 !