Neo Geo AES Main Quartz Failure

Publié le par illusionrip

Symptôme

La console ne présentait pas de Click of Death, panne bien connue sur Neo Geo AES.

À la place, l’image affichait des lignes blanches horizontales, signe d’un dysfonctionnement de synchronisation ou d’horloge.

Ce type de symptôme peut orienter vers plusieurs pistes : alimentation, vidéo, RAM ou logique système. Mais avec l’expérience acquise sur plusieurs réparations, un composant m’a immédiatement semblé suspect.

L’intuition : le quartz principal

Sur certaines pannes, l’expérience permet de gagner du temps.

Ici, mon premier réflexe a été de vérifier le quartz principal.

Ce composant joue un rôle essentiel : c’est le chef d’orchestre de toute la machine. Il fournit la fréquence de référence utilisée par de nombreux circuits internes, jusqu’à la génération du signal vidéo.

Lorsque ce signal n’est plus stable, même légèrement, les conséquences peuvent apparaître à l’écran sous forme de parasites, d’instabilités ou de lignes anormales.

Une fréquence spécifique sur AES

Contrairement aux systèmes Neo Geo MVS, qui utilisent souvent un 24 MHz standard, relativement facile à trouver encore aujourd’hui, la Neo Geo AES utilise un quartz beaucoup plus spécifique :

24.167829 MHz

Et là, les choses se compliquent.

Cette fréquence particulière est beaucoup moins courante sur le marché actuel. Trouver un remplacement exact devient parfois plus difficile que la réparation elle-même.

Pourquoi c’est un problème aujourd’hui

Il fut un temps où certaines sociétés fabriquaient des quartz sur mesure ou en petites séries. Ce type de service existait pour l’industrie électronique ou les besoins spécifiques.

Aujourd’hui, ce genre de solution est devenu rare, voire inexistant pour un particulier. Il faut souvent :

  • récupérer un composant sur une carte donneuse,

  • rechercher un ancien stock,

  • ou trouver une solution technique alternative viable.

Diagnostic confirmé

Après remplacement ou test du quartz, la console retrouve généralement un signal stable et un affichage normal, confirmant que la source de la panne était bien liée à l’horloge principale.

C’est un bon rappel qu’un simple quartz, composant discret et souvent négligé, peut immobiliser totalement une machine aussi complexe qu’une Neo Geo AES.

 


 

Symptom

The console did not show the well-known Click of Death failure.

Instead, the screen displayed horizontal white lines, usually indicating a synchronization or clock-related issue.

This kind of symptom can lead to several possible causes: power supply, video circuitry, RAM, or system logic. But based on experience gained from previous repairs, one component immediately came to mind.

The instinct: the main crystal

Sometimes experience saves a lot of time.

In this case, my first instinct was to inspect the main crystal oscillator.

This component plays a critical role: it acts as the conductor of the entire system. It provides the reference frequency used by many internal circuits, all the way to video output generation.

When that signal becomes unstable, even slightly, the result can appear on screen as interference, unstable image output, or abnormal lines.

A specific AES frequency

Unlike Neo Geo MVS systems, which often use a common 24 MHz crystal still easy to source today, the Neo Geo AES uses a much more specific frequency:

24.167829 MHz

And that changes everything.

This exact frequency is far less common on today’s market, making replacement more difficult than the repair itself.

Why this is a problem today

Years ago, some companies manufactured custom crystal oscillators or short production runs for industrial needs.

Today, those services are rare or inaccessible for hobbyists. In practice, the options are often:

  • salvaging a part from a donor board,

  • finding old stock,

  • or designing a technically sound alternative solution.

Confirmed diagnosis

Once the crystal is replaced or properly tested, the console usually returns to stable operation with a clean image, confirming that the fault was indeed linked to the master clock.

It is a good reminder that a small and often overlooked component can completely disable a machine as sophisticated as the Neo Geo AES.

Neo Geo AES Main Quartz Failure

