What's new

makedome

Student
Joined
May 26, 2022
Messages
32
Reaction score
5
Location
Italy
Hello, I'm looking into this jamma board. Once upon a time it was starting but with no figures sprites but now it's giving error on ic33. A strange error actually:

IC33 fail 5CXXX IC33 PASS XXXXX
IC26 PASS XXXX IC14 PASS XXXXX

Since the game EPROM are 4: IC33,IC34,IC26 AND IC14 I'm suspecting there is an error on one IC33 that should be IC34. So in the end don't know which EPROM is failing. Checked all with downloaded ROMs and they match. So I'm suspecting on some other IC which is failing. Any hint? Also schematic would be appreciated. Have also the logic probe but no success for now.
Thanks
 
Check the ram that’s connected to that rom, and any addressing logic in the area (if any, they probably are marked 74xx series). Having a log probe should make it easy to find any stuck or floating data/address lines.

https://github.com/mamedev/mame/blob/master/src/mame/technos/shadfrce.cpp

I don’t have a pcb in front of me but it looks like it could be the 62256 pair below it.
 
Last edited:
hello Ekorz.
some board pictures and the error. And the rams that should be connected to those.
With eprom a12 inserted I checked them and there are no floating signals. The top one is connected to the first 2 eprom from the top (a13 and a15) and the bottom one to the last eproms (a14 = IC33 and a12 = IC34). Anyway the idea is to desolder, socket and swap them in order to see if the checksum error moves to the other eprom ic34. In that case the issue is the ram. Otherwise I checked the other lsxx on the left and found some floating signals so I should desolder and test them with the ic tester. If you have some hint on how to identify the possible failing ones I would appreciate a lot.
Thanks

p.s.: also an advice on how to desolder fast the ics would be needed. At the moment I'm using a hot gun attaching a weigh to the ic and letting it fall on the table when the lead melts. But playing attention not to damage the pcb
 

Attachments

  • WhatsApp Image 2023-01-10 at 10.49.27.jpeg
    WhatsApp Image 2023-01-10 at 10.49.27.jpeg
    291 KB · Views: 60
  • WhatsApp Image 2023-01-10 at 10.47.04.jpeg
    WhatsApp Image 2023-01-10 at 10.47.04.jpeg
    191.4 KB · Views: 63
  • WhatsApp Image 2023-01-10 at 11.08.30.jpeg
    WhatsApp Image 2023-01-10 at 11.08.30.jpeg
    161.9 KB · Views: 62
It looks like test mode is checking the work ram. If ic33 is reading as bad, and the chip checks fine with mame, how is the socket doing? Maybe worth checking it and all its connections. Especially before surgery.

https://files.hiddenpalace.org/thumb/1/10/M27C2001_pinout.png/306px-M27C2001_pinout.png

As for a heat gun… that’s risky in my opinion. if it comes to it and you don’t have a desoldering gun (hakko FR-301) I would really send it to someone who has one. Last resort would be to cut the chip out with flush cutters and use a soldering iron and tweezers on each remaining pin. Then you’d need to clear the holes with some suction tool, one at a time. Oh and buy new ram. But the test does seem to test the ram so I don’t think that’s needed.
 
You made mi notice that ram chips are tested ok.
I already checked with the multimeter the socket and all the tracks. I'll double check it. Should I desolder it and replace it with a new one? Maybe checking if the underneat track are ok.
At the moment I have a manual suction tool but for a desoldering gun I can buy one. May be cheaper than hakko. :)
About the eprom it's ok compared with the rom but I'll recheck the entire set, at least the socketed ones.
And if all those will be ok will start verifying the ttls around the rams.
Thanks for now.
keep you posted
 
I’d only replace the socket if I could find a fault there. Measure twice, cut once, right? It should be easy enough to see where each trace goes with a multimeter and by eye, especially since they’re socketed.

The program roms probably share address and data lines, so make sure they’re all connected. Then some logic somewhere is controlling the enablement lines, make sure those are at least toggling with the probe.
 
