Roland JX-10 – Nuova gloria ad un gigante del passato (terza parte)

Written by Antonio Antetomaso on . Posted in Gear

Ben ritrovati. E’ tempo di passare in rassegna tutte le meravigliose iniziative di reverse engineering condotte sul Roland JX-10 e sulla sua versione rack, MKS-70.

Di Antonio Antetomaso

COPERTINA

Per chi si fosse perso la prima e la seconda puntata, esse sono disponibili qui e qui. In pratica, consci del fatto che il valore della macchina originale fosse in un certo qual modo rimasto ingiustamente celato dai limiti esaminati nella seconda puntata (organizzazione delle patch, assenza del midi, aftertouch, ecc.), alcuni appassionati nonchè esperti di elettronica e di programmazione di basso livello si sono lanciati in iniziative di analisi e riprogettazione di alcune parti significative del synth allo scopo di “ammodernarlo” risolvendo, tra le altre cose, i problemi di interfacciamento e di programmazione.

Procediamo quindi per ordine, analizzando una per una queste attività ed evidenziando, soprattutto, come fare per recepirne i frutti anche sul nostro JX-10, casomai fossimo felici possessori di questo synth.

Aggiornamento del Firmware

Il cuore pulsante del synth è analogico e su questo non ci piove, ma il controllo dei parametri di interfaccia e di sintesi, il MIDI, la gestione delle patches e dei toni è digitale ed affidato in particolare ad un micro codice all’interno di una memoria ROM, una EEPROM nel dettaglio. Tale EEPROM è inserita all’interno di un socket sulla scheda madre di controllo della tastiera, la assigner board.

FIGURA1

In figura è mostrata, non a caso, la scheda in questione con la ROM inserita.

Ebbene, prima tale Colin Fraser e poi tale Fred Vecoven si sono lanciati nel disassemblaggio del micro codice contenuto all’interno della ROM e nel suo studio allo scopo di individuare ed attuare possibili interventi di miglioramento.

Quello che è venuto fuori è che la parte di codice a governo dei parametri di sintesi era scritta abbastanza bene e non necessitava di interventi, ma la parte di firmware dedicata ai parametri di interfacciamento, ai parametri globali di governo della macchina e al MIDI era un vero disastro.

Il primo a risolvere quantomeno il problema del MIDI e consentire dei midi dump in formato SYSEX delle patches contenute nella memoria interna del SYNTH, dalla macchina ad un computer e viceversa è stato Colin Fraser.

Il suo lavoro è stato quello di disassemblare il firmware originale, studiarlo e “mettere una pezza” che consentisse quantomeno di consentire il dump di patches e toni attraverso il protocollo midi, utilizzando messaggi system exclusive e di modificare via midi il tono selezionato.

Risultato dei suoi sforzi è stato il firmware 2.30, una vera e propria pietra miliare nella storia di questa macchina, dal momento che non solo erano state spalancate le porte verso il mondo dell’interfacciamento con l’”esterno”, ma erano state di fatto gettate le basi per il percorso di reingegnerizzazione più sofisticato e importante di tutti, quello di Fred Vecoven.

FIGURA2

Il mio JX-10 è arrivato con a bordo la EEPROM di Fraser e questo mi ha consentito di fare dei primi esperimenti con il trasferimento da/al computer. In effetti, seppur funzionante, il meccanismo era assai limitato: non tutti i tools erano compatibili (Sound diver non funzionava nonostante quanto descritto), l’unico utilizzabile era “CPJXWIN” e il trasferimento in entrambe le direzioni era in ogni caso guidato dalla tastiera, mediante una procedura di handshake con il computer che spesso falliva.

La possibilità di utilizzare l’editing del tono selezionato via MIDI ha inoltre aperto un’importante possibilità, quella della programmazione mediante iPad, mediante una app chiamata iPG-800 che, con molta fantasia, replica in modo fedele il programmatore PG-800.

FIGURA3

L’app funziona alla grande e soprattutto costa poco (4.99 euro). I soldi li vale tutti, credete a me.

Tornando a noi, se volete approfondire in merito al lavoro di Fraser, recatevi qui.

Ora la ROM di Fraser non è più in vendita perchè lo stesso autore ha deciso di cedere il passo al lavoro di Fred Vecoven che ci accingiamo finalmente a descrivere.

Fred è un ingegnere che vive a Lussemburgo e che ha deciso di coniugare la sua passione per questo sintetizzatore con le sue spiccate competenze in campo elettronico e di micro programmazione. Imboccato anche da Fraser, come egli stesso dice, ha disassemblato a sua volta il microcodice del JX-10 ed ha passato quasi un anno a studiarlo per cercare di capire come meglio intervenire per sopperire a tutti i suoi punti deboli.

Alla fine, coadiuvato anche dall’ambiente di sviluppo e test da lui realizzato, si è reso conto che non c’erano grandi possibilità di manutenere o far evolvere il codice attuale e che forse valeva la pena di RISCRIVERLO TUTTO!

FIGURA4

FIGURA5

Il risultato è arrivato alla fine del 2013, con il primo firmware in versione 3.0 pronto per la fase di beta testing montato su un microchip più moderno e veloce benchè compatibile con quello originale naturalmente.

La fase di beta testing è stata condotta in crowd funding dopo aver reclutato una squadra di eletti sul forum Gearsluts. Qui trovate tutto il thread in merito.

Alle attività di beta testing ha partecipato anche il nostro caro amico Michele Tornatore che ha fornito a Vecoven diverse idee e spunti di miglioramento oltre a contribuire a diffondere in Italia la “lieta novella” del nuovo firmware nonchè a far innamorare anche lo scrivente di questa macchina.

FIGURA6

OK, ok…si può sapere che ha di speciale questa ROM? Presto detto, una volta correttamente installata (e sottolineo correttamente, invitando a prestare la massima attenzione al verso di inserimento della EEPROM, pena effetto fumo) essa:

  • Rende pienamente implementato il protocollo MIDI e consente di decidere per ogni parametro del synth se esso debba esse modificabile via MIDI, debba trasmettere i dati relativi ad esso via MIDI o entrambi i comportamenti;
  • Rende pienamente interfacciabile mediante SYSEX sia l’editing di una patch sia l’editing di entrambi i toni che la compongono. In tal modo iPG-800 non solo comanda il synth che è una bellezza, ma cambia di stato al cambio di patch e alla selezione di uno dei toni, offrendo di fatto un comportamento semplicemente non possibile nel programmatore originale;
  • Rende pienamente editabile ogni singolo parametro di sintesi via messaggi CC NRPN. Questo consente (ad esempio) di programmare una qualunque app di controllo assai facilmente. Lo scrivente ne ha approfittato, ehehehe;
  • Rende possibile il trasferimento in bulk bidirezionale in circa 5 secondi, con possibilità di regolare il rate di traferimento per adattarlo al software utilizzato (con Sounddiver dovete metterlo al minimo, sennò non va);
  • Rende possibile la copia tutta la memoria interna (patches, toni e parametri) in modo bidirezionale: dalla memoria interna alla cartridge M-64C e viceversa.

 

E ancora:

  • Rende possibile assegnare qualunque parametro di uno dei due toni o di entrambi agli unici due sliders programmabili del synth (C1 e C2), in modo da accontentare quelli che il PG-800 non ce l’hanno e avvicinare il synth ad un’utilizzo dal vivo;
  • C1 e C2 possono essere usati per editare rapidamente i parametri dei toni upper e lower. Ancora, con questa novità è consentito un minimo di “spippolamento” in live;
  • Introduce un arpeggiatore al posto dello step sequencer, comandabile mediante i pulsanti utilizzati in origine per quest’ultimo. L’arpeggiatore è assolutamente degno di nota (8 patches, 4 tipi di arpeggio, sincronizzabile esternamente, con velocità ed escursione regolabili) e per esso è possibile salvare 8 patterns custom di arpeggio. Peccato per l’unico neo che da veramente sui nervi: l’arpeggiatore si attiva solo sulle note della sezione lower, dal C0 al B3. Per quanto mi sia sforzato e confrontato con Michele, sia io che lui non abbiamo ben compreso questa scelta.

 

L’EEPROM costa 40 euro più spedizione e Fred è veramente una persona squisita e disponibile. In pratica vi sto dicendo che non esiste ragione per non comperare l’aggiornamento se avete un JX-10. Per farlo basta inviargli una mail e prendere accordi con lui. Il montaggio è veramente facile e ben descritto nelle guide allestite da Michele, il quale si è occupato tra le altre cose di aggiornare anche il manuale del synth per allinearlo alle novità introdotte. Trovate tutto qui.

 

Introduzione della Pulse Width Modulation

Eh si! Il lavoro di Fred non si è fermato alla EEPROM. Egli ha progettato e realizzato una modifica hardware che:

  • Aggiunge la possibilità di effettuare PWM sulle forme d’onda quadre di DCO1 e DCO2 (manuale e automatica);
  • Aggiunge nuove sorgenti di modulazione: 2 inviluppi e un LFO.

FIGURA7

La modifica viene venduta sotto forma di KIT che comprende due schede PCB (una per il tono UPPER e l’altra per il LOWER) chiamate daughter boards, tre nuove ROM da installare, due CPU 80C320, due sockets, componenti aggiuntivi e istruzioni per il montaggio.

