Capcom mask rom question

TheEnglishTear

Well-known member

Donor 2015-2016
Joined
Sep 3, 2014
Messages
4,385
Reaction score
901
Location
Grand Rapids, Michigan
Hello, I'm trying to track down an issue with my street fighter 1 pcb. There's a graphics glitch on the characters but everything else is sound. Test mode shows all ram is good. The issue definitely is in the middle board because I've swapped it with a good working B board and it works great. I know it's also not the proms so now I suspect it's the mask roms and there are 14 of them unsocketed. My question is, is there any way to test the chips without pulling them and checking the buffer against the chip data? Board and schematic say they are 27c101g chips, but for some reason the two that I have pulled and tested do not pass the buffer/chip match confirmation and certainly aren't found using romident. Am I reading them incorrectly or is there a trick to reading and verifying mask roms? Thanks!
 
Turn off check ID if you are using one of the more modern burners. Some times they read as the chip that can replace them and sometimes not.
 
Thanks for the info. Im using an emp10. I just find it hard to believe that the first 2 I pull were bad? The legs were pretty clean
 
You can look up the part number of the mask rom to see if you can find a data sheet on it (if its not a custom capcom chip) and compare the pin out to the 27c101 (which is believe is the same as a 27C1001) data sheet.

Also with the EMP10 try using the Generic in the device list. I've also had good luck using the intel version of the chip when the actual manufacture isn't listed.
 
So the third chip I read also did not match The buffer. It must be something I'm doing wrong. Here's a pic of the chip and the location it came out of
 

Attachments

  • 523C5D32-F23D-4D52-9121-3CCC38F34DC6.jpeg
    523C5D32-F23D-4D52-9121-3CCC38F34DC6.jpeg
    509.8 KB · Views: 17
  • A8BA63CC-D7BE-46E4-97F9-0E9641BB9F4F.jpeg
    A8BA63CC-D7BE-46E4-97F9-0E9641BB9F4F.jpeg
    1.6 MB · Views: 18
Ah yes, the famous Capcom mask roms... an endless source of confusion...

1 Mbit mask roms only have 28 pins.
.. but programmable 1 Mbit EPROMs, require an extra programming pin ( so 29 pins in total ) ,
so they need a 32-pin chip.

( As you can see on your picture, the outline of the chip has 32-pins,
but only 28 pins are used on the mask rom , leaving 4 unused solder pin pads )

"Normal" 1 Mbit Eproms ( 27c101, 27c1001, 27c010) all follow the JEDEC 32-pin pinout standard,
but MASK ROMs have a slightly different pin-out, so a special "MASK-COMPATIBLE" eprom was created.

A "mask-compatible" eprom is a 32-pin chip with same pin-out as the 28-pin mask rom,
plus 4 extra pins for programming and chip-enable.

The reference "mask-compatible" chip is the Hitachi 27c301 , but other manufacturers used 27c1000 (not 1001).


(1Mbit) mask rom 27c301 EPROM
============== ============
Vpp 1 +-v-+ 32 Vcc
OE/ 2 | | 31 PGM/
A15 1 +-v-+ 28 Vcc A15 3 | | 30 nc
A12 2 | | 27 A14 A12 4 | | 29 A14
A7 3 | | 26 A13 A7 5 | | 28 A13
A6 4 | | 25 A8 A6 6 | | 27 A8
A5 5 | | 24 A9 A5 7 | | 26 A9
A4 6 | | 23 A11 A4 8 | | 25 A11
A3 7 | | 22 A16 A3 9 | | 24 A16
A2 8 | | 21 A10 A2 10 | | 23 A10
A1 9 | | 20 CE/ A1 11 | | 22 CE/
A0 10 | | 19 D7 A0 12 | | 21 D7
D0 11 | | 18 D6 D0 13 | | 20 D6
D1 12 | | 17 D5 D1 14 | | 19 D5
D2 13 | | 16 D4 D2 15 | | 18 D4
GND 14 +---+ 15 D3 GND 16 +---+ 17 D3



So you should select Hitachi 27c301 on your programmer to read the chip.

But wait ..., there's more...

A 27c301 eprom has VCC (+5V) at pin 32 ,
.... but your mask rom only has 28 pins, so it won't get the 5V VCC from the programmer.

So you will need a small jumper wire on your programmer socket, to take the +5V from pin 32,
to VCC on the mask rom (which would be pin 30 on a 32-pin chip, or pin 28 on a 28-pin chip )

