[WIP 100%] Projet BricoNeo - Entrées et sorties via le connecteur de la ROM système
- Bouz
- Expert Technique

- Messages : 1605
- Enregistré le : mer. 22 déc. 2021 18:52
- Localisation : Hérault
- Pays : 🇫🇷 FR
- Contact :
Re: [WIP 15%] Projet BricoNeo - Entrées et sorties via le connecteur de la ROM système
J'ai tout reçu. A priori, c'est l'emprinte du connecteur IDE qui est bizarre dans EasyEDA. Mon connecteur est sur la bone face, ouf!
Plus qu'à souder!
Plus qu'à souder!
- Bouz
- Expert Technique

- Messages : 1605
- Enregistré le : mer. 22 déc. 2021 18:52
- Localisation : Hérault
- Pays : 🇫🇷 FR
- Contact :
Re: [WIP 15%] Projet BricoNeo - Entrées et sorties via le connecteur de la ROM système
Ca irait bien plus vite si je ne m'étais pas loupé dans la taille des empreintes des tampons série/parallèle!
- Bouz
- Expert Technique

- Messages : 1605
- Enregistré le : mer. 22 déc. 2021 18:52
- Localisation : Hérault
- Pays : 🇫🇷 FR
- Contact :
Re: [WIP 25%] Projet BricoNeo - Entrées et sorties via le connecteur de la ROM système
Et je debugge...
Pas facile de savoir ce qui est transféré dans la RAM, alors je galère un poil pour le moment!
L'occasion d'apprendre un truc que je ne soupçonnais pas! Les câbles IDE ont des liaisons entre certains fils! Il y a plusieurs masses reliées entre elles au niveau de l'un des 3 connecteurs. Je ne comprends pas le but, mais ça m'a fait chauffer un poil le MVS parce que ça court-circuitait ma masse et l'alim du slot!
J'ai corrigé un pont de soudure, un bug dans l'increment des registres d'adresses, et un autre dans les règles du contrôleur de bus pour l'écriture en RAM. Bref, du hard, du microcontrôleur, et les 3 logiques programmables! La totale!
Bref, encore du boulot!
Pas facile de savoir ce qui est transféré dans la RAM, alors je galère un poil pour le moment!
L'occasion d'apprendre un truc que je ne soupçonnais pas! Les câbles IDE ont des liaisons entre certains fils! Il y a plusieurs masses reliées entre elles au niveau de l'un des 3 connecteurs. Je ne comprends pas le but, mais ça m'a fait chauffer un poil le MVS parce que ça court-circuitait ma masse et l'alim du slot!
J'ai corrigé un pont de soudure, un bug dans l'increment des registres d'adresses, et un autre dans les règles du contrôleur de bus pour l'écriture en RAM. Bref, du hard, du microcontrôleur, et les 3 logiques programmables! La totale!
Bref, encore du boulot!
- Bouz
- Expert Technique

- Messages : 1605
- Enregistré le : mer. 22 déc. 2021 18:52
- Localisation : Hérault
- Pays : 🇫🇷 FR
- Contact :
Re: [WIP 15%] Projet BricoNeo - Entrées et sorties via le connecteur de la ROM système
... et après un nouveau bug trouvé dans la mécanique d'écriture en RAM, je ne parviens toujours pas à prouver le concept.
De base, j'essaie d'envoyer sur ma carte une ROM connue, et de voir si le MVS se comporte comme il a l'habitude de faire. Ici, j'ai un slot HS en erreur backup RAM et des problèmes graphiques, et j'essaie de lui injecter la ROM Neo Diag.
Et pour le moment, c'est la watchdog party, donc ça ne marche pas.
A noter que j'ai une latence de 5ns au moment de la lecture dans la RAM, induite par le temps de réponse du GAL qui gouverne le bus. Je ne pense pas pouvoir descendre en-dessous, alors il va falloir faire avec! (ou alors...?)
De base, j'essaie d'envoyer sur ma carte une ROM connue, et de voir si le MVS se comporte comme il a l'habitude de faire. Ici, j'ai un slot HS en erreur backup RAM et des problèmes graphiques, et j'essaie de lui injecter la ROM Neo Diag.
Et pour le moment, c'est la watchdog party, donc ça ne marche pas.
A noter que j'ai une latence de 5ns au moment de la lecture dans la RAM, induite par le temps de réponse du GAL qui gouverne le bus. Je ne pense pas pouvoir descendre en-dessous, alors il va falloir faire avec! (ou alors...?)
- Bouz
- Expert Technique

