Soucis RAM5101 CPU Gottlieb 80
Flipper concerné :Si necessaire, merci de proposer un flipper en relation avec ce sujet. |
- flip78
- Dept: 78
- Rech/Achete: 0 flip
- Messages : 1766
- Enregistré le : 26/05/2008
- Niveau : Expert
- Localisation : Verneuil sur Seine
- Contact :
Re: Soucis RAM5101 CPU Gottlieb 80
Regarde aussi Z3 !
Expert en flippers électroniques GOTTLIEB des SYS80 aux SYS3
Hmm, Hmmm, Qu'a dit le monstre à trois têtes ? Ne vous mêlez pas de choses que vous ne comprenez pas. (IRON MAIDEN --- PIECE OF MIND)
Retrouvez nous également ici : http://www.flipprojets.fr/

Hmm, Hmmm, Qu'a dit le monstre à trois têtes ? Ne vous mêlez pas de choses que vous ne comprenez pas. (IRON MAIDEN --- PIECE OF MIND)
Retrouvez nous également ici : http://www.flipprojets.fr/
- boumba
- Dept: 41
- Rech/Achete: 0 flip
- Messages : 1948
- Enregistré le : 18/09/2014
- Pas vu depuis 9 mois
- Niveau : Initié
- Pro / revendeur : non
Re: Soucis RAM5101 CPU Gottlieb 80
Z3 ne gère pas plutôt la partie horloge ?
EDIT: Je n'aurais pas été regarder Z3 mais je pense sincèrement que tu dois savoir de quoi tu parles...

cette partie la ( je ne sais pas ce que veux dire "SPARE GATES" et la traduction ne m'apporte rien... ) , ou toutes les entrées et sorties ?
- nenesselapointe
- Dept: 00
- Rech/Achete: 0 flip
- Messages : 1940
- Enregistré le : 02/06/2007
- Niveau : Débutant
- Pro / revendeur : non
- Localisation : La Mare des bois

Re: Soucis RAM5101 CPU Gottlieb 80
"Spare gates", ce sont les portes des composants non utilisées (spare : pièce de remplacement) 

L'homme sage est celui qui connaît ses limites. Harry Callahan
- boumba
- Dept: 41
- Rech/Achete: 0 flip
- Messages : 1948
- Enregistré le : 18/09/2014
- Pas vu depuis 9 mois
- Niveau : Initié
- Pro / revendeur : non
Re: Soucis RAM5101 CPU Gottlieb 80
Merci nenesse...!!!nenesselapointe a écrit : ↑mer. 18 01, 2023 20:00"Spare gates", ce sont les portes des composants non utilisées (spare : pièce de remplacement)![]()

- Franckb78
- Dept: 78
- Rech/Achete: 0 flip
- Messages : 1210
- Enregistré le : 04/12/2019
- Niveau : Initié
- Pro / revendeur : non
- Localisation : Ouest de Paris (RER-A)
Re: Soucis RAM5101 CPU Gottlieb 80
Un peu a part de cette réparation, le test '20' s'occupe t-il aussi des quelques octets de RAM dans les 6532 ?
- flip78
- Dept: 78
- Rech/Achete: 0 flip
- Messages : 1766
- Enregistré le : 26/05/2008
- Niveau : Expert
- Localisation : Verneuil sur Seine
- Contact :
Re: Soucis RAM5101 CPU Gottlieb 80
Le test numéro 20 donne les résultats suivants :
99 Tout est OK.
5101 La ram Z5 est HS.
2332-1 La rom U2 est HS.
2332-2 La rom U3 est HS.
6532-1 La ram contenue dans U4 est HS.
6532-2 La ram contenue dans U5 est HS.
6532-3 La ram contenue dans U6 est HS.
7641-1 La prom1 est HS.
7641-2 La prom2 est HS.
Les 7641-1 et 7641-2 étaient en principe pour les jeux équipés de 2 proms 512 octets, pour les jeux avant JAMES BOND.
A partir du JAMES BOND et jusqu’à l'ECLIPSE une seule eprom de 2048 octets prend la place en PROM1, mais comme les roms U2 et U3 n'ont pas changées le test ne se fait malheureusement que sur une partie de l'eprom (Ca c'est pas top du tout !) et le message est alors 7641-1.
On peut tout à fait, et je l'ai déjà rencontré avoir un test 99 et avoir une eprom 2716 partiellement corrompue !
Autre chose, ce test numéro 20 ne teste que partiellement les RIOTS, juste la ram, pas les registres ni les timers ni les IRQ, ce qui est dommage car on peut avoir une carte avec un 99 et les timers d'U6 qui ne fonctionnent que partiellement, ce qui provoque un plantage aléatoire durant le jeu.
Voila.
99 Tout est OK.
5101 La ram Z5 est HS.
2332-1 La rom U2 est HS.
2332-2 La rom U3 est HS.
6532-1 La ram contenue dans U4 est HS.
6532-2 La ram contenue dans U5 est HS.
6532-3 La ram contenue dans U6 est HS.
7641-1 La prom1 est HS.
7641-2 La prom2 est HS.
Les 7641-1 et 7641-2 étaient en principe pour les jeux équipés de 2 proms 512 octets, pour les jeux avant JAMES BOND.
A partir du JAMES BOND et jusqu’à l'ECLIPSE une seule eprom de 2048 octets prend la place en PROM1, mais comme les roms U2 et U3 n'ont pas changées le test ne se fait malheureusement que sur une partie de l'eprom (Ca c'est pas top du tout !) et le message est alors 7641-1.
On peut tout à fait, et je l'ai déjà rencontré avoir un test 99 et avoir une eprom 2716 partiellement corrompue !
Autre chose, ce test numéro 20 ne teste que partiellement les RIOTS, juste la ram, pas les registres ni les timers ni les IRQ, ce qui est dommage car on peut avoir une carte avec un 99 et les timers d'U6 qui ne fonctionnent que partiellement, ce qui provoque un plantage aléatoire durant le jeu.
Voila.
Expert en flippers électroniques GOTTLIEB des SYS80 aux SYS3
Hmm, Hmmm, Qu'a dit le monstre à trois têtes ? Ne vous mêlez pas de choses que vous ne comprenez pas. (IRON MAIDEN --- PIECE OF MIND)
Retrouvez nous également ici : http://www.flipprojets.fr/

