Petites nouvelles du jour...
... je poursuis mes investigations pour voir ce qu'on peut faire avec un Pi PICO, mais en attendant, je poursuis mes tests avec pour cobaye... un slot maudit de Xrider => un MV1AX qui devait servir de carte donneuse, et auquel il manque pas mal de composant (trop) pour faire un rendu vidéo.
C'est donc un bon sujet d'étude, puisque le BricoNeo est son seul moyen d'expression.
Après avoir fouillé hier soir autour d'un éventuel problème de décodage d'adresses, j'étais arrivé à la conclusion qu'un PAL (oui, il y en a sur ce modèle) état HS. Et j'étais bien content parce que j'en avais curieusement sous la main du même modèle.
Le symptôme étant que j'écrivais des 0000 dans la WRAM avec le BricoNeo, et qu'à la lecture, je tombais sur le contenu de ma ROM BricoNeo (il faut que je trouve un autre nom pour ce projet?). Bref, un souci d'adressage manifeste.
Bref, voulant valider ma théorie, j'ai dégainé ce soir mon oscillo et commencé à faire des mesures dans tous les sens... pour arriver à une captures des lignes /OE et /CE de la WRAM + la ligne /OE de la ROM système (du BricoNeo, du coup).
Et voilà ce que j'obtiens:

- Le mal
Les 3 lignes sont activées en même temps (elles passent à 0 en même temps)! Dans la vraie vie, ça ne devrait pas de se produire. Ca veut dire que la RAM et la ROM sont accédées simultanément et écrivent en même temps sur le bus de données.
Et là, je me suis souvenu que... je n'avais jamais vu auparavant sur NeoGeo de puces de WRAM qui étaient pilotées par les 2 lignes /OE et /CE. En général, la ligne /OE est mise à la masse, et la RAM est pilotée en lecture par la ligne /CE et en écriture par les lignes /CE et /WE (l'écriture l'emportant sur la lecture).
Je suis donc allé regarder le câblage de la ROM système pour m'apercevoir... De la même chose. Là où sur tous les modèles que j'ai vus jusqu'à présent, les lignes /CE sont à la masse... Ce n'est pas le cas sur les MV1AX!!!
Résultat, le BricoNeo écrit sur le bus de données quand il rencontre un /OE sur la ROM alors qu'il devrait faire un OU logique avec la broche /CE (que je n'ai même pas câblée).
Du coup, en effet, j'écrit des 0 en WRAM, et quand j'essaie de la relire, elle écrit sur le bus en même temps que la ROM, les 0 tirent le bus vers le bas, mais c'est quand même le contenu de la ROM qui est lu sur le bus => le BricoNeo me renvoie un joli dump de la ROM!
Voilà, donc pour la faire courte, défaut de conception, je vais pouvoir faire un correctif de plus sur le PCB avant de le faire manufacturer à nouveau. Et je ne pourrai pas l'utiliser en l'état pour dépanner ce slot. Mais j'aurai appris un truc sur cette sympathique spécificité du MV1AX

.
Je vais me coucher, moi

.