jeudi 8 novembre 2012

Yamaha et le MSX (1)

Dés le début du standard MSX, Yamaha a voulu se démarquer des autres constructeurs en créant des extensions sonores et des micro ordinateurs musicaux spécialisés.
Dans ces posts, j'ai essayé de regrouper le maximum d'information sur ce sujet.

Tout d'abord, voici une liste non exhaustive des principaux micro ordinateurs et périphériques Yamaha sur MSX
SFK01 : module sonore FM Sound Synthesizer Unit. Puce YM2151. Pas de port Midi.
SFG01 : module sonore FM Sound Synthesizer Unit. Puce YM2151. Port Midi IN/OUT.
SFG05 : module sonore FM Sound Synthesizer Unit II. Puce YM2164. Port Midi IN/OUT.
YIS503 : micro MSX1, 32 Ko de RAM, port d'extension pour module SFK/SFG
YIS503II : micro MSX1, 64 Ko de RAM, port d'extension pour module SFK/SFG
YIS503III: micro MSX1, 128 Ko de RAM, port d'extension pour module SFK/SFG
CX5M : micro MSX1, 32 Ko de RAM, module SFG01.
CX5MII : micro MSX1, 64 Ko de RAM, module SFG01.
CX5MII/128 : micro MSX1, 128 Ko de RAM, module SFG05, mini cartouche contenant le programme FM Voicing II
CX7/CX7M : micro MSX2, 128 Ko de RAM, module SFG05.
CA01 : adaptateur pour port cartouche : permet de connecter une cartouche standard sur le 2eme port cartouche des YIS503 et CX5M
UCN01 : adaptateur : permet de connecter un module SFK/SFG de 60 pins sur un port cartouche MSX standard 50 pins.
UPA-01 : Lecteur de cartes musicales Yamaha Playcard.
YK-01 : clavier 44 min touches
YK-10 : clavier 49 touches standard
YK-20 : clavier 49 touches standard. pose partition.

voici maintenant la liste des cartouches (format standard MSX) avec différents programmes Yamaha :
YRM-101/YRM-01 : FM Music Composer : permet de creer une partition musicale.
YRM-102/YRM-12 : FM Voicing program : permet de créer des sonorités
YRM-103 : DX7 Voicing program : permet d'éditer les presets du synthé DX7 relié en Midi
YRM-104/YRM-11 : Music Macro : extension du basic MSX avec instructions gérant le module sonore.
YRM-105 : DX9 Voicing Program : permet d'éditer les presets du synthé DX9 relié en Midi.
YRM-301 : MIDI Recorder : séquenceur Midi 4 pistes.
YRM-302 : RX Editor : editeur de rythmiques
YRM-303 : Midi Macro & Monitor : interface avancée de gestion du Midi
YRM-304/YRM-34 : DX7 Voicing Program II : idem YRM-103 avec support du lecteur de disquette
YRM-305 : DX21 Voicing Program : permet d'éditer les presets du synthé DX21 relié en Midi. Support du lecteur disquette.
YRM-501/YRM-55 : FM Music Composer II : idem YRM-101/YRM-01 avec support du lecteur disquettes.
YRM-502/YRM-51 : FM Voicing Program II : idem YRM-102/YRM-12 avec support du lecteur de disquettes.
YRM-503 : Music Macro II : idem YRM-104/YRM-11 avec support du lecteur de disquettes.
YRM-506 : FB-01 Voicing Program : permet d'éditer les presets de l'expandeur FB-01. Support du lecteur de disquettes.

Les modules de sons Yamaha SFK01, SFG01 et certains exemplaires de  SFG05 renferment une puce YM2151 dont voici les caractéristiques principales :
le YM2151 (FM Operator Type M ou OPM) est une puce FM a 4 opérateurs avec 8 notes simultanées (soit 32 opérateurs au total) et 8 algorithmes différents. un LFO global.
Dans les années 80-90, c'etait une puce trés populaire équipant de nombreux jeux d'arcade mais aussi des micro ordinateurs personnels comme le Sharp X68000, la série Sharp X1TurboZ, certains modules Yamaha pour MSX etc...
C'est une puce 24 broches. La sortie est digitale, il faut donc un convertisseur digital/analogique soit stéréo comme le YM3012, soit mono comme le YM3014.
L'horloge interne est fixée a 3.58Mhz, ce qui peut poser un problème avec un micro ordinateur comme le Sharp X68000 qui tourne à 4Mhz.

Les modules SFG05 renferment la puce YM2164 (FM OPerator type P ou OPP) qui diffère trés peu de l'YM2151.
Les différences se situent surtout au niveau de certains registres internes (1 à 7)
Normalement, la compatibilité entre les deux puces est totale. Les problèmes sont surtout dus aux appels du bios du module utilisé. Par exemple, l'expandeur FB01 de chez Yamaha renferme la puce YM2164 et le simple remplacement par une puce YM2151 ne fonctionne pas, certainement parceque le firmware du FB01 a besoin d'initialiser un registre spécial qui n'est pas le même dans le YM2151...

Dans le prochain article, nous parlerons des différents outils permettant d’éditer/de lire des fichiers musicaux MDX (format Sharp X68000) sur MSX grace au driver MXDRV.

mercredi 12 septembre 2012

Hoot - Rune Master 2 (Compile)


