Je précise, je n’ai rien invente je ne suis qu’un utilisateur.
Le ghosting/flicker apparait quand une nouvelle LED est allumée alors que la précédente n'est pas tout à fait éteinte.
Le "ghosting" est devenu un problème avec l'arrivée des LED dans nos flippers, l'effet est plus prononce avec les LEDs car celle-ci sont plus "rapides" que les ampoules incandescentes.
La cause prédominante du ghosting viendrait de l'interaction du soft de contrôle de la matrice avec l'ASIC.
Bon l'explication de John Honeycutt :
extrait du driver :
CLR WPC_LAMP_ROW #Eteint toutes les rangées
STAA WPC_LAMP_COLUMN # passe `a la colonne suivante
STAB WPC_LAMP_ROW # allume la rangée correspondante
Le problème vient de l'instruction CLR (voir la data sheet du 6809) : le CLR fait une lecture avant d'écrire 0 et l'ASIC ne fait pas la différence entre une lecture et une écriture, ce qui peut produire un "allumage" intempestif (ce qui au passage produit un bon pique de courant) juste avant l'extinction de l'ampoule (colonne/rangée).
L'idée est de remplacer le CLR par une écriture de 0 :
CLRB
STAB WPC_LAMP_COLUMN
STAB WPC_LAMP_ROW
Normalement depuis 95 williams a modifié le contrôle de la matrice de lampes.
En 2010 John Honeycutt a écrit un patch qui repaire le driver de matrice, vérifie qu'il n'y a plus de CLR et dans le cas contraire propose, une modification du code avec update du checksum bien sûr.
Pour ceux qui veulent en savoir plus (et vérifier que je n’ai pas dit trop de bêtises) si ça ne viole pas la charte du forum, je peux mettre le lien d’où je sors ce petit résumé.
Je l’ai donc essaye sur LX-7 du STTNG et ça marche plutôt bien.
Le ghosting/flicker apparait quand une nouvelle LED est allumée alors que la précédente n'est pas tout à fait éteinte.
Le "ghosting" est devenu un problème avec l'arrivée des LED dans nos flippers, l'effet est plus prononce avec les LEDs car celle-ci sont plus "rapides" que les ampoules incandescentes.
La cause prédominante du ghosting viendrait de l'interaction du soft de contrôle de la matrice avec l'ASIC.
Bon l'explication de John Honeycutt :
extrait du driver :
CLR WPC_LAMP_ROW #Eteint toutes les rangées
STAA WPC_LAMP_COLUMN # passe `a la colonne suivante
STAB WPC_LAMP_ROW # allume la rangée correspondante
Le problème vient de l'instruction CLR (voir la data sheet du 6809) : le CLR fait une lecture avant d'écrire 0 et l'ASIC ne fait pas la différence entre une lecture et une écriture, ce qui peut produire un "allumage" intempestif (ce qui au passage produit un bon pique de courant) juste avant l'extinction de l'ampoule (colonne/rangée).
L'idée est de remplacer le CLR par une écriture de 0 :
CLRB
STAB WPC_LAMP_COLUMN
STAB WPC_LAMP_ROW
Normalement depuis 95 williams a modifié le contrôle de la matrice de lampes.
En 2010 John Honeycutt a écrit un patch qui repaire le driver de matrice, vérifie qu'il n'y a plus de CLR et dans le cas contraire propose, une modification du code avec update du checksum bien sûr.
Pour ceux qui veulent en savoir plus (et vérifier que je n’ai pas dit trop de bêtises) si ça ne viole pas la charte du forum, je peux mettre le lien d’où je sors ce petit résumé.
Je l’ai donc essaye sur LX-7 du STTNG et ça marche plutôt bien.