J'ai enfin réussi à installer un émulateur de disquette HXC dans mon Studio 440.
J'avais effectué un bon nombre de tests il y a quelques mois sans y parvenir. L'explication probable est que je ne possédais pas les bons fichiers à placer sur la carte SD. Ceux fournis pas Gildas (il se reconnaitra, et merci à lui...) ont fonctionné du premier coup.
J'ai donc commandé quelques lecteurs HXC parce que j'ai aussi un EPS16+ en attente de cette solution de remplacement, et même si j'arrive à trouver le temps de le remettre en état, un Emulator qui ne serait pas mécontent de cette solution.
Histoire de 'diminuer' les frais de port!
La mise en place au sein du 440 ne pose aucun problème :
Et ce que cela donne une fois le boitier du 440 refermé :
Il faudra trouver une solution esthétique pour combler le vide au dessus de l'émulateur HXC...
Viennent ensuite évidemment les tests de chargement de fichier :
Et le résultat concluant de l'opération :
Sur ce 440, le SCSI est fonctionnel, j'ai pu le tester avec un disque dur externe de 20Mo de type Apple des années 80 qui m'avait été prêté :
Image prise quelque part sur le NET.
Hélas, après avoir rendu ce disque dur externe, je n'avais plus que le lecteur de disquettes d'origine, au fonctionnement très hiératique, comme possibilité de sauvegarde/chargement de fichiers. Cet émulateur HXC va radicalement changer la vie de ce Studio 440 que je possède depuis 2006 et qui se trouve, pour la première fois, totalement fonctionnel après moult réparations, galères, modifications. Comme quoi : ne jamais désespérer!
'Petite' vidéo des premiers signes de vie du switch M.I.D.I. :
Rien d'exceptionnel, le fonctionnement était prévisible. Ceci écrit, 'pour une fois' j'ai étudié à fond le processeur et ses possibilités en rapport avec l'objectif de la carte. De plus, j'ai procédé à un routage totalement manuel du circuit afin de faire 'vraiment' très propre. C'est du temps, mais le résultat est là!
Et je me dois de souligner une nouvelle fois l'efficacité de la chaîne de développement libre fournie par le groupe AC6, à savoir l'IDE 'System Workbench for STM32' basé sur Eclipse, avec compilateur intégré à la distribution. Cet IDE fonctionne en 'stand alone' sans obligation de connexion permanente à Internet, comme l'horrible solution de chez Cygnal.
Associé au très performant configurateur STM32CubeMX qui permet notamment de tester très facilement les nombreuses possibilités d'horloges et de routage de ces signaux au sein des différents blocs du processeur, l'ensemble de ces deux outils permet de réellement se concentrer sur son travail de développeur, à savoir faire les bons choix matériels, les bonnes configuration, puis programmer et tester facilement le tout. Cette situation est actuellement très loin d'être la norme dans le monde des micro-contrôleurs!
J'ai connu bien pire comme système de configuration....
Peu de ressources matérielles du processeur sont utilisées. Au milieu des années 90 j'avais étudié à peu près le même type de switch M.I.D.I., mais à base de processeur 68000. Comment dire, ce qu'offre un tel processeur de type ARM permet aujourd'hui de concentrer le tout dans ce 'petit' mille-pattes, avec des performances même pas imaginables en rêve à l'époque...
Le 'vrai' travail de programmation peut donc commencer :-)
En fait, est-ce vraiment du rétro-computing tant la scène Amiga semble de plus en plus active.
Pour fêter les 32 ans de la sortie de l'Amiga, l'Amiga 30 organise, l'Amiga... 32!
Cela fait presque deux mois que je n'ai rien publié de vraiment concret en réalisations électroniques sur mon blog. Et pourtant, j'ai plusieurs projets en cours. Parfois je me dis que le temps passe beaucoup trop vite.
Mais ce matin, j'ai eu la 'bonne surprise' de découvrir le paquet contenant les circuits imprimés pour mon projet de switch M.I.D.I.
Ce switch M.I.D.I. est 'THE' projet qui me tient à cœur en ce moment. Cela fait presque 30 ans que je désirs réaliser le réseau M.I.D.I. 'de mes rêves'. Après une tentative en 1987 qui n'a pu aboutir parce que je ne possédais pas à l'époque les ressources matérielles et financières pour réaliser ce travail, après pas mal de 'brain storming' sur comment faire ce que je pense être mieux, après une espèce de mix entre ma tentative de 1987 et une nouvelle définition de ce réseau M.I.D.I. avorté il y a quelques mois, voici ce qui sera j'espère l'élément central de mon réseau M.I.D.I. :
Joli circuit imprimé, vide pour l'instant. J'espère ne pas avoir trop de mauvaises surprises au cours de son montage. Parce que refaire un circuit pour corriger une erreur n'est pas trop compliqué, par contre c'est un mois de délai avant de recevoir la nouvelle version! ...
UPDATE 07/05/2017
A la faveur d'un long week-end, j'ai pris le temps de monter la carte. Voici ce que cela donne :
Cela ressemble assez à vrais dire, à l'image 3D réalisée 'vite fait' avec le logiciel de CAO même s'il manque des empreintes 3D :
Avant de monter complètement la carte, j'ai bien pris soin de mettre en place tous les composants de la partie alimentation puis de tester les tension fournies, puis d'installer le processeur et de vérifier son accessibilité par l'émulateur JTAG, avant de monter le reste des composants.
La carte d'émulation JTAG provient d'une carte de la famille stm32nucleo dont la partie 'carte de test' peut être détachée de l'émulateur JTAG. Une bonne solution à prix très faible, mais qui permet de travailler très correctement en développement temps réel avec les processeurs ARM de chez ST.
Et d'ailleurs, voici une capture d'écran du processeur de ce 'futur' switch M.I.D.I. reconnu par le logiciel ST-LINK :
Il ne reste plus qu'à passer à la programmation de cette 'petite' carte. J'ai déjà quelques prototypes d'adaptateurs de mon réseau vers le 'vrai' réseau M.I.D.I. qui fonctionnent en point à point depuis une dizaine de mois sans avoir posé le moindre problème : de quoi avancer le développement logiciel dans les meilleurs conditions...
Le milieu de la synthèse électronique est en pleine effervescence en ce moment, pour le plus grand bien général. Enfin du renouveau dans l'inventivité...
Cela fait plus de trois mois que j'ai publié un petit sujet sur le switch MIDI que je tente de créer.
Le prototype d'origine était constitué d'un processeur PIC et d'un quadruple port série. Cette configuration, bien que fonctionnelle, s'est révélée ne pas être du tout une bonne solution. Trop compliquée à développer et à mettre en œuvre.
Avant d'y passer une somme conséquente d'heures en développement, j'ai préféré pendant qu'il en était encore temps, redévelopper totalement le concept à base de processeur ARM de chez S.T.
Voilà qui est fait. Pour l'instant, j'ai 'simplement' créé un nouveau PCB :
Toutes les empreintes 3D ne sont pas présentes, mais cela permet de se faire une idée sur ce à quoi ressemblera la carte. Elle ne comporte plus qu'un seul circuit intégré, le processeur ARM.
De plus j'ai pris le temps de 'soigner' le design de la carte, contrairement à ma version précédente, histoire de partir dès le départ sur de bonnes bases :
Le dessous du PCB.
Le dessus du PCB.
Et enfin l'implantation des composants.
Voilà, il ne 'reste plus' qu'à faire réaliser ce circuit, à le monter, et à effectuer les premiers tests.
Je ne sais pas quand, j'ai déjà d'autres circuits qui attendent d'être montés.
Suite des expérimentations sur ma carte compatible Arduino, équipée d'un processeur ATmega328pb.
L'avantage de ce processeurs est de posséder un peu plus de périphériques que le modèle 'p' équipant de base les Arduino Uno, notamment, un deuxième port série et SPI, etc...
Pour rendre cette carte 'pleinement' utilisable sous l'environnement IDE Arduino, il est 'juste' nécessaire d'importer la définition de la carte R4 d'Elektor avec laquelle ma carte est compatible.
Dès lors, il suffit 'presque' d'utiliser une bibliothèque de gestion de bandeaux de LEDs pour arriver très rapidement à un résultat probant :
Contrairement à beaucoup de projet utilisant les bandeaux de LEDs, je n'ai pas utilisé la bibliothèque développée par Adafruit mais plutôt une version plus performante à même de gérer différents types de LEDs de façon très efficace, la librairie Fastled.
Cette librairie est d'autant plus intéressante qu'elle est développée non seulement pour les cartes de type Arduino Uno à base de processeur 328p, mais aussi pour d'autres plateformes comme l'ARM.
Et cela tombe bien parce que le signal envoyé aux LEDs n'utilise pas une patte reconnue sur les cartes Arduino UNO. J'ai voulu conserver un maximum de possibilité pour cette carte ARPI-MINI, alors j'ai connecté la commande des LEDs sur le deuxième port SPI offert par le processeur 328pb.
Se faisant, j'ai du modifier quelque peu la librairie pour lui faire reconnaitre le port utilisé par mon montage. Quelques recherches dans son source m'ont permis de la configurer pour lui faire prendre en compte la patte du processeur.
Au delà du clignotement de quelques LEDs du bandeau, il est très facile avec cette librairie, d'obtenir un effet plus... dynamique :
L'essai est concluant. Il reste maintenant à tester la communication série entre la carte Raspberry PI et la carte compatible Arduino.
Je ne l'ai peut-être pas indiqué (je pense même que non), mais l'objet (principal) de cette carte Arduino est d'initialiser et de 'faire jouer' les LEDs pendant la phase de boot de la carte Raspberry. Une fois ce boot effectué, la Raspberry 'devra' envoyer une instruction série à la carte Arduino pour lui demander de 'switcher' le signal de commande du bandeau de LEDs de la carte Arduino VERS la carte Raspberry et ainsi donner la main à l'application tournant sur la Pi!
24 juin 2017 : Le sujet a été quelques peu en 'stand-by' depuis deux mois, mais je viens de tester avec succès les deux bus 'fond de panier' destinés à grandement faciliter le montage des Strips LEDs sur la table. Ces bus comportent quelques légers bugs qui ont été corrigés à la main sur l'exemplaire présenté ci-après, ainsi que dans les fichiers de CAO, avec aussi quelques améliorations :