mardi 19 janvier 2016

Yamaha et le MSX (2)

Documentation officielle Yamaha :
YIS503F mode d'emploi (FR)
CX5M mode d'emploi (FR)
CX5MU Service Manual (ENG)
CX5M YIS503 Service Manual (ENG)
CX5M YIS503 Parts List (ENG)
CX5M YIS503 AX100 Technical Summary (ENG)
CX5MII mode d'emploi (FR, ENG)
CX5MII Service Manual (ENG)
Manuel de référence du MSX Basic Yamaha (FR)
SFK-01 FM Sound Synthesizer Unit (Owner's Manual) (ENG)
SFG-05 FM Sound Synthetiseur (Mode d'emploi) (FR)
SFG-05 Music Bios Reference Manual (ENG)
UPA-01 Lecteur de cartes Musicales (mode d'emploi) (FR, ENG)
YM-2151 Datasheet (ENG)
YM-2151 Application Manual (ENG)
YM-3012 DAC Application Manual (ENG)
YM-3802 MIDI Controller (ENG)


Cartouches :
YRM-101 FM Music Composer (manuel d'utilisation) (FR, ENG)
YRM-102 FM Voicing Program (manuel d'utilisation) (FR, ENG)
YRM-103 DX7 Voicing Program (manuel d'utilisation) (FR,ENG)
YRM-104 FM Music Macro (manuel d'utilisation) (FR, ENG)
YRM-301 Midi Recorder (Manuel d'utilisation) (FR, ENG, DE)
YRM-502 FM Voicing Program II (manuel d'utilisation) (FR)
CMP-01 FM Auto Arranger (manuel d'utilisation) (FR, ENG)


Doc non officielle :
Atelier Musique et Informatique - Les SFG01 et SFG05 programmation (FR)
Atelier Musique et Informatique Hors Serie - Intro aux processeurs fm yamaha (FR)
Yamaha FM-Sound Synthesizer Unit documentation Ver:1.0 (NYYRIKKI) (ENG)
YM2151 Timing Diagram (Jarek Burczynski) (ENG)


Doc tirée de revues :
Comment faire parler son CX5M ! (revue inconnue pages 88-89) (FR)
Adresses d'accès au synthétiseur Yamaha (MSX Magazine 3 page 29) (FR)
Adresses d'accès au synthétiseur Yamaha (MSX Magazine 4 pages 12-13) (FR)
Recherche du synthétiseur Yamaha dans les slots (MSX Magazine 7 page 23) (FR)


Doc divers programmes :
CX-VM-01 CX Voice Master (User's Manual) (ENG)
DMS16 Sequencer Getting Started (ENG)
DMS1 Real time sequencer Manual (ENG)
MXP : ensemble de logiciels, adaptation sur MSX du driver original MXDRV pour X68k permettant de créer, compiler et lire du MML MDX (JAP)
JIGSAW : plugin pour le logiciel MSX Moondriver permettant d'utiliser du MML SFG avec une Moonsound (JAP)

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

jeudi 22 décembre 2011

Tutorial MML avec MuSICA : partie 1 (généralités)

Aujourd'hui, on s'attaque a un gros morceau et pour ne pas surcharger les sujets, on va faire ça en plusieurs étapes.
Le but de ces tutoriaux est de décrire de manière simple la composition musicale sur micro ordinateurs MSX avec ce que l'on appelle communément le Music Macro Langage (en abrégé MML)

Pour cela, nous allons utiliser le programme le plus ancien mais aussi le plus flexible sur MSX, j'ai nommé "MuSICA" que vous pouvez recuperer sur le lien en bas de page.

"MuSICA" est un programme qui a été diffusé dans la revue Japonaise "MSX Magazine". C'était un des tout premiers programme en basic permettant de faire simplement de la musique sur MSX. Il a donc rencontré un succès considérable au Japon, d'autant plus qu'il pouvait gérer simultanément trois puces audio, a savoir le PSG (Programmable Sound Generator) disponible dans tout micro MSX, mais aussi la SCC (Sound Custom Chip) présente dans certains jeux en cartouche Konami ainsi que le MSX Music disponible en standard dans les MSX2+/turboR et dans la cartouche FMPAC de Panasonic.

Mais d'abord, qu'est ce que le MML ?

Il s'agit en fait d'une sorte de language de programmation trés simple avec des "macros" comprenant des instructions sonores regroupée dans un fichier au format texte.
Ces instructions sont spécifiques de la plateforme utilisée mais on retrouve souvent des similitudes d'un programme a l'autre.
Les instructions sont classées en deux catégories : d'une part, les instructions de création de sonorité (on parle aussi de "Voix"), d'autre part, les instructions musicales proprement dites (la partition). Il va sans dire qu'une bonne connaissance des puces utilisées est nécéssaire pour se lancer dans la création de sons mais je vous décrirai ça petit a petit.

Le fichier texte, une fois rempli d'instructions, a besoin d’être compilé par un programme dit "compilateur" pour former un fichier lisible par le programme dit "player"

"MuSICA" permet d'éditer facilement le code MML et de le compiler, en revanche, ce n'est pas vraiment un "lecteur" car même si l'on peut écouter la musique lors de l'édition, une fois compilé, le fichier ne peut plus être lu par "MuSICA", il faudra donc un autre programme "player" sur MSX ou sur windows, pour çela, je vous conseille d'aller voir le tableau récapitulatif.

En ce qui concerne les extensions des fichiers utilisés par MuSICA, elles sont au nombre de 3 :
  1. fichiers de type ".VSD" : fichier regroupant les Voix (sonorités) définies dans l'éditeur.
  2. fichiers de type ".MSD" : fichier regroupant les instructions Musicales proprement dites.
  3. fichiers de type "BGM" : fichier compilé regroupant l'ensemble des instructions (Voix et Musicales)
La prochaine fois, nous verrons la définition des Voix et ensuite, nous attaquerons la création en elle même.
A suivre donc...

PJ : Musica (image de disquette)

    mercredi 21 décembre 2011

    Puces Yamaha sur MSX

    Aujourd'hui, je vous propose une liste exhaustive des différentes puces sonores Yamaha utilisables sur MSX avec leurs caractéristiques principales.

    Y8950
    • Dérivée de la puce YM3526 (OPL pour FM OPerator type-L), elle dispose de 2 modes de fonctionnement : 
      1. 9 canaux FM (2 opérateurs)
      2. 6 canaux FM (2 opérateurs) et 5 canaux Drums
    • Norme MSX AUDIO
    • Disponible dans 3 cartouches MSX : Panasonic FS-CA1 (Japon), Philips NMS-1205 (Music Module : Europe), Toshiba HX-MU900 (Japon)
    • La plupart des softs essayent d’accéder à la rom Audio Basic que l'on trouve uniquement dans la cartouche Panasonic. Afin d'utiliser ces logiciels avec les deux autres cartouches, il existe une commande a exécuter pour faire croire au programme que la rom est bien présente :
      POKE -54,35:POKE&HF346,1:_SYSTEM
    • Cette puce se retrouve aussi dans une carte d’extension pour micro ordinateurs Japonais PC98.

    YM2413B
    • Aussi appelée OPLL (pour FM OPerator type-LL), elle dispose de 2 modes de fonctionnement : 
      1. 9 canaux FM (2 opérateurs)
      2. 6 canaux FM (2 opérateurs) et 5 canaux Drums
    • Norme MSX MUSIC
    • Disponible en standard dans de nombreux micro ordinateurs MSX2+ et dans les Panasonic TurboR, on la trouve également dans la cartouche Panasonic SW-M004 (FM PAC) associée a une mémoire de sauvegarde S-RAM pour certains jeux.
    • Par rapport à sa grande soeur (OPL), il existe de sérieuses limitations dans ses capacités, par exemple, on doit choisir parmi une liste d'instruments imposée en ROM et on ne peut utiliser qu'un seul instrument software a la fois.
    • Cette puce se retrouve aussi dans les versions Japonaises de la Sega Mark III/Master System.

    YMF278B-F
    • Aussi appelée OPL4 (pour FM Operator type-L version 4), elle est basée sur la puce YMF262-M (OPL3) dont elle reprend les mêmes caractéristiques, elle dispose de 4 modes de fonctionnement :
      1. 18 canaux FM (2 opérateurs)
      2. 15 canaux FM (2 opérateurs) + 5 canaux Drums
      3. 6 canaux FM (4 opérateurs) + 6 canaux FM (2 opérateurs)
      4. 6 canaux FM (4 opérateurs) + 3 canaux FM (2 opérateurs) + 5 canaux Drums
    • On la trouve exclusivement dans la cartouche "Moonsound" pour MSX.

      YM2151
      • Aussi appelée OPM (pour FM OPerator type-M), elle a un seul mode de fonctionnement : 8 canaux FM (4 opérateurs, 8 algorithmes)
      • Disponible dans les cartouches d’extension "Sound Synthesizer Unit" pour micro ordinateurs MSX de la gamme Yamaha : SFK01(sans support Midi) et SFG01( avec support Midi). Le SFG01 est également disponible en standard dans certains micro ordinateurs Yamaha MSX1 : CX5F et CX5M.
      • Cette puce est présente dans le module de son Yamaha FB-01 mais aussi dans les micro ordinateurs Japonais Sharp X1 et X68000 dont elle a fait la renommée

      YM2164
      • Aussi appelée OPP (pour FM Operator type-P), elle est dérivée de l'OPM dont elle reprend les mêmes caractéristiques.
      • Disponible dans les cartouches d’extension "Sound Synthesizer Unit II" pour micro ordinateurs MSX de la gamme Yamaha: SFK05 (sans support Midi) et SFG05 (avec support Midi). Le SFG05 est également disponible en standard dans certains micro ordinateurs Yamaha MSX1 (CX5F modele 2, CX5M modele 2, CX5MII, CX5MII/128) et MSX2 (CX7, CX7/128)
      • Cette puce se retrouve aussi dans certains synthétiseurs Yamaha de la gamme DX (DX21, DX27)