mardi 15 janvier 2019

Drumulator : how to switch between two banks of sound?

Originally, the Drumulator has a basic sound bank. Over the time, some people wanted to replace the original sounds. The operation was not very difficult since it was enough to replace the four basic EPROMs with four others containing the new sounds.

The original mother board.
Replacing the original sounds was a good idea, but in this case, the basic sounds were lost. Then additional printed circuits board appeared, which allowed to switch between two or more banks of sound :


or the more famous JL Cooper board:


Why not! But these boards have the disadvantage of being large and must contain a large number of EPROM. 2 x 4 EPROMs for two sound banks plus possibly two EPROMs for the system if Digidrum sounds are used for a total of 10 EPROMs, just for two banks of sound!

So I thought it might be better to concatenate four 16K byte EPROMs into one 64K byte. This makes it possible to propose two banks of sounds in only two EPROMs. So I developed an electronic board that contains two banks of sound that can be selected with a simple switch.

The result is a small circuit board :

The switch in not yet connected...
Well. The problem is that if you want to have a Digidrum sound bank, you also need a modified system EPROM.

In the same way, I decided to develop a circuit board allowing to select two system EPROMs.

Here too, the principle has been to concatenate two system EPROMs into a single EPROM. This requires some file manipulations to be programmed in the final EPROM, but this makes it possible to build a small printed circuit board :


Not bad, isn't it?

But that's not all. On this circuit board I added the following features :

  • Two banks of RAM selectable by switch.
  • 20CR32 battery backup with socket, instead of the original big battery.
  • Better RAM protection when turning the machine on / off (nerver more the 'Bad' message).
  • Implementing the MIDI interface.
  • Control of the EEPROM sounds board if necessary (in case of one Digidrum sound bank).
  • And, obviously, the selection of two system EPROMs. 
And voilà!

Only two small and easy modifications are to be made on the motherboard for the power good function (juste one wire to be soldered), and for the MIDI function (two pin to be soldered together on the IC13F as the 'normal' MIDI extension).

Therefore, it is also possible to remove the 'DIY' MIDI interface of this kind :


Hum!!!

And now, an expanded Drumulator :


Sérial  #1477 :


Enjoy!

jeudi 13 décembre 2018

Drumulator OS SWITCHER

Après quelques modifications mineures de la première version du circuit imprimé dédié au switch de l'OS, voici à quoi devrait ressembler le circuit final:



Je viens de lancer la fabrication du premier batch de cartes.

Pou rappel, cette carte apporte les fonctionnalités suivantes : 
  • Possibilité de switcher entre deux OS.
  • Commande le switch des Wave Rom associées.
  • Ajoute une banque supplémentaire de SRAM sauvegardée.
  • Remplace la pile de sauvegarde par une simple pile 20CR32 sur support.
  • Implémente l'interface M.I.D.I.
Il n'y a plus qu'à attendre les circuits et effectuer les tests fonctionnels...

mercredi 28 novembre 2018

K7 et Bandes Audio en 2018

Je ne m'étais jamais vraiment penché sur ce qu'il en est aujourd'hui des 'vieux' médias d'enregistrement que sont la K7 (ou cassette), et la bande audio. Jusqu'à maintenant, je m'étais toujours débrouillé pour trouver en occasion les médias nécessaires à mes utilisations :



De bien beaux et très efficaces appareils d'enregistrement!

Et bien il est toujours possible de se procurer des produis neuf, que ce soit de type K7 ou bande. Je viens de recevoir ceci par la poste :


Un pack de 10 cassettes type I absolument neuves et fraichement sorties de production, ainsi qu'une bande de type SM900 en 1/4 de pouce pré-magnétisation NAB. Il ne reste plus qu'à juger de la qualité sonore de ces deux médias, in situe.

Je n'effectuerai pas de mesures techniques sur ces supports, je me contenterai de m'en faire une idée en utilisation normale sur un ensemble de matériels connus. Après tout, je n'attends pas de ces médias 'analogiques' une qualité et un rendu équivalent au numérique. C'est même pour cette raison que j'enregistre sur ce type de support...


Drumulator OS SWITCHER

