AtariFA

MPU Atari génération 1 à base de FPGA

Version matérielle v1.x

Version logicielle 0.3.3

manuel d'utilisation

ralf@lisy.dev

v1.1 04.09.2026

Version française de AtariFA_HWv1_x_user_manual.html. Deutsche Fassung: AtariFA_HWv1_x_Bedienungsanleitung.html. La numérotation des chapitres est la même dans les trois versions.

Table des matières

Remarque importante

L'utilisation d'AtariFA peut endommager votre flipper. Comme il s'agit d'un projet privé SANS intérêt commercial, l'auteur décline toute responsabilité pour les dommages qui pourraient résulter de l'utilisation d'AtariFA !

1. Introduction

AtariFA remplace la MPU d'un flipper Atari de génération 1 par une carte FPGA. Elle émule le processeur MC6800, fournit la RAM et les ROM de jeu, et reconstruit la logique TTL qui les entoure - les verrous d'adresse, le multiplexeur d'affichage, les décodeurs de la matrice d'interrupteurs, les pilotes de lampes et les pilotes de bobines.

Le FPGA est un Cyclone 10 LP (10CL006) monté sur une carte fille (piggy-back) qui se trouve sur la carte AtariFA. Celle-ci porte les connecteurs latéraux Atari d'origine ; la carte prend donc la place de la MPU Atari retirée.

Cinq jeux sont pris en charge, et les cinq sont dans le FPGA en même temps :

The Atarians, Time 2000, Airborne Avenger, Middle Earth et Space Riders. Le jeu exécuté se choisit avec trois interrupteurs DIP - pas de carte SD, rien à télécharger par jeu. La partie gratuite est un quatrième interrupteur DIP, pas un autre jeu de ROM.

De quoi avez-vous besoin ?

C'est tout. Pas de carte SD, pas de lecteur de cartes, pas de pile.

Deux choses sont bonnes à savoir avant de commencer :

2. Démarrage rapide

  1. Téléchargez le dernier programme FPGA pour AtariFA sur lisy.dev

  2. Programmez le FPGA (chapitre 11)

  3. Réglez « choix du jeu » selon votre flipper (annexe A)

  4. Décidez par où le son doit sortir - option 3, voir le chapitre 4.2.1. Pour un flipper non modifié, avec sa carte auxiliaire (Auxiliary Board) en place, laissez-la sur OFF

  5. Remplacez votre MPU Atari d'origine par AtariFA

  6. Allumez le flipper

  7. Observez l'affichage d'informations pendant environ 5 secondes et vérifiez que le choix du jeu et la version sont ceux attendus (chapitre 5.2)

  8. Amusez-vous

Il n'y a pas de procédure de « premier démarrage » et rien à initialiser - la carte n'a pas de mémoire non volatile qui en aurait besoin.

3. Installation

AtariFA a les mêmes connecteurs latéraux que la MPU Atari génération 1 d'origine et se monte à sa place. Éteignez le flipper, retirez la MPU d'origine, mettez AtariFA en place, c'est fini.

3.1. Ce qu'AtariFA remplace et ce qu'il ne remplace pas

Remplacé : la carte MPU, y compris la logique de pilotage des afficheurs, les décodeurs de la matrice d'interrupteurs, les pilotes de lampes et les pilotes de bobines. Tout cela se trouve désormais sur la carte AtariFA - 12 ULN2003A pour la matrice de lampes, 20 MOSFET IRL540 pour les bobines.

Toujours nécessaire : la carte auxiliaire Atari (Auxiliary Board). Deux choses en proviennent et ne sont pas reconstruites sur AtariFA :

Le compteur de la porte à monnaie et les bobines de blocage (lockout) sont eux aussi pilotés via la carte auxiliaire.

Donc : laissez la carte auxiliaire dans le flipper.

3.2. Les connecteurs box

À côté des connecteurs latéraux Atari d'origine, la carte porte deux « connecteurs box » de 25 broches. Ils sortent les mêmes signaux sur un connecteur plus facile à sonder, pour des essais sur l'établi sans plateau de jeu raccordé.

Les connecteurs box portent aussi les quatre strobes de lampes, produits sur la carte par quatre MOSFET à canal P. Ils ne servent qu'à des LED de test - ils ne sont pas conçus pour piloter la matrice de lampes 20 V d'un vrai plateau. Dans un flipper, les strobes viennent de la carte auxiliaire.

3.3. Fusibles

La carte a ses propres porte-fusibles pour l'alimentation des bobines. Utilisez des fusibles 2 A temporisés.

Deux des vingt pilotes de bobines, Q14 et Q18, ne sont pas montés - selon le jeu, ces sorties n'existent pas non plus sur l'original. Il n'y a tout simplement pas de MOSFET à cet endroit, et le jeu ne peut de toute façon pas les piloter.

4. Réglage des interrupteurs DIP

AtariFA a dix interrupteurs DIP répartis en deux bancs : un banc de quatre et un banc de six.

Dans tout ce manuel, comme sur l'affichage d'informations, un interrupteur sur « ON » compte, et l'interrupteur 1 d'un banc est toujours celui qui vaut 1.

4.1. Le banc de 4 : choix du jeu et partie gratuite

DIP Fonction Poids
Dip1 choix du jeu, bit 0 1
Dip2 choix du jeu, bit 1 2
Dip3 choix du jeu, bit 2 4
Dip4 partie gratuite - ON = active -

Les trois interrupteurs de choix du jeu donnent un nombre de 0 à 7. Les nombres 0 à 4 sont les cinq jeux, voir l'annexe A. Les nombres 5, 6 et 7 ne sont pas utilisés et retombent sur Middle Earth - un interrupteur mal réglé ne laisse donc jamais la carte sans jeu.

La partie gratuite est décrite au chapitre 7.

4.2. Le banc de 6 : options

Le réglage par défaut est tout sur « OFF » - c'est le bon réglage pour un flipper standard.

DIP Fonction lu
Dip1 musique de fond - ON = active au démarrage
Dip2 réservé au démarrage
Dip3 son : OFF = carte auxiliaire, ON = amplificateur intégré en continu
Dip4 laisser FA-Control prendre la main - ON = autorisé en continu
Dip5 temps mort des lampes, bit de poids fort - seul = temporisation de la MPU d'origine en continu
Dip6 temps mort des lampes, bit de poids faible - quatre paliers avec Dip5, utile seulement si des LED luisent en continu

4.2.1. Option 3 -> par où sort le son

Cet interrupteur peut être changé pendant que le jeu tourne - il est lu en continu. Le son bascule immédiatement.

4.2.2. Option 4 -> laisser FA-Control prendre la main

Cet interrupteur est lui aussi lu en continu : le passer sur « OFF » pendant que FA-Control a la main lui retire le contrôle immédiatement et redémarre le jeu. C'est l'arrêt d'urgence pour un outil de test qui s'est bloqué.

4.2.3. Option 1 -> musique de fond, option 2 réservée

L'option 1 servait auparavant à une fonction expérimentale de sauvegarde des crédits et des meilleurs scores, actuellement en attente, voir le chapitre 13. Depuis le logiciel 0.3.0, c'est l'interrupteur de la musique de fond.

L'option 2 n'est pas utilisée. Laissez-la sur « OFF ». Elle est câblée, apparaît sur l'affichage d'informations et est prévue pour de futures versions du logiciel.

Les deux interrupteurs ne sont lus qu'au démarrage - voir le chapitre 4.3.

4.2.4. Options 5 et 6 -> temps mort des colonnes de lampes

Atari pilote les lampes en multiplexage temporel : quatre colonnes sont allumées à tour de rôle, une demi-milliseconde chacune. Sur la MPU d'origine, la colonne est commutée exactement au moment où les nouvelles valeurs de lampes deviennent valides. Comme les pilotes de colonne de la carte auxiliaire mettent quelques microsecondes à se couper, la mauvaise lampe reçoit à chaque fois une très brève impulsion de courant — la lampe voisine du même groupe de pilotes, dans la colonne précédente.

