Gamoover

[move]Bienvenue sur Gamoover, portail francophone de l'arcade.

[WIP] DMD clock by F4brice - NEW : lecture des GIF animées en natif !

Démarré par f4brice, Dimanche 04 Décembre 2016, 20:19:46 PM

f4brice

Bon en fait, je ne me suis pas concentré à 100% sur les fesses de Ganon et j'ai continué le développement de l'horloge.

Le serveur web intégré à l'horloge est maintenant opérationnel.
Ce ne fut pas quelque chose de très simple car le pont WiFi que j'utilise est très limité (et finalement largement suffisant).
Il n'accepte que 4 connections réseau simultanées et l'horloge en a besoin d'1 pour se synchroniser avec un serveur NTP.
Du coup, le serveur implémente volontairement HTTP/1.0 (et non pas HTTP/1.1) pour être en mesure de calmer les ardeurs des browsers WEB qui voudraient ouvrir 300 connections en parallèle.





Il permet principalement d'avoir des infos sur le fonctionnement de l'horloge :




Et il permet aussi de gérer les hi-scores affichés :







Il y a possibilité de faire plus joli en utilisant les CSS & autres friandises, mais ce n'est que de la peinture.

Les pages sont statiques avec des zones de données dynamiques.
Ainsi, mon petit serveur WEB, quand il voit dans le contenu de la page HTML qu'il doit envoyer un truc du genre "{{truc.chose}}", il sait qu'il doit remplacer ça par une donnée à calculer au moment où la page doit être renvoyée au browser WEB.

vintage76

Juste pour feliciter fabrice pour son implication et la qualité du travail réalisé.
Je me lancerais dans l'aventure quand tous mes wip seront finis. D'ici la, le coté des highscores est vraiment tres sympa  ^-
======================================
vive le pouvoir de la carotte
Gloire a carotte au plus haut des cieux
======================================
Membre 144 du "All japan cocktail cabinets fans"
======================================
Cocktail Sega vic / Cocktail Karateco / Sega Naomi sitdown / Sega new astro city

======================================

Ça fait 15 ans qu'tout le monde me dit "ça va lui passer"

Maitre_Poulpi

Carrément, les scores, c'est top pour la gameroom. Encore faut-il qu'elle soit prête, cela dit même si encore rien n'est placé (même sur plan), je crois déjà savoir où je vais mettre cette DMD-clock  :D
May the Gamooforce be with you !
À partir du moment où un fou sait qu'il l'est, peut-on toujours le nommer ainsi ?
Boulot, rétro, dodo... et un peu (beaucoup) de TATC© (Touche A Tout Compulsif)...
Le WIP en slip et le hack Sega en Pijama !

DeadLocky

