DarrenF
Well-known member
Recently three true classics by Atari have crossed my workbench:
ASTEROIDS
Condition: Plays fine, but explosion sounds are just beeps
Analysis: Schematic review reveals that explostions are created by a simple circuit; a noise generator which consist primarily of a pair of shift registers. The problem isn't triggering, because the sounds ARE being triggered... they're just beeps (pure tones) instead of explosions.
Diagnosis: Logic probing showed that the second in the cascading shift registers wasn't working.
Repair: replaced bad LS164 @ P9
LUNAR LANDER
Condition: DOA. Closer inspection (with scope) showed it was resetting repeatedly, with no apparently output (audio or video). Disabling watchdog caused it to hang.
Initial Investigation: Scope showed that the clock is fine, and the CPU is nominally working. I pulled the EPROMs, read & ID'd the data (all OK), and also replaced the bipolar PROMs on the board with EPROMs. Now I got a 2-beep error code, indicating a bad RAM.
Repair 1: Replaced 2111A RAM @ E2. Now get all good beeps in test mode, and some vectors. However, instead of text, all I saw was some vertical lines.
More investigation: The vertical lines pointed to a problem in the X counter section. A little probing found an inverter gate which wasn't inverting. This was causing the counters to never get clocked (which explained why the vector generator could LOAD a position into the counters, but it wouldn't move after that).
Repair 2: Replaced 7404 @ H10. Now I got good text in test mode. It is reporting bad ROMs "8 9 10 11 20 21 22 23" (or something similar, I forget exactly). The 8 9 10 11 is normal (no foreign language ROM installed), but the others indicate a real problem.
More problems: At this point, I began having some intermittent issues... different ROM errors, occational RAM errors, etc., so I...
Repair 3: I replaced all of the EPROM sockets and the CPU socket. Now test mode reports normally, and game mode works as well.
MISSILE COMMAND:
Condition: Dead. In game mode: solid green screen, flashing constantly (due to resetting). In test mode: rumbling, long low beep, short high beep, reset, repeat. WD disable causes game mode to reset less often, but has no effect on test mode.
Futile attempts: Pulled & verified EPROMs (all OK). Repaced EPROM sockets (no change). Swapped out CPU & POKEY (no change). Piggy-backed RAMs (no change). Found very hot glass capacitor & replaced (no change).
Analysis: By following the test-mode code in MAME, I was able to understand just what's
going on during the boot process. I was able to trace the progress thru the "rumble" sounds (just a delay loop waiting for VBLANKs), the long low beep (the RAM testing, which was all good... you get a series of beeps if an error is found), then the high beep. I noticed that ALL of the code up to this point was in two ROMs (N/P1 & R1), but shorly after that, it jumps into some code in another ROM. Looking at the schematics, I saw that there are actually two different data paths for different groups of ROMs: N/P1 & R1 thru the LS244 @ N/P3, and the rest use the LS244 @ B/C1. Eureka!
Long story short: I found two bad LS244s. One @ B/C1 and another @ E2. Board fixed.
ASTEROIDS
Condition: Plays fine, but explosion sounds are just beeps
Analysis: Schematic review reveals that explostions are created by a simple circuit; a noise generator which consist primarily of a pair of shift registers. The problem isn't triggering, because the sounds ARE being triggered... they're just beeps (pure tones) instead of explosions.
Diagnosis: Logic probing showed that the second in the cascading shift registers wasn't working.
Repair: replaced bad LS164 @ P9
LUNAR LANDER
Condition: DOA. Closer inspection (with scope) showed it was resetting repeatedly, with no apparently output (audio or video). Disabling watchdog caused it to hang.
Initial Investigation: Scope showed that the clock is fine, and the CPU is nominally working. I pulled the EPROMs, read & ID'd the data (all OK), and also replaced the bipolar PROMs on the board with EPROMs. Now I got a 2-beep error code, indicating a bad RAM.
Repair 1: Replaced 2111A RAM @ E2. Now get all good beeps in test mode, and some vectors. However, instead of text, all I saw was some vertical lines.
More investigation: The vertical lines pointed to a problem in the X counter section. A little probing found an inverter gate which wasn't inverting. This was causing the counters to never get clocked (which explained why the vector generator could LOAD a position into the counters, but it wouldn't move after that).
Repair 2: Replaced 7404 @ H10. Now I got good text in test mode. It is reporting bad ROMs "8 9 10 11 20 21 22 23" (or something similar, I forget exactly). The 8 9 10 11 is normal (no foreign language ROM installed), but the others indicate a real problem.
More problems: At this point, I began having some intermittent issues... different ROM errors, occational RAM errors, etc., so I...
Repair 3: I replaced all of the EPROM sockets and the CPU socket. Now test mode reports normally, and game mode works as well.
MISSILE COMMAND:
Condition: Dead. In game mode: solid green screen, flashing constantly (due to resetting). In test mode: rumbling, long low beep, short high beep, reset, repeat. WD disable causes game mode to reset less often, but has no effect on test mode.
Futile attempts: Pulled & verified EPROMs (all OK). Repaced EPROM sockets (no change). Swapped out CPU & POKEY (no change). Piggy-backed RAMs (no change). Found very hot glass capacitor & replaced (no change).
Analysis: By following the test-mode code in MAME, I was able to understand just what's
going on during the boot process. I was able to trace the progress thru the "rumble" sounds (just a delay loop waiting for VBLANKs), the long low beep (the RAM testing, which was all good... you get a series of beeps if an error is found), then the high beep. I noticed that ALL of the code up to this point was in two ROMs (N/P1 & R1), but shorly after that, it jumps into some code in another ROM. Looking at the schematics, I saw that there are actually two different data paths for different groups of ROMs: N/P1 & R1 thru the LS244 @ N/P3, and the rest use the LS244 @ B/C1. Eureka!
Long story short: I found two bad LS244s. One @ B/C1 and another @ E2. Board fixed.