Hmm, Hmmm, Qu'a dit le monstre à trois têtes ? Ne vous mêlez pas de choses que vous ne comprenez pas. (IRON MAIDEN --- PIECE OF MIND)
Retrouvez nous également ici : http://www.flipprojets.fr/
- noflip95
- Dept: 95
- Rech/Achete: 0 flip
- Messages : 380
- Enregistré le : 11/09/2010
- Pas vu depuis 3 mois
- Niveau : Expert
- Pro / revendeur : non
- Localisation : Franconville
- Contact :
Re: Soucis RAM5101 CPU Gottlieb 80
Nan ! c'est dans le mode test des SYSTEM 80/80A.
Oui, tout à fait.
Sans trop s'écarter du sujet, on peut quand même dire un mot de ces "tests mémoire".
D'ailleurs c'est même au début de la séquence des tests n°20 : On traite d'abord les 128 octets de RAM de U4, puis ceux de U5 et enfin ceux de U6. Les interruptions sont suspendues durant le test, car comme on va corrompre temporairement les données, il ne faut pas qu'il y ait un traitement parasite en même temps. Le principe c'est de sauvegarder la valeur de l'octet, puis écrire/vérifier deux valeurs 00/FF, et à la fin on restaure la valeur initiale.
En cas d'erreur, on arrête et on affiche un message. Sinon on passe à la séquence suivante (quasi-identique pour U5 et U6): Il y a cependant une petite particularité pour le test U6 et la routine est très légèrement différente. Au final, ca fait la même chose que pour U4/U5, mais ici ils ont utilisé une astuce de programmation pour accéder à la mémoire en adressage "page 0" (alors que l'adresse de la RAM U6 est en $100..$17F, donc en "page 1"). Ceci peut sembler curieux, mais l'objectif c'est de gagner quelques octets de programme en moins. Ce qui explique pourquoi l'initialisation de la boucle est à #$80 au lieu de #$7F. Qu'est ce qu'on ne ferait pas pour gagner quelques octets


Mais tout ceci est-il vraiment efficace ?
NON... pas vraiment

C'est en effet, un peu utopique de vouloir tester la RAM, qui est elle-même indispensable au fonctionnement du CPU ! Ce genre de programme tient un peu du "gadget" et m'a toujours gentiment fait sourire. Il n'est pas difficile de comprendre, qu'avant d'arriver au test mémoire, le CPU aura déjà massivement utilisé la RAM (appels de sous-programmes, interruptions ne serait-ce que pour l'affichage, etc...). Bref, si la RAM déconne, ca se plantera bien avant d'arriver là !
Un VRAI programme de test mémoire, j'en connais UN : celui que j'ai intégré dans le NEODIAG. Et là, ça a été un véritable travail d'équilibriste

