What's new
I think we're talking about separate issues.

Here we have two main issues:

1 - Sprites flickering. As Mike stated, this is highly likely due to a DRAM which has failed.

2 - Sprites misplaced. There's something stuck high/low in the ROMs 13/15/17/19. I have checked every single trace and pin and it looks like there are no shorts of sort which leads me to believe that there's something wrong with the mask roms themselves. Actually one of them has already been changed (it's different from all the others) so it might be that a bad mask rom could be the culprit.

EDIT: another thing I've checked today is the 5V voltage. I had it a bit low at 4.9V, got it back up to 5V but nothing changed.
 
Does anyone know what the SRAM on the B Board marked as HM6264 does?
 
As @xodaraP said, it is highly unlikely that so many mask roms would have gone bad.

My guess is you have faulty object ram.
 
Ok, so I can rule them out. Besides, I've just tested them as well and they were ok.

Now, just to make it 100% sure... a floating address line would read on my multimeter as 0V, right? Low voltage (0.3-1V) would mean logic low, higher voltage (2-5V) would mean logic high.

I'm asking because I'm going through literally everything and unless I'm missing something, everything is checking out fine on the B-Board (which I've bought as defective with the pictures showing the exact same symptoms I have).

EDIT: double-checked everything again: the RAM on the B-Board are fine (as they should), the LS245 are ok, the PAL3 is fine. I'm running out of resources to check.
 
Last edited:
You really need at minimum a logic probe or better yet an oscilloscope for this kind of work - but yes a floating line should read 0 since it's going to be disconnected (neither high nor low) either internally or the trace on the board has gone bad (or the pin is unused and not grounded)

As I explained earlier, each of the address lines on your mask ROMs are probably connected to a common point - so you may have lost a trace between the mask ROMs themselves, have 1 bad mask ROM causing all others to behave badly or the chip driving the mask ROMs has gone bad.

Meter out the connections between the mask ROMs themselves using the continuity function and work from there
 
