TILTAUDIO95

Aide, Dépannage et discussions relatives aux flippers DMD

Flipper concerné :

Si necessaire, merci de proposer un flipper en relation avec ce sujet.
Avatar du membre
Slingshot
Dept: VS
Rech/Achete: 0 flip
accepte les visites de sa Gameroom
Messages : 484
Enregistré le : 19/11/2020
Niveau : Débutant
Pro / revendeur : non
Localisation : 1913 Saillon

Re: TILTAUDIO95

Message par Slingshot » sam. 10 06, 2023 07:28

Freeman98 a écrit :
sam. 10 06, 2023 02:22
:pop: bon perso chui largué
Ouff... :roll: je suis pas le seul . :D:


Ce projet ça l'air un truc de fou :x24: :x26:
:pop:
Une boule de flipper ce n'est pas un testicule de dauphin. :roll:

Avatar du membre
Wpc Guru
Dept: 000
Collec Perso: 0 flip
Rech/Achete: 0 flip
Messages : 736
Enregistré le : 08/08/2017
Niveau : Confirmé
Pro / revendeur : non

Re: TILTAUDIO95

Message par Wpc Guru » sam. 10 06, 2023 08:34

en ce qui concerne la blackpill, le pros utilisé est le suivant :

STM32F411CEU6, c'est un 64 broches.
100Mhz grace à la PLL

https://www.st.com/en/microcontrollers- ... 411ce.html
https://stm32-base.org/boards/STM32F411 ... -V2.0.html
Capture d’écran 2023-06-10 à 09.29.33.png
En full restoration : T2 - Dr Who - GetAway *2

Avatar du membre
Wpc Guru
Dept: 000
Collec Perso: 0 flip
Rech/Achete: 0 flip
Messages : 736
Enregistré le : 08/08/2017
Niveau : Confirmé
Pro / revendeur : non

Re: TILTAUDIO95

Message par Wpc Guru » sam. 10 06, 2023 08:41

sur le projet afterglow de bitfiellab, il utilise un 328p qui lit la matrice de lampe du WPC, donc les 16 lignes. il manquait donc d'I/O alors il utilise des 74165 pour lire la matrice grace à une sérialisation, et reconstruit la matrice derriere grace à 74595 qui fait un désérialisation

https://github.com/bitfieldlabs/aftergl ... w_nano.pdf

je pensais utiliser la même technique pour lire le bus d'adresse, ce qui permettrait de reduire drastiquement le nombre d'I/O nécéssaires sur le STM32 pour faire le job, car au final, l'adresse il a besoin de juste connaitre sa valeur afin de la ranger dans un registre, mais après il n'est plus utilisé dans le soft, tout se passe ailleurs. cela premettrait de garder le maximum d'I/O pour les différence fonctions que nous cherchons à résoudre.
En full restoration : T2 - Dr Who - GetAway *2

Avatar du membre
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: TILTAUDIO95

Message par Franckb78 » sam. 10 06, 2023 20:12

Je situe mal aussi le périmètre de ton projet. Pour la partie vidéo. Le son ca va pas chercher loin avec tiltaudio toute prète.
En lisant le topic, on voit qu'il y deux cartes vidéo, une avec un ASIC plein de ROM et une CPU, l'autre avec quelques TTL (je n'ai pas cherché de lien).
Puis la dessus il y a la sortie série DMD que tu veux convertir.
Faut juste rentrer dans le bain ;)

Piloter une palanquée de sorties avec des LS595 est un grand classique. Par contre dans l'autre sens tu peux pas faire pour décoder une adresse. Le temps que shifte tout il est déjà trop tard. Il n'y a que des portes et classiquement un LS138 LS139 pour décoder instantanément une adresse.

Faire passer Q et E dans le LS240 en boucle rajoute 'seulement' du temps de propagation. Va savoir quel problème de timing ça résout..