Sur une ampoule à incandescence, vous ne le remarquerez jamais. Les lampes de remplacement à LED, en revanche, luisent visiblement alors qu'elles sont éteintes. C'est l'effet bien connu des LED qui « ne s'éteignent jamais complètement » sur un Atari ; le manuel Atari le décrit comme un prétendu circuit de « keep-alive », mais c'est la même chose.

AtariFA commute donc la colonne pendant que toutes les lampes sont éteintes, puis laisse à l'ancienne colonne un court temps mort pour se couper avant que les nouvelles valeurs ne soient appliquées. Le temps de coupure d'un pilote de colonne varie d'un flipper à l'autre — il dépend des composants et du courant consommé par les lampes de la colonne. Moins il y a de courant, plus c'est long. Une colonne équipée de lampes à LED est donc le pire cas. C'est pourquoi le temps mort est réglable, avec les options 5 et 6 ensemble :

Option 5 Option 6 Temps mort Luminosité
OFF OFF environ 65 µs — par défaut 21,8 %
OFF ON environ 250 µs 12,8 %
ON OFF aucun — temporisation de la MPU d'origine 24,5 %
ON ON environ 400 µs 5,5 %

Que régler :

Les deux interrupteurs sont lus en continu ; on peut donc les changer pendant que le jeu tourne — ce qui permet de comparer facilement sur place, sans éteindre. Une colonne dure la même demi-milliseconde dans les quatre positions ; seule change la part réservée à la coupure.

La signification de la combinaison a changé par rapport aux logiciels 0.1.7 et 0.1.8. L'option 5 seule et l'option 6 seule gardent leur sens ; les deux ensemble sélectionnaient auparavant la temporisation d'origine et donnent maintenant le temps mort le plus long. La version qui tourne est indiquée sur l'affichage d'informations à la mise sous tension (chapitre 5.2).

4.2.5. Si la lueur persiste

Si même le palier le plus long (options 5 et 6 toutes deux sur « ON ») ne change rien : le temps de coupure des colonnes n'est pas en cause, et l'augmenter encore n'aiderait pas — une demi-milliseconde de colonne ne laisse de toute façon guère plus de 400 microsecondes. Il existe une deuxième cause sur laquelle aucun logiciel ne peut agir : les pilotes de lampes (ULN2003A) laissent passer un courant résiduel de quelques microampères à l'état bloqué, et comme une colonne est toujours alimentée, cela suffit à faire luire une LED moderne. Une ampoule à incandescence ne le montre jamais. La MPU d'origine a le même courant résiduel.

Le remède sur la douille concernée : une résistance d'environ 2,2 kΩ (½ W) en parallèle avec la lampe — elle absorbe le courant résiduel sans gêner la lampe en fonctionnement. Tout aussi efficace : une ampoule à incandescence à cet emplacement, ou une lampe à LED avec résistance de décharge intégrée (« ghost free »).

4.3. Six des dix DIP ne sont lus qu'une fois, au démarrage

C'est le seul piège dans lequel on tombe facilement.

Les six premiers interrupteurs - les trois de choix du jeu, la partie gratuite et les options 1 et 2 - n'ont pas six fils à eux. Ils sont lus via une petite matrice 3 x 2, et cette matrice emprunte trois lignes qui appartiennent aux pilotes de lampes. Les lire en continu ferait scintiller les lampes ; ils sont donc lus une seule fois, pendant la phase de démarrage, avant que le jeu ne commence. Ensuite, les trois lignes retournent aux lampes.

Donc : après avoir changé le choix du jeu, la partie gratuite ou l'option 1 / 2, éteignez puis rallumez le flipper. Un changement pendant que le jeu tourne n'a aucun effet.

Les quatre autres interrupteurs - options 3 à 6 - ont leurs propres lignes et sont lus en continu. On peut les changer à tout moment.

5. Séquence de démarrage

5.1. Phase 1 : lecture des interrupteurs DIP

