Logicielsmoto.com http://www.logicielsmoto.com/phpBB/ |
|
Interface Midipak de Logimus http://www.logicielsmoto.com/phpBB/viewtopic.php?f=7&t=660 |
Page 1 sur 4 |
Auteur: | Fool-DupleX [ 19 Oct 2021, 14:22 ] | ||||
Sujet du message: | Interface Midipak de Logimus | ||||
Nous avons déjà un reverse de la platine de cette extension, que je compte reprendre avec Eagle, histoire d'avoir un format plus moderne. Je pense que je vais produire 10 platines. J'ai déjà sourcé les composants à un bon prix, ça s'annonce pas mal. Mais pour le moment, je me suis attaqué au boitier, car c'est quelque chose que je me promettais de faire depuis longtemps. Ce week-end, j'ai remodélisé à l'identique la partie avant du boitier. C'est la partie facile du problème, mais il y a un bon point : cette pièce est la même pour toutes les extensions Thomson. Prochaine étape, la partie arrière, nettement plus complexe.
|
Auteur: | Bentoc [ 20 Oct 2021, 09:11 ] |
Sujet du message: | Re: Interface Midipak de Logimus |
Excellent, ça avance bien ! De mon coté j'ai extrait (depuis ton midipak.sap) et fait la conversion : - des fichiers .bas vers .txt - des fichiers .bin vers .asm (via f9dasm) Fichier(s) joint(s): Edit : Mise à jour des 3 fichiers .asm avec les labels et commentaires de Fool-DupleX De ce que je comprends les ports en lecture/écriture sont E7F2 et E7F3. Je ne sais pas si tu as de la doc sur la manière d'envoyer/recevoir les données au travers de ces ports, sinon il faudra que je regarde le code. |
Auteur: | Fool-DupleX [ 20 Oct 2021, 10:13 ] |
Sujet du message: | Re: Interface Midipak de Logimus |
La doc, c'est la datasheet du 6850 : http://dcmoto.free.fr/documentation/6850ds/index.html Le diviseur est 16 (le 6850 recoit E/2, soit 500 kHz d'horloge principale, divisé par 16 = 31.25 kbits/s, soit celle de MIDI), pas de contrôle de flux, 8 bits, pas de parite, un stop. Et c'est tout. Après il suffit d'envoyer ou de recevoir les données. On peut utiliser l'IRQ, notamment pour la réception. Je vais vous faire un .fd d'une disquette que j'ai retrouvee dans mes archives, il y a du code et des fichiers SYX et MID pour ma Korg X5D, rien de bien magique mais suffisant pour tester. Edit: bon boulot pour la conversion des fichiers, mais le désassemblage est pas terrible. Il est faux par endroits, contient des macros inutilisées sur Thomson et ne contient pas celles utilisées sur Thomson (d'où ce désassemblage faux à certains endroits). Je peux essayer de m'y coller, mais ce sera tres manuel. |
Auteur: | Bentoc [ 20 Oct 2021, 10:40 ] |
Sujet du message: | Re: Interface Midipak de Logimus |
Ne t'embêtes pas avec le désassemblage, la datasheet devrait me suffire. Oui c'est brut en sortie de f9dasm, je n'ai même pas cherché a positionner les zones de données, c'est juste pour avoir une idée de ce qu'il y a dedans. |
Auteur: | Fool-DupleX [ 20 Oct 2021, 11:03 ] |
Sujet du message: | Re: Interface Midipak de Logimus |
$E7F2 = registre de contrôle en écriture, registre de statut en lecture $E7F3 = envoi en écriture, réception en lecture. Une fois que le registre de contrôle est configuré, c'est très simple. Edit: $03 -> $E7F2 pour réinitialiser le contrôleur, puis $15 -> $E7F2 pour écriture/lecture sans interruptions. Je vous laisse regarder comment fonctionne le statut, c'est usuel. Edit 2: j'ai envoyé à Bentoc une image d'une de mes disquettes d'époque avec du matériel que j'avais écrit pour cette interface. |
Auteur: | Samuel Devulder [ 20 Oct 2021, 13:55 ] |
Sujet du message: | Re: Interface Midipak de Logimus |
Bentoc a écrit: - des fichiers .bin vers .asm (via f9dasm) Il marche bien cet outil ? Je demande car en regardant l'ASM je vois des instructions inexistantes sur 6809 (PSHA / PULA). Sans doute que cela vient d'un héritage du source depuis le 6800. En outre j'ai l'impression qu'il y a un SETDP implicite à $00: Code: SUBB M0001 ;B01B: D0 01 Perso j'ai quelques réserves sur le désassemblage automatique des ROM/progs thomson quand on sait toutes les astuces de SKIP1 et SKIP2 qui s'y trouvent (ca permet de réduire la taille du code en sautant au dessus de 1 ou 2 octets en plus court qu'avec un BRA). |
Auteur: | Fool-DupleX [ 20 Oct 2021, 14:24 ] |
Sujet du message: | Re: Interface Midipak de Logimus |
Citation: Il marche bien cet outil ? Il marche bien, mais pas sur Thomson. Il est conçu pour l'environnement Flex. Les instructions qui te semblent cheloues sont des macros, comme on peut en trouver dans le code source du moniteur sur Thomson, effectivement des équivalent d'instructions 6800. PULA c'est PULS A. Et evidemment, il ne connait pas par exemple les SWI/FCB du MO ou les skips, donc ça part en sucette parfois. |
Auteur: | Fool-DupleX [ 20 Oct 2021, 17:04 ] |
Sujet du message: | Re: Interface Midipak de Logimus |
Citation: Code: SUBB M0001 ;B01B: D0 01 J'ai regardé le code de spy3.bin de mon côté pour le fun. En fait, cette partie est du code mort inutilisé qui sert de zone de variable ... Alors le DP ... Le code est très perfectible. Y'a du mort au début et à la fin. J'aime beaucoup ce code-ci : Code: B0F2 7EB0F5 JMP $B0F5
B0F5 3B RTI |
Auteur: | Fool-DupleX [ 21 Oct 2021, 09:49 ] | ||
Sujet du message: | Re: Interface Midipak de Logimus | ||
Pour l'exercice et pour m'imprégner du style de codage des auteurs, j'ai fait un reverse commenté de spy3.bin. Bentoc, si tu veux remplacer ton fichier sp3.asm dans ton archive rar ? Je ne ferai pas les autres .bin, sauf si vous insistez très fort, car ils sont plus longs. L'idée était d'avoir au moins un désassemblage correct, comme référence. Il n'y a rien de magique au final et le code est de qualité très moyenne. On sent bien que l'auteur a un peu bidouillé et une fois que ça fonctionnait, release.
|
Auteur: | Samuel Devulder [ 21 Oct 2021, 11:15 ] |
Sujet du message: | Re: Interface Midipak de Logimus |
Fool-DupleX a écrit: et le code est de qualité très moyenne En effet Code: B07B 1F89 TFR A,B B07D 8480 ANDA #MIDI.RXIRQ B07F 10270072 LBEQ EndOfIRQ ; Ca ne vient pas de l'interface MIDI B083 1F98 TFR B,A C'est à croire que le codeur ne connait pas l'opération "BITA" qui fait un "AND" sans modifier les bits (et évite ainsi de sauver la valeur antérieure dans B). Note: et même qu'ici comme c'est le bit de signe, un simple BPL suffisait après avoir lu A. Citation: On sent bien que l'auteur a un peu bidouillé et une fois que ça fonctionnait, release. Ah ? il avait de l'avance sur son temps, car quand je vois les codeurs JS de nos jours, ils font juste pareil (et ils en sont fier qui plus est.) |
Auteur: | Fool-DupleX [ 21 Oct 2021, 11:32 ] |
Sujet du message: | Re: Interface Midipak de Logimus |
Citation: Ah ? il avait de l'avance sur son temps [...] Trop vrai. Heureusement qu'aujourd'hui, il y a des logs façon "Error: operation completed successfully.", pas vrai ? C'est d'autant plus dommage que ce code doit être hyper-fast pour capturer les événements et les afficher. Y'a vraiment de la marge de progression. |
Auteur: | Fool-DupleX [ 21 Oct 2021, 17:03 ] | ||
Sujet du message: | Re: Interface Midipak de Logimus | ||
Je sais bien que tu m'as dit, Bentoc, que c'était pas nécessaire, mais je m'ennuyais et j'aime bien cet exercice, ça me repose l'esprit. Alors voici midirout.bin. Il y a moyen de s'inspirer pour le séquenceur en tâche de fond, mais guère plus. On retrouve la même qualité de code, du grand art (Y n'est jamais utilisé ailleurs): Code: BED2 A780 STA ,X+ ; Range l'octet MIDI BED4 B6BE2F LDA CurrentTime BED7 A780 STA ,X+ BED9 B6BE30 LDA CurrentTime+1 ; Avec le timestamp courant BEDC A780 STA ,X+ BEDE BFBE32 STX ProdPtr ; Met le pointeur de buffer à jour BEE1 3420 PSHS Y BEE3 10BEBE2D LDY EvtCount BEE7 3123 LEAY $03,Y BEE9 10BFBE2D STY EvtCount BEED 3520 PULS Y Du coup, je pense que je vais quand même faire midit32.bin, j'ai vu qu'il ne contient presque que du vide.
|
Auteur: | adnz [ 21 Oct 2021, 17:43 ] |
Sujet du message: | Re: Interface Midipak de Logimus |
Je suis avec attention ce fil, mais juste pour situer la chose ! L'interface midi IN/OUT existait donc sur Thomson ? Vous faites quoi en faite, vous adaptez une compatibilité avec le TO8 ? |
Auteur: | Bentoc [ 21 Oct 2021, 18:02 ] |
Sujet du message: | Re: Interface Midipak de Logimus |
Fool-DupleX a écrit: Je sais bien que tu m'as dit, Bentoc, que c'était pas nécessaire, mais je m'ennuyais et j'aime bien cet exercice, ça me repose l'esprit. Alors voici midirout.bin. Il y a moyen de s'inspirer pour le séquenceur en tâche de fond, mais guère plus. On retrouve la même qualité de code, du grand art (Y n'est jamais utilisé ailleurs): Code: BED2 A780 STA ,X+ ; Range l'octet MIDI BED4 B6BE2F LDA CurrentTime BED7 A780 STA ,X+ BED9 B6BE30 LDA CurrentTime+1 ; Avec le timestamp courant BEDC A780 STA ,X+ BEDE BFBE32 STX ProdPtr ; Met le pointeur de buffer à jour BEE1 3420 PSHS Y BEE3 10BEBE2D LDY EvtCount BEE7 3123 LEAY $03,Y BEE9 10BFBE2D STY EvtCount BEED 3520 PULS Y Du coup, je pense que je vais quand même faire midit32.bin, j'ai vu qu'il ne contient presque que du vide. Ce code me laisse sans voix ... je suis hyper déçu !!! Bon ce n'est pas grave du coup on s'amuse bien quand même, je suis impatient de voir la suite ;-) |
Auteur: | Samuel Devulder [ 21 Oct 2021, 20:03 ] |
Sujet du message: | Re: Interface Midipak de Logimus |
Sachant que dans mes recherches sur la production du son (avant d'aboutir sur les "MOD") je convertissais des fichiers midi pour les jouer sur Thomson, je me demande s'il serait "moralement" possible de lire le flux midi et de faire jouer de la musique de certains instruments au Thomson au passage... |
Page 1 sur 4 | Heures au format UTC + 1 heure |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |