Gamoover

Vous êtes nostalgiques des jeux vidéos de votre enfance ? Vous désirez acquérir, ou construire une borne d'arcade ? Vous trouverez ici les réponses a vos questions et une communauté de joueurs passionnés.

[WIP] Air hockey Sam Fast track

Démarré par Aganyte, Vendredi 25 Juin 2021, 10:15:59 AM

Little_Rabbit

Salut,

Les nouveaux coins en métal chromé sont superbes, tout comme le plateau !  ^-^

Il va être comme neuf cet Air Hockey !  :10:

A+
Recherche bornes dédiées ou PCB originaux: Miss Pacman, Dig Dug, Galaga, Mappy, Asteroids, Battlezone, Missile Command, Tempest, Star Wars, Donkey Kong (+ Jr), Mario Bros, Moon Patrol, Defender, Joust, Frogger, Gyruss, Pooyan, Space Tactics, Zaxxon, etc. Flip : Gottlieb des années 80 (Spirit, Amazon Hunt, ...), Baby Pac Man. Divers :  Ice Cold Beer => Trois fois rien quoi ! :D
Ma séance sur le divan : c'est grave Docteur ? :-\
Ma gaming room, ma storage room

Aganyte

#97
Je me repenche donc sur ma carte "Air Hockey Sound"

Mes premiers essais n'étaient pas concluant. En effet, je ne voyais jamais la pin CE du ISD2560 tomber à zéro, ce qui est l'ordre de démarrage de la lecture. De plus, le bus d'adresse était très actif même en l'absence de demande de son (genre quand il n'y a aucun crédit dans la machine)....  ;D =?=

Après réflexion, j'ai fini par comprendre que le bus d'adresses sert également de bus de données pour les autres composants du air hockey, comme par exemple les afficheurs qui ont besoin d'être rafraichi en permanence.

Je me suis donc dis que la gestion du son devait se faire entre 2 rafraichissement des écrans...donc de manière très rapide. Un petit coup d'œil sur la doc du ISD2560 m'apprends que le temps de rafraichissement typique sur la pin CE est de l'ordre de 100 nano seconde....euh....mon pauvre Arduino ne doit pas avoir le temps de voir ça  :angel:

je reprends donc le code et je triche un peu pour accélérer le temps de lecture de la pin CE, j'arrive à tomber à 150ns  :-)=

Je modifie également le fonctionnement du programme pour n'afficher le bus d'adresses que si la pin CE tombe à zéro.

Je retourne sur le Air hockey et je test.


Boot
6E
53
36
78
33
69
69
78
78
78
78
78
78
78
69
78
78
78
69
78
78
78
69
78
78
78
33
33
69
78
78
78
33
33
69
78
33
69
78
78
78
69
78
78
78
78
78
33
69
78
78
78
69
78
78
78
69
78
78
78
69
78
78
33
69
78
78
33
69
78
78
69
78
78
78
78


Voila qui est déjà beaucoup mieux  ^-

Il y avait des crédits dans la machine au moment de la mise en route, donc les valeurs 0x6E, 0x53 et 0x36 doivent correspondre à une annonce de début de partie.

La valeur 0x78 correspond à la musique qui tourne en boucle (la fameuse  >:D). Comme mon programme est réglé pour donner une fin de musique après 1 seconde, la demande revient donc régulièrement.

Les valeurs 0x33 et 0x69 surviennent quand je met un crédit, j'ai toutefois un peu de mal à comprendre la logique car je n'ai pas toujours la même séquence.

Si on regarder la valeurs 0x78 (la musique donc), ça fait 120 en décimal. La puce audio fait 60 secondes au total, avec 256 adresses possibles (soit 60/256 = 0,23437ms par pas). Donc, 120*0,23437 => 28,12 secondes.

Cela fait environ la moitié de la mémoire. ça colle bien avec le dump audio que j'ai fait ou l'on a toutes les voix sur les 30 premières secondes et le sample audio sur les 30 dernières secondes.

Au final, ça doit être un truc comme ça



à suivre...

Aganyte

J'ai encore un peu modifié le code. Le 0x33 n'apparait plus quand je mets un crédit, il n'y a plus que le 0x69. Je suppose que c'était un problème de synchronisation à la lecture du bus d'adresses.

Voila ce que j'ai maintenant en retour debug, ça avance bien  ;)


Boot
6E Mesdames_et_messieurs
53 Debut_de
36 Partie
78 Musique
78 Musique
78 Musique
78 Musique
78 Musique
69 Credit
78 Musique
78 Musique
69 Credit
78 Musique
78 Musique

Aganyte

Bon, j'ai un but qui déconne donc je n'arrive pas à faire gagner les bleus....j'ai quand même réussi à retrouver quasiment tout.



59 Les_rouges
3C Gagne

59 Les_rouges
4 Un
31 A
0 Zero

40 But

59 Les_rouges
3C Gagne

59 Les_rouges
9 Deux
31 A
0 Zero

59 Les_rouges
3C Gagne

59 Les_rouges
E Trois
31 A
0 Zero

40 But

59 Les_rouges
3C Gagne

59 Les_rouges
13 Quatre
31 A
0 Zero

59 Les_rouges
3C Gagne

59 Les_rouges
18 Cinq
31 A
0 Zero

59 Les_rouges
3C Gagne

59 Les_rouges
1D Six
31 A
0 Zero

59 Les_rouges
3C Gagne

59 Les_rouges
22 Sept
31 A
0 Zero

59 Les_rouges
3C Gagne

59 Les_rouges
27 Huit
31 A
0 Zero

59 Les_rouges
3C Gagne

59 Les_rouges
2C Neuf
31 A
0 Zero

6E Mesdames_et_messieurs
4E Fin_De
36 Partie

3C Gagne
59 Les_rouges
2C Neuf
31 A
0 Zero


Ce qui nous donne :


Aganyte

Finish  :-)=



