iNES Mapper 12 (MMC3A?)

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
iNES Mapper 12 (MMC3A?)
by on (#160255)
So, I've lately stumbled upon Dragon Ball Z 5 (Pirate) which uses mapper 12 and according to the Wiki it's some kind of MMC3A variant, is that correct? if so, would a TLROM board with a MMC3A work with that game? Or will I need any other logic for that?

If it's the wrong forum to ask, please move this topic.

Help appreciated!
Re: iNES Mapper 12 (MMC3A?)
by on (#160257)
You'd have to add extra ICs corresponding to the extra functionality described on the wiki.
Re: iNES Mapper 12 (MMC3A?)
by on (#160259)
And how exactly would I do that? I'm fairly new to this mapper and don't know anything about this but still would like to have the game on a cartridge because finding that game is pretty much impossible. :(
Re: iNES Mapper 12 (MMC3A?)
by on (#160260)
Uh, 74'138 to decode the relevant memory area, 74'74 or any other latch to store the bits, 74'00 or any other multiplexer to generate CHR A18 from PPU A12.

Should also fit in any kind of programmable logic.
Re: iNES Mapper 12 (MMC3A?)
by on (#160263)
To guide you through the steps:

- Wiki says "Range: $4020-$5FFF".
→ that means that we're looking for: M2 high, /ROMSEL high, A14 high, A13 low, R/W low, and A5 high. That fits in a single 74hc138.
- Wiki says "[...R ...L]"
→ that means that whatever latch needs its inputs connected to CPU D0 and CPU D4.
- Wiki says "256K CHR block for left/right (low/high) half of CHR"
→ That means that CHR A18 = MUX2(PPUA12, Q0, Q4) (Mux2 using just one 7400)
Re: iNES Mapper 12 (MMC3A?)
by on (#160266)
Well, now I hopefully know how I would connect the 74HC138 but that's it. :(

A0 = R/W
A1 = A14
A2 = A5
E0 = A13
E1 = M2
E2 = /ROMSEL
Y7 = Output

Would a 74HC161 work for the latch and connect Y7 of 74'138 to the Clock pin while CPU D0 and D4 are connected to the inputs and the outputs connected to the CHR ROM D0 and D4? If so, what about A18? I don't really get it. :'(
Re: iNES Mapper 12 (MMC3A?)
by on (#160268)
Yes, you could use a 74'161 instead of a 74'74. (You could also use any other latch ... there's probably 50 different ones, most of which are even still made).

The outputs are not connected to the CHR ROM data pins. Remember that the PPU's data bus is bidirectional (containing both data to the nametable RAM and data from the CHR ROM) and so constantly driving things wouldn't help. (The outputs of the latch go into the multiplexer.)
Re: iNES Mapper 12 (MMC3A?)
by on (#160357)
I am not sure but you can try it :

Edit :
Thanks to lidnariq I fixed a mistake
Re: iNES Mapper 12 (MMC3A?)
by on (#160365)
Thanks alot, both of you! I will try both schematic and let you know. :)
Re: iNES Mapper 12 (MMC3A?)
by on (#160377)
Farid, your schematic indicates decoding when A13 is high and A5 is low, which is backwards of what this wants.
Re: iNES Mapper 12 (MMC3A?)
by on (#160417)
lidnariq wrote:
Farid, your schematic indicates decoding when A13 is high and A5 is low, which is backwards of what this wants.


It is because I just coped the decoder part from your schematic but your decoder symbol doesn't match mine :mrgreen:
Anyway thank you for reminding it.
Re: iNES Mapper 12 (MMC3A?)
by on (#160757)
Soldered it together and it works great. Thanks you two!
Re: iNES Mapper 12 (MMC3A?)
by on (#160897)
Ice Man wrote:
Soldered it together and it works great. Thanks you two!


Glad to hear that.
Please post some pictures of it.
Re: iNES Mapper 12 (MMC3A?)
by on (#160900)
Too late. I already send the cart to a friend who wanted it. But if I make one for me I will post pictures!

It was hard fitting the 3 extra ICs inside a Famicom shell but it worked. :D