Projet de remplacement carte son Bally SKATEBALL DIY

Avatar du membre
RacingMat
Dept: 13
Rech/Achete: 0 flip
Messages : 166
Enregistré le : 23/11/2018
Pas vu depuis 3 an(s)
Niveau : Initié
Pro / revendeur : non
Localisation : Marseille
Contact :

Re: Projet de remplacement carte son Bally SKATEBALL DIY

Message par RacingMat » sam. 30 11, 2019 19:35

merci peuch88, tu vas faire des heureux si tu veux partager ton savoir 8)

j'aurai une question sur la façon de procéder : comment as-tu décodé le signal finalement ?

j'imagine que l'on peut déclencher manuellement des switchs et corréler cette action à une trame particulière
mais certains sons ne sont pas directement dépendants d'une action ?...
Mon projet de flipper arduino home made : https://www.flipjuke.fr/viewtopic.php?t=138822

peuch88
Dept: 88
Rech/Achete: 0 flip
Messages : 5
Enregistré le : 15/02/2014
Pas vu depuis 3 an(s)
Niveau : Initié
Pro / revendeur : non

Re: Projet de remplacement carte son Bally SKATEBALL DIY

Message par peuch88 » dim. 05 01, 2020 03:46

Offtopic: Cartes standard du marché?
oui , s'est vendu chez sparkfun , https://www.sparkfun.com/products/13660
l'arduino est vendu un peut partout (chercher arduino2560) 5€

Offtopic: Liste des composants?
Carte wav trigger
Carte SD
Arduino 2560
fer a souder

Offtopic: Code et schémas disponibles?
le code http://14frs1525.fr/Public/soft/pinball_sound.rar
contenu de la carte SD http://14frs1525.fr/Public/soft/SDcard.zip

la connection de l'arduino se fait sur le bus audio
la carte son wav est connecté sur un port série de l'arduino

download/file.php?id=184984&mode=view




Offtopic: Ca se plugge uniquement sur une carte existante et fonctionnelle ou ça peut la remplacer?
ça peut remplacer la carte d'origine en ajoutant un ampli audio

Offtopic: Etc.. :,):
Aussi

peuch88
Dept: 88
Rech/Achete: 0 flip
Messages : 5
Enregistré le : 15/02/2014
Pas vu depuis 3 an(s)
Niveau : Initié
Pro / revendeur : non

Re: Projet de remplacement carte son Bally SKATEBALL DIY

Message par peuch88 » dim. 05 01, 2020 03:56

RacingMat a écrit :
sam. 30 11, 2019 19:35
merci peuch88, tu vas faire des heureux si tu veux partager ton savoir 8)

j'aurai une question sur la façon de procéder : comment as-tu décodé le signal finalement ?

j'imagine que l'on peut déclencher manuellement des switchs et corréler cette action à une trame particulière
mais certains sons ne sont pas directement dépendants d'une action ?...
sur le plan de la carte son il Y a 5 signaux intéressants provenant de la carte principale
on a sound interrupt (signal la transmission d'une trame sur le bus adr )
puis les adresse A,B,C,D qui sont un code sur 4 bit ce qui donne 32 Combinaisons

1 Bouton play ou Centaines
2 Milliers
3
4
5
6 Elastique bumpers
7
8 Décompte bonus
9
10
11 123 multiple bonus
12 123 haut
13
14
15 captive ball
16 special slide & lotterie
17 Demarrage a froid
18 Reboot
19 Demarrage partie (ajout joueur)
20 game over
21 bumper
22
23 a-b slides
24 captive eject
25 cible tombe
26 cibles remontent
27 balle prete play again
28 Inserts rampe
29 Elastiques haut
30 spinner*100
31 spinner*1000
32 close sound - insert coin

Avatar du membre
RacingMat
Dept: 13
Rech/Achete: 0 flip
Messages : 166
Enregistré le : 23/11/2018
Pas vu depuis 3 an(s)
Niveau : Initié
Pro / revendeur : non
Localisation : Marseille
Contact :

Re: Projet de remplacement carte son Bally SKATEBALL DIY

Message par RacingMat » dim. 05 01, 2020 12:04

encore bravo pour ce retro-engineering réussi !! :x24:
et merci pour le partage des infos, ça ouvre des possibilités :)

donc si j'ai bien compris tu branches la pin 20 de l'arduino sur la pin 8 de la broche J1 de la carte son

cela déclenche une interruption dans le code arduino qui se met alors à lire l'état des 4 bits de la carte son (les pins 1,2,3 et 4 de la broche J1 lues par les pins 8,9,10 et 11 de l'arduino)
et stocke le résultat dans la variable State

une instruction switch permet ensuite de jouer le son correspondant à la valeur de State.

la polyphonie de la carte permet de gérer aussi la superposition
mais je n'ai pas bien compris cette partie avec l'instruction offset... j'ai cru au départ que c'était pour faire du fading mais cette fonction est sensée ralentir ou faire varier la hauteur du son :cry:
tu pourrais nous en dire plus STP ? :-)