hello, checked the enablement lines on the roms and they are toggling correctly as it seams, at least until the error is found. The strange thing is that after flashing the previous error roms (ic 33, 34) the error is now switched to the other 2 roms (14, 26). So I'm thinking that something is messed with the rom files. So my question is if I can identify the version of the game by the pcb or reading the other roms content and download the correct rom set. At the moment I'm using this 2 links:
https://wowroms.com/en/roms/mame/shadow-force/106365.html
https://wowroms.com/en/roms/mame-0.139u1/shadow-force-us-version-2/7142.html
the titles are shadow force and shadow force (us version 2)
It looks to me that the right version is us version 2 because it's the only one that has the bin 32A15 which is labeled one rom chip that I have on the board.
I am thinking to desolder and check the non socketed sprites rom to verify which is the right version. Open to other advices.
Thanks

p.s.: found also a bad electrolitic capacitor next to the audio amplifier that was sending some peaks randomly and substituted it
 
The sprites are identical between versions, there is no reason to desolder any sprite roms. Look at the CRC checksums in mame.

Code:
ROM_START( shadfrce )
...
ROM_REGION( 0xa00000, "sprites", 0 )
ROM_LOAD( "32j4-0.12",  0x000000, 0x200000, CRC(1ebea5b6) SHA1(35bd49dda9ad75326d45ffb10c87d83fc4f1b7a8) )
ROM_LOAD( "32j5-0.13",  0x200000, 0x200000, CRC(600026b5) SHA1(5641246300d7e20dcff1eae004647faaee6cd1c6) )
ROM_LOAD( "32j6-0.24",  0x400000, 0x200000, CRC(6cde8ebe) SHA1(750933798235951fe24b2e667c33f692612c0aa0) )
ROM_LOAD( "32j7-0.25",  0x600000, 0x200000, CRC(bcb37922) SHA1(f3eee73c8b9f4873a7f1cc42e334e7502eaee3c8) )
ROM_LOAD( "32j8-0.32",  0x800000, 0x200000, CRC(201bebf6) SHA1(c89d2895ea5b19daea1f88542419f4e10f437c73) )


ROM_START( shadfrceu )
...
ROM_REGION( 0xa00000, "sprites", 0 )
ROM_LOAD( "32j4-0.12",  0x000000, 0x200000, CRC(1ebea5b6) SHA1(35bd49dda9ad75326d45ffb10c87d83fc4f1b7a8) )
ROM_LOAD( "32j5-0.13",  0x200000, 0x200000, CRC(600026b5) SHA1(5641246300d7e20dcff1eae004647faaee6cd1c6) )
ROM_LOAD( "32j6-0.24",  0x400000, 0x200000, CRC(6cde8ebe) SHA1(750933798235951fe24b2e667c33f692612c0aa0) )
ROM_LOAD( "32j7-0.25",  0x600000, 0x200000, CRC(bcb37922) SHA1(f3eee73c8b9f4873a7f1cc42e334e7502eaee3c8) )
ROM_LOAD( "32j8-0.32",  0x800000, 0x200000, CRC(201bebf6) SHA1(c89d2895ea5b19daea1f88542419f4e10f437c73) )
    
ROM_START( shadfrcej )
...
ROM_REGION( 0xa00000, "sprites", 0 )
ROM_LOAD( "32j4-0.12",  0x000000, 0x200000, CRC(1ebea5b6) SHA1(35bd49dda9ad75326d45ffb10c87d83fc4f1b7a8) )
ROM_LOAD( "32j5-0.13",  0x200000, 0x200000, CRC(600026b5) SHA1(5641246300d7e20dcff1eae004647faaee6cd1c6) )
ROM_LOAD( "32j6-0.24",  0x400000, 0x200000, CRC(6cde8ebe) SHA1(750933798235951fe24b2e667c33f692612c0aa0) )
ROM_LOAD( "32j7-0.25",  0x600000, 0x200000, CRC(bcb37922) SHA1(f3eee73c8b9f4873a7f1cc42e334e7502eaee3c8) )
ROM_LOAD( "32j8-0.32",  0x800000, 0x200000, CRC(201bebf6) SHA1(c89d2895ea5b19daea1f88542419f4e10f437c73) )

The game version is determined by the main program roms (the socketed ones) and the chars chip. You can write whichever region you want to that pcb, but yes they should match. If you wrote 33 and 34 from one set, you need to verify that 14 and 26 are from the same set. You can read 14 and 26 to see which version you're running, just compare the resulting CRC to what is in the mame driver linked above.