- Messages : 1605
- Enregistré le : mer. 22 déc. 2021 18:52
- Localisation : Hérault
- Pays : 🇫🇷 FR
- Contact :
Re: [WIP 15%] Projet BricoNeo - Entrées et sorties via le connecteur de la ROM système
Une petite frustration provient du fait que je n'ai pas conçu le système pour que le microcontrôleur puisse LIRE dans la RAM du BricoNeo. Sur le papier, ça ne sert à rien, puisqu'elle est censée contenir ce qu'il a lui-même écrit dedans.
J'ai fait des vérifications à l'oscilloscope bit par bit, mais vérifier 128Ko de RAM comme ça, ça va être compliqué!
Plan B aujourd'hui: je rajoute un fil sur le GAL contrôleur de bus, je le reprogramme, et il sait maintenant gérer un mode étrange où la lecture en RAM devient possible
.
Reste à faire le code du microcontrôleur, et je pourrai enfin vérifier que l'écriture se fait bien (avant de me concentrer sur le problème éventuel de lecture via le slot MVS).
Bref, au boulot!
J'ai fait des vérifications à l'oscilloscope bit par bit, mais vérifier 128Ko de RAM comme ça, ça va être compliqué!
Plan B aujourd'hui: je rajoute un fil sur le GAL contrôleur de bus, je le reprogramme, et il sait maintenant gérer un mode étrange où la lecture en RAM devient possible
Reste à faire le code du microcontrôleur, et je pourrai enfin vérifier que l'écriture se fait bien (avant de me concentrer sur le problème éventuel de lecture via le slot MVS).
Bref, au boulot!
- Xrider
- Administrateur

- Messages : 5624
- Enregistré le : sam. 14 sept. 2019 10:47
- Localisation : MaskRom
- Pays : 🇫🇷 FR
- Contact :
Re: [WIP 15%] Projet BricoNeo - Entrées et sorties via le connecteur de la ROM système
Salut Aurélien,
Si je comprends bien, tu injectes un bios dans une ram pour que la console la prenne comme sa mask rom d’origine ?
Et la çà ne fonctionne pas ? Watchdog party…
Essaye de relire ta ram, fort a penser qu’il doit y avoir un problème de ce côté là. Pour la gal 5ns, j’y crois pas. Certaine eeprom réponde à 120ns, et ça fonctionne
Si je comprends bien, tu injectes un bios dans une ram pour que la console la prenne comme sa mask rom d’origine ?
Et la çà ne fonctionne pas ? Watchdog party…
Essaye de relire ta ram, fort a penser qu’il doit y avoir un problème de ce côté là. Pour la gal 5ns, j’y crois pas. Certaine eeprom réponde à 120ns, et ça fonctionne
Delta Store - Modchip - Mods - Tools - Modification pour vos consoles de jeux video
Delta island - Jeux Vidéo - Retro-Ingénierie - Développement Hardware & Software
Delta island - Jeux Vidéo - Retro-Ingénierie - Développement Hardware & Software
- Bouz
- Expert Technique

