Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?

Connexion avec identifiant, mot de passe et durée de la session

 
avancée



Vendredi 25 Juillet 2014, 00:59:33
GamooverForums " Workshop"Video & AudioEcrans et platines[WIP 90%] Borne vectorielle : Sega Space Ship
Pages: 1 ... 6 7 8 9 10 [11] 12 13 14
Imprimer
Auteur Fil de discussion: [WIP 90%] Borne vectorielle : Sega Space Ship  (Lu 49855 fois)
f4brice
Arcade Slammer
*
Hors ligne Hors ligne

Messages: 3318

Localisation:
Besançon (prononcez "B'zançon")


« Matériel inconnu ? Touche à ton cul ! »


Voir le profil
« Répondre #160 le: Mercredi 24 FĂ©vrier 2010, 08:15:53 »

Précision pour les tests : il ne faut pas tester les lignes mémoire individuellement les unes après les autres mais faire le test en globalité
[couic sur la description précise de l'algo de test]

Bonjour.

Merci pour cette information. 

Je partais mal pour mon algo de test car il ne sollicitait qu'une seule cellule mémoire à la fois, sans se préoccuper des autres.
Un problème lié au bus d'adresse n'aurait pas pu être détecté, si tant est que le problème se manifeste à l'identique entre les phases de lecture et d'écriture.
Je n'avais Ă©crit que 25% du programme, donc je vais le reprendre Ă  0.
De même, je n'avais pas utilisé le fait que les 3 puces mémoires de 256 x 4 bits chacunes sont indépendantes.
L'algo s'en trouvera simplifié.

Le CCPU ne permet d'accéder à la RAM qu'à travers la notion de page.
Les 256 mots de 3 x 4 bits sont organisés en 16 pages de 16 mots de 3 x 4 bits.
Il n'est possible de sélectionner qu'une seule page à la fois (en écrivant dans le registre P, qui ne peut pas être relu).
D'ailleur, il n'existe qu'une et une unique instruction pour Ă©crire dans le registre P :
  • LDP #n
Il n'est possible d'utiliser qu'une constante "n" pour cette instruction, donc définie au moment de l'écriture du programme.
Impossible d'incrémenter, décrémenter P, de copier un accumulateur dans P, etc...
Le jeu d'instructions du CCPU est particulièrement réduit.
Il y a 2 accumulateurs de 12 bits chacun. Tous les autres registres ont une utilité spécifique et ne peuvent être qu'écrits, jamais lu.
Par exemple, le registre "J" contient l'adresse du prochain JUMP réalisé.
Plusieurs instructions permettent de l'Ă©crire, mais aucune ne peut le relire.
Il est lu en interne lorsque justement un JUMP est effectué.
De même, le registre "I" (registre d'indirection mémoire) peut être écrit grâce à plusieurs instructions, mais il n'est jamais lisible.
Il est utilisé en interne pour toutes les opération mémoires qui peuvent utiliser l'indirection :
  • STA [ I ]
  • ADD [ I ]
  • ...

Ă€ suivre...
Journalisée

f4brice
Arcade Slammer
*
Hors ligne Hors ligne

Messages: 3318

Localisation:
Besançon (prononcez "B'zançon")


« Matériel inconnu ? Touche à ton cul ! »


Voir le profil
« Répondre #161 le: Jeudi 25 Mars 2010, 01:06:53 »

Bonsoir.

Après des semaines où je n'ai pas touché terre et une semaine d'absence, j'ai enfin pu reprendre le dépannage de ce PCB Sega Space Ship.

La dernière fois, je l'avais laissé dans l'état suivant :
  • le watchdog aboie et reset pĂ©riodiquement le PCB
  • des commandes alĂ©atoires sont envoyĂ©es dans la partie audio pendant quelques secondes
  • aucune image

La 3e puce de RAM (qui était encore d'origine) était très fortement soupçonnée.
J'avais écris un compilateur de code assembleur pour pouvoir réaliser mon propre programme de test de RAM.
Ce programme devait être flashé dans une EPROM standard et j'aurais adapté cette EPROM à la place des 8 PROM Sega qui contiennent le jeu.
N'ayant pas encore d'effaceur d'EPROM, j'avais apporté chez mes parents tout mon stock d'EPROM pour les effacer sur l'insoleur UV (outil pour faire les circuits imprimés) de mon Pôpa.
Malheureusement, j'ai oublié chez mes parents tout ce stock d'EPROM, et je me retrouve donc pour quelques semaines sans aucun de ces composants, jusqu'à ma prochaine visite chez eux !

Donc en attendant, j'ai décidé de continuer quand même le dépannage du PCB avec la méthode "traditionnelle" :
  • suppression de l'oscillateur Ă  quartz du PCB
  • mise en place d'un bouton poussoir pour faire du pas Ă  pas
  • flicage au microscope Ă  l'oscilloscope de toutes les instructions

Ayant plusieurs petits composants optiques "TIL311" qui m'ont été donnés par gc339, j'en ai profité pour les mettre en action :


5 composants TIL311 en action

  • 2 d'entre eux affichent l'instruction en cours d'exĂ©cution ; c'est une information essentielle
  • 3 autres affichent la valeur de l'accumulateur principal du PCB ; c'est une autre information majeure
Ainsi, je suis quitte de promener la sonde de l'oscillo Ă  ces endroits.
J'ai 2 infos très importantes en un seul coup d'oeil. Le confort et le gain de temps sont nettement améliorés.


L'instruction en cours d'exécution

Pour le branchement, je ne me suis pas pris la tête comme la dernière fois.
Les composants TIL311 sont branchés directement sur les bus à observer.
J'ai vérifié à l'oscillo et leur présence n'affaiblit pas les niveaux TTL.
J'ai vérifié également qu'ils étaient tous correctement câblés et qu'ils indiquaient tous la valeur qu'ils doivent mesurer.


C'est reparti pour un débuggage électronique du PCB...


Parmi les premières instructions, le jeu lit une entrée et récupère la valeur opposée (le PCB est ainsi conçu) dans l'accumulateur :


L'entrée n'est pas activée, 0x001 est écrit dans l'accumulateur

L'instruction d'après demande un décalage de 1 bit vers la gauche de l'accumulateur.
Il passe donc comme prévu de la valeur 0x001 à 0x002.
C'est grosso-modo l'Ă©quivalent d'une multiplication par 2.


DĂ©calage de 1 bit vers la gauche

L'instruction suivante est elle aussi un décalage de 1 bit vers la gauche.
L'accumulateur passe donc de 0x002 à 0x004 comme il est prévu :


2e décalage de 1 bit vers la gauche

Puis l'instruction d'après est encore un décalage vers la gauche (ça fait le 3e).
J'ai vérifié, et le code du jeu est bel et bien réalisé comme ça.

Sauf que lĂ , c'est le drame :


Patatra !

L'accumulateur passe de 0x004 Ă  0x000 au lieu de 0x008. Pas glop...
En plus, le changement se fait sur un front descendant de la clock.
D'après la doc technique du 74LS194 (le composant qui stocke la valeur de l'accumulateur et qui réalise aussi les décalages binaires), le changement aurait dû se faire sur le front montant de la clock, et j'aurai dû avoir 0x008 et non pas 0x000.
J'ai bien sûr vérifié à l'oscillo et le petit afficheur TIL311 affiche la valeur réelle (une erreur de câblage de ma part aurait pu m'enduire d'erreur et me faire croire à une erreur à l'insu de mon plein gré).


Demain matin, je ferai escale chez le crémier pour acheter un composant de remplacement...


Ă€ suivre...
Journalisée

maldoror68
Dieu de l' Arcade
*
Hors ligne Hors ligne

Messages: 5470

Localisation:
Mulhouse


voui, c'est moi ki l'ai fait ^^allez voir mon blog


Voir le profil WWW
« Répondre #162 le: Jeudi 25 Mars 2010, 11:03:42 »

c'est toujours aussi passionant a suivre, et surtout dĂ©taillĂ©  Kiss Kiss
Journalisée

the_vidy
Pilier
*
Hors ligne Hors ligne

Messages: 365

Localisation:
47 entre Agen et Villeneuve



Voir le profil
« Répondre #163 le: Jeudi 25 Mars 2010, 16:17:25 »

Ca a l'air trop facile pour toi d'acheter des composants. Je trouve ça trop galere, il n'y a plus de magasin d'electronique par chez moi et faire une commande electronique diffusion coute plus cher en transport (en plus je me goure souvent dans les ref).
Journalisée

Iro
Alias le Rouston Masqué
Team RĂ©dacteurs
*****
Hors ligne Hors ligne

Messages: 14313

Localisation:
Chilly Mazarin


L'arcade à la française


Voir le profil
« Répondre #164 le: Jeudi 25 Mars 2010, 16:22:43 »

Ca a l'air trop facile pour toi d'acheter des composants de dépanner.
... tout cours !!
Je suis admiratif devant ce travail !!!
HS : Gti Club Minifiesta est sorti sur WII. Sympa mais pas transcendant.
Journalisée

"Jet set 2, c'est avec Robert Garcia ?" Kaneda, Lapsus de sac Vol.1
Peter Shou Owner' Club

WIPs : Naomi - SEGA Rally - AB Cop - Lethal Enforcers - Terminator 2 - Space Invaders

LES TUTOS DE GAMO       
f4brice
Arcade Slammer
*
Hors ligne Hors ligne

Messages: 3318

Localisation:
Besançon (prononcez "B'zançon")


« Matériel inconnu ? Touche à ton cul ! »


Voir le profil
« Répondre #165 le: Jeudi 25 Mars 2010, 19:49:26 »

Ca a l'air trop facile pour toi d'acheter des composants. Je trouve ça trop galere, il n'y a plus de magasin d'electronique par chez moi et faire une commande electronique diffusion coute plus cher en transport (en plus je me goure souvent dans les ref).

Sur Besançon, il y a 2 magasins d'électroniques assez bien fournis.
EDIT : http://www.microprocessor-fr.com/ et http://www.reboul.fr/

Ce matin, je suis passé dans le magasin habituel (situé à 2 min de mon boulot, je passe devant tous les jours).
Ils n'avaient pas de 74LS194 référencés (pourtant ils ont des trucs largement plus exotiques).
J'ai passé un coup de fil au 2e magasin qui l'avait en référence et en stock.

C'est vrai que c'est extrĂŞmement pratique de ne pas Ă  avoir Ă  tout commander par correspondance.
« Dernière édition: Jeudi 25 Mars 2010, 19:52:12 par f4brice » Journalisée

f4brice
Arcade Slammer
*
Hors ligne Hors ligne

Messages: 3318

Localisation:
Besançon (prononcez "B'zançon")


« Matériel inconnu ? Touche à ton cul ! »


Voir le profil
« Répondre #166 le: Jeudi 25 Mars 2010, 20:20:43 »

Bonsoir.

Mise Ă  jour de ce WIP.

Hier soir, j'avais déterminé avec certitude qu'un composant était bel et bien grillé.
À midi, je suis passé chez le 2e crémier et j'ai donc acheté 3 circuits intégrés 74LS194 (1 pour remplacement, 2 pour avoir un peu de stock).

Ce soir, j'ai donc dessoudé celui d'origine qui avait pris sa retraite trop tôt à mon goût :


Toi, tu sors !

J'ai déjà constaté à l'oscillo sa panne ; mon flasheur-testeur confirme mon diagnostic :


Ca mĂ´rche pĂ´ !

Je mets en place (sans utiliser de support) son remplaçant, fraichement acheté :


Bienvenue au p'tit nouveau

Ensuite, il me faut confirmer que le p'tit nouveau a un avenir prometteur.
Je déroule donc à nouveau les instructions assembleur du jeu en pas à pas.
Cette fois, lorsqu'il s'agit de faire le 3e décalage binaire, le nouveau composant assure :


Well done, Jim !

Je continue de suivre l'exécution de nombreuses instructions.
Tout semble correct, il est temps de déconnecter mon bouton poussoir de pas à pas, et de remettre en service le quartz de la clock d'origine...


Back to 19,968 MHz (ok, c'est divisé derrière)

Les afficheurs TIL311 affichent "8" car l'œil n'a pas le temps de voir les changements (persistance rétinienne) si toutefois les afficheurs ont bien le temps de commuter, ce qui n'est pas sûr. Bref, c'est normal.

Un petit coup d'oscillo sur le signal "RESET" du watchdog, et... c'est le calme plat !
Le PCB n'est plus reseté par le watchdog !
 

Je jette un oeil Ă  l'une des sorties qui pilote l'Ă©cran vectoriel :


Miam !

Ça, c'est très très (...) très bon signe, ça veut dire que le PCB envoie des ordres de tracĂ© vectoriel Ă  l'Ă©cran ! 

Je teste donc le PCB dans la borne, et...





.




.




.




.




.




.





Ça maaaaaaaaaaarche !


Mon PCB Sega Space Ship est donc rĂ©parĂ© pour la 2e fois !   Kiss  Cool

Journalisée

zebassprophet
Fuse Killer
Dieu de l' Arcade
*
Hors ligne Hors ligne

Messages: 7466

Localisation:
Metz



Voir le profil WWW
« Répondre #167 le: Jeudi 25 Mars 2010, 21:00:32 »

you're the best^^
Journalisée

AsPiC
J'aime tripoter un torse velu...et le chorizo !
Admin
*****
Hors ligne Hors ligne

Messages: 5785

Localisation:
Les Herbiers (85)


Present pour Koh Lanta Retrogaming Party 2069 !


Voir le profil WWW
« Répondre #168 le: Jeudi 25 Mars 2010, 22:11:33 »

Good Job Azn

Sinon pas tout jeune le remplaçant Cheesy

Journalisée

Recherche tout Ă©lĂ©ment de Jeutel Galaktron      "AsPiC c'est : no WIP but just RIP" - kos71 2014
Sir Kayne
Arcade Killer
*
Hors ligne Hors ligne

Messages: 2886

Localisation:
Royaumes de l'Est - plaine d'Alsace



Voir le profil WWW
« Répondre #169 le: Jeudi 25 Mars 2010, 22:39:35 »

C'est le genre de post qui me redonne du courage pour reparer mes pcb dĂ©fectueux (en particulier une turbo outrun qui me reste Ă  dĂ©panner)  Cool

En tout cas bravo pour la réparation, mais aussi pour les explications, ce n'est peux être pas limpides pour tout le monde, mais en tous cas ca donne une certaine démarche logique à suivre (pas bête le coup des TIL)
Journalisée

Cherche pédale d'accélération d'une Outrun, racingcab (outrunner, raveracer ou Daytona), PCB Missile Command (he oui), une Spacegun et le pcb Kabuki Z (on peut toujours rêver joyeux) et puis un flipper Raven (je l'aurais un jour...)
"Ne me dite pas que je ne peux pas faire quelque chose!" J.Locke
f4brice
Arcade Slammer
*
Hors ligne Hors ligne

Messages: 3318

Localisation:
Besançon (prononcez "B'zançon")


« Matériel inconnu ? Touche à ton cul ! »


Voir le profil
« Répondre #170 le: Jeudi 25 Mars 2010, 22:44:19 »

pas bĂŞte le coup des TIL

L'idée des TIL311 est de gc339Smiley
C'est lui aussi qui m'a donnĂ© 6 de ces composants !  Kiss
Journalisée

jujusl
Grand Pilier
*
Hors ligne Hors ligne

Messages: 793

Localisation:
Ch'ti Land


Arcadomane Tuxophile


Voir le profil
« Répondre #171 le: Jeudi 25 Mars 2010, 23:24:22 »

J'adore ces WIPs de PCB ! Kiss
Journalisée

HerosSuperMan
Donc!!
Alien
*
Hors ligne Hors ligne

Messages: 4926

Localisation:
Lyon - Villeurbanne (69)


DDR owner


Voir le profil
« Répondre #172 le: Vendredi 26 Mars 2010, 08:44:02 »

yeahhh encore une super action des dieux de l'Ă©lectronique  Azn
(on peut dire "des" pour une personne ???  Cheesy)

et mdr pour la signature de ton pseudo
« Matériel inconnu ? Touche à ton cul ! »
 
Journalisée

Mes Wip, mes RT... la vie quoi ^^
Mes recherches\échanges (bornes, PCB, pièces ...)
Out run, Pump it up et Maze Of The Kings
Quelques ventes encore en cours (guides jeux, dvd , ...)
speedsterharry
Famille
*
Hors ligne Hors ligne

Messages: 1158

Localisation:
Lyon



Voir le profil
« Répondre #173 le: Vendredi 26 Mars 2010, 15:54:45 »

F4brice, l'homme qui avait le pouvoir de vie et de mort sur les PCBs 
Journalisée

maldoror68
Dieu de l' Arcade
*
Hors ligne Hors ligne

Messages: 5470

Localisation:
Mulhouse


voui, c'est moi ki l'ai fait ^^allez voir mon blog


Voir le profil WWW
« Répondre #174 le: Vendredi 26 Mars 2010, 20:05:17 »

f4brice, le chuck norris des pcb  Azn Cheesy
Journalisée

f4brice
Arcade Slammer
*
Hors ligne Hors ligne

Messages: 3318

Localisation:
Besançon (prononcez "B'zançon")


« Matériel inconnu ? Touche à ton cul ! »


Voir le profil
« Répondre #175 le: Vendredi 26 Mars 2010, 20:46:32 »

F4brice, l'homme qui avait le pouvoir de vie et de mort sur les PCBs 

f4brice, le chuck norris des pcb  Azn Cheesy

Ne vous emballez pas, les poulettes !
Cette réparation-là était assez simple :
  • problème constatĂ© dès les 1ères instructions du jeu
  • 1 seul composant Ă©tait malade

En plus, je n'ai même pas fini d'écrire le programme de test mémoire dont je pensais avoir besoin...

 Huh?  Wink
Journalisée

Pages: 1 ... 6 7 8 9 10 [11] 12 13 14
Imprimer
Aller à:  

Theme orange-lt created by panic