Mmc1a versus 1b2 etc

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems.

Moderator: Moderators

Post Reply
Purity
Posts: 9
Joined: Tue May 19, 2020 1:01 pm

Mmc1a versus 1b2 etc

Post by Purity » Tue May 19, 2020 1:07 pm

I was wondering if anyone had an idea of a problem I'm trying to understand. Basically I have a Nintendo PCB that works better with an mmc1a but does not work hardly at all with any other versions like the 1b2. Could this be related to the wram difference and would it be possible to make other mmc's the same as the 1a?? Maybe hold that pin high or low during boot. Or is the problem somewhere else

Any ideas

lidnariq
Posts: 9510
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Mmc1a versus 1b2 etc

Post by lidnariq » Tue May 19, 2020 2:11 pm

Purity wrote:
Tue May 19, 2020 1:07 pm
Could this be related to the wram difference
Unless you are specifically working with the two games that are mapper 155, no.
Or is the problem somewhere else
Very likely. It's probably something analog. We don't have decapped MMC1s, so we don't know how they differ inside. It's hard to say what could be going wrong. We know that some MMC1s sometimes reliably come up with the correct bank in the last bank; others don't. You could try programming this test to see if your different MMC1s have different power-on behavior.

If it is different power-on behavior, it's remotely conceivable that more capacitance, or lower impedance capacitance (i.e. not electrolytics or MLCCs), on the cart board might help. It's hard to say anything precise.

Purity
Posts: 9
Joined: Tue May 19, 2020 1:01 pm

Re: Mmc1a versus 1b2 etc

Post by Purity » Wed May 20, 2020 5:20 am

lidnariq wrote:
Tue May 19, 2020 2:11 pm
Purity wrote:
Tue May 19, 2020 1:07 pm
Could this be related to the wram difference
Unless you are specifically working with the two games that are mapper 155, no.
Or is the problem somewhere else
Very likely. It's probably something analog. We don't have decapped MMC1s, so we don't know how they differ inside. It's hard to say what could be going wrong. We know that some MMC1s sometimes reliably come up with the correct bank in the last bank; others don't. You could try programming this test to see if your different MMC1s have different power-on behavior.

If it is different power-on behavior, it's remotely conceivable that more capacitance, or lower impedance capacitance (i.e. not electrolytics or MLCCs), on the cart board might help. It's hard to say anything precise.
It is power on behaviour that seems to be the issue. If I can get the board to boot, with something that's not an MMC1A then the game works fine. It's just the initial boot issue.

I use a 0.1uf cap (104) on the MMC1. I could try removing this and see if it makes a difference? That's basically used as a smoothing cap between power and gnd.

What cap values would you suggest I try?

lidnariq
Posts: 9510
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Mmc1a versus 1b2 etc

Post by lidnariq » Wed May 20, 2020 10:41 am

Purity wrote:
Wed May 20, 2020 5:20 am
It is power on behaviour that seems to be the issue. If I can get the board to boot, with something that's not an MMC1A then the game works fine. It's just the initial boot issue.

I use a 0.1uf cap (104) on the MMC1. I could try removing this and see if it makes a difference? That's basically used as a smoothing cap between power and gnd.
Is that the bypass cap for the just MMC1, and there is more capacitance on the board for the other ICs as well as some bulk capacitance for the board? That should be enough total capacitance. You could see if removing the capacitor makes it worse, but I don't think it'd help things.

If you don't have both bulk and per-IC capacitors, add whichever is missing. If you have both, try increasing the bulk a little (not more than 22µF), and/or try decreasing the ESR of the per-IC capacitors by adding 10nF (103) in parallel.

Purity
Posts: 9
Joined: Tue May 19, 2020 1:01 pm

Re: Mmc1a versus 1b2 etc

Post by Purity » Wed May 20, 2020 2:21 pm

There are 7 IC's on the PCB altogether. Each IC has it's own smoothing capaictor (104) 0.1uf. I don't have any overall board capacitance

I will try and add an overall board cap of no more than 22uf, as well as add per IC caps in-line of 10nf to see if it helps with the boot issues

User avatar
Memblers
Site Admin
Posts: 3864
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Re: Mmc1a versus 1b2 etc

Post by Memblers » Wed May 20, 2020 5:46 pm

