Repair help: Difference between revisions
No edit summary |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 25: | Line 25: | ||
Typical message looks like: ''Backup RAM error: Address 00D00000; Written 5555; Read 0000.'' | Typical message looks like: ''Backup RAM error: Address 00D00000; Written 5555; Read 0000.'' | ||
The last part is the most | The last part is the most useful: ''Written XXXX Read YYZZ''<br /> | ||
The YYZZ represent upper and lower bytes - each one handled by different SRAM IC: YY is upper RAM, ZZ is lower RAM. | The YYZZ represent upper and lower bytes - each one handled by a different SRAM IC: YY is upper RAM, ZZ is lower RAM. | ||
The value can help you to know which line/trace | The value can help you to know which line/trace causes a problem.<br /> | ||
For example | For example, writing AAAA and reading AAA2 means the 4th data line of lower RAM causes a problem.<br /> | ||
[[File:Calc-hexa.jpg|200px|]] | [[File:Calc-hexa.jpg|200px|]] | ||
==Video RAM error== | ==Video RAM error== | ||
*Address between $0000 and $7FFF: Check [[CXK58257]] [[VRAM]] chips next to [[GPU]]s (see [[RAM_chip]]). | *Address between $0000 and $7FFF: Check [[CXK58257]] 32k [[VRAM]] chips next to [[GPU]]s (see [[RAM_chip]]). | ||
*Address between $8000 and $86FF: Check [[CXK5814]] VRAM chips (see [[RAM_chip]]). | *Address between $8000 and $86FF: Check [[CXK5814]] 2k VRAM chips (see [[RAM_chip]]). | ||
* | *High byte read is different: check the RAM chip with the highest number. | ||
* | *Low byte read is different: check the RAM chip with the lowest number. | ||
*Read byte stuck to $FF (bad /OE ?), only a few bits different (traces cut ?), random address (floating /OE, /CE ?) | *Read byte stuck to $FF (bad /OE ?), only a few bits different (traces cut ?), random address (floating /OE, /CE ?) | ||
Line 57: | Line 57: | ||
*Z80 <-> SM1 | *Z80 <-> SM1 | ||
*Z80 <-> RAM | *Z80 <-> RAM | ||
*Z80 <-> NEO-B0 (Z80 SD0-SD7) | |||
*Z80 <-> NEO-257 (Z80 SD0-SD7) / if output of mux of a multi slot is shorted | |||
Second generation specific (todo: get pin numbers in a nice table) | Second generation specific (todo: get pin numbers in a nice table) | ||
*Z80 <-> NEO-D0 (NMI,A2-A4,IORQ) 1st generation also. | *Z80 <-> NEO-D0 (NMI,A2-A4,IORQ) 1st generation is also concerned. | ||
*Z80 <-> NEO-C1 (Z80 | *Z80 <-> NEO-C1 (Z80 SD0-SD7) | ||
*NEO-D0 <-> NEO-C1 (Z80R,Z80W,Z80CLR,SDW) | *NEO-D0 <-> NEO-C1 (Z80R,Z80W,Z80CLR,SDW) | ||
==Cross-Hatch on Mv4 (Battery Damage)== | |||
Here : | |||
https://github.com/jwestfall69/neogeo-diag-bios/blob/master/docs/repairs/mv4_067063.md | |||
[[Category:Repairs]] | [[Category:Repairs]] |
Latest revision as of 18:24, 20 May 2024
Damaged chips
Smoke and other visible clues
Visual inspection can reveal physically damaged chips. Burnt, deformed or cracked chips are definitely dead.
On NeoGeo systems, burnt chips are often a sign that the 5V rail went way higher than 5V, probably because of a cab or supergun power supply failure, 12V short, or a reverse connection of the JAMMA connector. Several chips are usually killed in that case, but all may not show visible damage.
Some chips may have survived on the board. May have.
Internal damage
Internal chip damage is more common, and can't be detected visually. Voltage spikes or shorts may cause microscopic, irreversible damage, resulting in floating or "stuck" pins.
That's why some pins of multi-purpose SNK chips like NEO-I0 may still function, but others may be dead. Some custom chips can be saved if they're mostly functioning: the dead pins can be cut off and replaced with discrete logic chips with a bit of courage.
RAM having unexplainable behavior are certainly internally damaged and need to be replaced. Multiple RAM chips may have been killed by a "long" voltage spike. RAM chips also tend to die one after the other on cabs which have their PSU's voltage set too high or drifting up with time.
MVS
Backup/Work/Video RAM error
Typical message looks like: Backup RAM error: Address 00D00000; Written 5555; Read 0000.
The last part is the most useful: Written XXXX Read YYZZ
The YYZZ represent upper and lower bytes - each one handled by a different SRAM IC: YY is upper RAM, ZZ is lower RAM.
The value can help you to know which line/trace causes a problem.
For example, writing AAAA and reading AAA2 means the 4th data line of lower RAM causes a problem.
Video RAM error
- Address between $0000 and $7FFF: Check CXK58257 32k VRAM chips next to GPUs (see RAM_chip).
- Address between $8000 and $86FF: Check CXK5814 2k VRAM chips (see RAM_chip).
- High byte read is different: check the RAM chip with the highest number.
- Low byte read is different: check the RAM chip with the lowest number.
- Read byte stuck to $FF (bad /OE ?), only a few bits different (traces cut ?), random address (floating /OE, /CE ?)
No fix layer
- Signal 1MB doesn't reach NEO-B1.
- Signal PCK2B doesn't reach the cartridge slot.
No sound
- Backup RAM corrupt, SOUND_STOP ($D00046) is non-zero. Clear backup RAM.
- YM2610 has no clock, bad control signals (/CS mainly), or dead.
- YM3016 has cut traces to YM2610, or dead.
- Low sound level: broken sliders/pots, bad caps.
- Power amp is fried.
- Unplugged or faulty NEO-CDD board.
- Dead op-amps.
Z80 error
Can be caused by bad components / continuity with the following:
- Z80 <-> SM1
- Z80 <-> RAM
- Z80 <-> NEO-B0 (Z80 SD0-SD7)
- Z80 <-> NEO-257 (Z80 SD0-SD7) / if output of mux of a multi slot is shorted
Second generation specific (todo: get pin numbers in a nice table)
- Z80 <-> NEO-D0 (NMI,A2-A4,IORQ) 1st generation is also concerned.
- Z80 <-> NEO-C1 (Z80 SD0-SD7)
- NEO-D0 <-> NEO-C1 (Z80R,Z80W,Z80CLR,SDW)
Cross-Hatch on Mv4 (Battery Damage)
Here : https://github.com/jwestfall69/neogeo-diag-bios/blob/master/docs/repairs/mv4_067063.md