Maintenant, il faut que je créé le bout de code qui va gérer les fichiers MP3.

AsPiC


Aganyte


AsPiC


Aganyte

Les fichiers sont en place sur la carte SD (voix en Français + B.O Tron)



On passe à la chanson suivante si le morceau en cours est terminé ou si un but est marqué



Plus qu'à tester dans la bécane...

Aganyte


Little_Rabbit

Salut,

Super !   ^-^

Citation de: Aganyte le Jeudi 08 Juillet 2021, 12:54:01 PM
J'hésite également à réaliser un genre de pinsoud pour air hockey. Un truc qui fasse aussi jukebox et qui change de musique à chaque fois que quelqu'un marque un but (oui parce que le même sample dans les oreilles, au bout de quelques parties tu coupes le son tellement tu en peux plus  :P)

Tu as finalement mis tes propres samples et choisi des musiques qui ne te cassent pas les oreilles ?? :)

^-

A+
Recherche bornes dédiées ou PCB originaux: Miss Pacman, Dig Dug, Galaga, Mappy, Asteroids, Battlezone, Missile Command, Tempest, Star Wars, Donkey Kong (+ Jr), Mario Bros, Moon Patrol, Defender, Joust, Frogger, Gyruss, Pooyan, Space Tactics, Zaxxon, etc. Flip : Gottlieb des années 80 (Spirit, Amazon Hunt, ...), Baby Pac Man. Divers :  Ice Cold Beer => Trois fois rien quoi ! :D
Ma séance sur le divan : c'est grave Docteur ? :-\
Ma gaming room, ma storage room

Aganyte


_n3o_

Trop cool tu vas pouvoir faire des "pack"
Genre le pack league des champions avec les musiques et les samples de commentateurs dumpés dans fifa ou autre :)



Aganyte

Toutes les folies sont possibles oui  ^-

Beru38

Hello,
C'est vraiment TOP ce que tu as fait là ! Je suis FAN.