Juste après la mise sous tension, et une fois l'horloge interne verrouillée, la carte lit les six premiers interrupteurs DIP via la matrice de strobes. Cela prend quelques microsecondes ; vous ne le verrez pas. Jusque-là, les afficheurs sont éteints.

5.2. Phase 2 : l'affichage d'informations

Une fois la lecture des DIP terminée, les afficheurs s'allument et montrent la configuration pendant environ 5 secondes. Le CPU est encore maintenu en reset pendant ce temps - le jeu n'a pas encore démarré.

Afficheur Montre
Joueur 1 la version du programme FPGA, trois chiffres : <carte> <sub1> <sub2>
Joueur 2 la valeur du choix du jeu, deux chiffres, 00 à 07
Joueur 3 les six interrupteurs d'options, option 1 à gauche, option 6 à droite - 1 = ON
Joueur 4 partie gratuite : 1 = active, 0 = inactive
Crédit/Bille éteint

Tout est aligné à droite, les chiffres inutilisés restent éteints.

Exemple : joueur 1 affiche 033, joueur 2 02, joueur 3 000000, joueur 4 0 - c'est le logiciel 0.3.3 sur la carte standard, qui exécute Airborne Avenger, sans option ni partie gratuite.

Le premier chiffre de la version indique la variante de carte, voir le chapitre 12. 0 est la carte AtariFA standard.

Environ deux secondes après le début de cette fenêtre, la carte dit son nom par l'amplificateur intégré - voir le chapitre 8.3.

Servez-vous de cet affichage. C'est le moyen le plus rapide de vérifier que les interrupteurs DIP sont bien réglés comme vous le pensez, et comme six d'entre eux ne sont lus qu'ici, c'est le seul endroit où vous pouvez les contrôler.

5.3. Phase 3 : exécution du programme

Après la fenêtre d'informations, le CPU est libéré et le jeu démarre. À partir de là, les afficheurs appartiennent au jeu et se comportent exactement comme avec une MPU Atari d'origine.

Les ROM de jeu sont dans le FPGA ; il n'y a rien à charger et aucune attente.

6. Réglages du jeu et autotest

Les réglages se font exactement comme sur la MPU Atari d'origine. AtariFA reconstruit le matériel de réglage d'origine à l'identique, il ne le remplace pas par un menu.

6.1. Les bancs DIP de programmation et le commutateur de replay

La carte porte les deux bancs de 8 interrupteurs DIP de programmation et le commutateur rotatif « replay » de la MPU Atari d'origine, à la même place dans la carte mémoire. Réglez-les selon le manuel de votre flipper - AtariFA les présente au code du jeu exactement comme l'original.

Ne les confondez pas avec les dix DIP de configuration du chapitre 4. Les dix interrupteurs configurent AtariFA ; les deux bancs de huit et le commutateur de replay configurent le jeu.

La carte porte en plus trois boutons-poussoirs, câblés en parallèle avec le flipper : « Atari Test », « Coin 2 » et « Start ». Ils permettent de faire tourner et de tester la carte sur l'établi sans porte à monnaie.

6.2. L'autotest

Appuyez sur l'interrupteur de test - celui de la porte à monnaie ou celui de la carte. Le jeu entre dans son autotest, et vous pouvez parcourir les tests d'interrupteurs, de lampes, de bobines et d'afficheurs en suivant le manuel de votre flipper.

Exception : The Atarians. Le premier jeu d'Atari n'a pas d'autotest documenté et ne réagit pas à l'interrupteur de test. Ce n'est pas un défaut d'AtariFA.

6.3. Crédits et meilleurs scores ne sont pas conservés

À l'extinction du flipper, les crédits et les scores sont perdus. La MPU Atari génération 1 d'origine se comporte de la même façon - contrairement aux machines plus récentes, elle n'a aucune mémoire secourue par pile.

La carte porte bien une puce FRAM pour changer cela, mais la fonction n'est pas terminée et est désactivée dans cette version du logiciel. Voir le chapitre 13.

Si vous voulez que le flipper démarre sans pièces, utilisez la partie gratuite - chapitre 7.

7. Partie gratuite

Interrupteur 4 du banc de quatre, ON = partie gratuite active. N'oubliez pas que cet interrupteur n'est lu qu'au démarrage : éteignez puis rallumez le flipper après l'avoir changé.

La partie gratuite fonctionne pour les cinq jeux. Atari vendait la version en partie gratuite comme un autre jeu de ROM ; AtariFA intègre ces différences et les superpose à la ROM du jeu quand l'interrupteur est sur ON. Seuls 42 octets diffèrent sur l'ensemble des cinq jeux, c'est pourquoi cela tient sans second jeu de ROM dans le FPGA.

Le résultat est, octet pour octet, le même code que celui des ROM de partie gratuite d'origine.

8. Son

8.1. Ce qui est reconstruit

La génération de son Atari génération 1, telle qu'elle se trouve sur la carte MPU et la carte auxiliaire :

Le jeu écrit dans trois verrous pour la forme d'onde, la hauteur et le volume, exactement comme sur l'original, et AtariFA reproduit numériquement le son qui en résulte.

C'est le son complet d'un flipper Atari génération 1 - ces jeux n'ont ni carte son séparée ni voix.

8.2. Les deux chemins audio

Se règle avec l'option 3, voir le chapitre 4.2.1 : soit le chemin d'origine par la carte auxiliaire (interrupteur sur OFF), soit l'amplificateur intégré (interrupteur sur ON). Les deux produisent les mêmes sons ; ils diffèrent par l'endroit où le signal analogique est formé.

Une remarque sur la façon dont les jeux coupent le son. Le code du jeu ne met pas le volume à zéro quand un son doit s'arrêter - il active la ligne « audio reset » et laisse le verrou de volume tel quel. AtariFA reproduit cela : audio reset fige la génération du son, la sortie devient un niveau constant, que la carte auxiliaire bloque. Si vous entendez un son continu qui ne s'arrête jamais, cherchez un problème de câblage sur les lignes audio vers la carte auxiliaire, pas un problème de volume.

8.3. L'annonce au démarrage

Environ deux secondes après la mise sous tension, pendant la fenêtre d'informations, la carte dit « Lisü » par l'amplificateur intégré. C'est une annonce fixe, jouée une seule fois, qui indique que le FPGA tourne et que la chaîne audio intégrée fonctionne.

Elle sort toujours par l'amplificateur intégré, quelle que soit l'option 3 - elle ne fait pas partie du son du jeu et n'atteint jamais la carte auxiliaire.

Si vous n'entendez rien à ce moment-là, vérifiez l'amplificateur intégré et le raccordement de son haut-parleur avant de chercher ailleurs.

8.4. Musique de fond depuis le lecteur MP3

Depuis le logiciel 0.3.0, le petit lecteur MP3 de la carte (un « MP3 mini player » avec sa propre carte mémoire) peut jouer une musique de fond pendant une partie. Il s'active avec l'option 1, chapitre 4.2.3, et il est désactivé par défaut.

Ce que vous mettez sur la carte mémoire. Créez un dossier nommé 02 et placez-y vos morceaux, numérotés :

/02/001.mp3
/02/002.mp3
...

Le lecteur joue ce dossier en boucle, dans son propre ordre. Il n'y a ni sélection par jeu ni mode aléatoire. Si vous utilisez aussi une carte GottFA1_PLuS, la même carte mémoire y fonctionne.

Ce qui se passe pendant le jeu. La carte se règle sur l'interrupteur de l'outhole : la musique joue tant qu'aucune bille ne repose dans l'outhole. Elle démarre donc quand la bille est éjectée au début d'une partie et se met en pause quand la dernière bille reste en bas. À la partie suivante, elle reprend là où elle s'était arrêtée au lieu de recommencer au début.

Pour ne pas s'interrompre à chaque changement de bille, la carte ne réagit qu'après deux secondes. Si la bille est éjectée à nouveau plus tôt, la musique continue sans coupure ; si le décompte du bonus dure plus longtemps, elle fait une courte pause et revient avec la bille suivante. Pour la même raison, la musique démarre deux secondes après le début d'une partie et s'arrête deux secondes après la dernière bille.

