Soundpool MO4 pour Atari STe
Publié : 01 févr. 2023, 17:04
Bonjour la mare,
Mon soucis sort un peu de l'analogique, mais est en rapport.
J'utilise un Atari STe (avec Cubase) et un périphérique SoundPool MO4, connecté au port parallèle et qui ajoute 4 sorties MIDI. Depuis quelques temps, je n'ai plus rien qui sort sur aucune des sorties du MO4. Après quelques années de procrastination, et grâce à l'acquisition d'un analyseur logique, j'ai décidé de regarder ça de plus près et d'en faire la rétro-ingénierie.
Toute la logique est gérée par un CPLD Lattice IspLSI1016, avec un GAL16V8 qui lui procure l'horloge (2MHz). La communication sur le port parallèle étant asynchrone, le signal /Busy géré par le CPLD sert d'ACK pour indiquer au driver de Cubase la réception des octets. Or, c'est précisément ce signal qui fait défaut; il reste à l'état bas en sortie du CPLD. En envoyant des impulsions, je déclenche l'envoie des octets suivants.
En passant, le port parallèle est présenté sur 16 broches du CPLD. J'imagine qu'il doit implémenter un automate à état, 8 broches servant à déterminer la sortie, les 8 autres étant le flot MIDI. Le CPLD fait la conversion parallèle-série et dirige le flot vers 4 broches, chacune reliée à un MIDI OUT.
Mon hypothèse est que le programme implémenté dans le CPLD est altéré. Le datasheet garantie 20 ans de conservation, mais le copyright sur le pcb est de 1995.
Le boitier contient bien une interface ISP (In-System Programming), mais je n'ai aucune expérience avec la programmation d'un CPLD; j'ai juste une connaissance théorique et lointaine du VHDL. De plus, d'après une lecture rapide du datasheet, il ne semble pas possible de faire un dump du programme; la sortie SDO permet simplement de consulter l'état des registres pour le debugger. Enfin, je ne sais pas s'il faut un programmeur spécial pour ça.
Es-ce que quelqu'un a une expérience sur ce matériel ? Si éventuellement j'arrive à obtenir une image, est-ce qu'il serait possible de reflasher le CPLD ? Faut-il un programmeur spécial (et probablement très cher) pour celà ?
J'ai les noms des auteurs: Matthias Pohl et Thomas Baumgärtner. Je n'ai pas encore chercher à les contacter, si tant est que j'arrive à trouver leurs coordonnés.
Merci pour le tuyaux
Mon soucis sort un peu de l'analogique, mais est en rapport.
J'utilise un Atari STe (avec Cubase) et un périphérique SoundPool MO4, connecté au port parallèle et qui ajoute 4 sorties MIDI. Depuis quelques temps, je n'ai plus rien qui sort sur aucune des sorties du MO4. Après quelques années de procrastination, et grâce à l'acquisition d'un analyseur logique, j'ai décidé de regarder ça de plus près et d'en faire la rétro-ingénierie.
Toute la logique est gérée par un CPLD Lattice IspLSI1016, avec un GAL16V8 qui lui procure l'horloge (2MHz). La communication sur le port parallèle étant asynchrone, le signal /Busy géré par le CPLD sert d'ACK pour indiquer au driver de Cubase la réception des octets. Or, c'est précisément ce signal qui fait défaut; il reste à l'état bas en sortie du CPLD. En envoyant des impulsions, je déclenche l'envoie des octets suivants.
En passant, le port parallèle est présenté sur 16 broches du CPLD. J'imagine qu'il doit implémenter un automate à état, 8 broches servant à déterminer la sortie, les 8 autres étant le flot MIDI. Le CPLD fait la conversion parallèle-série et dirige le flot vers 4 broches, chacune reliée à un MIDI OUT.
Mon hypothèse est que le programme implémenté dans le CPLD est altéré. Le datasheet garantie 20 ans de conservation, mais le copyright sur le pcb est de 1995.
Le boitier contient bien une interface ISP (In-System Programming), mais je n'ai aucune expérience avec la programmation d'un CPLD; j'ai juste une connaissance théorique et lointaine du VHDL. De plus, d'après une lecture rapide du datasheet, il ne semble pas possible de faire un dump du programme; la sortie SDO permet simplement de consulter l'état des registres pour le debugger. Enfin, je ne sais pas s'il faut un programmeur spécial pour ça.
Es-ce que quelqu'un a une expérience sur ce matériel ? Si éventuellement j'arrive à obtenir une image, est-ce qu'il serait possible de reflasher le CPLD ? Faut-il un programmeur spécial (et probablement très cher) pour celà ?
J'ai les noms des auteurs: Matthias Pohl et Thomas Baumgärtner. Je n'ai pas encore chercher à les contacter, si tant est que j'arrive à trouver leurs coordonnés.
Merci pour le tuyaux