Also why bother with some random wowroms site when you can get the correct files from the latest mame set?
 
Hello Ekorz, I finally found a working romset taking the latest name version but from another site than name. Because I don't get how to get the ROM from the mameset and also where to get the mameset itself. Please be patient to me... Anyway once the first test went ok there was an issue with the objects: game was restarting after the initial ROM test and the starting screen saying shadow force version 2. So I enabled the test mode via the da 1/8 and when testing objects it went in error. So now I should desolder the sprites rom and check them one by one. But it's a way good progress! Besides also the sound is broken on testing so also there is something to check. I'll keep you posted. Thanks
 
What did the error say?

It is extremely uncommon for faulty sprite roms to cause a reboot. Booting shadfrce in mame I can cause a crash in object test mode so I don't think that's a problem. I am reading that 'version 2' is the romset shadfrceu, so I would suggest checking the chars chip 32a11-0.55. It loks like it's marked "IC55" on your pcb silkscreen. That is unique to that romset. Hopefully it's socketed, it looks like it is. Otherwise you could try one of the other rom sets shadfrce or shadfrcej.

Do you have a multimeter? Can you check the voltage on your 5v rail by turning the multimeter to DC and probing pins 1 and 4 on the jamma edge, while the pcb is on?
 
Last edited:
Looking a little more closely I think one of your program rom chips reads 32a13-02, which is not in MAME so probably not dumped. If you have that chip still, it's worth dumping and saving the binary, as it might be a new revision.
 
Hello, about voltage actually it was a little high: 5,3 v so I lowered it to 5,01. Measured both on jamma socket and on a IC on the board.

About the chips I dumped them in order to have a backup. I.m going to check them against the current version.

About the audio I'm going to desolder 32j9 for checking it. At the moment the speaker is producing a continuous ticking which increases or decreases if I raise or low the volume from potentiometer.

Another thing is trj-001 custom component were teared away because one was burned thus some inputs were not working. I'm melting the black epoxy resin in order to restore the broken one( there is a missing transistor) Can those missing component cause the fault even when testing objects? I think not.
And in the end I desoldered( bough a new desolder gun) 32j1,2 and 3 and they all fail agaist my current rom at 100000 address. Is there some option to activate for reading those? They should be c160 type. I already read 32j4 and it was matching with ROM. So it seams that there are corrupted. Thank
 

Attachments

  • Screenshot_20230120_204106_com.huawei.himovie.overseas.jpg
    Screenshot_20230120_204106_com.huawei.himovie.overseas.jpg
    69.1 KB · Views: 44
  • Screenshot_20230120_204106_com.huawei.himovie.overseas.jpg
    Screenshot_20230120_204106_com.huawei.himovie.overseas.jpg
    69.1 KB · Views: 44
  • IMG_20230120_202605.jpg
    IMG_20230120_202605.jpg
    75.4 KB · Views: 45
32j1,2 and 3 and they all fail agaist my current rom at 100000 address. Is there some option to activate for reading those? They should be c160 type

The answer is always in MAME: https://github.com/mamedev/mame/blob/master/src/mame/technos/shadfrce.cpp

Code:
Backgrounds:
32J1-0.4 = 8meg mask
32J2-0.5 = 8meg mask
32J3-0.6 = 8meg mask

also

Code:
ROM_REGION( 0x300000, "tiles", 0 )
    ROM_LOAD( "32j1-0.4",  0x000000, 0x100000, CRC...)
    ROM_LOAD( "32j2-0.5",  0x100000, 0x100000, CRC...)
    ROM_LOAD( "32j3-0.6",  0x200000, 0x100000, CRC...)

Looking at your filesize on disk, you'll see it's 1024KB/1megabyte, or if you like bits instead of bytes, it's 8megabits. It's still a 42pin and vcc/gnd are in the same places as 27c160, so the equivalent is 27c800. It's failing at 100000 because that's actually just the end of the chip's memory (1mbyte). Above you'll see MAME records the size as 0x100000 for each. (it reads 'chip name, memory offset, size')