Un tilt ne met pas la musique en pause tout de suite - elle continue jusqu'à ce que la bille soit en bas. (Jusqu'au logiciel 0.3.0, la carte suivait le relais des flippers et s'arrêtait immédiatement au tilt. Seuls Middle Earth et Space Riders ont réellement ce relais, d'où ce changement.)

Si aucune bille ne repose dans l'outhole à la mise sous tension - parce qu'elle est dans le couloir de lancement ou sur le plateau, par exemple - la musique joue aussi en mode attraction. Mettez la bille dans l'outhole, ou lancez et terminez une partie, et elle se tait à nouveau.

Le son du jeu n'est pas affecté. La musique et le son du jeu sont deux chemins analogiques séparés qui ne se rejoignent qu'à l'amplificateur. Les sons du jeu du chapitre 8.1 jouent par-dessus la musique ; rien n'est atténué ni coupé. Réglez l'équilibre entre les deux avec le volume du lecteur et celui de votre flipper.

Si vous n'entendez rien : l'interrupteur n'est lu qu'au démarrage, éteignez donc puis rallumez après avoir réglé l'option 1. Vérifiez que le dossier s'appelle vraiment 02, que la carte mémoire est dans le lecteur et que la carte affiche la version 033 sur l'affichage d'informations - 133 ou 233 sur les deux cartes « dev_open », chapitre 5.2.

Laissez-lui le temps. Après la mise sous tension, la carte laisse cinq secondes au lecteur pour démarrer, lui parle, puis attend la fin de l'anti-rebond. Cela fait au total environ 15 secondes avant la première note. Si vous abandonnez plus tôt, vous prendrez un module qui fonctionne pour un module défectueux.

S'il reste silencieux ensuite alors qu'une bille est en jeu, vérifiez encore une fois le choix du jeu (annexe A) - la carte lit un interrupteur d'outhole différent selon le jeu réglé.

9. L'interface FA-Control (ESP32)

La carte a un support prévu pour un ESP32-C3 Super Mini. Il fait tourner FA-Control - un petit firmware qui ouvre un réseau WLAN et propose une interface de test dans votre navigateur : allumer chaque lampe individuellement, envoyer une impulsion à chaque bobine, voir tous les interrupteurs en direct, écrire des chiffres sur les afficheurs, jouer des sons.

C'est un outil pour l'établi et le dépannage, pas un accessoire pour le jeu normal. Si vous ne branchez rien, vous ne remarquerez jamais cette interface - la carte se comporte exactement comme sans.

Cette fonction est nouvelle dans la version logicielle 0.1.3 et a été essayée sur un vrai flipper.

9.1. L'autorisation : option 4

Un outil de test ne doit pas pouvoir intervenir sans y être invité dans une partie en cours. Deux conditions doivent donc être réunies :

  1. Le module ESP32 le demande activement (« je voudrais prendre la main »).
  2. Le DIP d'option 4 est sur ON.

Avec l'option 4 sur OFF, l'interface web l'indique en clair - « control refused - set option DIP 4 to ON » - et le jeu continue sans être dérangé. La lecture reste autorisée : vous pouvez suivre l'état des interrupteurs pendant une partie sans rien céder.

9.2. Ce qui se passe pendant la prise de contrôle

Le jeu est arrêté. Le processeur est maintenu en reset, et tout - lampes, bobines, afficheurs, son - vient désormais de l'interface web. Il faut que ce soit ainsi : si le jeu continuait à tourner, il écraserait en quelques millisecondes chaque lampe réglée à la main.

Le jeu redémarre ensuite depuis le début. Il ne peut pas être mis en pause puis repris. Une partie en cours est perdue ; ne prenez donc le contrôle qu'en mode attraction ou sur l'établi.

9.3. Comment le contrôle est rendu

Trois façons, et toutes les trois coupent immédiatement toutes les sorties et redémarrent le jeu :