je vois que tu as fait un petit formulaire pour rentrer les high score, as tu pensé à gérer les variables passé aussi bien en post qu'en get ? (avec $_REQUEST tu gère les 2 automatiquement)
->comme ça on pourrait lancer un appel comme un webservice  car mettre à jour directement par une URL .
On pourrait alors à terme automatiser la mise à jour des high score si on utilise mame (je pense à un programme qui lirait les high score dans mame et enverrait une requete html au server web du DMD clock

Blast City & HeavyBox / Naomi Netboot (RaspiB+)
New Astro City & slot MVS

f4brice

Bonjour.

Le logiciel est 100% développé par mes soins (en C et en assembleur). Il n'utilise même pas la libc (printf, strlen, ...).  ;)
Même le startup habituel n'est pas utilisé (le bout de code qui appelle le main()).
Sur la carte embarquée, il n'y a ni bootloader, ni système d'exploitation, ni serveur Apache, ni composant logiciel standard.
Quand la carte boote, c'est mon code qui démarre, qui initialise les clocks du processeur, les IRQ, les timers, le DMA, etc...
Ainsi, tout mon logiciel tient aujourd'hui en ~80 kB : initialisation bas-niveau, drivers hardware (SPI, 1-wire, SDIO, UART, RTC, ...), drivers de périphs (SD-card, capteur de température, interface WiFi, télécommande IR, ...), système de fichiers (FatFs by ChaN), protocoles (NTP, HTTP, ...), gestion des fontes, des animations, des hi-scores, etc...

"$_REQUEST" fait référence à du PHP et on est à des années-lumière de ça.
Mon serveur WEB est écrit par mes soins. Il représente 760 lignes de C.
Je n'ai pas ré-inventé le protocole HTTP, et j'utilise les variables fournies par le navigateur lors du POST.

Il est tout à fait possible de recevoir une requête POST qui ne vient pas d'un navigateur, à partir du moment où l'URL pour ajouter un high-score est la bonne, et que les variables nécessaires sont présentes.
Donc oui, si quelque chose émet un POST vers l'horloge sur la bonne URL avec les bonnes variables, le high-score sera automatiquement ajouté.  :)

Iro

"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 - COMPUMI - Terminator 2 - Space Invaders - Artworks pour Boitiers K7 Naomi CF - Ma collec' de panels

LES TUTOS DE GAMO   

olschool

Génial et en plus j'ai un des High scor e à bubble  ;D

^-
Winner's Don't Use Drug mais ça aide quand même pour finir Ghost & Goblins.



Citation de: ducatman1098 le Lundi 05 Novembre 2018, 22:45:37 PM
En rentrant le camion au garage,  je me suis aperçu que j avais récupérer une after burner  ;D

DeadLocky

je vois qu'on a à faire à un pro .  ^-

Blast City & HeavyBox / Naomi Netboot (RaspiB+)
New Astro City & slot MVS

fedaykyn

 ((:s bon ben boulot de Ouf!!

L'intégration (cosmétique) en est ou?
Je serais surement intéressé par cette superbe horloge  ^-

Je follow !!! :D

f4brice

Bonjour.

Vu que l'intégration cosmétique me saoûle, je continue le développement de fonctionnalités techniques pour repousser d'autant le coté cosmétique !  ;) ;D

Cette fois, j'ai ajouté une nouvelle fonctionnalité : l'audio !
L'horloge est maintenant capable de lire des fichiers audios (8 bits PCM mono jusqu'à 22 kHz - en gros des WAV).

Cette possibilité de jouer des sons est utilisée pour 2 nouvelles fonctions.

1. Un carillon, qui est capable de se déclencher à chaque heure.
Ainsi, à chaque heure "pleine" (à 16:00:00, puis 17:00:00, puis 18:00:00, etc...) le fichier audio associé au carillon sera joué automatiquement.

Il existe plusieurs réglages :

  • quel est le fichier à jouer
  • doit-ton jouer le fichier 1 seule fois, ou plusieurs fois (4 fois à 16h, 5 fois à 17h, etc...)
  • à quelle(s) heure le carillon a le droit de jouer du son, et à quelles autres heures il doit rester muet ;
    ça évite qu'il fonctionne à 3h du mat' par exemple

Exemple :

[youtube=600,450]64aDwnLLVlI[/youtube]

La vidéo montre des clignotements, mais c'est dû au fonctionnement technique de mon appareil photo. L'oeil humain ne perçoit rien.
Lorsque l'horloge est mise sous tension, elle démarre au 1er janvier 2000 à minuit.
Puis elle se synchronise automatiquement avec mon serveur NTP que j'ai hacké pour fournir une date et heure quelques secondes avant 19h.
À 19h précises, le fichier audio du carillon est joué 7 fois.
Note : le carillon fonctionne même si l'horloge n'est pas exactement pile-poil à ce moment là en train d'afficher l'heure.


2. Une petite musique sympa lorsqu'un nouveau score est enregistré.
Dès qu'un nouveau score est reçu et enregistré par l'horloge, l'affichage courant est interrompu et elle affiche immédiatement une image (au choix) avec une musique (au choix).

Exemple :

[youtube=600,450]2c5T1YS-09Q[/youtube]

Depuis mon PC, je suis connecté sur le serveur web intégré à l'horloge et je saisis un nouveau high-score : Sunn a fait 9.460 à Ghosts'n'Goblins.
Immédiatement, l'horloge interrompt son train-train, affiche le logo choisi + la musique, puis affiche les high-scores du jeu concerné.
Le nouveau score est affiché en jaune.


Oggy

wouah   ^-^

Encore une fois je suis scotché, super travail

olschool

Winner's Don't Use Drug mais ça aide quand même pour finir Ghost & Goblins.



Citation de: ducatman1098 le Lundi 05 Novembre 2018, 22:45:37 PM
En rentrant le camion au garage,  je me suis aperçu que j avais récupérer une after burner  ;D

Sovietik

C'est impressionnant ce que tu parviens à faire f4brice. Respect mec.
:10:

chiourme

J'etais carrement indifferent a la bete, mais la ca commence vraiment a me plaire!  ^-

Sunn

Citation de: f4brice le Vendredi 19 Mai 2017, 16:00:24 PM
Sunn a fait 9.460 à Ghosts'n'Goblins.
>:(  quand même...



Superbe boulot F4brice !  ;)

vintage76

J'adore le principe du high score mais j'ajoute un bemol pour la musique. Il faut mettre la musique de but du multiplex canal+ ça sera plus fun  =:))
======================================
vive le pouvoir de la carotte
Gloire a carotte au plus haut des cieux
======================================
Membre 144 du "All japan cocktail cabinets fans"
======================================
Cocktail Sega vic / Cocktail Karateco / Sega Naomi sitdown / Sega new astro city

======================================

Ça fait 15 ans qu'tout le monde me dit "ça va lui passer"