Topic: Indiana Jones & The Temple Of Doom Repair Log  (Read 4535 times)

Author Message

0 Members and 1 Guest are viewing this topic.

Offline Womble

  • Amiga 4000
  • ******
  • Posts: 1190
  • Kudos 33
  • Gender: Male
    • View Profile
    • Aussie Arcade
Indiana Jones & The Temple Of Doom Repair Log
« on: January 08, 2012, 10:15:45 AM »
Snapped up a Indiana Jones & Temple of Doom PCB set recently, its one of the few PCBs left on my wishlist and has been there for a good few years.

Was sold as faulty with a couple of issues, originally it had been booting fine but crashing when it progressed from the title screen to the game demo, and was also crashing on coin up. The final fault occurred after the previous owner had reseated all the socketed chips, now it would not boot at all and just gave the message "Bank Switch Error"

Reading around about the Atari System 1 architecture the most likely candidate turned out to be the Slapstic chip.

This is the security chip for the Atari System 1 PCBs and the security on the system 1 games is achieved by a complicated bank switching process which connects and disconnects lumps of ROM data to the CPU. If this turned out to be missing or fried then the board was not going to be a fixer. Each Atari System 1 game had a different slapstic and even Atari managed to lose the masks for these years ago so the only place I could get one was from another Indy board.

Thankfully Atari put a tonne of sockets on their boards so the slapstic was easily pulled...

... and the problem was obvious.

Once the wayward pin was straighted out with some flat bladed pliers and reinstalled she booted right up.

The splash screen was a bit of a mess but the game did run and was actually playable. No sign of the crashes reported by the seller.

The seller had said he thought he put a ROM back in the wrong socket on the back board and that turned out to be all that was wrong. the chip 136036-145 was in the wrong socket... should be one to the left, next to the 136036-146 ROM.

This was a bit of a guess on my behalf but it made more sense as 8bit ROMs often work as a pair on 16 bit system, so I took the punt and moved it.

Once it was back in its correct location the splash screen was healthy again.

That seemed to be it, the game was playable and stable, for a couple of days anyway. At which point the original fault described by the seller returned. The game would report "Rom at 030000 error   L" at boot, but would progress to the splash screen.

At the point that attract mode should run the demo, the board would crash, give the same message and restart.

Pulling up the MAME driver file "atarisys1.c" and based on the combination of ROM labels I worked out that this board was running the "indytempc" version of the game. As the game was crashing rather than giving corrupt gfx I focused on the maincpu section of the address space.

Code: [Select]
ROM_START( indytempc ) /* Dedicated boardset marked 'ATARI SYSTEM I LSI CARTRIDGE COCKTAIL A043310' */
 1358      ROM_REGION( 0x88000, "maincpu", 0 ) /* 8.5*64k for 68000 code & slapstic ROM */
 1359      ROM_LOAD16_BYTE( "136032.116",   0x00000, 0x04000, CRC(195c54ad) SHA1(d7cda3cd3db4c6f77074ca05e96ae11b62e048b7) )
 1360      ROM_LOAD16_BYTE( "136032.117",   0x00001, 0x04000, CRC(9af9fe29) SHA1(1d5077662e4111ece9f8a5124394dad8b1abdc13) )
 1361      ROM_LOAD16_BYTE( "136032.632",   0x10000, 0x08000, CRC(d3e1a611) SHA1(edbced6dd64ca44a59aff6a4acca0b3ddb233810) )
 1362      ROM_LOAD16_BYTE( "136032.631",   0x10001, 0x08000, CRC(9ac96ba8) SHA1(d80adabb4198461b5976577bdd8cc4e650de1c8e) )
 1363      ROM_LOAD16_BYTE( "136036.534",   0x20000, 0x08000, CRC(eae396be) SHA1(6d7a82a2fd43b91c6c1e2c07d33c81487b845bba) )
 1364      ROM_LOAD16_BYTE( "136036.533",   0x20001, 0x08000, CRC(06c66335) SHA1(848cd7d8c2d8da4d07ddc908676155e154ae764a) )
 1365      ROM_LOAD16_BYTE( "136036.568",   0x30000, 0x08000, CRC(2bbc16ed) SHA1(f20a07632679641f007caa44feb52272f8a2936d) ) <-----
 1366      ROM_LOAD16_BYTE( "136036.569",   0x30001, 0x08000, CRC(39270ade) SHA1(9d2d029eacfe4565972ed40a9f96970f42875608) ) <-----
 1367      ROM_LOAD16_BYTE( "136036.358",   0x80000, 0x04000, CRC(d9351106) SHA1(6a11cef7f93701d5bc08e0ce413999322a011d69) )
 1368      ROM_LOAD16_BYTE( "136036.359",   0x80001, 0x04000, CRC(e731caea) SHA1(71c1445804b5696078a49855852420e4046d77bb) )

The ROMs 136036.568 and 136036.569 are the high and low ROMs that are located at the start address of 030000 on this board.

So I took them off the board to read them, the data dumps came back fine and once they were put back in their sockets the board booted and ran without the fault. Until I touched that area of the board again, at which point it crashed, gave the old error message and rebooted.

There was no sign of any dry joints, track damage or other abuse so the only thing left was a bad connection between the chip and the socket. The legs were dulled with oxide, but no more than any others, but I polished them back to a shine, used my chip pin reforming tool to straighten the chips and put them back in their sockets.

The board has been rock solid ever since, case closed!

Sic Transit Gloria Atari

Offline stiggy2009

  • Amiga 4000
  • ******
  • Posts: 1751
  • Kudos 25
  • Gender: Male
  • I eat RetroBrite and Cornflakes for breakfast.
    • View Profile
Re: Indiana Jones & The Temple Of Doom Repair Log
« Reply #1 on: January 09, 2012, 08:01:13 AM »
Another great read Womble, you should concider pasting these together into maybe a .pdf, .mobi, epub format, bung in a few arcade flyer/cabinet pictures and you've got one cracking read.

Always loved those old Atari games that had those distinctive, slightly muffled atari speech samples, take me back they do, especially Gauntlet samples.

Offline muguk

  • Sarcastic Git plc!
  • Administrator
  • Amiga 4000
  • ******
  • Posts: 3507
  • Kudos 32
  • Gender: Male
  • Mug U.K(tm)
    • View Profile
    • Mike's Word Toolbox
Re: Indiana Jones & The Temple Of Doom Repair Log
« Reply #2 on: January 09, 2012, 05:02:40 PM »
I second that - even if I only understand 1-2% of what's written :)