What game is it? It could just be that the game only has reset vectors in the last bank, and that particular MMC1B2 board isn't booting into that bank. I have an MMC1B2 board that does just that. If I sit there and power cycle the system enough times, the game will eventually start (it's a ROM I made myself).

Purity
Posts: 9
Joined: Tue May 19, 2020 1:01 pm

Re: Mmc1a versus 1b2 etc

Post by Purity » Thu May 21, 2020 1:23 am

It's actually an arcade game. It's a Nintendo Vs Dr. Mario board.

That's exactly the problem. If I power cycle it a load of times, it eventually boots

Is there anything that can be done so the board is more compatible with other MMC's ? Modification of the rom code?

calima
Posts: 1160
Joined: Tue Oct 06, 2015 10:16 am

Re: Mmc1a versus 1b2 etc

Post by calima » Thu May 21, 2020 10:25 am

If the other banks already have data in the vector position, such modifications would be very hard.

lidnariq
Posts: 9510
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Mmc1a versus 1b2 etc

Post by lidnariq » Thu May 21, 2020 10:46 am

Vs. Dr. Mario only has 64KB of PRG, and has reset vectors in banks 1 and 3 (and not in bank 0 or 2). You should be getting at least 50% odds of success... I have to suspect something else is going wrong.

Did you try the test I mentioned?

krzysiobal
Posts: 731
Joined: Sun Jun 12, 2011 12:06 pm
Location: Poland

Re: Mmc1a versus 1b2 etc

Post by krzysiobal » Thu May 21, 2020 2:17 pm

I has recently issues running one famiclone game, with original MMC1B - the game crashed randomly few seconds after start. I tried adding capacitor on power line, M2, /ROMSEL - no help.
Adding 220p capacito between CPU-R/!W and GND solved the issue - it looks like the latches inside MMC are clocked by this signal and they are vulnerable to short spikes.

Purity
Posts: 9
Joined: Tue May 19, 2020 1:01 pm

Re: Mmc1a versus 1b2 etc

Post by Purity » Thu May 21, 2020 3:06 pm

lidnariq wrote:
Thu May 21, 2020 10:46 am
Vs. Dr. Mario only has 64KB of PRG, and has reset vectors in banks 1 and 3 (and not in bank 0 or 2). You should be getting at least 50% odds of success... I have to suspect something else is going wrong.

Did you try the test I mentioned?
Thanks

yea 64k PRG, and 32K Chr

Definately not 50% odds. It can take me 10-15 power ups before I can get the board to boot

I'm not sure I can really do the test as it's on real hardware?

The board works fine with an MMC1A chip so I know there is no issues elsewhere. Definately MMC related, as if I swap it for a 1B2 the problems start again
Last edited by Purity on Thu May 21, 2020 3:17 pm, edited 2 times in total.

Purity
Posts: 9
Joined: Tue May 19, 2020 1:01 pm

Re: Mmc1a versus 1b2 etc

Post by Purity » Thu May 21, 2020 3:09 pm

krzysiobal wrote:
Thu May 21, 2020 2:17 pm
I has recently issues running one famiclone game, with original MMC1B - the game crashed randomly few seconds after start. I tried adding capacitor on power line, M2, /ROMSEL - no help.
Adding 220p capacito between CPU-R/!W and GND solved the issue - it looks like the latches inside MMC are clocked by this signal and they are vulnerable to short spikes.
Interesting! Thank you. I can certainly try adding a 220pf capacitor between MMC pin 17 and GND to see if it helps

I will report back

EDIT: Actually I have some spare 470pf's would this be ok, or does it need to be 220pf specifically?

krzysiobal
Posts: 731
Joined: Sun Jun 12, 2011 12:06 pm
Location: Poland

Re: Mmc1a versus 1b2 etc

Post by krzysiobal » Thu May 21, 2020 3:26 pm

Connect two in series to get ~235pF.

Purity
Posts: 9
Joined: Tue May 19, 2020 1:01 pm

Re: Mmc1a versus 1b2 etc

Post by Purity » Sun Jun 21, 2020 3:14 pm

krzysiobal wrote:
Thu May 21, 2020 3:26 pm
Connect two in series to get ~235pF.
I ended up using 220pf and it worked perfectly, thank you!

That has been bugging me for a while now. I tested it with a 1b1 and 1b2 and it booted everytime!

Post Reply