Vérifier l’hypothèse sans dessouder

Pour confirmer mon intuition, je place directement sur le quartz un signal exact généré par un générateur de fréquence.

Le quartz est un petit composant piézoélectrique qui, lorsqu’il reçoit une excitation électrique, se met à vibrer à une fréquence très précise définie lors de sa fabrication.

Dans ce cas précis, il semble avoir des difficultés à osciller correctement à la fréquence pour laquelle il a été conçu. En lui appliquant un signal externe parfaitement stable de :

24.167829 MHz

il devrait théoriquement se synchroniser sur cette référence.

L’intérêt de la méthode est simple : il n’est pas forcément nécessaire de dessouder immédiatement le quartz pour vérifier s’il est responsable de la panne.

Cela permet de confirmer rapidement un diagnostic tout en limitant les manipulations inutiles sur la carte mère.

 


Objectif 2 : installation d’un UniBIOS 4.0

Le second objectif de l’intervention consistait à installer un UniBIOS 4.0.

Je ne vais pas détailler ici la procédure complète, car de nombreux guides existent déjà sur le sujet.

Pour rappel, cette modification apporte notamment :

  • sélection région AES / MVS / Japon / USA / Europe,

  • menu de diagnostic,

  • cheats et options avancées,

  • réglages supplémentaires,

  • confort d’utilisation accru.

C’est aujourd’hui l’une des modifications les plus appréciées sur Neo Geo AES.

 


Objectif 3 : installation d’un RGB Bypass

Le client souhaitait également la pose d’un RGB Bypass, basé sur le design de Nico34.

Nic034 site link

Cette modification a pour but d’améliorer la qualité du signal vidéo RGB en contournant certaines limites du circuit d’origine.

L’installation reste relativement simple pour un technicien habitué :

  • retrait de 7 résistances,

  • retrait de 4 condensateurs,

  • installation du circuit de bypass selon le schéma disponible sur le site de l’auteur.

Le résultat permet généralement d’obtenir :

  • une image plus nette,

  • des couleurs plus propres,

  • moins de bruit vidéo,

  • un rendu optimisé sur écrans modernes ou upscalers.

 


Testing the theory without desoldering

To confirm my suspicion, I directly inject an exact signal onto the crystal using a frequency generator.

A crystal is a small piezoelectric component that begins vibrating at a very precise frequency when electrically excited.

In this case, it appears unable to oscillate properly at the frequency it was designed for. By applying a perfectly stable external signal of:

24.167829 MHz

it should theoretically lock onto that reference.

The benefit of this method is straightforward: there is no immediate need to desolder the crystal in order to verify whether it is causing the fault.

It allows a quick diagnosis while avoiding unnecessary work on the motherboard.


Objective 2: installing UniBIOS 4.0

The second part of the job was the installation of UniBIOS 4.0.

I will not go into the full process here, as many guides already cover it in detail.

As a reminder, UniBIOS provides:

  • AES / MVS / Japan / USA / Europe region selection,

  • diagnostic menus,

  • cheats and advanced options,

  • additional settings,

  • improved user convenience.

It remains one of the most popular upgrades for the Neo Geo AES.


Objective 3: installing an RGB Bypass

The client also requested an RGB Bypass, based on the design by Nico34.

Nic034 site link

This modification improves RGB video quality by bypassing some limitations of the original video circuit.

Installation is relatively simple for an experienced technician:

  • remove 7 resistors,

  • remove 4 capacitors,

  • install the bypass board according to the published guide.

The result usually provides:

  • sharper image quality,

  • cleaner colors,

  • reduced video noise,

  • improved output for modern displays or upscalers.

Neo Geo AES Main Quartz Failure
Neo Geo AES Main Quartz Failure
Neo Geo AES Main Quartz Failure

Diagnostic confirmé

Bonne nouvelle : c’était bien ça.