9.4. Ce que l'interface web apprend de la carte

À la connexion, FA-Control demande à la carte de quoi elle est faite et se configure seul - il n'y a rien à saisir. AtariFA répond :

Identification AtariFA
Version du logiciel la même que sur l'affichage d'informations, par ex. 0.3.3
Lampes 84
Bobines 22 (20 du plateau + compteur de pièces + bobine de blocage)
Interrupteurs 80
Sons 16
Afficheurs 5 (état avec 4 chiffres, quatre joueurs avec 6 chacun)

La numérotation suit la carte : les interrupteurs portent le même numéro que dans l'autotest du jeu, et les bobines 1 à 20 sont les pilotes Q1 à Q20 du schéma, 21 est le compteur de pièces et 22 la bobine de blocage. Les bobines sont le seul groupe qui commence à 1 - c'est ainsi que l'original les compte, et le protocole LISY aussi. Les lampes (0 à 83) et les interrupteurs (0 à 79) commencent à 0. (Jusqu'à la version 0.1.9, les bobines commençaient aussi à 0 ; un firmware FA-Control antérieur à 1.16 actionnera donc la mauvaise bobine.)

9.5. Raccordement

Le module ESP32 s'enfiche simplement ; il n'y a rien à souder. La carte l'alimente - aucun câble USB n'est nécessaire en fonctionnement normal. On n'en branche un que pour charger le firmware FA-Control ou lire le journal de démarrage. Pour la configuration WLAN initiale, FA-Control ouvre son propre point d'accès au premier démarrage - voir la documentation de FA-Control.

10. Les LED d'état

La carte a trois LED d'état, câblées en parallèle avec les LED de la carte fille. C'est le diagnostic le plus rapide sans analyseur logique.

LED Signification
D1 chien de garde (watchdog) : s'allume et reste allumée dès que le chien de garde interne a expiré au moins une fois. Éteinte est l'état normal.
D2 le CPU lit des instructions dans la ROM - clignote lentement, quelques secondes par phase selon le jeu. Fixe, allumée ou éteinte, signifie que le CPU est arrêté ou bloqué.
D3 le timer NMI tourne - clignote à 0,48 Hz, soit un peu plus d'une seconde allumée et un peu plus d'une seconde éteinte. C'est du matériel autonome qui ne dépend pas du CPU.

Lisez-les ensemble :

11. Programmer le FPGA

Tout ce qu'il faut pour mettre le logiciel sur la carte est décrit sur mon site, et c'est tenu à jour là-bas :

https://lisy.dev/documentation-01.html

Vous y trouverez le dernier programme FPGA à télécharger, le logiciel de programmation nécessaire, l'installation du pilote USB Blaster et la programmation du FPGA.

Veillez à prendre la version AtariFA et, s'il y en a plusieurs, celle de votre variante de carte - voir le chapitre 12. La variante de carte est le premier chiffre de la version sur l'affichage d'informations.

Il n'y a pas d'image de carte SD pour AtariFA. Les ROM de jeu font partie du programme FPGA.

12. Variantes de carte

Le même design fonctionne sur trois cartes filles. Le programme FPGA n'est pas interchangeable entre elles - le brochage diffère, et la troisième porte un FPGA d'une autre famille.

Variante Carte FPGA La version commence par
cyclone_10_pcb carte AtariFA v1.x avec la carte fille Cyclone 10 de lisy.dev Cyclone 10 LP 0
cyclone_10_dev_open carte AtariFA v1.x avec la carte Cyclone 10 « dev_open » Cyclone 10 LP 1
cyclone_IV_dev_open la même carte « dev_open », mais équipée d'un Cyclone IV Cyclone IV E 2

L'affichage d'informations indique quel programme tourne : le premier des trois chiffres de version sur l'afficheur du joueur 1 est le numéro de carte. Si vous avez chargé le mauvais, les afficheurs resteront très probablement éteints ou montreront n'importe quoi - vérifiez d'abord ce chiffre.