You need to compare the number of pins, the size, and sometimes the specific pinout, but this is a good reference I always keep bookmarked: https://www.arcade-projects.com/thr...iots-guide-to-eprom-burning.7019/#post-108280
 
As you suggested me I compared j1,j2 and j3 as 27c800 and the match. I also rececked 32A13 and 11 and they are fine.
J9 samples is also ok as j10 for sound.
So as for sound issue can be some circuit like amplifier causing that continuous ticking?
 
After resoldering j1, j2 j3 and j9 I got the game starting but missing characters sprites. Also the game starts but the characters are not shown. Sound still missing. But I have a question about la4460n amplifier IC: is the metal dissipator to be isolated by the circuit with the gray thermal pad or not?
 

Attachments

  • Compress_20230121_190129_9433.jpg
    Compress_20230121_190129_9433.jpg
    154.7 KB · Views: 39
  • Compress_20230121_190128_8453.jpg
    Compress_20230121_190128_8453.jpg
    134.1 KB · Views: 43
The game is effectively not reading anything from the sprite bank

Code:
ROM_REGION( 0xa00000, "sprites", 0 )
    ROM_LOAD( "32j4-0.12",  0x000000, 0x200000, CRC(1ebea5b6) SHA1(35bd49dda9ad75326d45ffb10c87d83fc4f1b7a8) )
    ROM_LOAD( "32j5-0.13",  0x200000, 0x200000, CRC(600026b5) SHA1(5641246300d7e20dcff1eae004647faaee6cd1c6) )
    ROM_LOAD( "32j6-0.24",  0x400000, 0x200000, CRC(6cde8ebe) SHA1(750933798235951fe24b2e667c33f692612c0aa0) )
    ROM_LOAD( "32j7-0.25",  0x600000, 0x200000, CRC(bcb37922) SHA1(f3eee73c8b9f4873a7f1cc42e334e7502eaee3c8) )
    ROM_LOAD( "32j8-0.32",  0x800000, 0x200000, CRC(201bebf6) SHA1(c89d2895ea5b19daea1f88542419f4e10f437c73) )

As for why, it could be a lot of things. But you can probe these enable lines and see if maybe that's not working, and trace back from there.

Audio could also be a number of things, is there no sound anywhere? no sfx? no music? if you coin up and play a bit? There are Z80, YM2151, YM3012, OKI6295, MB3615 (x2) and LA4460 as an amp. I'm not sure what you mean with your question, but the LA4460 amp is sticking up vertically as an attempt to cool it down, since there is no heat-sink attached to it (someone probably removed it). You could orient it any way you want.
 
Ok for the sprites rom i Just verified j4 and matches the ROM bin. I'll check the enabling lines before resoldering and testing the others.
As for sound all that I can hear is a background noise and as I raise the volume up via the potentiometer a kind of a ritmic noise starts and it increases in speed as I raise the volume up. I can see the speaker cone that is moving back and forth. Maybe if I could send you a video it will explain the situation. For the la4460 I mounted the dissipator L profile as it was before but since the IC has a metallic part in the back I was asking if it had to be isolated from ground where the dissipator is connected.
 
When I remove a chip, I solder in a socket instead. If you already pulled the chips, install some sockets! Just in case a chip is bad (or goes bad) it saves you from future desoldering. I prefer dual-wipe, not machine pin.
 
As for sprites ROMs i checked the enabling line(pin 11) and it goes to ground via a dip switch that, according to the manual, should not be touched. In fact I tried to disable it and the screen got messy. Many pins of the chips are stuck so I'm going to check those.
As for sound circuit I think the amplifier is ok because touching it I can hear noises. So the issue should be on the ics around that you indicated me. Checked already the electrolytic capacitors. And I remember I substituted one of the four transistors that should be involved in the audio. In the end there is the technos custom component that is connected to the inputs: I removed the black epoxy and revealed the missing transistor that should be a pnp marked w6.im still searching for a replacement. Any hint?
 

Attachments

  • Screenshot_20230122_144146.jpg
    Screenshot_20230122_144146.jpg
    81.2 KB · Views: 45
  • IMG_20230122_145239.jpg
    IMG_20230122_145239.jpg
    73.3 KB · Views: 46
Back
Top