Rune master 2 tunes for Hoot (PSG/MSX Music/MSX Audio soundtracks) :
Just put runemst2_msx.zip in the msx folder of the last version of Hoot (20120513)
Reload the list with CTRL-R
Enjoy !

runemst2_msx.zip

mercredi 25 juillet 2012

Le son de Konami - Définition (1)

Au Japon, le 22 aout 1987, Konami sortait sur la première génération de micro ordinateurs MSX un jeu vidéo qui allait faire date. Ce jeu, c'est Gradius 2, une version spécifique pour le MSX de la série Gradius sortie sur bornes d’arcades.
Gradius 2 est exceptionnel a plus d'un titre, le gameplay et les graphismes sont formidables pour un jeu MSX 1, mais la grande force du jeu réside dans son ambiance sonore.
En effet, alors que jusqu'a présent, les utilisateurs MSX se contentaient de musiques sur 3 voies PSG, certes fort belles pour certaines, Konami allait ajouter dans sa cartouche une puce connue sous le nom de SCC (de son vrai nom "sound creative chip" et non pas "sound custom chip"comme on le voit partout) afin d'améliorer sensiblement la musique.
Cette SCC comprenait 5 voies supplémentaires qui venaient s'ajouter aux 3 voies de base, du coup, les  musiques en 8 voix de Gradius 2 signées Furukawa Motoaki (Konami Kukeiha Club) étaient tout simplement sublimes pour l'époque.

Les 5 canaux supplémentaires de la SCC sont des voies dites "Waveform memory" utilisant la synthese "Wavetable" (en Français, table d'onde) bien différentes des voies "PSG".
en musique, la synthèse par table d'onde signifie que l'on peut créer directement la forme d'onde de l'instrument. Pour cela, il faut définir une suite de valeurs positives ou négatives qui au final donneront la forme de l'onde qui sera répétée de façon cyclique.

Attention, le terme "Wavetable" est souvent confondu avec le terme "Wavetable" utilisé a l'époque par les constructeurs de cartes sons PC comme Creative Labs mais ce dernier correspond a une table de samples (échantillons sonores) et n'a donc rien a voir avec ce que l'on vient de décrire.

Voici une petite liste non exhaustive de machines qui sont pourvues de la synthèse par table d'ondes :
1) Konami bubble system (arcade), SCC et SCC+ (MSX et arcade)
2) Namco C15/C30 (arcade), N163 (extension cartouche famicom)
3) Nintendo Famicom Disc System (extension disque pour la famicom)
4) Nintendo Game Boy, Nintendo Game Boy Advance
5) Nec PC Engine, Nec PC-FX
6) Bandai Wonderswan

Note : en ce qui concerne la SCC, elle a une particularité qui fait que la quatrieme et la cinquieme voie utilisent obligatoirement le même instrument (il y a donc 4 instruments possibles simultanément)
Par la suite, Konami a sorti une SCC+ (disponible dans les cartouches de jeux Snatcher et SD-Snatcher) qui lève cette limitation en permettant de faire jouer 5 instruments en même temps.

Interessons nous maintenant a la technique :
Nous avons vu qu'il faut définir une suite de valeurs pour définir l'onde voulue. Ce nombre de valeurs varie en fonction des puces. Pour la SCC, on définira ainsi 32 valeurs successives héxadécimales en binaire signées qui peuvent prendre les valeurs suivantes : 0 représente la valeur médiane,  les valeurs 1 à 127 (01H à 7FH) correspondent a des valeurs de plus en plus positives et les valeurs -1 à - 128 (FFH à 80H) a des valeurs de plus en plus négatives.
- exemple pour faire une onde carrée :
7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F7F80808080808080808080808080808080
- exemple pour faire une onde en dent de scie :
101020203030404050506060707080809090A0A0B0B0C0C0D0D0E0E0F0F00000

dans un prochain article, nous verrons comment exploiter le potentiel de la SCC avec le driver MGSDRV sur MSX




vendredi 1 juin 2012

MSX-FAN BGM


La revue MSX FAN était une une revue Japonaise mensuelle consacrée au standard MSX.
A partir du mois d'octobre 1991, cette revue était accompagnée d'une ou de plusieurs disquettes remplies d'informations mais aussi de programmes ou de musiques crées par les lecteurs.
Aujourd'hui, nous allons nous intéresser aux musiques FM composant le background de la disquette, c'est a dire les musiques qui accompagnaient généralement chaque page de lecture présente dans la disquette.

Ces musiques ont un format particulier, si on fait un listing du contenu de la disquette, on  s’aperçoit qu'elles portent l'extension BGM ou OPL mais ici, rien a voir avec les BGM que l'on connait avec le format Musica, car ce sont en fait des fichiers binaires (BIN) qui exploitent directement le matériel MSX.

Mais ce n'est pas tout, passons maintenant à la surprise ^^

en effet, il existe un programme pour MSX-DOS qui s’appelle Midi Sound Performer (MSP). Ce programme est a la base un très bon lecteur de fichiers Midi mais on peut aussi lui ajouter des plugins, notament un plugin qui permet de lire ces fameux fichiers BGM ou OPL extraits des disquettes MSX FAN.
Du coup, ces musiques peuvent être transformées a la volée en musiques MIDI !

Site pour récupérer le programme et son plugin M-OPLL Playback Module :
Midi Sound Performer