- Messages : 1605
- Enregistré le : mer. 22 déc. 2021 18:52
- Localisation : Hérault
- Pays : 🇫🇷 FR
- Contact :
Re: [WIP 15%] Projet BricoNeo - Entrées et sorties via le connecteur de la ROM système
C'est bien ça, tu as tout compris.Xrider a écrit : jeu. 3 août 2023 12:28 Salut Aurélien,
Si je comprends bien, tu injectes un bios dans une ram pour que la console la prenne comme sa mask rom d’origine ?
Et la çà ne fonctionne pas ? Watchdog party…
Essaye de relire ta ram, fort a penser qu’il doit y avoir un problème de ce côté là. Pour la gal 5ns, j’y crois pas. Certaine eeprom réponde à 120ns, et ça fonctionne
Relire la RAM, j'y ai passé la jourée: souder des fils, recoder un GAL, modifier le code PC et Arduino... Avant de m'apercevoir que les puces en place ne savent pas lire les lignes de données de la RAM, seulement les adresses (eh oui, j'avais oublié ce détail).
Bref, j'ai réfléchi 2 secondes de plus (j'aurais pu économiser ma journée, dommage que je ne l'aie pas fait plus tôt...):
- Xrider
- Administrateur

- Messages : 5624
- Enregistré le : sam. 14 sept. 2019 10:47
- Localisation : MaskRom
- Pays : 🇫🇷 FR
- Contact :
Re: [WIP 15%] Projet BricoNeo - Entrées et sorties via le connecteur de la ROM système
Regarde ce projet :
http://www.boobip.com/hardware/27C400_EMU
Tu pourrais reprendre certaine partie pour ta compréhension / développement
EDIT :
Ou encore :
https://www.elektormagazine.fr/magazine ... 00211/9515
https://github.com/Kris-Sekula/EPROM-EM ... 2.2(A).pdf
http://www.boobip.com/hardware/27C400_EMU
Tu pourrais reprendre certaine partie pour ta compréhension / développement
EDIT :
Ou encore :
https://www.elektormagazine.fr/magazine ... 00211/9515
https://github.com/Kris-Sekula/EPROM-EM ... 2.2(A).pdf
Delta Store - Modchip - Mods - Tools - Modification pour vos consoles de jeux video
Delta island - Jeux Vidéo - Retro-Ingénierie - Développement Hardware & Software
Delta island - Jeux Vidéo - Retro-Ingénierie - Développement Hardware & Software
- Bouz
- Expert Technique

- Messages : 1605
- Enregistré le : mer. 22 déc. 2021 18:52
- Localisation : Hérault
- Pays : 🇫🇷 FR
- Contact :
Re: [WIP 15%] Projet BricoNeo - Entrées et sorties via le connecteur de la ROM système
Intéressant, merci!
Par contre, ce n'est pas exactement le but de la manoeuvre. Pour rappel:
- Faire passer de la RAM pour de la ROM (là, OK
).
- Avoir le PC connecté en permanence à la NeoGeo pour injecter de la ROM sans avoir rien à débrancher/rebrancher (ça, ton dernier lien le fait)
- Gérer un port de sortie PC => NeoGeo sur une adresse réservée (pour piloter les tests depuis le PC, typiquement)
- Gérer un port d'entrée NeoGeo => PC sur une adresse réservée.
Ce dernier point est le plus important, parce qu'il permet:
- De faire des dumps de RAM, de ROM, de n'importe quoi dans l'espace d'adressage du 68000
- De faire des dumps de l'état des registres du CPU
- De récupérer les résultats des tests quand le circuit vidéo fait des siennes
Par contre, après m'être explosé les neuronnes, j'ai enfin trouvé pourquoi ma carte ne fonctionnait pas, j'ai cru que j'allais péter un boulon.
Je suis bien content d'avoir pensé à utiliser le MiniPro pour voir ce que la NeoGeo voyait quand elle lisait la ROM.
Et maintenant, l'heure de la loose: ça ne marchait pas parce que...... je me suis loupé dans le câblage des buffers 74x244. Résultat: les quartets à l'intégreur d'un octet sont inversés lors du décodage d'adresses et de données par la NeoGeo (ex: 1234 devient 2143).
Pas très compliqué à corriger, mais il va falloir passer par la case PCB!
En attendant, je peux quand même essayer de patcher le code pour prendre ça en compte. Facile pour les données, mais plus compliqué pour les adresses. Je vais voir si je me lance là-dedans...
Par contre, ce n'est pas exactement le but de la manoeuvre. Pour rappel:
- Faire passer de la RAM pour de la ROM (là, OK
- Avoir le PC connecté en permanence à la NeoGeo pour injecter de la ROM sans avoir rien à débrancher/rebrancher (ça, ton dernier lien le fait)
- Gérer un port de sortie PC => NeoGeo sur une adresse réservée (pour piloter les tests depuis le PC, typiquement)
- Gérer un port d'entrée NeoGeo => PC sur une adresse réservée.
Ce dernier point est le plus important, parce qu'il permet:
- De faire des dumps de RAM, de ROM, de n'importe quoi dans l'espace d'adressage du 68000
- De faire des dumps de l'état des registres du CPU
- De récupérer les résultats des tests quand le circuit vidéo fait des siennes
Par contre, après m'être explosé les neuronnes, j'ai enfin trouvé pourquoi ma carte ne fonctionnait pas, j'ai cru que j'allais péter un boulon.
Je suis bien content d'avoir pensé à utiliser le MiniPro pour voir ce que la NeoGeo voyait quand elle lisait la ROM.
Et maintenant, l'heure de la loose: ça ne marchait pas parce que...... je me suis loupé dans le câblage des buffers 74x244. Résultat: les quartets à l'intégreur d'un octet sont inversés lors du décodage d'adresses et de données par la NeoGeo (ex: 1234 devient 2143).
Pas très compliqué à corriger, mais il va falloir passer par la case PCB!
En attendant, je peux quand même essayer de patcher le code pour prendre ça en compte. Facile pour les données, mais plus compliqué pour les adresses. Je vais voir si je me lance là-dedans...
- Bouz
- Expert Technique

- Messages : 1605
- Enregistré le : mer. 22 déc. 2021 18:52
- Localisation : Hérault
- Pays : 🇫🇷 FR
- Contact :
Re: [WIP 15%] Projet BricoNeo - Entrées et sorties via le connecteur de la ROM système
ERRATUM: pour les adresses, c'est facile, les compteurs sont des GAL, je peux les reprogrammer comme je veux sans toucher au code du microcontroleur!
- Bouz
- Expert Technique

- Messages : 1605
- Enregistré le : mer. 22 déc. 2021 18:52
- Localisation : Hérault
- Pays : 🇫🇷 FR
- Contact :
Re: [WIP 15%] Projet BricoNeo - Entrées et sorties via le connecteur de la ROM système
Et c'est un premier lancement réussi, youpi!
Je vais pouvoir tester toute la chaîne VS.Code / assembleur / BricoNeo et regarder si les ports fonctionnent correctement.
Voilà une toute petite démo avec l'envoi dans la RAM d'un UniBIOS 4.0 sur un slot en passe de backup RAM.
Je vais pouvoir tester toute la chaîne VS.Code / assembleur / BricoNeo et regarder si les ports fonctionnent correctement.
Voilà une toute petite démo avec l'envoi dans la RAM d'un UniBIOS 4.0 sur un slot en passe de backup RAM.
- Xrider
- Administrateur

- Messages : 5624
- Enregistré le : sam. 14 sept. 2019 10:47
- Localisation : MaskRom
- Pays : 🇫🇷 FR
- Contact :
Re: [WIP 15%] Projet BricoNeo - Entrées et sorties via le connecteur de la ROM système
Un grand bravo pour cette première étape !
Félicitations pour le debug, tu as réussi à comprendre tes erreurs, et contourner le problème en soft, c’est pas rien !
Cette démonstration prouve que le projet tien la route ! Impatient de voir la suite !
Grâce à ton dev, on pourras très facilement diagnostiquer les NeoGeo, et ça c’est top !
Félicitations pour le debug, tu as réussi à comprendre tes erreurs, et contourner le problème en soft, c’est pas rien !
Cette démonstration prouve que le projet tien la route ! Impatient de voir la suite !
Grâce à ton dev, on pourras très facilement diagnostiquer les NeoGeo, et ça c’est top !
Delta Store - Modchip - Mods - Tools - Modification pour vos consoles de jeux video
Delta island - Jeux Vidéo - Retro-Ingénierie - Développement Hardware & Software
Delta island - Jeux Vidéo - Retro-Ingénierie - Développement Hardware & Software

