Prophet 5 - test CPU

Petits bobos, dépannages et jolies infirmières.
Avatar de l’utilisateur
castef
Messages : 96
Inscription : 24 juil. 2010, 18:22
Localisation : Basses Alpes

Prophet 5 - test CPU

Message par castef »

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 ?
http://sci-prophet5-rev33-sn5207.blogspot.fr/" onclick="window.open(this.href);return false;
http://yamaha-dx7-106821.blogspot.fr/" onclick="window.open(this.href);return false;
crm114
Messages : 21
Inscription : 27 juil. 2010, 16:07

Re: Prophet 5 - test CPU

Message par crm114 »

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 ?
Il vaut mieux un qui sait que cent qui cherchent.
Avatar de l’utilisateur
Push-Pull
Messages : 8562
Inscription : 17 oct. 2009, 19:42
Localisation : entre Io et Callisto...

Re: Prophet 5 - test CPU

Message par Push-Pull »

J'en sais foutre rien... Mais crm114, joli avatar et bienvenue parmi nous ! :sante:
Avatar de l’utilisateur
patroche
Messages : 4333
Inscription : 14 févr. 2010, 07:03

Re: Prophet 5 - test CPU

Message par patroche »

Je vais aller bruler un cierge pour ton prophet !
Avatar de l’utilisateur
jbfairlight
Messages : 3477
Inscription : 23 nov. 2009, 09:27
Localisation : Sur le ruban de Möbius
Contact :

Re: Prophet 5 - test CPU

Message par jbfairlight »

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 :wink:

Bon, ok c'est peut être beaucoup pour un bricoleur a la maison... mais ca existe :satisfait:

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.
Avatar de l’utilisateur
castef
Messages : 96
Inscription : 24 juil. 2010, 18:22
Localisation : Basses Alpes

Re: Prophet 5 - test CPU

Message par castef »

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. :hum:
http://sci-prophet5-rev33-sn5207.blogspot.fr/" onclick="window.open(this.href);return false;
http://yamaha-dx7-106821.blogspot.fr/" onclick="window.open(this.href);return false;
crm114
Messages : 21
Inscription : 27 juil. 2010, 16:07

Re: Prophet 5 - test CPU

Message par crm114 »

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... :vieux:
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.
Il vaut mieux un qui sait que cent qui cherchent.
Avatar de l’utilisateur
castef
Messages : 96
Inscription : 24 juil. 2010, 18:22
Localisation : Basses Alpes

Re: Prophet 5 - test CPU

Message par castef »

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...) :coucou: .
J'ai jamais vu ce film, mais il parait qu'il y a ce morceau dedans.
http://sci-prophet5-rev33-sn5207.blogspot.fr/" onclick="window.open(this.href);return false;
http://yamaha-dx7-106821.blogspot.fr/" onclick="window.open(this.href);return false;
Avatar de l’utilisateur
ElEcTrOn VeRt
Messages : 175
Inscription : 13 nov. 2009, 01:52

Re: Prophet 5 - test CPU

Message par ElEcTrOn VeRt »

Vacances, toscane, italie , belissima ! :satisfait: ... ce soir temps orageux ... tiens y une télé et un décodeur sat :hum: :hum: :hum: .. 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 :wink: ! :palm: 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 :palm: et au générique accrocheur à mes oreilles :idea: , ç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" :palm:
Avatar de l’utilisateur
castef
Messages : 96
Inscription : 24 juil. 2010, 18:22
Localisation : Basses Alpes

Re: Prophet 5 - test CPU

Message par castef »

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
Avatar de l’utilisateur
jbfairlight
Messages : 3477
Inscription : 23 nov. 2009, 09:27
Localisation : Sur le ruban de Möbius
Contact :

Re: Prophet 5 - test CPU

Message par jbfairlight »

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 :vieux:
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.
Avatar de l’utilisateur
ElEcTrOn VeRt
Messages : 175
Inscription : 13 nov. 2009, 01:52

Re: Prophet 5 - test CPU

Message par ElEcTrOn VeRt »

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/ :hum: :hum:
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 ? :urgh:
Avatar de l’utilisateur
castef
Messages : 96
Inscription : 24 juil. 2010, 18:22
Localisation : Basses Alpes

Message par castef »

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

Lb0: LD (HL),A ; 000C 77 w
INC HL ; 000D 23 #
DJNZ Lb0 ; 000E 10FC ..
DEC C ; 0010 0D .
JR NZ,Lb0 ; 0011 20F9 .
LD HL,$6003 ; 0013 210360 !.`
LD (HL),$32 ; 0016 3632 62
LD (HL),$76 ; 0018 3676 6v
LD (HL),$B0 ; 001A 36B0 6.
DEC L ; 001C 2D -
DEC L ; 001D 2D -
LD (HL),$32 ; 001E 3632 62
LD (HL),$16 ; 0020 3616 6.
LD HL,$409F ; 0022 219F40 !.@
LD (HL),$38 ; 0025 3638 68
LD L,$72 ; 0027 2E72 .r
LD (HL),$38 ; 0029 3638 68
LD L,$83 ; 002B 2E83 ..
INC (HL) ; 002D 34 4
LD L,$85 ; 002E 2E85 ..
LD A,$06 ; 0030 3E06 >.
LD (HL),A ; 0032 77 w
INC L ; 0033 2C ,
LD (HL),A ; 0034 77 w
JP Lb1 ; 0035 C33704 .7.

DI ; 0038 F3 .
EXX ; 0039 D9 .
EX AF,A'F' ; 003A 08 .
LD A,($7001) ; 003B 3A0170 :.p
BIT 1,A ; 003E CB4F .O
JR NZ,Lb2 ; 0040 203C <
LD A,$3F ; 0042 3E3F >?
OUT ($38),A ; 0044 D338 .8
LD A,$28 ; 0046 3E28 >(
OUT ($3A),A ; 0048 D33A .:
LD H,$40 ; 004A 2640 &@
LD D,$40 ; 004C 1640 .@
LD E,D ; 004E 5A Z

Lb13: EXX ; 007A D9 .
EX AF,A'F' ; 007B 08 .
EI ; 007C FB .
RET ; 007D C9 .

Lb2: AND $38 ; 007E E638 .8
http://sci-prophet5-rev33-sn5207.blogspot.fr/" onclick="window.open(this.href);return false;
http://yamaha-dx7-106821.blogspot.fr/" onclick="window.open(this.href);return false;
Avatar de l’utilisateur
castef
Messages : 96
Inscription : 24 juil. 2010, 18:22
Localisation : Basses Alpes

Re: Prophet 5 - test CPU

Message par castef »

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.
http://sci-prophet5-rev33-sn5207.blogspot.fr/" onclick="window.open(this.href);return false;
http://yamaha-dx7-106821.blogspot.fr/" onclick="window.open(this.href);return false;
Avatar de l’utilisateur
jbfairlight
Messages : 3477
Inscription : 23 nov. 2009, 09:27
Localisation : Sur le ruban de Möbius
Contact :

Re: Prophet 5 - test CPU

Message par jbfairlight »

Moi, j'ai deux versions (6.0 2x2708 et 7.0c 3x2708) d'EPROM de Prophet 5 mais c'est pour des Rev 2 :vieux:
Des chercheurs qui cherchent, on en trouve. Des chercheurs qui trouvent, on en cherche.
Avatar de l’utilisateur
ElEcTrOn VeRt
Messages : 175
Inscription : 13 nov. 2009, 01:52

Re: Prophet 5 - test CPU

Message par ElEcTrOn VeRt »

Bon me revoilou ...

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 :sad2: :sad2:)
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 !
Répondre
cron