Après injection du signal externe correct, la console redémarre normalement et l’image redevient stable. Le quartz principal était bien responsable du problème.

Évidemment, il n’était pas question de renvoyer la machine au client avec mon générateur de fréquence branché dessus.

D’une part, cela lui aurait coûté cher.

D’autre part, j’aurais bien aimé récupérer mon matériel un jour.

Il fallait donc trouver une solution propre, durable et intégrable dans la console.

Une ancienne solution artisanale

Par le passé, j’avais déjà bricolé un oscillateur basé sur :

  • un Arduino Nano,

  • un SI5351.

Le SI5351 est un composant intéressant capable de générer jusqu’à trois signaux d’horloge différents. Sur le papier, c’était une bonne base.

Mais il y avait plusieurs limites :

  • le SI5351 doit recevoir ses paramètres du Nano au démarrage, car il ne possède pas de mémoire flash intégrée ;

  • l’ensemble restait assez volumineux ;

  • le montage était fonctionnel, mais clairement artisanal ;

  • esthétiquement, on va dire que cela ne gagnait aucun concours.

Et il faut ajouter un détail non négligeable : certains Nano bon marché venus d’Asie ont une fiabilité… de merde.

L’idée d’une vraie solution compacte

Depuis longtemps, je me disais qu’il faudrait refaire tout cela correctement :

  • plus compact,

  • plus propre,

  • plus fiable,

  • plus simple à installer.

Une vraie petite carte dédiée, pensée pour ce type de réparation.

C’est ainsi qu’est née l’idée du :

DantonQuartz

Objectif du DantonQuartz

Créer une carte capable de remplacer élégamment un quartz défaillant en fournissant un signal propre et stable, sans avoir besoin :

  • d’un générateur externe,

  • d’un Arduino suspendu dans la console,

  • de câbles volants,

  • ou d’un montage improvisé.

En résumé : une solution sérieuse née d’un problème bien réel.

 


Diagnosis confirmed

Good news: that was the problem.

After injecting the correct external clock signal, the console booted normally and the picture became stable again. The main crystal was indeed the source of the fault.

Of course, sending the console back to the client with my bench frequency generator still attached was never an option.

It would have been expensive for the customer, and I quite liked the idea of keeping my generator.

A proper, permanent, integrated solution was needed.

An older homemade solution

In the past, I had already built a custom oscillator based on:

  • an Arduino Nano,

  • a SI5351 clock generator.

The SI5351 is a useful chip capable of generating up to three clock outputs. On paper, it was a solid concept.

However, there were drawbacks:

  • the SI5351 requires configuration data from the Nano at startup because it has no onboard flash memory;

  • the whole assembly was bulky;

  • it worked, but clearly looked improvised;

  • visually, it was not winning any design awards.

And there was another issue: some low-cost Nano boards from online marketplaces tend to have… inconsistent quality.

The idea for a real compact solution

For a long time, I had wanted to redesign the concept properly:

  • smaller,

  • cleaner,

  • more reliable,

  • easier to install.

A dedicated board made specifically for this repair.

That is how the idea of:

DantonQuartz

was born.

 

Purpose of DantonQuartz

The goal was to create a compact board capable of replacing a faulty crystal by generating a clean and stable clock signal, without needing:

  • an external lab generator,

  • an Arduino hanging inside the console,

  • loose wires,

  • or an improvised setup.

In short: a serious solution born from a very real problem.

 

Neo Geo AES Main Quartz Failure
Neo Geo AES Main Quartz Failure

Le concept derrière le DantonQuartz

L’idée du DantonQuartz était simple : intégrer un peu de code embarqué capable d’initialiser correctement la puce SI5351, de lui transmettre ses paramètres au démarrage, puis de mettre le microcontrôleur en veille jusqu’au prochain boot.

Pour cela, je suis parti sur une combinaison assez classique mais efficace :

  • un ATTiny85 pour la partie microcontrôleur,

  • un SI5351 pour la génération d’horloge,

  • et un oscillateur 25 MHz comme référence, ensuite multipliée ou divisée selon les besoins.