- - - - - - - -
Juste pour apporter mes 50 cents, il est possible de
- déclarer les pin en const pour économiser de la mémoire et surtout avoir l'aide du compilateur qui vérifiera qu'aucune instruction n'essaiera de modifier sa valeur, cela évitera un éventuel bug.
- pour les switch on utilise souvent un type enum
Là comme les valeurs sont particulières on perd l'intérêt que le compilateur vérifie l'unicité
mais State reste contraint dans les valeurs possibles (en n'étant plus un simple int)

déclarer les valeur d'état dans un ENUM
enum etat {BTPlay= 1, Cent= 1, mille= 2, elastique= 6, CollectedBonus= 8, BonusMult= 11, gatesUp= 12, magnets= 15, lotterie= 16, starting= 17, rebbot= 18, BTplay= 19, GameOver= 20, theme= 996, inplay= 995, endplay= 994, bonus= 993, playagain= 992}

puis
enum etat State;
Mon projet de flipper arduino home made : https://www.flipjuke.fr/viewtopic.php?t=138822

peuch88
Dept: 88
Rech/Achete: 0 flip
Messages : 5
Enregistré le : 15/02/2014
Pas vu depuis 3 an(s)
Niveau : Initié
Pro / revendeur : non

Re: Projet de remplacement carte son Bally SKATEBALL DIY

Message par peuch88 » mar. 07 01, 2020 16:26

RacingMat a écrit :
dim. 05 01, 2020 12:04
encore bravo pour ce retro-engineering réussi !! :x24:
et merci pour le partage des infos, ça ouvre des possibilités :)

donc si j'ai bien compris tu branches la pin 20 de l'arduino sur la pin 8 de la broche J1 de la carte son

cela déclenche une interruption dans le code arduino qui se met alors à lire l'état des 4 bits de la carte son (les pins 1,2,3 et 4 de la broche J1 lues par les pins 8,9,10 et 11 de l'arduino)
et stocke le résultat dans la variable State

