Terra Cresta PCB - No graphics, only text

diesel64

New member
Joined
Aug 1, 2009
Messages
11
Reaction score
0
Location
Limburg, Belgium
Hello everyone


I'm relatively new to the hobby of PCB repairing and I am struggling with a Terra Cresta PCB.

When I test it, I only get static text and images on the screen, no actual gameplay graphics.

dsc0658v.jpg


dsc0659g.jpg



I do think the game runs fine actually. I checked my power supply, it's good. DIP switches are working. The PCB hasn't got any visible damage.

Anyone has an idea where I should start debugging this problem? Like I said, I'm very new to this hobby and any help is really really appreciated. Thanks! :)
 
Problem is most likely with the sprite generation circuity. Arcade game graphics are broken up onto 2 sections: characters and sprites. Each section usually has it's own circuitry that generates them including separate ROMs, etc.

Take a look at the schematics... see if you can identify where the sprite section is and start from there.
 
Problem is most likely with the sprite generation circuity. Arcade game graphics are broken up onto 2 sections: characters and sprites. Each section usually has it's own circuitry that generates them including separate ROMs, etc.

Take a look at the schematics... see if you can identify where the sprite section is and start from there.

Thanks for your comment!

Problem is that I don't have any schematics or I can't find any online. :(
 
OK, I think I managed to figure out what ROMs contain the sprites.

I looked a bit at the source code of the MAME driver for Terra Cresta ( see http://mamedev.org/source/src/mame/drivers/terracre.c.html ). This is a part of the section about loading the ROMs:

Code:
ROM_REGION( 0x02000, "gfx1", 0 )
  681      ROM_LOAD( "2a_16b.rom",   0x00000, 0x2000, CRC(591a3804) SHA1(e1b46f5652e7f9677d75f01c6132975ace4facdd) ) /* tiles */
  682  
  683      ROM_REGION( 0x10000, "gfx2", 0 )
  684      ROM_LOAD( "1a_15f.rom",   0x00000, 0x8000, CRC(984a597f) SHA1(1f33892f160691c44872b37f0f6cb1493c9f7fb1) ) /* Background */
  685      ROM_LOAD( "1a_17f.rom",   0x08000, 0x8000, CRC(30e297ff) SHA1(9843826ae63039d6693c8a0b30af721d70f40056) )
  686  
  687      ROM_REGION( 0x10000, "gfx3", 0 )
  688      ROM_LOAD( "2a_6e.rom",    0x00000, 0x4000, CRC(bcf7740b) SHA1(8701862c35eb8fb1ec239253136a3858ebea4d0c) ) /* Sprites */
  689      ROM_LOAD( "2a_7e.rom",    0x04000, 0x4000, CRC(a70b565c) SHA1(153e5f5a9927c294660dd0d636a9f651d4984d6d) )
  690      ROM_LOAD( "2a_6g.rom",    0x08000, 0x4000, CRC(4a9ec3e6) SHA1(0a35b82fb49ecf7edafd02744a48490e744c0a00) )
  691      ROM_LOAD( "2a_7g.rom",    0x0c000, 0x4000, CRC(450749fc) SHA1(376ab98ab8db56ed45f7d97a221dfd52e389cb5a) )
  692  
  693      ROM_REGION( 0x0400, "proms", 0 )
  694      ROM_LOAD( "tc1a_10f.bin", 0x0000, 0x0100, CRC(ce07c544) SHA1(c3691cb420c88f1887a55e3035b5d017decbc17a) )    /* red component */
  695      ROM_LOAD( "tc1a_11f.bin", 0x0100, 0x0100, CRC(566d323a) SHA1(fe83585a0d9c7f942a5e54620b627a5a17a0fcf4) )    /* green component */
  696      ROM_LOAD( "tc1a_12f.bin", 0x0200, 0x0100, CRC(7ea63946) SHA1(d7b89694a80736c7605b5c83d25d8b706f4504ab) )    /* blue component */
  697      ROM_LOAD( "tc2a_2g.bin",  0x0300, 0x0100, CRC(08609bad) SHA1(e5daee3c3fea6620e3c2b91becd93bc4d3cdf011) )    /* sprite lookup table */
  698  
  699      ROM_REGION( 0x0100, "user1", 0 )
  700      ROM_LOAD( "tc2a_4e.bin",  0x0000, 0x0100, CRC(2c43991f) SHA1(312112832bee511b0545524295aa9bc2e756db0f) )    /* sprite palette bank */

So, according to me, the ROMs at location 6E, 7E, 6G and 7G on the second board contain the sprites. This could actually be right because there are 4 roms on those locations on the board.

I reseated those ROMs, without any effect.

Hmm, maybe I should try to do the same to the "sprite lookup table", "sprite palette bank" and "background" ROMs. What do you think?

Are there any other things I should look out for or should do next?


Thanks!
 
Hmm, I keep replying to my own thread, but I'm doing this because it might help someone figure out a solution or it might help someone in the future having a similar problem.

Terra Cresta basically has 3 collections of graphical ROMs:

  • Tiles (characters and logos): located on 1 EPROM on board 2, location 16B (labeled 18)
  • Background (ground, rocks, structures and the planet image on the title screen): located on 2 EPROMs on board 1, locations 15F and 17F (labeled 9 and 10)
  • Sprites (all moving stuff such as your aircraft, enemies, explosions, the phoenix on the title screen, ...): located on 4 EPROMs on board 2, locations 6E, 7E, 6G and 7G (labeled 14, 15, 16 and 17)

With my PCB, only the Tiles show up. Background and Sprite graphics don't.
 
Use a logic probe and check if the address and data lines are active on the sprite EPROMs, then work backward or forwards from there as required.
 
OK, we've got a new development.

I was just measuring some stuff (checking the input and output pins of some ROMs) when I noticed a smell.

I turned off the power immediately and found out that some chips were running extremely hot. So hot that I burned my finger on one of them.

The ones that were going hot are four 2148 chips (SY2148H), located right next to the Sprites EPROMs. I believe this is the video RAM? Could explain why I'm not getting any sprites displayed...

Also, now there is a short on my board, because there is continuity between the ground and the +5V pin (I have the board completely disconnected from my cabinet now).

What should I do now to debug this problem?
 
And suddenly the short is gone...

I disconnected the 2 boards from each other and tested for continuity between the 5V and the ground on both of them and my multimeter doesn't beep on any. On the first board it gives a reading of about 75 Ohm, on the second of about 120 Ohm.

When I connected the ribbon cables again, the meter gave a reading of 65 Ohm, but no beep.
 
Back
Top Bottom