L’ensemble reste compact, relativement simple, et surtout bien plus propre qu’un montage provisoire à base d’Arduino Nano.

Pourquoi ce choix

L’intérêt du SI5351, c’est sa souplesse. Ce petit circuit peut générer des fréquences très variées, jusqu’à environ 200 MHzselon l’usage.

Dans le cas présent, l’objectif est de recréer une horloge exploitable pour une Neo Geo AES, mais l’idée ne s’arrête pas là. Une fois le principe validé, rien n’empêche de reprogrammer la carte pour d’autres machines, d’autres cartes mères, ou d’autres besoins exotiques liés au rétrocomputing.

Autrement dit, le DantonQuartz n’est pas seulement un correctif ponctuel : il peut devenir un petit outil générique pour les cas où une fréquence précise devient introuvable.

Une soirée de développement comme on les aime

Profitant d’un samedi en solitaire, je suis passé en mode tunnel complet et j’ai travaillé dessus jusqu’à trois heures du matin.

Au programme :

  • réflexion sur l’architecture globale,

  • compréhension du câblage entre les différents composants,

  • conception du schéma,

  • mise en place du routage,

  • ajout d’un plan de masse automatique,

  • et même création d’un logo discrètement absurde, dans la plus pure tradition franco-française.

Le plan de masse automatique mérite au passage une mention spéciale. Merci à Aurélien pour le conseil : sur ce type de petit PCB, c’est le genre de détail qui améliore à la fois la propreté du design et le comportement électrique.

Du bricolage à quelque chose de présentable

C’est souvent comme ça que commencent les projets intéressants : une panne réelle, une solution temporaire, puis l’envie de transformer le bricolage en quelque chose de plus propre et de plus élégant.

Le but n’était plus seulement de faire fonctionner une console, mais de concevoir une carte :

  • plus compacte,

  • plus lisible,

  • plus facile à reproduire,

  • et suffisamment polyvalente pour servir à nouveau plus tard.

Le DantonQuartz est né exactement dans cet état d’esprit.

 


The concept behind DantonQuartz

The idea behind DantonQuartz was straightforward: embed a small piece of code able to initialize the SI5351 properly, send it the required parameters at startup, and then put the microcontroller to sleep until the next boot.

For that, I went with a compact and fairly efficient combination:

  • an ATTiny85 as the microcontroller,

  • a SI5351 as the clock generator,

  • and a 25 MHz oscillator as the reference source, later multiplied or divided as needed.

The result is much cleaner and more compact than a temporary Arduino Nano-based setup.

Why this design

The real strength of the SI5351 is its flexibility. This small chip can generate a wide range of clock frequencies, up to around 200 MHz depending on the configuration.

In this case, the goal was to recreate a usable master clock for a Neo Geo AES, but the concept goes beyond that. Once validated, the board could easily be reprogrammed for other systems, other motherboards, or other unusual retro hardware situations.

In other words, DantonQuartz is not just a one-off fix. It has the potential to become a small general-purpose solution whenever an exact frequency becomes difficult or impossible to source.

A proper late-night development session

With a free Saturday to myself, I went into full tunnel-vision mode and worked on it until three in the morning.

That meant:

  • designing the overall architecture,

  • understanding how everything needed to be connected,

  • drawing the schematic,

  • routing the board,

  • adding an automatic ground plane,

  • and even creating a logo with just the right amount of over-the-top French absurdity.

The automatic ground plane deserves a mention. Thanks to Aurélien for that tip: on a small PCB like this, it is exactly the sort of detail that improves both the cleanliness of the design and the electrical behavior.

From a hack to something presentable

This is often how the best projects start: a real fault, a temporary fix, and then the desire to turn that improvised solution into something cleaner and more elegant.