Sono richieste competenze in campo elettronico in quanto c’è dissaldare due CPU da 40 PIN ciascuna e da effettuare 36 saldature verso le schede aggiuntive. Insomma, se non siete esperti (come me) e non avete nessuno di fiducia che possa svolgere il lavoro potrebbe non valere la pena cimentarsi, pena arrecare danno al synth.

Inoltre, caveat emptor, il synth diventa praticamente un’altra macchina: cambiano i parametri, cambia il meccanismo di interfacciamento…insomma scordatevi l’utilizzo di iPG-800 e affini.

 

Cartridge di memoria M-1024C

Perchè fermarsi a sole 64 patches e 50 toni sulla cartridge esterna? Per di più affidandosi ad un prodotto obsoleto dal punto di vista elettronico governato da una batteria tampone che se perde la carica è pressochè impossibile da sostituire.

La nuova cartridge di memoria progettata da Fred Vecoven risolve tutto questo aggiungendo anche nuove features, come la possibilità di salvare ben 1024 suoni, organizzati in 16 banchi, comodamente indirizzabili mediante il tasto “RECALL” e i pulsanti di caricamento patches (A-H, 1-8).

FIGURA8

I banchi possono essere caricati anche via midi e al cambio banco da tastiera, un messaggio midi viene inviato all’esterno.

 

Per averla avete diverse possibilità:

  • Comperando i pezzi e facendo voi la modifica alla vostra M-64C. Il tutto per 39 euro;
  • Scambiando una M-64C e una M-16C con una nuova M-1024C aggiungendo una differenza di 39 euro;
  • Comperando la scheda PCB per 69 euro. In tal caso dovete avere almeno una cartridge da utilizzare come involucro e saldare la PCB al connettore;
  • Comperando l’upgrade direttamente da Vecoven. Dovete inviargli una M-16C e una M-64C e pagare 139 euro. In tal caso se non avete il nuovo firmware, vi verrà inviata anche una nuova EEPROM con l’ultima versione a bordo;
  • Comperandone una nuova al prezzo di 199 euro. Anche in questo caso vi viene inviata una ROM con il nuovo firmware se necessario.

Lo scrivente ha approfittato dell’iniziativa e ha scambiato le sue due cartridge con una nuova M-1024C. Non essendo però ancora pervenuta non posso esprimermi in merito al suo corretto funzionamento (del quale non ho dubbi). Riparerò con commenti all’articolo, appena possibile, promesso.

Insomma, il lavoro di Vecoven, come avete avuto modo di vedere, è stato significativo ed ancora continua ad esserlo. Personalmente seguo con costanza i suoi sviluppi e mi sono sentito in più occasioni con lui per chiarimenti e suggerimenti nonchè per segnalargli un bug sul firmware relativamente alla gestione del portamento. Inutile dirlo, prontamente risolto (la ROM aggiornata è in viaggio assieme alla cartridge).

 

Nel mio piccolo qualcosa ho fatto anche io per questo synth:

  • Ho realizzato una superficie di controllo, per Liine Lemur  su iPad, che è pensata per incrementare la possibilità di “spippolare” dal vivo, toccando i parametri principali (filtri inviluppi). La superficie offre anche un ricco step sequencer che funge anche da sorgente di modulazione per dinamica e filtro e che parte da uno dei moduli in bundle con Lemur;

FIGURA9

  • Ho realizzato una libreria di 64 patches e 50 toni, “JX-10 sounds collection vol.1”

FIGURA10

La superficie di controllo la potete scaricare liberamente da qui, mentre la libreria di suoni la trovate qui, con tanto di demo audio.

Direi che è tutto ragazzi. Spero abbiate gradito la mia iniziativa e, soprattutto, spero di avervi quantomeno incuriosito verso questa macchina.

Alla prossima.

Tags: ,

Comments (2)

  • Michele

    |

    Antonio

    Complimenti per il tuo entusiasmo trascinante.
    Volendo essere un po’ cattivi, senza togliere a Fred i meriti che giustamente ha, potrei dire che il suo firmware per JX-10 è figlio diretto di quello di MKS-70. Non nego i miglioramenti apportati, però il firmware di MKS-70 funzionava già bene da solo. Presumo quindi che Fred abbia adattato a JX-10 il firmware di MKS-70. Insomma, voglio dire che non è partito da zero come Fraser, ma ha costruito qualcosa iniziando da basi solide (seppure in informatica non ci sia mai nulla di sicuro).

    Reply

    • Antonio Antetomaso

      |

      Vero, egli stesso dichiara di essere partito sia dall’MKS-70 sia dal lavoro di Colin Fraser, dal quale ha ricevuto diverse “dritte”.
      Ad ogni modo…come dire…ben vengano questi aiuti se il risultato è quello che si è raggiunto. 😀

      Reply

Leave a comment

Inserisci il numero mancante: *

ga('send', 'pageview');