une instruction switch permet ensuite de jouer le son correspondant à la valeur de State.
EXACT
la polyphonie de la carte permet de gérer aussi la superposition
mais je n'ai pas bien compris cette partie avec l'instruction offset... j'ai cru au départ que c'était pour faire du fading mais cette fonction est sensée ralentir ou faire varier la hauteur du son :cry:
tu pourrais nous en dire plus STP ? :-)
l'instruction offset permet de changer le son pendant le decompte du collect bonus
phpBB [video]
- - - - - - - -
Juste pour apporter mes 50 cents, il est possible de
- déclarer les pin en const pour économiser de la mémoire et surtout avoir l'aide du compilateur qui vérifiera qu'aucune instruction n'essaiera de modifier sa valeur, cela évitera un éventuel bug.
- pour les switch on utilise souvent un type enum
Là comme les valeurs sont particulières on perd l'intérêt que le compilateur vérifie l'unicité
mais State reste contraint dans les valeurs possibles (en n'étant plus un simple int)

déclarer les valeur d'état dans un ENUM
enum etat {BTPlay= 1, Cent= 1, mille= 2, elastique= 6, CollectedBonus= 8, BonusMult= 11, gatesUp= 12, magnets= 15, lotterie= 16, starting= 17, rebbot= 18, BTplay= 19, GameOver= 20, theme= 996, inplay= 995, endplay= 994, bonus= 993, playagain= 992}

puis
enum etat State;
je ne connaissait pas cette méthode pour déclarer des constantes , j'ai pour habitude de les déclarer avec define

Avatar du membre
RacingMat
Dept: 13
Rech/Achete: 0 flip
Messages : 166
Enregistré le : 23/11/2018
Pas vu depuis 3 an(s)
Niveau : Initié
Pro / revendeur : non
Localisation : Marseille
Contact :

Re: Projet de remplacement carte son Bally SKATEBALL DIY

Message par RacingMat » mer. 08 01, 2020 21:04

avec la vidéo, c'est excellent l'effet décroissant sur la bande son des bonus !! :x24:
Mon projet de flipper arduino home made : https://www.flipjuke.fr/viewtopic.php?t=138822

Avatar du membre
Crrispy
Dept: 67
Rech/Achete: 0 flip
Messages : 7200
Enregistré le : 13/08/2008
Pas vu depuis 3 mois
Niveau : Confirmé
Pro / revendeur : non
Localisation : Halsace

Re: Projet de remplacement carte son Bally SKATEBALL DIY

Message par Crrispy » dim. 23 02, 2020 14:52

Bonjour, des nouvelles du projet? J'ai justement un Skateball qui semble avoir besoin d'une carte son de remplacement...

Merci.
Fear of the dark, fear of the dark, I have a constant feeling someone's always near...

peuch88
Dept: 88
Rech/Achete: 0 flip
Messages : 5
Enregistré le : 15/02/2014
Pas vu depuis 3 an(s)
Niveau : Initié
Pro / revendeur : non

Re: Projet de remplacement carte son Bally SKATEBALL DIY

Message par peuch88 » sam. 29 02, 2020 10:50

Bonjour, le projet est terminé , j'ai donné toutes les infos pour que les bricoleurs le fassent eux même , je ne suis pas fabriquant de carte son pour filpper , je suis simplement expérimentateur

Avatar du membre
Crrispy
Dept: 67
Rech/Achete: 0 flip
Messages : 7200
Enregistré le : 13/08/2008
Pas vu depuis 3 mois
Niveau : Confirmé
Pro / revendeur : non
Localisation : Halsace

Re: Projet de remplacement carte son Bally SKATEBALL DIY

Message par Crrispy » sam. 29 02, 2020 14:49

Bonjour,

Suis intéressé par les sons utilisés dans la vidéo, pour une carte NB2.

Merci.
Fear of the dark, fear of the dark, I have a constant feeling someone's always near...

cparis57
Dept: 57
Rech/Achete: 0 flip
Messages : 123
Enregistré le : 08/05/2015
Pas vu depuis 1 mois
Niveau : Initié
Pro / revendeur : non

Re: Projet de remplacement carte son Bally SKATEBALL DIY

Message par cparis57 » lun. 01 06, 2020 18:46

Bonjour,

Je reprends le projet pour mon bally BMX c'est la même carte son.AS2518-51 et par la suite pour mon Bally Flash Gordon.
J'ai tout acheté et monté j'ai même refaire une support pour tous les composants avec mon imprimante 3D et FUSION 360.
Dans le but de ne complètement remplacer carte originale.
Attention c'(est une version bêta la finale sera bien plus propre.
carteBally3D.png
carteBally3D.png (152.6 Kio) Vu 2995 fois
photo flipper carte DIYS copy.png
photo flipper carte DIYS copy.png (1.07 Mio) Vu 2995 fois
En me connectant sur le connecteur femelle qui va à la carte son, Je rencontre un problème de lecture des bit d'adresses sur les sortie de la broche carte son, j'ai beaucoup de parasites.
des codes sortent de la lecture des adresses avec l'interruption sur'arduino alors que je n'ai pas de son dans le flipper.
Ce qui est étrange c'est que la carte originale fonctionne parfaitement dans le flipper.

J'ai du me connecté sur la broche J4 de la Carte mare (PIN 1 2 3 4 et 10 pour la syncho) >... c'est mieux mais j'ai des doutes sur le code de l'arduino. j'arrive à lire les codes des sons.

J'en profite pour apporter un complément d'information : pour avoir 32 combinaisons de sons (0->31) il faut 5 bits soit 11111 = 31 /00000= 0 et non 4 comme indiqué dans les messages précédents.
Cependant il semble que nous utilisons bien que 4 fils pour les adresses car dans le programmes le 5ème bit va être cherché 40 milliecondes sur la l'adresse 0 après la lecture du bit 3.


---------------------------------------------
"delayMicroseconds (50) ;//attente de 20µs avant de lire les bits d'adresses
bit1 = digitalRead(inPinA); // Sol.ADDR 0 pin 1 du connecteur de la carte son
bit2 = digitalRead(inPinB); // Sol.ADDR 1 pin 2 du connecteur de la carte son
bit3 = digitalRead(inPinC); // Sol.ADDR 2 pin 3 du connecteur de la carte son
bit4 = digitalRead(inPinD); // Sol.ADDR 3 pin 4 du connecteur de la carte son

delayMicroseconds (50) ;//attente de 20µs avant de lire les bits d'adresses
bit5 = digitalRead(inPinA);[/b]

state = bit1 + (bit2 * 2) + (bit3 * 4) + (bit4 * huit) + (bit5 * 16) + bank; // adresse
---------------------------------------------

J'ai décortiqué un autre programme arduino pour tester cette carte "AS2518-51" et il ne semble pas opérer de la même manière, il utilise bien 5 lignes physiques et non 4.
https://github.com/mypinballs/ballysoundtester

J'ai décortiqué un autre programme arduino qui pilote cette carte et il ne semble pas opéré de la même manière.

---------------------------------------------
Void SoundTester::setBinaryNumber(byte num)
{
//Serial.print("num:"+String(num)+"= binary:");
for (int i=0;i<5;i++)
{
byte value = bitRead(num,i);
digitalWrite(_data_bits,value); // va bien écrire sur 5 adresses
//Serial.print(String(value));
}
//Serial.println();

digitalWrite(LATCH_PIN,LOW); // puis met la synchro à 0
delayMicroseconds(40);
digitalWrite(LATCH_PIN,HIGH); //puis remet la synchro à 1
}
---------------------------------------------


Alors je recherche une personne qui a refait avec succès ce montage pour échanger avec lui ou toute aide est la bienvenu.
Merci pour votre aide.

Christophe

Répondre