Clear as mud ? ;-)

Let me know if you need more info.

Cheers,
Steph
 
Sorry, my "ASCII Art" rom diagram did not translate well to HTML.

Please see the attached picture for the differences between a 28-pin MASK rom,
as 32-pin MASK-COMPATIBLE EProm (...also called NON-JEDEC),
and the standard 32-pin JEDEC Eprom.

Note : These are all 1 Mbit ( 128k x 8 bytes ) chips.

Hope this helps.

Steph
 

Attachments

  • 1Mbit_rom.jpg
    1Mbit_rom.jpg
    49.3 KB · Views: 18
Oh boy! Thanks steph! So I figured something more sinister was going on. Ok so let me see if I follow....if I put the mask rom in the programmer....I run a jumper from vdd on the mask rom to vcc on the programmer? (Two spots up). Sorry if I'm misunderstanding. I really appreciate the help!
 
Ok. One last question before I stick it in the programmer....pin 28, does the leg need to be bent (no contact with programmer) when running the jumper, or do I just stick it in with the jumper without bending the leg?

thanks

Correct .
(... and set the programmer to use Hitachi 27c301 )

Good luck.

Steph
 
.pin 28, does the leg need to be bent (no contact with programmer) when running the jumper, or do I just stick it in with the jumper without bending the leg?

You shouldn't need to bend the pin.
On the 27c301 eprom, that pin is not used (NC= Not Connected).
I'm not sure what the programmer does with that pin, but likely nothing.

If you want to be sure, you can use a multimeter to see if you get a +5V on that pin.

If you get weird results, then perhaps try to remove the pin from the programmer.
... but I would use a socket to do that instead of the actual chip.
( Bending pins on eproms in usually not a great idea... )

Good luck.

Steph
 
I know I'm not addressing the mask rom issue, but the SF1 PCBs are filled with hitachi TTL logic chips that are notorious for going bad so checking those with a logic probe might be a more likely spot to find your issue.

I have a couple SF1s I'm working on now just what I've noticed from browsing repair logs I've never seen a mask rom mentioned as being the source of any issues- it seems like it's always one of the small hitachi chips. Of course I have one that the middle board is my only good pcb in the stack..
 
I know I'm not addressing the mask rom issue, but the SF1 PCBs are filled with hitachi TTL logic chips that are notorious for going bad so checking those with a logic probe might be a more likely spot to find your issue.


I have a couple SF1s I'm working on now just what I've noticed from browsing repair logs I've never seen a mask rom mentioned as being the source of any issues- it seems like it's always one of the small hitachi chips. Of course I have one that the middle board is my only good pcb in the stack..

Thanks for the suggestion aramis. I'm not certain it is the mask roms causing the issue but was taking a stab at it. Only issue is that I don't really like removing them to test in fear I might screw up the traces. How do you go about testing the hitachi ttl? I have a probe but haven't used it that much. And Steph, thanks for the suggestions on the mask roms! Modifying the 5v line did the trick and all 3 mask roms that I did pull checked out with the buffer and with romident! Big thank you
 
And Steph, thanks for the suggestions on the mask roms! Modifying the 5v line did the trick and all 3 mask roms that I did pull checked out with the buffer and with romident! Big thank you


Did it work directly with the jumper or did you have to pull-out the VCC pin from the programmer socket ?

LMK,
Steph
 
I just put it in the programmer with the socket leg bent...didn't try it the other way. I can when I get home and let you know the results. Thanks again
 
Did it work directly with the jumper or did you have to pull-out the VCC pin from the programmer socket ?

LMK,
Steph
Ok double checked and either is fine. No need to bend the pin. Furthermore with this modification, selecting 27c101g also works. At least, the chip matched the buffer when checked.
 
Furthermore with this modification, selecting 27c101g also works. At least, the chip matched the buffer when checked.

It probably only matched the bottom "half" of the eprom. ($00000-0FFFF)
The high address pin (A16) on a 27c101 (JEDEC) is on one of the "extra" 4 pins not found on the mask rom.
So when you read the mask rom as a 27c101 , you are probably reading the "bottom half" twice.
( I bet $00000-0FFFF is identical to $10000-1FFFF )

You "should" be getting a different checksum when reading as 27c301 rather than 27c101.

Steph
 
Back
Top Bottom