Merci, en effet, c'est plus facile qu'avec la première version .ragefan a écrit : ↑jeu. 11 avr. 2024 21:19 C'est incroyable ! Et l'usage est d'une facilité déconcertante ! Bouz, tu as fais une énorme réalisation pour le monde de la neo-geo.
Tu indiques dans la vidéo que l'on pourrait voir l'état des registres en temps réel ? Je pense que cette fonctionnalité pourrait énormément servir à debugger des puces custom HS non ?
Prévois-tu de publier le code en open source ?
Ce que j'explique à moitié, c'est que...
- L'extension Memory Dump permet d'afficher le contenu de n'importe quelle zone de la memory map du 68000. On spécifie juste une adresse et une taille à récupérer
- La syntaxe "*ext" permet de lancer une extension en boucle
- La syntaxe "**ext" permet de faire la même chose, mais en rafraîchissant l'écran à chaque boucle, et seulement si le résultat change
Si on met tout ça bout bout, on peut demander en boucle l'affichage de l'adresse d'un "memory mapped register" et observer ses changements de valeur. C'est intéressant en l'occurrence pour les entrées (tout ce qui est NEO-C1), pour voir l'état des boutons, le type de slot détecté, les DIP, ...
Après, pour de la réparation, je ne sais pas à quel point ça peut être utile. Il faut plus probablement aller écrire dans les registres pour déclencher des écritures en VRAM, et aller les relire via les registres. Et ça, ça nécessite du code 68000.
Hop, tu m'as inspiré!
=>
Si on veut éviter de passer par la case 68000, je peux aussi écrire une nouvelle extension, qui permettent d'écrire un word à une adresse donnée! Le terminal permet actuellement de copier-coller un script depuis un notepad quelconque. Ca permettrait d'écrire une bête séquence d'écritures en mémoire et de lecture de résultats dans un fichier texte, et de le coller dans le terminal!
Reste donc à faire...
- L'extension pour écrire un word en mémoire (pas trop compliqué).
- La syntaxe pour ignorer une commande. Histoire de pouvoir mettre des commentaires dans le script, sinon ça va être l'enfer!
Tiens, en bonus, vu que je pense en envoyer aux copains bricoleurs tôt ou tard pour faire des tests, j'ai ajouté une commande "BootSel" qui permet de passer la carte en mode MAJ du firmware sans avoir à mettre une pastille de 1mm² à la masse sur la carte. Comme ça, je pourrai envoyer des MAJ du firmware par e-mail ou autre.
Et pour répondre à ta question, oui, le code sera libre, sinon le projet n'a pas un grand intérêt. Pour le moment, je dois encore pas mal bosser sur le firmware. Ca n'empêche pas du tout de développer du code 68000, qui n'a rien de spécifique au BricoNeo (juste l'adresse du port de sortie en plus, finalement).