Pour faire suite à la carte permettant l'implémentation de deux banques de sons sur la carte mère de la Drumulator :


Je viens de terminer la pré-étude du même type de carte, mais cette fois dédiée à la sélection du type d'OS de la machine. Le but étant d'ajouter la possibilité de switcher entre l'OS standard de la Drumulator et un OS spécifique du type Digidrum, en accord avec un set de sons de type la aussi Digidrum. Voici ce que cela donne version face :


Et version pile :


Il y a du monde, bien plus que le strict nécessaire à la permutation de deux OS.

Sur cette carte, j'ai aussi prévu de concaténer les deux OS possibles à l'intérieur d'une seule ROM. Cela permet de gagner énormément de place et donc d'implémenter d'autres fonctionnalités intéressantes, moyennant une petite manipulation des fichiers en ROM, mais cela ne présente aucune difficulté.

En fait j'ai implémenté les fonctions suivante :

  • Switch entre deux OS.
  • Passage à deux banques de SRAM permettant la sauvegarde de deux séquences.
  • Mise en place d'une sauvegarde de type pile 3V 20CR32 pour remplacer la batterie d'origine.
  • Sécurité d'écriture en SRAM renforcée.
  • Permet la commande du switch de banque de sons.
  • Implémentation de l'interface M.I.D.I.

La mise en place de toutes les fonctionnalités demandera deux petites interventions sur la carte mère de la Drumulator avec deux pontages à effectuer. La encore, rien de compliqué... J'ai encore quelques vérifications à effectuer sur cette étude avant la mise en production, qui ne saurait tarder...


mardi 20 novembre 2018

RETROAKTIV MPG-70 pour Roland Super JX et MKS-70

Une petite info. potentiellement intéressante pour les possesseurs de ROLAND Super JX et MKS-70 :


Un 'petit' panneau de contrôle bien sympathique avec de vrais boutons et curseurs. Certes le coût d'un tel produit n'est pas exactement anodin puisque actuellement de 850$ en version assemblé et de 650$ en version kit.

L'appareil est compatible avec les extensions de Frederic Vecoven ce qui le rend absolument attractif.

Pour en obtenir un exemplaire c'est sur le site de Retroacktiv!


lundi 12 novembre 2018

Estas Tonne

Estas Tonne était à Paris ce samedi 10 novembre 2018 :



Sur Youtube c'est déjà pas mal, mais en live c'est vraiment autre chose : https://estastonne.com

mercredi 7 novembre 2018

Drumulator et FPGA

Dès lors que j'ai commencé à travailler sur la boite à rythme Drumulator achetée il y a deux ans en pas très bon état, je me suis dit que cela pourrait être 'sympa' de recréer la machine avec les technologies modernes. Il est vrai que le côté 'roots' et vintage de la machine plaide en sa faveur :


De plus, depuis quelques temps je travaille sur un adaptateur de WAVE ROMs pour rendre la mise en place de sets de batteries plus pratique. Il est vrai que ce genre de customisation est très en vogue aujourd'hui. Non sans raison d'ailleurs puisque cela permet de profiter du traitement sonore analogique avec d'autres sons de batterie. Il est vrai que le principe de codage utilisé dans les machines de cette époque, du huit bits non linéaires offrant une dynamique de 12 bits, donne un résultat très... percussif!

J'ai déjà traduit l'ensemble de la partie processeur de cette Drumulator en VHDL et implémenté le tout avec succès dans une carte de développement à base de FPGA Altera, Intel maintenant:


Forcément, d'une part cette implémentation n'est pas la plus compliquée à effectuer mais en plus, toute la partie analogique est absente. Hormis le message "bAd" au démarrage indiquant que le contenu de la mémoire sauvegardée est corrompu, et pour cause puisque sur cette carte la SRAM est totalement volatile, il ne se passe pas grand chose. Evidemment, c'est quand même un très bon début.

Pour continuer l'implémentation VHDL de la machine, le 'gros morceau' auquel il convient de s'attaquer est le séquenceur interne qui génère les adresses d'accès aux WAVE ROMs externe. Sur le papier, le schéma n'est pas très compliqué :