The goal was no longer just to make one console work again, but to create a board that would be:

  • more compact,

  • easier to understand,

  • easier to reproduce,

  • and flexible enough to be useful again in the future.

That is exactly the mindset in which DantonQuartz was born.

Neo Geo AES Main Quartz Failure
Neo Geo AES Main Quartz Failure

En attendant les PCB

Il ne me restait plus qu’à attendre que les cartes arrivent.

Ce délai me laissait un peu de temps pour préparer la suite, à savoir un petit programmateur dédié à l’ATTiny85.

L’idée était de pouvoir programmer la puce proprement, rapidement, et surtout sans transformer chaque essai en séance de soudure inutile.

Préparer un programmateur pour l’ATTiny85

Pour cette étape, j’ai utilisé une méthode classique : charger le programme ArduinoISP dans un Arduino Nano, afin qu’il serve de passerelle de programmation.

Le Nano ne programme pas directement l’ATTiny85 “par magie” ; il agit comme un intermédiaire entre l’ordinateur et le microcontrôleur cible.

C’est une solution simple, efficace, et largement suffisante pour ce genre de projet.

Programmer sans souder à chaque fois

Comme je n’avais aucune envie de souder, dessouder, puis ressouder l’ATTiny85 à chaque modification de code, j’ai cherché une solution un peu plus confortable.

J’ai fini par trouver, sur un site chinois bien connu, une petite pince équipée de pogo pins.

Ce genre d’outil est particulièrement pratique : il permet de venir en contact directement avec les pattes du composant pour le programmer, sans montage définitif.

En clair, cela évite :

  • les manipulations inutiles,

  • le risque d’abîmer les pads,

  • la perte de temps à chaque itération.

Pour un projet comme celui-ci, où il faut souvent tester, corriger, reprogrammer, puis retester, c’est presque indispensable.

Dernière étape : écrire le code

Une fois le matériel prêt, il ne restait plus qu’à écrire le petit programme chargé d’initialiser le SI5351 avec la bonne fréquence.

L’objectif est simple :

  • démarrer le microcontrôleur,

  • configurer le SI5351,

  • générer précisément la fréquence attendue,

  • puis laisser le système faire son travail de manière autonome.

Sur le papier, cela paraît simple. En pratique, comme souvent, ce sont les détails qui prennent du temps.

Mais à ce stade, le projet avait déjà quitté le territoire du bricolage de secours pour entrer dans celui de la vraie solution reproductible.

 


Waiting for the PCBs

At that point, all that was left was to wait for the boards to arrive.

That delay gave me some time to prepare the next step: building a small programmer for the ATTiny85.

The goal was to program the chip cleanly, quickly, and without turning every test into another unnecessary soldering session.

Building a programmer for the ATTiny85

For that step, I used a classic approach: flashing ArduinoISP onto an Arduino Nano so it could act as a programming bridge.

The Nano does not magically program the ATTiny85 by itself; it simply acts as an intermediary between the computer and the target microcontroller.

It is a simple, effective solution, and more than enough for this kind of project.

Programming without soldering every time

Since I had no intention of soldering, desoldering, and resoldering the ATTiny85 every time I changed the code, I looked for something more practical.

On one of the usual Chinese marketplaces, I found a small clip fitted with pogo pins.

That kind of tool is extremely useful: it lets you make direct contact with the chip pins for programming, without having to permanently solder it in place.

In practical terms, it avoids:

  • unnecessary handling,

  • the risk of damaging pads,

  • wasted time during each iteration.

For a project like this, where testing, correcting, reflashing, and retesting are all part of the process, it makes a real difference.

Final step: writing the code

Once the hardware side was ready, the only thing left was to write the small piece of code responsible for configuring the SI5351 to the correct frequency.

The objective is straightforward:

  • boot the microcontroller,

  • initialize the SI5351,

  • generate the exact target frequency,

  • then let the system run autonomously.

On paper, it sounds simple. In practice, as always, the details are what take the time.