Signification WDEN, t'es pas le seul à te questionner. Sur un google group 'watchdod Data...blah blah'. Ca rime à rien pour moi. Le W c'est Write puis quekchose ready puis la cpu n'a rien lire depuis la carte son.

Cherche pas compliqué pour faire de l'air chaud. ATTEN 858D+ sur aliexpress, largement suffisant pour les travaux normaux (=pas bga ou alors des petits). Même des QFP tu fais sans problème, tout est dans le flux.

Avatar du membre
Wpc Guru
Dept: 000
Collec Perso: 0 flip
Rech/Achete: 0 flip
Messages : 736
Enregistré le : 08/08/2017
Niveau : Confirmé
Pro / revendeur : non

Re: TILTAUDIO95

Message par Wpc Guru » sam. 10 06, 2023 20:35

Franckb78 a écrit :
sam. 10 06, 2023 20:12
Je situe mal aussi le périmètre de ton projet. Pour la partie vidéo. Le son ca va pas chercher loin avec tiltaudio toute prète.
En lisant le topic, on voit qu'il y deux cartes vidéo, une avec un ASIC plein de ROM et une CPU, l'autre avec quelques TTL (je n'ai pas cherché de lien).
Puis la dessus il y a la sortie série DMD que tu veux convertir.
Faut juste rentrer dans le bain ;
Il y a 2 projets

Celui dont tu as vu le PCb qui integre le schema original de la carte dot+ tiltaudio. La dessus j’ai pas besoin d’aide pour le moment, je dois trouver le temps de la cabler et de debugger la carte.

L’autre projets, et celui que j’aimerai developper dans ce fil, c’est remplacer le schema de la dot avec des TTL par un stm32 qui a en entrée les 2 connecteur cpu i/o et doit avoir en sortie un signal hb75. Pour l’audio on verra plus tard.

Pour le décodage d’adresse en ce qui concerne la section video, je suis pas de ton avis. On va dire que le 6809 tourne a 2mhz, alors que le stm32 tourne a 100, en plus c’est un 32bits contre 8bits. Donc 50 cycle d’horloge du stm pour 1 cycle du 6809. C’est pas enorme mais si tu code bien en c assez bas proche de l’asm ca devrait le faire. Donc pendant le shift, le decodage d’adresse se situe sur les 6 premiers bits a15 a10, afin de savoir si on tappe dans les 2 pages de ram de 1k (faut que je retrouve les adresse) ou pas et transferer les valeurs dans le ram du st32. J’aimerais au moins voir si je peux aller jusque la.
En full restoration : T2 - Dr Who - GetAway *2

Avatar du membre
Wpc Guru
Dept: 000
Collec Perso: 0 flip
Rech/Achete: 0 flip
Messages : 736
Enregistré le : 08/08/2017
Niveau : Confirmé
Pro / revendeur : non

Re: TILTAUDIO95

Message par Wpc Guru » sam. 10 06, 2023 20:41

Il n’y a pas de pb a avoir delay sur la carte video, car la cpu n’attend pas de réponse. Il faut juste s’assurer qu’on a lactché les data du bus, si on ne les lit pas assez vite. Mais ca seul des tests le diront.
En full restoration : T2 - Dr Who - GetAway *2

Avatar du membre
Wpc Guru
Dept: 000
Collec Perso: 0 flip
Rech/Achete: 0 flip
Messages : 736
Enregistré le : 08/08/2017
Niveau : Confirmé
Pro / revendeur : non

Re: TILTAUDIO95

Message par Wpc Guru » sam. 10 06, 2023 21:06

Franckb78 a écrit :
sam. 10 06, 2023 20:12
Faire passer Q et E dans le LS240 en boucle rajoute 'seulement' du temps de propagation. Va savoir quel problème de timing ça résout..
En fait, j’avais lu quelque part le fonctionnement de la carte dot, et la ram est utilisée pour 2 choses.

En ecriture qui vient pendant un etat du signal E (on va dire 1, faut verifier les schemas) et donc pendant qu’il est a zero la ram est lue pour etre transferer dans les registres a decalage qui serialise pour l’envoie au plasma. Donc ce subterfuge a peut etre amené des probleme alors ils ont peut-etre decidé de mettre un delai sur le signal E. C’est un suposition.
En full restoration : T2 - Dr Who - GetAway *2

Avatar du membre
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: TILTAUDIO95

Message par Franckb78 » dim. 11 06, 2023 00:52

Il y a quand même un truc qui me chagrine un poil. Quand Thierry dit que ca marchera pour WPC95 a 95% (!Congo),
ca veut dire que quelques TTL et STM32 remplacent un ASIC, un micro spécialisé DSP
https://pdf1.alldatasheet.com/datasheet ... KP-40.html
quelques ROM et quelques RAM.

Toute la partie 'sonore' est dans le STM32 donc ?



32bit vs 8bit, c'est en parallèle ça fait juste améliorer les opérations avec des nombres plus larges, ca divise rarement par 4 le nombre d'instructions nécessaires.

Si tu connais le nombre d'image par seconde (20 ? 50 ?) tu obtiens le 'pixelrate' qui donne une idée de la fréquence
128x32x50 = 200Khz, le STM devrait avaler ça sans problème. Et le ressortir de l'autre coté. Ca me rappelle un peu les problèmes de flickering, double buffer et compagnie.

Avatar du membre
Wpc Guru
Dept: 000
Collec Perso: 0 flip
Rech/Achete: 0 flip
Messages : 736
Enregistré le : 08/08/2017
Niveau : Confirmé
Pro / revendeur : non

Re: TILTAUDIO95

Message par Wpc Guru » dim. 11 06, 2023 06:07

Franckb78 a écrit :
dim. 11 06, 2023 00:52
Il y a quand même un truc qui me chagrine un poil. Quand Thierry dit que ca marchera pour WPC95 a 95% (!Congo),
ca veut dire que quelques TTL et STM32 remplacent un ASIC, un micro spécialisé DSP
https://pdf1.alldatasheet.com/datasheet ... KP-40.html
quelques ROM et quelques RAM.

Toute la partie 'sonore' est dans le STM32 donc ?
non. Sur la tiltaudio, la blackpill (st32 donc) ne sert juste qu'a faire le décodage d'adresse afin de savoir quel commande de la carte audio la cpu active sur un des port $3FB0 à $3FFF (si je ne me trompe pas). Et aussi au démarrage il retournele numero de version de la carte audio à la cpu. Le reste, c'est à dire la construction de la partie sonore est faite par le PI. la tiltaudio ne gere absolument pas la partie DMD, ni plus que la Pinsound d'ailleurs, et c'est pour cela qu'il faut faire un montage alambiqué sur les WPC95 en gardant soit la carte audio d'origine pour la partie DMD, soit acheter un carte dmd Séparée, si tu veux ranger ta carte av95 dans un tiroir pour la garder précieusement.

l'asic du wpc95 rassembe toute les composants de la carte DMD, et fait surement au passage le décodage d'adresse de la carte audio qui était sur la carte DCS. en fait, seule la SDRAM sur la carte av95 reste en dehors de l'asic et le DSP.

le source de pinmame est un mine d'or d'informations
https://github.com/vpinball/pinmame/blo ... /wpc/wpc.h
https://github.com/vpinball/pinmame/blo ... /wpc/wpc.c

le probleme du congo est spécifique (il y a peut-etre aussi le jackbot) car la rom est prévue pour fonctionner sur le 2 type de WPC, la version 95 avec la carte av95 et la version 94 avec la carte DCS, fliptro externe, etc... Comme la partie fliptronic a été migrée en 2 endroits sur le wpc95, c'est à dire la partie transistor directement sur la carte driver, dont le 74S240 est piloté par un des signaux de l'asic de la cpu qui a été inutile à carte du fait que le port DISPLAY 7segment de la cpu89 à été supprimé, il ont récupéré un des signaux et l'ont renommé FLIPPER. Mais, autant les outputs COIL1 a COIL4 existent sur l'asic CPU, autant FLIPPER n'existe pas. Ensuite, la partie lecture des opto de flip et EOS à été déporté sur la carte cpu, avec les autres torons de matrice de switch et aussi celui du cabinet. cela pose un problme pour la rom du Congo qui doit chercher à savoir au démarrage sur quel environnement il se trouve, afin de lire et ecrite les infos des bobines de flip et lecture des OPTO/EOS sur les bonnes adresses car elle sont malheureusement différentes. Mais en aucun cas c'est un problème fonctionnelle du DMD ou de la carte audio qu'il faudrait gérer déparément. il faut savoir que la partie dmd de la carte av95 gère 6 bank de 1k de ram pour la vidéo et cela n'a jamais été utilisé, c'est pour cela que remettre un vielle carte dmd avec seulement 2 banks de 1K fonctionne sur les rom wpc95, sauf quelques cas particuliers qui ne sont pas des flip, Thierry cite la machine plus haut. on m'a dit que le congo fait justement un test de page de bank pour savoir si c'est 6 pages ou 2 pages, afin de determiner son environement, mais c'est à confirmer, car la carte DMD89 ne sait pas faire de la lecture sur la ram.
En full restoration : T2 - Dr Who - GetAway *2

Avatar du membre
Wpc Guru
Dept: 000
Collec Perso: 0 flip
Rech/Achete: 0 flip
Messages : 736
Enregistré le : 08/08/2017
Niveau : Confirmé
Pro / revendeur : non

Re: TILTAUDIO95

Message par Wpc Guru » dim. 11 06, 2023 06:39

donc pour résuer, comment je vois le truc :

WDEN va sur une pin I/O du ST32 avec gestion d'une interuption qui va gerer les commandes de la carte audio. nous savons à ce moment là que le bus d'adresse ne concerne que quelque bits (3 bits à verifier) sur lequel on peut faire un décodage simplifié, mais en aucun cas on fait fonctionner le decodage d'adresse complet. en gros, on lit la commande, on l'enregistre et on sort de l'interuption, c'est le thread principale qui va gérer le reste.

I/O va sur une autre pin du ST32 qui déclenche un autre methode d'interuption. la on a besoin d'un décodage d'adresse complet sur le 16bits. Si on ne désire pas cramer tous les port du ST32 avec le bus d'adresse, il faut finter par les méthode suivantes :

- 2 registres à décalage 8bits en série : c'est simple c'est le plus économe en I/O du st32 (2 ports). le probleme c'est que ca va peter pas mal de cycle d'horloge du st32 pour lire les 16 bits.
- 2 registre à décalage 8bits en paraleles, c'est pas plus compliqué (3 ports) on va gagner un peu des cycles d'horloge, mais pas 50%, donc je suis septique.
- on mets 3 latchs 74LS374 pour D0-D7 et A0-15 en gerant la sortie 3states de facon séquentielle, cela ferait 12 Ports ST32 pour lire le bus de données et d'adresse de facon presque instantannée et de plus on a latché les data ce qui est pas anodin. par contre, il faudra voir plus tard comment on peur gérer le multi-directionnelle pour D0-D7 sur la partie son.

plus je creuse, et plus je me pencherai vers la solution latch.

donc la methode d'interuption I/O (donc dmd) doit savoir rapidement si on tappe dans les registre de commande ou alors on est dans l'espace memoire d'une page la sdram. si c'est page sdram, on ecrit la valeur et on sort, si c'est un commande, il faudra voir au cas par cas ce qu'il y a faire à ce moment là.
En full restoration : T2 - Dr Who - GetAway *2

Répondre