[Résolu] Aide code 65C02 + eeproms 4ko

Je recherche. Tout et Rien, mais pas de petites annonces ici (pour les PA, c'est dans "Je donne, j'échange, j'achète et je vends")

Modérateur : Politburo

Répondre
Avatar du membre
Altomcat
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 348
Enregistré le : 02 avr. 2006 10:52
Localisation : Irreville - Eure - Normandie
Contact :

[Résolu] Aide code 65C02 + eeproms 4ko

Message par Altomcat »

Salut,

Sur un module de jeu d'échec électronique fonctionnant autour d'un 65C02, je viens d'extraire le contenu de 6 roms 2732 contenant 4ko chacune.
Je ne connais absolument pas le 6502 mais je souhaiterais m'intéresser à ce code en trouvant notamment le point d'entrée. Comment dois je m'y prendre ?
Quels outils de désassemblage ou d'émulation me conseillez vous sur PC pour parcourir ce code ?

Mes fichiers sont au format intel hex et binaire.

Merci pour votre aide.
Modifié en dernier par Altomcat le 14 oct. 2010 09:01, modifié 1 fois.
Avatar du membre
gilles
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3100
Enregistré le : 17 avr. 2007 21:25
Localisation : 44
Contact :

Re: Aide code 65C02 + eeproms 4ko

Message par gilles »

Altomcat a écrit :Salut,

Sur un module de jeu d'échec électronique fonctionnant autour d'un 65C02, je viens d'extraire le contenu de 6 roms 2732 contenant 4ko chacune.
Je ne connais absolument pas le 6502 mais je souhaiterais m'intéresser à ce code en trouvant notamment le point d'entrée. Comment dois je m'y prendre ?
Quels outils de désassemblage ou d'émulation me conseillez vous sur PC pour parcourir ce code ?

Mes fichiers sont au format intel hex et binaire.

Merci pour votre aide.
quitte à le faire bien repart d'un driver mess d'une machine assez simple basée sur un 6502. l'apple 1 par exemple.
Avatar du membre
Alainza
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 158
Enregistré le : 19 sept. 2009 06:59
Localisation : Seattle

Re: Aide code 65C02 + eeproms 4ko

Message par Alainza »

Altomcat a écrit :Salut,

Sur un module de jeu d'échec électronique fonctionnant autour d'un 65C02, je viens d'extraire le contenu de 6 roms 2732 contenant 4ko chacune.
Je ne connais absolument pas le 6502 mais je souhaiterais m'intéresser à ce code en trouvant notamment le point d'entrée. Comment dois je m'y prendre ?
Quels outils de désassemblage ou d'émulation me conseillez vous sur PC pour parcourir ce code ?

Mes fichiers sont au format intel hex et binaire.

Merci pour votre aide.
Il me semble qu'un 6502 lit son adresse de démarrage à l'adresse stockée en 0xFFFE 0xFFFF (ou un truc dans le genre). Je peux retrouver cela dans mes vieux bouquins de l'époque Apple II.

Je suis très intéressé par tes Eproms (ça vient de quelle machine ?) et peux dépoussiérer mes connaissances 6502 pour qu'on avance ensemble sur le sujet.

Alain
Torlus
Administrateur
Administrateur
Messages : 1266
Enregistré le : 15 oct. 2005 22:33
Contact :

Re: Aide code 65C02 + eeproms 4ko

Message par Torlus »

FFFC et FFFD en fait.
Si tes eeproms font 4Ko, ça donne positions FFC et FFD dans ton fichier.
Tu regardes la valeur codée là (en little-endian si je ne m'abuse) et ça te donne ton adresse de démarrage.
"Pour finir, faut commencer."
"Il faut être un peu félé pour laisser passer la lumière".
Avatar du membre
Altomcat
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 348
Enregistré le : 02 avr. 2006 10:52
Localisation : Irreville - Eure - Normandie
Contact :

Re: Aide code 65C02 + eeproms 4ko

Message par Altomcat »

bon ok, de mémoire il y a deux 74LS138 sur le PCB. Je devrais voir si les adresses hautes FFFC & FFFD du cpu sont routées sur une des 6 Eproms. A suivre ...

@Alainza : le dump provient du module d'un jeu d'échecs électronique associé au Conchess Ambassador. Cependant, je sais que le contenu de plusieurs roms est défectueux. Pour ne pas laisser tomber cette réparation, je vais passer un peu de temps dessus pour comprendre le fonctionnement global du plateau.

J'ai pas encore mis la main sur un désassembleur 6502 qui accepte un fichier binaire quelconque (de préférence sous linux) ...

@+ Arnaud.
Avatar du membre
Alainza
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 158
Enregistré le : 19 sept. 2009 06:59
Localisation : Seattle

Re: Aide code 65C02 + eeproms 4ko

Message par Alainza »

Altomcat a écrit :@Alainza : le dump provient du module d'un jeu d'échecs électronique associé au Conchess Ambassador. Cependant, je sais que le contenu de plusieurs roms est défectueux. Pour ne pas laisser tomber cette réparation, je vais passer un peu de temps dessus pour comprendre le fonctionnement global du plateau.
ok, je vois de quelle vente il s'agit :) (je m'intéresse pas mal aux échiquiers et je suis d'assez près les ventes sur ebay)

Je n'ai jamais vu passer les roms des conchess (ça ne veut pas dire qu'elles ne sont pas dispos quelque part), c'est dommage car cela t'aurait fait gagner du temps.
Question de novice en électronique : est-ce vraiment utile de chercher à comprendre le fonctionnement du programme pour voir si leur contenu est correct ?
Je sais par exemple que sur Apple II, il était facile de lister le code 6502 et de détecter les parties où il y avait du code des parties vs celles où il y avait des données (le code du conchess n'est certainement pas protégé par des encryptions quelconques) => à part les bibliothèques d'ouvertures et quelques tables de constantes, je suppose que les Eproms doivent être surtout pleines de code, non ?
Est-ce qu'une eprom peut n'avoir que quelques octets défectueux ? Ca ne serait vraiment pas de chance que cela empêche le programme de démarrer (ok il planterait probablement en cours de réflexion) : et si les octets défectueux se comptent plus largement, je pense qu'un simple désassemblage devrait permettre de trouver l'eprom coupable (la réparer serait autre chose).
Bon courage,
Alain
_______________________________________________________________
Tandy PC2, TI 59, Sharp PC G850VS, Apple ][... et bien d'autres
Avatar du membre
Altomcat
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 348
Enregistré le : 02 avr. 2006 10:52
Localisation : Irreville - Eure - Normandie
Contact :

Re: Aide code 65C02 + eeproms 4ko

Message par Altomcat »

oh Alainza tu en as trop dit et tu es démasqué maintenant !! Je viens de faire le rapprochement du pseudo avec un forum spécialisé où je me suis cassé les dents d'ailleurs :)

En fait pour tout dire, cet échiquier fonctionnait de façon très chaotique. D'un allumage à l'autre, tout pouvait s'allumer puis s'éteindre en émettant un son quasi continu ou ressemblant étrangement au son émis par mon zx81 lorsque je chargeais mes programmes ... J'ai donc effectué un remplacement quasi systématique des circuits logiques qui heureusement sont peu nombreux. J'ai vu du mieux au scope sur les signaux circulant autour du cpu mais pas de miracle.

Comme les Eproms sont soudées à la carte, j'ai tenté la lecture des puces en retirant le cpu qui avait un déjà un support. J'ai forcé le chip select à l'état haut sur les Eproms que je ne voulais pas voir sur le bus et j'ai tenté le dump avec une pince placée sur le composant même. On l'utilise généralement pour voir les signaux qui se balladent sans risquer de court-circuiter le composant en insistant trop sur les pinouilles ... Les résultats n'étaient pas ceux que j'espérais. Cela est certainement dû à la consommation globale demandée par l'ensemble des Eproms car physiquement, elles sont toutes connectées à Vcc et à la masse. Les programmateurs/lecteurs d'Eproms ne fournissent pas assez de courant pour gérer cela. Enfin, ce n'est qu'une hypothèse que j'avance ...
Donc, à partir de ce moment, j'ai décidé de couper les pattes pour effectuer le dump puis de remplacer celle ci par une copie sur support. Et là malheureusement, je me suis heurté à plusieurs erreurs de lecture et sur toutes les roms.
J'ai essayé des tas de manip pour récupérer ces fichues données. J'ai même développé mon propre lecteur d'Eproms :) à base de µc. J'ai tenté de refroidir les Eproms aussi et finalement j'ai réussi à dumper plusieurs fois le contenu de chaque rom sans qu'il y ai d'erreurs de lecture. Bref en jouant sur la température, les timings, la relecture n fois de chaque cellule, j'ai obtenu ces fichiers. Quelle aventure non ? Mais comment être certain du contenu maintenant ...

J'ai pris contact avec pas mal de spécialistes qui n'ont pas su me donner de réponse favorable mais je ne suis pas du genre à baisser les bras. Alors en attendant, je gratte un peu, je prépare quelques schémas et au final je tenterais bien de transformer cet échiquier en clone de DGT pour l'interfacer directement avec mon PC. Ca, c'est le côté espoir qui fait vivre :)

Voilà je retourne à mes dessins. Au scope, je remarque déjà que le CPU ne cause qu'à la dernière Eproms nommée ccP2.F
Avatar du membre
Alainza
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 158
Enregistré le : 19 sept. 2009 06:59
Localisation : Seattle

Re: Aide code 65C02 + eeproms 4ko

Message par Alainza »

Altomcat a écrit :oh Alainza tu en as trop dit et tu es démasqué maintenant !! Je viens de faire le rapprochement du pseudo avec un forum spécialisé où je me suis cassé les dents d'ailleurs :)
Rien de surprenant à ce que tu te sois cassé les dents : les manipulations que tu décrits sont au-dessus des capacités de la plupart des gars de ce forum (moi je sais au mieux remplacer un interrupteur à aimant sur un universal chessboard :( ) et le Conchess n'est pas une grande star des échiquiers, et comme il fallait ouvrir la bestiole pour répondre à ta question, j'ai passé mon tour car je connais trop bien mes limites et mon Ambassador ayant déjà un bouton de commande ko (heureusement, cela n'empêche pas de jouer), je préfère le laisser tranquille.

En tout cas, chapeau pour ce que tu as déjà fait et bonne chance pour la suite des opérations ! Et tiens nous au courant stp, c'est très intéressant à lire.

Alain
_______________________________________________________________
Tandy PC2, TI 59, Sharp PC G850VS, Apple ][... et bien d'autres
Avatar du membre
gilles
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3100
Enregistré le : 17 avr. 2007 21:25
Localisation : 44
Contact :

Re: Aide code 65C02 + eeproms 4ko

Message par gilles »

si le cpu ne cause qu'à une eprom c'est que c'est elle qui contient les adresses initiales... et que ca se plante vite après? ou que le cpu est mort...
Il est courant d'avoir un checksum dans une rom, un seul bit altéré et plus rien ne démarre... avec un peu de chance c'est ce qui arrive sur les tiennes...
Avatar du membre
Altomcat
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 348
Enregistré le : 02 avr. 2006 10:52
Localisation : Irreville - Eure - Normandie
Contact :

Re: Aide code 65C02 + eeproms 4ko

Message par Altomcat »

gilles a écrit :si le cpu ne cause qu'à une eprom c'est que c'est elle qui contient les adresses initiales... et que ca se plante vite après? ou que le cpu est mort...
Cette dernière réponse semble correcte ! Avec deux trois autres remarques que j'ai faite à ce sujet sur mon blog. C'est le dernier composant que j'ai changé. J'ai fait un peu trop confiance envers l'ancien proprio qui m'avait signalé avoir déjà changé cet élément.

Pour les Eeproms, elles étaient visiblement correctes et mon process de dump effectué via une pince de test n'était pas fiable ...
humeur
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 637
Enregistré le : 30 juil. 2004 21:47
Localisation : Vendée

Re: Aide code 65C02 + eeproms 4ko

Message par humeur »

Altomcat a écrit :
Pour les Eeproms, elles étaient visiblement correctes et mon process de dump effectué via une pince de test n'était pas fiable ...[/quote a écrit :
C'est exactement ce dont j'avais parler avec Fabrice qui procède comme toi pour le dump, j'avais préciser que cela ne pouvais pas fonctionner sauf dans le cas d'une cartouche ou il n'y as que la rom ou eprom.
la dépose du composant est obligatoire pour toute lecture rom prom gal pal etc....


Jean louis
jean louis ( humeur)
Chercheur en Texas instruments Ti 99/4a, jeux educatifs tm990 etc....
et Exelvision
Avatar du membre
Altomcat
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 348
Enregistré le : 02 avr. 2006 10:52
Localisation : Irreville - Eure - Normandie
Contact :

Re: Aide code 65C02 + eeproms 4ko

Message par Altomcat »

humeur a écrit : C'est exactement ce dont j'avais parler avec Fabrice qui procède comme toi pour le dump, j'avais préciser que cela ne pouvais pas fonctionner sauf dans le cas d'une cartouche ou il n'y as que la rom ou eprom.
la dépose du composant est obligatoire pour toute lecture rom prom gal pal etc....
Je vois où tu veux en venir mais j'avais déjà réfléchi au problème d'interactions avec les autres composants sur le bus de données et le fait de réinjecter du courant en venant alimenter par dessus une eeprom. Je pouvais retirer le CPU donc je l'ai fait (une interaction en moins).
Ensuite, j'ai commencé à souder une résistance en pull-up sur l'output enable de chaque eeprom pour qu'une seule Eeprom ne cause à la fois.
En fait, je n'ai pas été jusqu'au bout de la démarche parce que même en utilisant une rom saine avec la pince et mon support DIP déporté, cela ne fonctionnait pas très bien. Il faut dire qu'au prix de la pince neuve (environ 30€) j'ai préféré utiliser une pince assez ancienne (de plus de 20 ans en fait et récupéré dans un lot). Il doit y avoir des problèmes d'oxydation où quelques choses dans le genre.
Enfin, il y a peut-être aussi la consommation excessive e courant qui peut pertuber les lecteurs d'Eeproms du commerce si l'on considère dans mon cas qu'il reste au minimum 6 roms et 2 rams à alimenter (même si physiquement elles restent muettes).

En tout cas, ce fut un excellent TP :)
humeur
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 637
Enregistré le : 30 juil. 2004 21:47
Localisation : Vendée

Re: [Résolu] Aide code 65C02 + eeproms 4ko

Message par humeur »

tu peut avoir une résistance qui vienne forcer un niveau haut ou bas et qui fausse la lecture ou un condo hs

moi je dessoude.
jl
jean louis ( humeur)
Chercheur en Texas instruments Ti 99/4a, jeux educatifs tm990 etc....
et Exelvision
Répondre

Retourner vers « Recherche informations / technique / etc ... [pas de petites annonces ici] »