Ces deux schémas représentent le micro-séquenceur, en haut, qui gère tous les accès aux registres, en bas, déterminant au final les adresses en cours de tous les sons. L'ensemble est en mesure de traiter huit sons simultanés et un espace mémoire totale de 64Ko. Je ne rentrerai pas dans les détais du fonctionnement de ce système, il est assez simple à comprendre. La partie cachée, à savoir le contenu de la ROM du micro-séquenceur, peut être déduite. Mais j'ai préféré dessouder le circuit de la carte de la machine, puis le lire avec un petit montage Arduino. De sorte que j'ai pu récupérer le contenu des 32 octets utilisés par EMU.

Muni de toutes ces informations, il n'y a plus qu'à lancer le logiciel Quartus puis se remettre au VHDL. Finalement, à chaque fois que je m'y remets, je trouve ce langage de plus en plus facile et pratique :


Après quelques heures de 'dur' labeur, la compilation se passe correctement. Les 'warnings' reçus sont tout à fait normaux étant donné la configuration du système. Je n'ai pas du tout déclaré de signaux d'horloge, l’analyseur ne peut donc effectuer correctement son travail, et me le dit avec force messages. Bon, un circuit qui au final fonctionne à 833KHz ne devrait pas me poser trop de problèmes. L'étape suivante consiste maintenant à tenter d'interfacer une carte FPGA contenant ce programme dans l'environnement de la Drumulator que je possède. Je n'ai pas encore vraiment pensé au problème. J'attends le circuit imprimé du support de WAVE ROM que j'ai créé :



Une fois que j'aurai testé ce circuit, normalement implémenté dans la Drumulator, j'en utiliserai un autre que je raccorderai à la carte FPGA, ce qui devrait me permettre de générer les données numériques comme souhaité. Par contre il me faudra implémenter la partie accès du système par le processeur de la machine, ce qui représente un certain nombre de connexions à réaliser puisque'il faudra au moins le bus de donnée du Z80 plus les signaux de sélection fournis par la glue logique. Sans compter les obligatoires circuits d'adaptation des tensions parce que la carte FPGA accepte au maximum du 3,3V alors que l'ensemble de la logique de la Drumulator est en 5V, technologie de l'époque oblige.

Mais bon, chaque chose en son temps!

UPDATE [12-11-2018] Je viens de recevoir le circuit imprimé de l'extension de mémoire de sons. Monter le premier prototype ne m'a pris que quelques minutes étant donné le faible nombre de composants du circuit :


L'emplacement de gauche devrait recevoir un support à force d'insertion nulle plutôt qu'un support standard, ce qui devrait permettre un échange vraiment plus commode de sets de formes d'ondes dans cette Drumulator. Pour l'instant je ne l'ai pas monté. Je vais d'abord tester le montage de base en condition normale :


Cela n'est pas pour me lancer des fleurs, mais quand même, cette version est un peu plus 'pro' que tout ce que j'ai pu voir jusqu'à maintenant (sous réserve que cela fonctionne, bien évidemment).

Je n'ai pas encore testé le principe, mais je pense qu'il devrait être possible avec cette version, d'utiliser un émulateur de RAM inséré dans le support à force d'insertion nulle. Cela devrait permettre un test auditif de banques de sons faites à la demande sans avoir à programmer au préalable les quatre ROMs habituelles. Un gain te temps et une plus grande flexibilité du système est donc à attendre dans le processus de création de banques sonores.

UPDATE [13-11-2018] J'ai utilisé un émulateur de PROM que l'on peut trouver sur Ebay pour un prix tout à fait correct. Il est fabriqué par l'entreprise Polonaise Momik. Il émule sans difficulté une mémoire de type 27C512 d'une capacité de 64Ko, total de ce que peut adresser le générateur sonore interne de la boîte à rythmes :


Au démarrage du système, les pads A, B, C et D de la Drumulator ne génèrent aucun son. Une fois cet émulateur de PROM chargé avec le fichier concaténé des quatres ROMs de base, le fonctionnement de la machine redevient normal avec les sons attendus sur tous les pads. Je ferai peut-être une petite vidéo du sujet...