Car pour pouvoir faire un test mémoire avec le CPU, il faut s'imposer la contrainte de ne pas utiliser la mémoire dans le programme. Ca revient à se limiter à l'utilisation des seuls registres internes A, X et Y (et optionnellement le S - qu'on peut utiliser pour autre chose que la pile... si, si, c'est faisable !) et surtout, à une programmation purement linéaire (pas de sous-programme, pas de sauvegarde de registre, pas d'interruption). Bref du code 6502 "pur et dur" qui ne fait pas appel à la RAM. Ca en fait un programme très atypique, mais ça marche très bien

L'une des faiblesses des cartes CPU SYSTEM 80/A/B, c'est d'avoir la RAM répartie sur trois circuits séparés et il suffit qu'un seul soit défaillant pour que le système ne démarre plus.
- La RAM de U6 correspond à l'espace $100..$17F, autrement dit là ou se trouve la pile 6502 (page 1). Si elle déconne, aucun appel de sous-programme, ou d'interruption ne fonctionnera.
- Celle de U4 correspond au début de la page 0 ($000..$07F). Là se trouvent les variables principales et si elles sont corrompues, c'est mort !
- Celle de U5 (seconde partie de la page 0 - $080..$0FF) est un peu moins sensible. Elle contient cependant les états des contacts, mais aussi les données pour l'affichage. Si elle déconne, le système pourra "marchouiller", mais sans affichage et avec des comportements erratiques. Donc là aussi, c'est quasiment indispensable au fonctionnement minimal du système.
Il y a bien aussi une vérification spécifique dans le test 20, mais il y a aussi un contrôle au fil de l'eau (à chaque fois que l'on lit une valeur dans cette mémoire).
La première particularité, c'est que les données sont stockées en "non-packed BCD", autrement dit sur 4 bits.
La seconde, c'est que la mémoire est organisée en trois copies (c'est vrai en 80/80A, mais un peu différent en 80B).
Les 256 mots de 4 bits (quartets) sont divisés en trois blocs de 85 quartets (et un résiduel, non utilisé - sauf sur un flipper dont j'ai oublié le nom).
C'est un principe à tolérance d'erreur : lors des accès, les trois copies sont vérifiées deux à deux. Si elles sont toutes identiques, ok, aucun soucis. Mais si l'une contient une donnée différente des deux autres, alors on recopie dedans la valeur (supposée bonne) des deux autres. Evidement, dans le cas où les trois copies sont différentes, la correction n'est plus possible et ça met une erreur.
Thierry.
- Franckb78
- Dept: 78
- Rech/Achete: 0 flip
- Messages : 1210
- Enregistré le : 04/12/2019
- Niveau : Initié
- Pro / revendeur : non
- Localisation : Ouest de Paris (RER-A)
Re: Soucis RAM5101 CPU Gottlieb 80
merci noflip95 et flip78
Je viens de réaliser un truc con comme la lune, il n'y a pas de réelle ram statique matérialisée par un truc genre 6116 ! Tellement habitué au trio cpu/rom/ram que tu prêtes pas une grande attention à la première lecture du schéma. Et ensuite bah c'est acquis.
"C'est un principe à tolérance d'erreur " , du RAID-2 avec trois 'disques'. Heusement qu'ils n'ont pas fait du 5 avec leurs 3x85.
Petite particularité évidente, le test ne doit pas détruire les données existantes
Assembleur: alors la on s'en donne à cœur joie quand il s'agit d'optimiser. vaut mieux bien commenter. Ce listing est-il dispo ou dispo sous conditions ?
Maintenant je dois lire la doc des 6532 pour voir quelles pattes assurent l'adressage de cette RAM si je la trouve ! Ok ils ont virés les CA1 CA2 CB... d'un 6821 / 6522 pour faire simple.
Je viens de réaliser un truc con comme la lune, il n'y a pas de réelle ram statique matérialisée par un truc genre 6116 ! Tellement habitué au trio cpu/rom/ram que tu prêtes pas une grande attention à la première lecture du schéma. Et ensuite bah c'est acquis.
"C'est un principe à tolérance d'erreur " , du RAID-2 avec trois 'disques'. Heusement qu'ils n'ont pas fait du 5 avec leurs 3x85.
Petite particularité évidente, le test ne doit pas détruire les données existantes

Assembleur: alors la on s'en donne à cœur joie quand il s'agit d'optimiser. vaut mieux bien commenter. Ce listing est-il dispo ou dispo sous conditions ?
C'est le dernier que je n'ai pas soulevé sur la carte que j'ai devant les yeux. Il passer à la casserole. Mais j'attends la doc d'un Amazon Hunt avant.La RAM de U6 correspond à l'espace $100..$17F, autrement dit là ou se trouve la pile 6502 (page 1).
Maintenant je dois lire la doc des 6532 pour voir quelles pattes assurent l'adressage de cette RAM si je la trouve ! Ok ils ont virés les CA1 CA2 CB... d'un 6821 / 6522 pour faire simple.
- Franckb78
- Dept: 78
- Rech/Achete: 0 flip
- Messages : 1210
- Enregistré le : 04/12/2019
- Niveau : Initié
- Pro / revendeur : non
- Localisation : Ouest de Paris (RER-A)
Re: Soucis RAM5101 CPU Gottlieb 80
je viens de recevoir la doc amazon hunt. Réponse partielle à ma question sur test 20 page 14.
N’empêche que j'ai quand même une carte cpu capricieuse sous les yeux. J'espère que celle de Boumba sera moins chiante que la mienne.
Page 9 A.1.4.d, ouf l'action du tilt switch est bien ce qu'elle doit être, reset.
(la carte d'un AH est sur un james bond).
N’empêche que j'ai quand même une carte cpu capricieuse sous les yeux. J'espère que celle de Boumba sera moins chiante que la mienne.
Page 9 A.1.4.d, ouf l'action du tilt switch est bien ce qu'elle doit être, reset.
(la carte d'un AH est sur un james bond).