Skyduino:~#
Articles
arduino, C/C++, programmation, projet

[Avr/Arduino] Code de test pour chipset SN76489

Bonjour tout le monde !

Comme promis dans mon précédent article voici venu la suite de mon aventure dans le monde old school de la Megadrive ;)
Au programme du jour : un second code de test, pas pour le YM2612 mais pour le chipset SN76489 cette fois ci.
Et comme ici c’est du serious business, ce code, comme celui précédent est compatible Arduino UNO.

SN76489? Nani sore?

(tient je me demande combien de lecteurs vont comprendre ce que veut dire la phrase si dessus ;))

DSCF0604

Le SN76489 est un petit circuit logique conçu par Texas Instruments dans les années 1980-1982.

Ce circuit fait parti de la famille des « DCSG » = « Digital Complex Sound Generator », mais en réalité c’est juste un générateur de signaux carrés à fréquence variable …
Le SN76489 possède seulement 3 canaux programmables générant chacun un signal carré de fréquence modifiable et un canal générant du bruit blanc.
Rien à voir donc avec les capacités de synthèse musicale du YM2612.

PS: Le SN76489 est aussi communément appelé un « PSG » pour « Programmable sound generator ».

Pour plus d’informations :
http://en.wikipedia.org/wiki/Texas_Instruments_SN76489

Le code de test

Le code de test que j’ai réalisé est conçu pour pouvoir fonctionner indifféremment sur breaboard ou avec une carte Arduino UNO.
C’est du code 100% fait main qui a demandé pas mal de gueulantes à cause du datasheet foireux de Texas ;)

Ce code de test est très simple : il joue une série de trois notes (Sol, La, Si) puis un temps de bruit blanc indéfiniment.
Je sais ce n’est une fois de plus pas très impressionnant mais c’est déjà mieux que le code de test pour le YM2612.

Le code source est disponible sur mon github ici :
https://github.com/skywodd/avr_vgm_player/tree/master/sn76489_test

EDIT :
A) Comment compiler le code source avec l’IDE Arduino puisqu’il s’agit d’un projet « compatible Arduino UNO » ?
1) Allez sur mon projet github
2) Téléchargez le fichier sn76489_test.c
3) Renommez le en sn76489_test.ino et placez le dans un dossier nommé « sn76489_test »
4) Ouvrez le tout avec l’IDE Arduino
5) Enjoy !

B) Ou trouver le câblage des broches ?
1) Allez sur mon projet github
2) Regardez en bas de page. J’ai fait un joli tableau

Pour plus d’informations sur le fonctionnement interne du SN76489 :
http://www.smspower.org/Development/SN76489
http://members.casema.nl/hhaydn/howel/parts/76489.htm

Remarques :
– Dans le document du second lien les bits F0 à F9 sont inversés !
– Le SN76489 génère un signal à 500KHz constamment, même sans signal sur la broche CLOCK.
(Je sait pas comment ni pourquoi mais c’est comme ça. NB: ce signal à 500KHz n’est pas audible)
– Par défaut le SN76489 génère un bruit modulé lorsqu’il n’est pas initialisé.

Le montage

Comme pour l’autre fois je n’ai pas eu le courage de refaire le montage en version Arduino, mais c’est exactement la même chose.

DSCF0597

À gauche la partie microcontrôleur, à droite la partie SN76489.

DSCF0600

En bas la partie programmation ICSP, en haut … surprise ;)

Le schéma des deux parties :

DSCF0607

(c’est exactement le même montage que pour le code de test du YM2612)

DSCF0610

C’est quoi ce truc en haut ?

Bonne question hein ;)

DSCF0590

Mon premier code de test ne marchait pas et ce sans raison visible.
J’ai donc du debug à la main le circuit avec des petits dip-switch pour placer les bits un à un de chaque octets et faire les chargements parallèles.
Ça était long, très long même, mais au final j’ai pu découvrir l’origine bug : un simple probléme de timings !

Bon WE à tous et bon bidouillage :)

About these ads

Discussion

5 réflexions sur “[Avr/Arduino] Code de test pour chipset SN76489

  1. On veut entendre la musique !!!!
    Fais nous danser Skywodd :)

    Publié par barbudor | 21 septembre 2013, 14 h 04 min
  2. aaah texas et les datasheets foireuses! une spécialité maison!

    Publié par f4grx | 21 septembre 2013, 14 h 54 min
  3. « Qu’est-ce que c’est que ça? » Par contre j’ai oublié les hirganas… Je vieillis, faut que je me remette au japonais

    Publié par Thomas Lecavelier | 24 septembre 2013, 8 h 31 min

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Archives

Wow. Dogecoin. Amaze.

Laissez un tip en Dogecoin

DMMNFk6WBVTpx2Wu1Z35GL61QXSd6r6WQx

Suivre

Recevez les nouvelles publications par mail.

Rejoignez 769 autres abonnés