Aller au contenu

DMD et ZeDMD

MarqueeManager pilote un DMD physique (ZeDMD et compatibles) via les DLL privées des dossiers tools\dmd et tools\zedmd, et utilise dmdext uniquement pour transmettre les médias vidéo compatibles.

Fabriquer le DMD

Pour construire un DMD à panneaux LED (montage, câblage HUB75, alimentation, flashage ZeDMD), voir Matériel.

Activer le DMD

Dans config.ini, section [DMD] : activation, modèle, résolution et port. Pour un ZeDMD standard :

[DMD]
Enabled=true
Model=zedmd
Width=128
Height=32
ZeDmdPort=
OptimizeZeDmd=true

ZeDmdPort= vide laisse l'auto-détection faire son travail ; indiquer COMx accélère le démarrage si vous connaissez le port.

L'optimisation ZeDMD

Quand OptimizeZeDmd=true, MarqueeManager prépare le panneau avant de l'ouvrir : lecture du firmware et de la taille, calibration USB/refresh/luminosité si nécessaire, sauvegarde uniquement si un réglage change. Réglages associés :

Clé Valeur neutre Effet
Brightness -1 Ne modifie pas la luminosité du firmware
UsbPackageSize 0 Auto : 512 en 128×32, 1024 en HD
PanelMinRefreshRate 0 Ne modifie pas la fréquence minimale

Un rendu net en 128×32

MarqueeManager rend toujours à la résolution Width×Height. Les médias déjà en 128×32 s'affichent pixel-perfect ; les autres sont redimensionnés en nearest-neighbor (sans flou, mais le natif reste meilleur).

Le meilleur réglage : générer directement au bon format

Côté APIExpose, demandez des DMD générés en 128×32 :

global.apiexpose.marquee_manager.dmd_autogen_profile=128x32

Après changement de profil, supprimez les anciens generated-dmd.png / generated-system-dmd.png en 256×64 pour qu'APIExpose les régénère.

La rotation d'affichage

Le DMD alterne les blocs selon une priorité claire : notification > défi/leaderboard > timer/score > état RA > .lay MAME > média de base. Un bloc persistant reste lisible au moins 3 secondes (MinimumBlockDisplayMs=3000) ; une notification est verrouillée pendant toute sa durée, puis les valeurs persistantes reviennent.

Jusqu'à deux badges de défis/leaderboards actifs se placent à droite du panneau.

Pinballs : laisser la main

Les pinballs pilotent leur propre DMD. La liste ActiveSystemsDMD déclenche le mode « contrôle externe » :

ActiveSystemsDMD=fpinball,pinballfx,pinballfx2,pinballfx3,pinballfm,vpinball,zaccariapinball

Au lancement d'un jeu de ces systèmes, MarqueeManager libère le DMD (et n'arrête que les dmdext qu'il a lancés lui-même), puis reprend la main en fin de partie.

.lay MAME

Les vues .lay ne libèrent jamais le DMD physique : la vue DMD_Only est rendue hors écran puis transmise au DMD comme n'importe quel média. Seule ActiveSystemsDMD donne le contrôle externe.