You really need at minimum a logic probe or better yet an oscilloscope for this kind of work - but yes a floating line should read 0 since it's going to be disconnected (neither high nor low) either internally or the trace on the board has gone bad (or the pin is unused and not grounded)
Pardon my ignorance, but isn't a logic probe just a multimeter which checks voltage on two points and lights a led depending on the voltage? I mean, a logic probe is just 20 bucks, I can get one, but isn't it redundant?
An oscilloscope on the other hand... but those things are pricy :(
Are the chinese mini-oscilloscopes any good?

As I explained earlier, each of the address lines on your mask ROMs are probably connected to a common point - so you may have lost a trace between the mask ROMs themselves, have 1 bad mask ROM causing all others to behave badly or the chip driving the mask ROMs has gone bad.

Meter out the connections between the mask ROMs themselves using the continuity function and work from there
That's another thing I thought and I already did that, but will go through the process once again, just to make it 100% sure.

I've been working on this damn board so much I could almost draw a schematic of it, LOL.
 
The Chinese mini oscilloscopes can't give you enough resolution to be useful on an arcade board, they're not fast enough :(

You are correct about the logic probe but it's much easier to have a red or green light rather than looking for a voltage.

The other reason a logic probe is important though is it will tell you if a pin is stuck or pulsing which can be an important sign. A multimeter will change voltages but if the signal is always high or low you don't necessarily know if the pin is stuck without a probe - you can also get them with audio and that is very useful for finding sound faults.

I know what you mean about getting to know these things that well, but it's not a bad thing, plenty of people run into issues with CPS2 and knowledgeable people are always a big help. If you can fix it or even if you can't, you'll know a hell of a lot about diagnosing faults on it
 
Yeah, I agree and, btw, thanks a lot for helping me through this, I really appreciate it.

Do you have any suggestion on a good (used) oscilloscope without breaking the bank?
 
If you can get a secondhand Rigol those are really good entry level digital scopes, even brand new they're not ridiculously expensive and the base models can usually be unlocked to make them the same as the more expensive units

I think there's a Siglent unit that's very similar too.

Otherwise if you're looking for an old school scope you'll get reasonably cheap, try and get a Tektronix or HP, minimum of 50mhz, higher the better. 2 channel is fine. Try to make sure it has probes included, they're expensive and the cheap ones don't work as well (I have the cheap ones on mine because the probes were missing, they get a lot of interference)
 
Good, I'll set some alerts on eBay and see what comes up.

EDIT: tried all the connections between the EPROMs and all is good.
I'll be getting a logic probe to see if everything is pulsing happily. The best one I could find is a GW Instek GLP-1A which has a max input frequency of 50Mhz, which means it should be able to catch pulses as small as 10ns.
Datasheet here: https://www.gwinstek.com/en-global/products/downloadSeriesDownNew/11654/994

Wanted to get a used HP 545a but those things are impossible to find.
 
Last edited:
Cool, next step is to follow those address lines and see where they go to. Hopefully it's not directly to the custom, if it's through logic ICs, those are your next thing to check.

If its straight to the custom, reflow of the custom is your next step.
 
Alright, the adapter for my GQ4x4 arrived and there's definitely something off with the mask roms.

First time I read them, they would give me completely different data and every time I read them again, they would always give me different results.

Finally, after several attempts, they would start giving me more consistent results: wrong checksums when compared to MAME sets, but at least they would always read the same.

I checked the 14m 16m 18m and 20m mask roms and were all ok.
So I went back to the problematic roms (13m 15m 17m and 19m) and while 13m would still give me a different checksum, the others checked out fine this time.
So I went back once again to 13m, tried a couple reads more and finally it gave me the same checksum as in MAME.
I tried reading and verifying a couple more times and the results were all good.

Tried all the data pins on the EPROMs with my new logic probe and everything is pulsing happily, BUT I've found a pin stuck high on an LS245 and now I'll have to track it back to where it comes from to see if it should be pulsing.

EDIT: nevermind, that LS245 goes to the Program EPROMs which are working correctly. If it was bad the game would probably crash or not run at all. Back to square 1.

EDIT 2: with the risk of asking a n00b question, just to make it 100% sure...
Here's the datasheet of the Mask ROMs I'm looking at: http://www.macronix.com/Lists/Datasheet/Attachments/7494/MX23C1610, 5V, 16Mb, v3.5.pdf

On page 2, we can see how CE, OE and Byte should be configured in order to access the data.

The state the EPROM should be in is:


CEOEByteD15/A-1D0-D7D8-D15ModePower
LLHD15D0-D7D8-D15WordActive


There should be no pulsing on CE or OE, correct?
 
Last edited:
Sounds like you have at least one faulty mask rom. You can try running the board without it installed, and if there's no difference with or without it, then that's extra confirmation that the mask rom is the problem.
 
I've edited my post because I'm not sure if I should have a signal pulsing on CE and OE or they should be stuck Low.

EDIT: ok, after a bit of research, CE should be pulsing because the data lines are on a shared bus, which is fine, but my issue atm is that OE pulses as well and it should instead be tied Low if I'm not wrong. What's driving me crazy is that OE is shared among all the chips, which means that if there's an issue, this should be the same for all the EPROMs and not just for some of them.
 
Last edited:
Both pins are active low. check the diagram on page 4 of the data sheet. CE is activated (pulled low) followed by output enable being activated (pulled low). Both should go high coincidentally. From the logic probe's perspective, they should both be pulsing.
 
Alright, so everything is fine on that side of things as well.

I'll have to wait until the EPROMs show up to burn replacements and hope for the best. I'm completely out of ideas at this point.
 
Mask ROM 13 sounds like it's causing you issues and would be the first one I'd replace (for whatever reason 13 seems to be a common failure on CPS1 boardsets as well)
 
That sounds like a coincidence, but I've seen/read about mask roms going bad from time to time. Hopefully this is the case and a couple fresh roms will fix it.
 
I had this same issue last year and nobody knew what was wrong. Tested my cps2 avp on another as board and it was fine. I returned the A board.
 
Back
Top