À part le brochage, les trois sont identiques, avec deux petites différences sur la carte fille elle-même : la carte dev_open porte son interrupteur de reset et ses quatre LED d'état sur la carte fille (la quatrième est en réserve et reste éteinte), et elle amène 3 lignes de débogage au lieu de 8 sur le connecteur de l'analyseur logique. Les deux versions « dev_open » ne diffèrent que par le FPGA monté et par deux broches placées ailleurs sur le Cyclone IV.

État des tests. Seule cyclone_10_pcb a été jouée sur un flipper jusqu'à présent. cyclone_10_dev_open tourne sur l'établi depuis le logiciel 0.3.0 - le démarrage, l'affichage d'informations et le lecteur MP3 y sont confirmés, tout le reste dépend du câblage vers le flipper et n'est pas testé. cyclone_IV_dev_open a été construite mais n'a jamais tourné sur du matériel.

13. Pas encore implémenté

Ceci est présent sur la carte, câblé, et n'est pas utilisé par cette version du logiciel. Cela ne fait rien et ne fait pas de mal - le FPGA le maintient dans un état de repos sûr.

Annexe A choix du jeu

Interrupteurs du banc de 4. Le Dip4 de ce banc est la partie gratuite et ne fait pas partie du numéro de jeu.

N° Dip1 Dip2 Dip3 Jeu Année
0 off off off The Atarians 1976
1 on off off Time 2000 1977
2 off on off Airborne Avenger 1977
3 on on off Middle Earth 1978
4 off off on Space Riders 1978
5-7 – – – non utilisé, retombe sur Middle Earth

Les cinq fonctionnent aussi en partie gratuite (chapitre 7).

The Atarians n'a pas d'autotest - voir le chapitre 6.2.

Annexe B aide-mémoire

Les dix interrupteurs de configuration

banc de 4                          banc de 6
 1  choix du jeu bit 0  (+1)        1  musique de fond       lu au démarrage
 2  choix du jeu bit 1  (+2)        2  réservé               lu au démarrage
 3  choix du jeu bit 2  (+4)        3  chemin du son         en continu
 4  partie gratuite, ON = active    4  FA-Control autorisé   en continu
                                    5  temps mort lampes \   en continu
 les quatre lus au démarrage        6  temps mort lampes /   en continu

Musique de fond, option 1 : OFF = désactivée (standard) · ON = le lecteur MP3 joue le dossier 02 tant qu'une bille est en jeu (chapitre 8.4)

Chemin du son, option 3 : OFF = carte auxiliaire (standard) · ON = amplificateur intégré

FA-Control, option 4 : OFF = personne n'intervient (standard) · ON = l'outil de test ESP32 peut piloter le flipper (chapitre 9)

Temps mort des lampes, options 5 et 6 ensemble (chapitre 4.2.4) — contre la lueur des lampes à LED, prenez le plus petit palier qui fonctionne :

Option 5 Option 6 Temps mort Luminosité
OFF OFF environ 65 µs (standard) 21,8 %
OFF ON environ 250 µs 12,8 %
ON OFF aucun - temporisation de la MPU d'origine, les LED luisent comme sur l'original 24,5 %
ON ON environ 400 µs, visiblement plus sombre 5,5 %

Si cela luit encore à 400 µs, ce n'est pas le logiciel - chapitre 4.2.5.

Après avoir changé un interrupteur lu au démarrage : éteindre, rallumer.

L'affichage d'informations, les 5 premières secondes après la mise sous tension

Joueur 1   0 3 3      version, premier chiffre = variante de carte
Joueur 2      0 2     choix du jeu  (annexe A)
Joueur 3   000000     options 1..6, de gauche à droite, 1 = ON
Joueur 4        0     partie gratuite, 1 = active
Crédit     (éteint)

LED : D1 chien de garde (éteinte = bon) · D2 CPU en marche (clignote lentement) · D3 timer NMI (clignote ~0,48 Hz)

Aucun crédit ni score n'est conservé après une coupure de courant - comme sur la MPU Atari d'origine.