Bonjour,
Avec l'été revient le temps ou je fourre mon nez dans le Prophet-5 en panne, avec l'espoir d'avoir plus d'inspiration que l'année précédente.
Il s'est arrêté après un transport, depuis le calculateur ne fonctionne pas comme attendu. Il semble se lancer dans sa routine d'accordage d'après observation à l'oscilloscope, mais les signaux qui sortent du CNA ne sont pas tout à fait corrects, bref je soupçonne un problème sur le PCB3, le calculateur.
C'est un rev3.3. rom 9.5, il est censé avoir en rom par construction un est mémoire et un test CPU que l'on active en maintenant TP304 à +5V (§11.4 dans le manuel de Jungleib). Même ce test ne se lance pas (il s'embarque dans son accordage foireux sans rien changer).
Donc première question : quelqu'un a-t-il essayé cette routine de test, pour me confirmer qu'elle fonctionne ?
Salut,
Au démarrage, un Z80 va lire l'adresse 0000h, à partir de laquelle il doit trouver un programme exécutable. En l'occurrence, il doit y lire l'adresse (en deux parties Low et High) à laquelle il doit trouver le code à exécuter. Genre :
IN A,(0) ; Saut à l'adresse présente sur le port d'entrée
LD L,A
IN A,(1)
LD H,A
JP (HL)
Et il part à (HL) exécuter le code standard (accordage) ou le code de test. Il faut donc qu'il lise l'adresse correcte sur le port d'entrée, puis que le code attendu soit effectivement présent à cette adresse.
Ce serait intéressant d'avoir le listing de la ROM du Prophet-5, mais j'ai pas encore vu. Si quelqu'un a ça ?
Comme ca c'est pas facile...
Regarde les signaux sur le bus CPU... et avec un analyseur logique, ca devrait le faire, surtout si tu as un module asm Z80
Bon, ok c'est peut être beaucoup pour un bricoleur a la maison... mais ca existe
Regarde ce qui coince au niveau du bus et des commandes des PIO... des RAM et éventuellement des ROM !
J'ai déjà changé plusieurs fois des ROM (PROM, EPROM et Flash) qui étaient corrompues !
Des chercheurs qui cherchent, on en trouve. Des chercheurs qui trouvent, on en cherche.
Merci pour les conseils (et les prières).
Je vais voir si je peux emprunter un analyseur logique.
En attendant, j'ai une autre question pour quelqu'un qui serait allé tripatouiller un P5. J'aimerais savoir quelle est la tension normale sur la ligne 5V (j'ai 5,5V au lieu de 5,6 avant D304 et 4,65 volts au lieu de 5V après) et quelle est l'intensité (j'ai 430 mA) pour savoir si c'est mon alim qui est faible, ou si un composant tire trop dessus. Cependant, rien ne chauffe exagérément, et j'ai essayé de monter la tension jusqu'à 5V sans amélioration.
Je m'écarte un peu du sujet, juste pour préciser que l'avatar est la face avant de mon "Moug" à base de SN76477 (Électronique Pratique n°36 de mars 1981), tout était fait à l'économie, un temps de grande misère...
Le SN76477 peut quand même faire des choses amusantes : http://www.birthofasynth.com/Thomas_Hen ... _main.html" onclick="window.open(this.href);return false;
Pour le P5, 430 mA semble un peu élevé (j'ai pas connaissance de la valeur normale), mais peut être que le programme boucle dans une config qui "tire" sur le 5V, sans qu'un composant particulier ne chauffe.
Pas de progrès du côté du CPU, juste un truc amusant, il passe ce soir un film sur Direct 8 (Filles perdues, cheveux gras) où on entend le synthétiseur en question, du temps où il marchait et qu'il était productif (Don Quichotte de Magazine 60...) .
J'ai jamais vu ce film, mais il parait qu'il y a ce morceau dedans.
Vacances, toscane, italie , belissima ! ... ce soir temps orageux ... tiens y une télé et un décodeur sat .. on essaye ce truc ... on zappe les chaines, et juste pour voir le nombre de canaux je décrémente à partir de 1 , 600, 599 .. 598 ouah, 600 chaines en numérique ! chez moi y en juste 6 en analo ! et pan sur le canal 596 une chaine jusqu'ici inconnue (direct 8) en français ! C'est le moment du générique du film ""filles perdues,cheveux gras : ma femme : "je regardrais bien ce film (au titre racoleur pour mesdames et au générique accrocheur à mes oreilles , ça rappelle quelque chose ... ) Mais oui, c'est ce "bon" vieux tube des 80's du groupe Magazine 60 / Don Quichotte .... sympa comme rappel ...coucours de circonstances ...10 minutes plus tard, je fréquente mon bon vieux forum anafrog et je tombe sur ce post !
Dominique RegiaCorte, Jean-Luc Drion, des français derrières ces groupes bien typés hispano/italo ... qui l'eu cru ?
Magazine 60 (Rendez vous sur la Costa del Sol, Don Quichotte), Monte Kristo( Girl of lucifer, Sherry Mi sai ...) ... ces tubes 80's en pleine période italo disco que mes fraiches oreilles d'ado subissaient dans les "cabanes" en bois des baloches du samedi soir de ma profonde campagne... bon OK, aujourd'hui avec le recul , cette musique simplette très mélodique avec plein d'onomatopées "oh oh oh " faciles à retenir n'avait pas d'autre but que de faire danser et ça le faisait bien ! En tout cas, ces "musiques" à la façon analos/hybrides/BAR et leur contexte "drague" ont bien participé à mon éducation "synthimentale"
Le Burriquito de magazine 60, de la musique qui se prend pas au sérieux, j'aime bien.
Mais bon, c'est pas tout ça. Je suis allé lire la ROM 9.5 du P5 en question. Ca a pas été facile, je passe les détails. J'ai donc 8192 octets qui commencent comme ça en hexadécimal : B1 FF C3 ED D6 A1 80 C0 8E 85 AF C7 F7 A3 90 FC 8D A0 F9....
Je n'ai pas encore essayé d'analyser. Ci dessous deux essais de désassemblage au cas où il y aurait un spécialiste du Z80 à qui ça parlerait... Si quelqu'un est intéressé par l'intégralité du code, on peut voir ça par mail. Pas de garantie sur la justesse de la lecture, et je rappelle que le P5 est en panne, c'est peut être la rom qui est corrompue.
Une fois désassemblé voilà le début selon DASM:
LABEL INSTR. PARAMETER(s) ; ADR/OPCODE ASCII
OR C ; 0000 B1 .
RST 38H ; 0001 FF .
JP Lb0 ; 0002 C3EDD6 ...
AND C ; 0005 A1 .
ADD A,B ; 0006 80 .
RET NZ ; 0007 C0 .
ADC A,(HL) ; 0008 8E .
ADD A,L ; 0009 85 .
XOR A ; 000A AF .
RST 00H ; 000B C7 .
RST 30H ; 000C F7 .
AND E ; 000D A3 .
SUB B ; 000E 90 .
CALL M,Lb1 ; 000F FC8DA0 ...
et le début selon DASMx :
F000 : B1 " " or c
F001 : FF " " rst L0038
F002 : C3 ED D6 " " jp LD6ED
;
F005 : A1 " " and c
F006 : 80 " " add a,b
F007 : C0 " " ret nz
F008 : 8E " " adc a,(hl)
F009 : 85 " " add a,l
F00A : AF " " xor a
F00B : C7 " " rst L0000
F00C : F7 " " rst L0030
F00D : A3 " " and e
F00E : 90 " " sub b
F00F : FC 8D A0 " " call m,LA08D
Je regarderais... mais avant, as tu réussi a obtenir une copie du contenu de cette eprom ?
ca serait plus simple de procéder comme cela... Et vérifier ainsi la somme de contrôle
Et permettrai d'écarter le problème de fiabilité de l'EPROM...
Des chercheurs qui cherchent, on en trouve. Des chercheurs qui trouvent, on en cherche.
comme l'a dit très bien JB plus haut, il faut d'abord vérifier la bonne santé des lignes hard du CPU, surtout celles des données D0-D8, la ligne RESET et le circuit "power detector" car c'est un problème récurrent d'avoir des pb de lectures/écritures RAM (données corrompues) pendant la phase stratégique du reset.
Pour la ROM, le code de startup désassemblé me parait étrange : OR C en 0000, pas de chargement du stack pointer genre LD SP,xx, pas d'activation/désactivation interrupt type DI/EI/IM0/1/2 ..., RST 00h suivi de RST 30h. Le RST 38h est cohérent mais son opcode est "FF" donc douteux ..., faut voir ce qu'il y a en $0038h, adresse du vecteur d'int INT/
C'est vrai que pour éliminer une défaillance de la ROM, le plus simple est de vérifier sa somme de contrôle ... mais faut la connaître... quelques fois, c'est ecrit sur l'étiquette. Qui a une EPROM 9.5 a démonter ?
Merci pour les conseils. J'ai refait des lectures de la ROM et il y avait une erreur dans mon post du 25/8. Désolé, j'essaie autant que possible de ne pas encombrer le forum avec des bêtises, mais sans référence, difficile de vérifier. La ligne d'adresse D7 avait un contact aléatoire et toutes les données <128 pouvaient être décalées aléatoirement de 128. J'ai lu une ROM de ZX81 pour tester, ça correspond à ce qu'on trouve sur le net, je propose donc ci-dessous une version corrigée du début de la ROM9.5 du P5. Ca semble plus logique, comme l'attendait Electron Vert il y a bien le chargement d'un registre de pointeur et la la définition d'un mode d'interruption IM 1 en 003. Checksum:B8ED rien d'écrit sur la puce hélas, mais je pense que cette fois-ci, je la tiens.
Je rappelle que je tente de lancer un "test CPU basique" décrit dans le manuel, que l'on active avec TP304 à +5V soit la ligne DB3. Ça devrait avoir pour conséquence de faire apparaître 0010xx sur le bus de données DB5...DB0.
Cette donnée étant lue sur l'"ADC Input" U324 sélectionné par /IORQ /RD et A2=1, A1=0, A0=0.
Electron Vert, c'est quoi les "pb de lectures/écritures RAM pendant la phase stratégique du reset". J'ai titillé le reset autant que j'ai pu. Le Z80 ne devrait pas accéder à la RAM avant que tout soit en ordre de marche ?
Lb257: LD SP,$43FF ; 0000 31FF43 1.C
IM 1 ; 0003 ED56 .V
LD HL,$4000 ; 0005 210040 !.@
LD C,$05 ; 0008 0E05 ..
XOR A ; 000A AF .
LD B,A ; 000B 47 G
Bon, il faut se rendre à l'évidence, après avoir demandé le checksum de la rom sur le groupe Yahoo SCI, sur Harmony Central et sur prophet5.org, ça n'inspire pas grand monde, et ça se comprend. Moi même, s'il n'était pas en panne, je ne me serais pas posé la question.
Je vais essayer de progresser dans le code, mais je manque un peu de temps.
Alors voilà, s'il y a quelqu'un quelque part, qui a un P5 en panne avec une rom 9.3 et au delà, je propose de la lire, ces données pourront peut être servir à la collectivité.
On peut étendre ça à n'importe quelle rom d'ailleurs, sous réserve qu'elle ne dépasse pas 8 ko pour le moment, je ne pense pas crouler sous les demandes.
Bon, enfin du code qui ressemble à du 'startup" classique Z80 ... !!!, c'est très cohérent tout ça ... ,tout ce qu'il faut pour bien initialiser un P5 correctement !
Pour le switch en mode test il faut voir plus loin ...Bon, si je vais plus loin ... aie aie aie le temps "bouffé" et mon épicurisme effréiné, j'en fais quoi ?, hein ! (j'ai plusieurs "chantiers" de retro ing. en cours .... plus l'âge à ça moi )
Est-ce que tu peux m'envoyer le binary en message privé que je fouille un peu ... ?
Il faut que je trouve le manuel de service et schémas, ça ne devrait pas être trop difficile, et me faire un petit plan mémoire et décodage adresses de l'archi prophète ...
c'est quoi les "pb de lectures/écritures RAM pendant la phase stratégique du reset".
un grand classique : éctritures et lecture en RAMs ou EEPROMs pendant la mise sous et hors tension de la carte CPU, surtout pour la mémoire RAM sauvegardée (patchs) , l'autre (la scratchpad) en s'en fout car elle est initialisée à chaque mise sous tension. Sans précautions hardware (petite circuiterie de verrouillage signaux CLK, WR/, CS/ ... pendant les montées et chutes de tension et qui assure aussi le basculement entre alim pile/accu et secteur) le micro peut tenter d'écrire en NVRAM alors que celle ci est en mode transitoire "marche-arrêt" ou "arrêt-marche", un peu comme si en même temps tu sauvegardes un patch (write) tout en mettant le P5 hors tension ... risque de données corrompues !