But at that point, the project had already moved beyond the realm of temporary repair hacks and into something much closer to a proper reproducible solution.

Neo Geo AES Main Quartz Failure
Neo Geo AES Main Quartz Failure

Elles sont enfin arrivées, et ce qui devait être 30 minutes de travail s’est transformé en six heures.

La première difficulté a été de retrouver les bons pins pour l’ISP. Entre ce que dit le code Arduino et ce que montrent certains schémas, il y a parfois un écart qui fait perdre beaucoup de temps.

J’ai finalement réussi à graver le bootloader et à téléverser le programme compilé. Mais le résultat n’était pas celui attendu : j’obtenais un signal à 90 MHz au lieu des 24.1678 MHz prévus.

Après encore quatre heures à tester, modifier le code et lutter avec la frustration, je me suis rendu compte que la bibliothèque Adafruit Si5351 Library n’était pas adaptée à mon besoin. Je me suis alors tourné vers la bibliothèque Etherkit Si5351 de Jason Milldrum, beaucoup plus simple et directe : une trentaine de lignes au lieu d’environ 150.

Test final : le signal est exactement celui attendu, et le montage fonctionne parfaitement sur breadboard.


They finally arrived, and what was supposed to be a 30-minute task turned into six hours.

The first challenge was finding the correct pins for ISP. What the Arduino code suggests and what some schematics show do not always match, which can waste a lot of time.

I eventually managed to burn the bootloader and upload the compiled program. However, the result was not correct: I was getting a 90 MHz signal instead of the expected 24.1678 MHz.

After another four hours of testing, tweaking the code, and dealing with frustration, I realized that the Adafruit Si5351 Library was not suitable for my use case. I switched to the Etherkit Si5351 by Jason Milldrum, which is much simpler and more efficient, requiring only about thirty lines of code instead of around 150.

Final test: the signal is exactly as expected, and the setup works perfectly on a breadboard.

Neo Geo AES Main Quartz Failure
Neo Geo AES Main Quartz Failure
Neo Geo AES Main Quartz Failure

On monte sur la bête, et ça marche nickel.


Installed on the hardware, and it works perfectly.

Neo Geo AES Main Quartz Failure
Neo Geo AES Main Quartz Failure

J’en ai aussi profité pour installer mon programmateur ISP sur un PCB que j’avais conçu au début de mes aventures. À l’origine, il me servait à déporter des BIOS et à pouvoir souder facilement différents composants dessus.

Finalement, il va aussi me servir pour la programmation. Comme ça, j’aurai quelque chose de propre et réutilisable pour mes prochains projets.


I also took the opportunity to mount my ISP programmer onto a PCB that I had designed early on. Initially, it was meant for relocating BIOS chips and making it easier to solder various components onto it.

In the end, it will also serve as a programming tool. This way, I now have something clean and reusable for future projects.

Neo Geo AES Main Quartz Failure
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
K
Excellent ! je decouvre le site et je me regale! merci !
Répondre
F
Si tu veux simplifier les choses t'as le LMK3C0105 par exemple qui est OTP et intègre l'oscillateur.
Répondre
I
Ftk la peluche ??
I
Trop tard maintenant mais super intéressant merci …i2c et mémoire intégré 🤩
A
Super! Je le demande encore chaque jour pourquoi le SI5351 n'embarque pas de l'EEPROM pour enregistrer ses réglages!<br /> Je remarque aussi que le quartz, malgré un postérieur plutôt similaire au nôtre, a les mains dans le sens opposé ;).
Répondre
I
Je remercie encore l’unique commentateur de ce blog 😁 sans lui il n’y aurait pas d’analyse aussi fine, mais il est vrai que cela aurait plus simple d’avoir un petit bout de mémoire pour sauvegarder les paramètres , peut être dans une prochaine évolution !!! Quand aux problèmes de mains , c’est malheureusement souvent le cas chez la famille Chrystal, une sorte de malformation de naissance .