Neo Geo AES Black Hole Screen
Écran noir !!!
Allons dans l’ordre.
La première chose à vérifier, c’est la tension délivrée au chipset de la machine.
Cette tension doit être de 4,9 volts. En dessous, cela peut provoquer des problèmes.
On peut la tester sur une valeur de 3,3 à 3,6 V, juste derrière l’inductance (la grosse bobine). C’est elle qui permet d’obtenir un beau signal 5 V lissé après le régulateur. (La masse peut être prise directement derrière le régulateur.)
Sur ma patiente, l’alimentation était correcte.
Black screen!!!
Let’s go step by step.
The first thing to check is the voltage supplied to the chipset of the machine.
This voltage should be 4.9 volts. Anything below that can cause issues.
You can measure it at 3.3 to 3.6 V, just behind the inductor (the big coil). This component ensures a clean and stable 5 V signal after the regulator. (Ground can be taken just behind the regulator.)
On my unit, the power supply was fine.
Par acquis de conscience, on peut tester plusieurs puces pour s’assurer que l’alimentation arrive bien :
-
Motorola 68000 : Pin 14 - 49
-
Neo-D0 : Pin 26 - 58
-
Neo-G0 : Pin 26 - 58
-
Neo-C1 : Pin 3 - 28 - 53 - 78
-
BIOS : Pin 1 - 39 - 40
-
Neo-E0 : Pin 26 - 58
-
Neo-B1 : Pin 20 - 40 - 60 - 80 - 100 - 120 - 140 - 160
-
LSPC2-A2 : Pin 12 - 33 - 56 - 77 - 100 - 121 - 144 - 165
Pas besoin de tester toutes les broches, mais au moins vous avez les alimentations des principaux organes.
La deuxième, et souvent principale raison des pannes : une des horloges du système ne fonctionne pas.
Ici, c’est un point crucial… et je peux dire que ça a eu raison d’un bout de mon cerveau !
On teste en premier le quartz 24,16 MHz de la console.
Pour cela, il faut un oscilloscope.
Dans le cas présent, le signal était correct.
For peace of mind, you can also check several chips to make sure power is reaching them:
-
Motorola 68000: Pin 14 - 49
-
Neo-D0: Pin 26 - 58
-
Neo-G0: Pin 26 - 58
-
Neo-C1: Pin 3 - 28 - 53 - 78
-
BIOS: Pin 1 - 39 - 40
-
Neo-E0: Pin 26 - 58
-
Neo-B1: Pin 20 - 40 - 60 - 80 - 100 - 120 - 140 - 160
-
LSPC2-A2: Pin 12 - 33 - 56 - 77 - 100 - 121 - 144 - 165
You don’t need to test every single pin, but at least you now have the supply pins for the main components.
The second — and often the main — cause of failure is when one of the system clocks isn’t working.
Here it’s a critical point… and honestly, it fried a part of my brain!
The first thing to test is the console’s 24.16 MHz quartz oscillator.
For this, you need an oscilloscope.
In this particular case, the signal was fine.
la cloque principal va tout d’abord sur le Neo-D0, ou elle est divisé en interne et renvoyé vers les différentes puces afin de synchroniser leurs fonctionnement
XIN c’est la que doit arriver notre 24Mhz
sur la gauche vous avec les signaux qui sortent:
24M = 24MHZ
68KCLK = 12 MHZ se retrouve sur le Pin 15 du 68000
68KCLKB = aussi 12Mhz
1MB = et bah non pas 1 mais 3Mhz (ca rigolait bien chez SNK)
12MB = au signal 12Mhz
6MB = 6 Mhz
et je vous met dessous vers ou se dirigent les clocks, mais tester la continuité, faisez pas comme moi (vous vous rappelez le bout de cerveau !!!)
| 24M | NEO-DO | 21 | LSPC-A2 | 170 | FRONT SLOT | 48A | ||||||||||||
| 68KCLK | NEO-DO | 22 | 68000 | 15 | ||||||||||||||
| 68KCLKB | NEO-DO | 23 | REAR SLOT | 32A | ||||||||||||||
| 1HB | NEO-DO | 24 | NEO-B1 | 84 | ||||||||||||||
| 12M | NEO-DO | 27 | FRONT SLOT | 5A | ||||||||||||||
| 6MB | NEO-DO | 28 | LS273 | 11X2 | NEO-B1 | 87 |
The main clock first goes to the Neo-D0, where it is divided internally and redistributed to the different chips to synchronize their operation.
XIN is where the 24 MHz input must arrive.
On the left, you can see the outgoing signals:
24M = 24 MHz
68KCLK = 12 MHz (can be found on Pin 15 of the 68000)
68KCLKB = also 12 MHz
1MB = actually not 1 but 3 MHz (they had a good laugh at SNK!)
12MB = 12 MHz signal
6MB = 6 MHz
Below I’ll show where the clocks are routed — but check continuity! Don’t do like me (remember that bit of brain I lost!!!).
tous mes signaux sortent propres du Neo-D0
c'est pas lui !!!
j'en profite pour refaire au propre des bouts de fils qui partent de tous les sens du Neo-E0 qui est aussi tres important sur le bus de données du 68000.
tout autour il y avait pleins de pistes corrodées
All my signals come out clean from the Neo-D0.
It’s not the culprit!!!
I’m also taking the opportunity to tidy up some wires that were going all over the place from the Neo-E0, which is also very important on the 68000 data bus.
All around it, there were lots of corroded traces.
plein de vias bouffer et des pistes, le plan de masse qui masse plus
on nettoie tout ca
on remet des vias ou c'est possible
Lots of eaten-away vias and traces, the ground plane isn’t grounding anymore.
We clean all that up.
We put back vias wherever possible.
et maintenant du fil émaillé (rouge parce que ca va plus vite)
bon maintenant plus de fils de 3kms sous la carte mere, mais toujours silence radio et ecran noir
And now some enamel wire (red because it’s faster).
Well, no more 3-km wires under the motherboard, but still radio silence and a black screen.
bon rentre dans le vif du sujet
quand il y a écran noir c'est que le 68000 ne demmare pas car il reçoit un signal de RESET et HALT en position High (5V)
je vous passe les details de la recherche mais en gros le signal HALT et RESET est généré par le Neo-B1
au démarrage il y a un handshake qui doit etre fait sur le bus video entre le Neo-B1 et le LSPC2-A2
si ils ne sont pas dit "tout est ok de mon coté mec, tu peux balancer la purée" alors le Neo-B1 bloque tout
pour comprendre comment fonctionne le protocole de handshake, il a fallu que je regarde le code verilog du Neo-B1 fait par Furttek pour le Mister FPGA
a partir des infos du code je me suis fait un petit test sous excel afin de tester tout mes signaux, et le continuité en premier, voici les étapes:
Alright, let’s get to the heart of the matter.
When there’s a black screen, it means the 68000 isn’t starting because it’s receiving a RESET and HALT signal in the High state (5V).
I’ll spare you the details of the search, but basically the HALT and RESET signals are generated by the Neo-B1.
At startup, there’s a handshake that has to happen on the video bus between the Neo-B1 and the LSPC2-A2.
If they haven’t said to each other “everything’s fine on my side, man, you can let it rip,” then the Neo-B1 blocks everything.
To understand how the handshake protocol works, I had to look at the Verilog code of the Neo-B1 made by Furttek for the Mister FPGA.
From the information in the code, I put together a little test in Excel to check all my signals, starting with continuity. Here are the steps:
En continuité tout était ok, mais lors des tests des signaux de handshake à l’initialisation je suis tombé sur le signal BNBKà 0 alors qu’il devait être à 1.
Le BNBK est généré par le LSPC2-A2. En fait, ce dernier reçoit un signal d’horloge de 24 MHz qu’il divise, comme le Neo-D0, pour renvoyer des clocks au Z80 et au Neo-B1… le fameux BNBK.
Donc soit mon LSPC2-A2 était mort, soit il ne recevait pas de signal.
En testant la continuité entre le Neo-D0 et le LSPC2-A2, ça ne marchait pas : la piste était coupée.
Je n’avais pas bien vérifié toutes mes lignes dès le départ… et voilà. Mais d’un côté, j’ai dépiauté la logique combinatoire du Neo-B1 et ça m’a appris beaucoup de choses. Donc ma négligence était un mal pour un bien.
Après réparation de la continuité, la machine a redémarré… mais avec toujours des problèmes. En me penchant sur le LSPC2-A2, j’ai constaté qu’il avait été remplacé, et que certaines pins étaient mal soudées, avec en plus des ponts de soudure entre certains pins. Après correction de ces défauts… tadaaaa 🎉
Continuity looked fine, but when testing the handshake signals at startup I found the BNBK signal stuck at 0, when it should have been 1.
The BNBK is generated by the LSPC2-A2. It receives a 24 MHz clock signal, divides it (like the Neo-D0), and sends the resulting clocks to the Z80 and the Neo-B1… including the BNBK.
So either my LSPC2-A2 was dead, or it wasn’t receiving the signal.
When testing continuity between the Neo-D0 and the LSPC2-A2, it didn’t work — the trace was cut.
I hadn’t properly checked all the lines from the start… and there you go. On the other hand, I ended up digging into the combinatorial logic of the Neo-B1, and I learned a lot from it — so my negligence was a blessing in disguise.
After fixing the continuity, the machine powered up again… but still had issues. Looking closer at the LSPC2-A2, I saw it had been replaced, and some pins were poorly soldered, with solder bridges between others. After fixing these problems… tadaaaa 🎉
/image%2F0533879%2F20250914%2Fob_305cc1_img-8420.jpeg)
/image%2F0533879%2F20250914%2Fob_03f07c_img-8331.jpeg)
/image%2F0533879%2F20250914%2Fob_ffd90e_d0.png)
/image%2F0533879%2F20250914%2Fob_361424_2021-0401-000028-001.jpeg)
/image%2F0533879%2F20250914%2Fob_028ceb_2021-0401-001029-007.jpeg)
/image%2F0533879%2F20250914%2Fob_ac805b_2021-0401-000612-004.jpeg)
/image%2F0533879%2F20250914%2Fob_383026_2021-0401-000643-005.jpeg)
/image%2F0533879%2F20250914%2Fob_fab275_2021-0401-000745-002.jpeg)
/image%2F0533879%2F20250914%2Fob_daf4b1_2021-0401-002503-003.jpeg)
/image%2F0533879%2F20250914%2Fob_b9971a_2021-0401-002826-004.jpeg)
/image%2F0533879%2F20250914%2Fob_1c6710_2021-0401-004714-006.jpeg)
/image%2F0533879%2F20250914%2Fob_a4f49d_2021-0401-005406-007.jpeg)
/image%2F0533879%2F20250914%2Fob_171a1b_2021-0401-005415-008.jpeg)
/image%2F0533879%2F20250914%2Fob_604d59_2021-0401-011602-009.jpeg)
/image%2F0533879%2F20250914%2Fob_933aef_2021-0401-011611-010.jpeg)
/image%2F0533879%2F20250914%2Fob_536d78_2021-0401-011618-011.jpeg)
/image%2F0533879%2F20250914%2Fob_31bca5_2021-0401-000112-003.jpeg)
/image%2F0533879%2F20250914%2Fob_a24592_2021-0401-001601-001.jpeg)
/image%2F0533879%2F20250914%2Fob_f4fd44_img-8408.jpeg)
/image%2F0533879%2F20250914%2Fob_1494db_capture-d-ecran-2025-09-14-a-09-30.png)
/image%2F0533879%2F20250914%2Fob_93cf81_img-8418.jpeg)