MMC1 Clone

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
MMC1 Clone
by on (#78504)
Can someone identify 9050. It seems it is a clone of MMC1!
How can I found out the full part number? I had already googled for 9050 with no luck.

I own this card :
Image

This is USA(NTSC) version :
Image

Bootgod page :
http://bootgod.dyndns.org:7777/profile.php?id=412

by on (#78505)
You'll have to draw your own pinout based on the connections between pins on the cart edge and pins on the memory chips

by on (#78506)
If you're trying to find the part somewhere so you can buy it, good luck... If it is a MMC1 clone or similar to a MMC1 kinda like how the Tengen Rambo is similar to the MMC3, it's NOT something you're going to be able to find and buy.

What are you trying to do? Remake the game or something?

by on (#78521)
I am sure 9050 is a clone of MMC1. I want to buy 9050 and use it, but first I have to find out its full part number.

by on (#78524)
http://www.retrousb.com/product_info.ph ... ucts_id=43

:roll: :wink:

by on (#78528)
FARID wrote:
I am sure 9050 is a clone of MMC1. I want to buy 9050 and use it, but first I have to find out its full part number.


The MMC1 (or this clone in your case) is a custom ASIC (application specific integrated circuit). What this means is it's a non-standard part. You can't just go buy one from digikey like the counters and logic gate chips off a CNROM or UNROM board.

It would be like trying to buy a replacement part for a model-T at your local ford dealer. It just ain't going to happen. No one makes those parts anymore. Nor would you have really been able to buy them even when they were current parts because the design is proprietary.

You really only have two options. Take the chip off a game made a couple decades ago, or go with retro usb's board.

What he's selling is not exactly the same thing as the original part. He's programmed a CPLD (complex programmable logic device) to act like the MMC1. basically a CPLD can be programmed to perform in anyway you'd like it to. While you can buy a CPLD from an electronic supplier, that wouldn't solve your problem. You've got to know how the MMC1 works and how to program a CPLD to perform as the MMC1 did. Based on your questions that doesn't sound like something within your capabilities.

So you could by his board with the CPLD already programmed to act like the MMC1 for you. Or steal the part off a donor board.

by on (#78545)
First of all thanks for your informative post which goes beyond of my first question.

Quote:
So you could by his board with the CPLD already programmed to act like the MMC1 for you. Or steal the part off a donor board


To be honest with you, I don't like none of these ways, because my real aim is research, not just buy and play some 20year old games! I can play those games in my PC with no need to extra expense.


Quote:
You've got to know how the MMC1 works and how to program a CPLD to perform as the MMC1 did


This way sounds very interesting. :) I don't know how to do it now but I can try it out by doing some research. Can you introduce me some resource to start?

by on (#78550)
I'm actually working on doing some of this type of stuff right now with a related project I've posted up recently: All in one master dev cart.

It's hard for me to point you in the right direction without knowing your knowledge background.

First off you need to understand the basics of digital logic. ie, how gates, latches, flipflops, counters, and all that of stuff works. I'm guessing you have some level of understanding of this stuff.

With some base knowledge there you need to understand how bankswitching or "page turning" works on NES carts. Start off with the basic UNROM, CNROM and work your way up to MMC1 and MMC3. The best resource for this stuff is right here with our Wiki and other resources on nesdev.

Then you'll have to somehow pick up the skill of programing a CPLD or it's similar more complicated brother the FPGA. This isn't really a walk in the park. Including programming in a hardware description language (VHDL or Verilog). People typically pick up these skills in formal education, but there are enough resources out there you could learn it all from the web. It's just a little difficult in the begining because when you confused about the basics you don't have someone you can ask directly like you could in a lab at school.

I'd recommend starting off with some sort of CPLD development kit something similar to this: http://www.altera.com/literature/ug/ug_maxv_cpld_dev_kit.pdf
I can't really recommend a good one you'll have to do more research on that yourself. But a kit like this has a step by step on how to program the CPLD and setup your circuit all put together for you. Then once you've got that down you could make up and test out your own reverse engineered mapper start with the simple ones before you try to tackle the MMC1. Then you could buy just the CPLD chip program it and slap it in on you cart board similar to what retrozone is selling you.

Have fun! You'll definitely learn alot through the process, assuming you don't quit after slamming your head against your desk when you get stuck and frustrated... But hey that's why this and other forums are out there for right?

by on (#78577)
Tangentially related: 9050 probably means "manufactured the 50th week of 1990"

by on (#81179)
FARID wrote:
I am sure 9050 is a clone of MMC1. I want to buy 9050 and use it, but first I have to find out its full part number.

this chip may be numbered:ks5361

by on (#81185)
simonwang wrote:
FARID wrote:
I am sure 9050 is a clone of MMC1. I want to buy 9050 and use it, but first I have to find out its full part number.

this chip may be numbered:ks5361


Is this just a good guess or you do know of it?!
Do you have any datasheet or pinout for this chip?
However I can find out the pinout by using the cartridge itself.

by on (#83355)
What is your idea about AX5904, it is also DIP24 :

http://www.digchip.com/datasheets/quote.php?action=search&pn=AX5904

by on (#83381)
FARID wrote:
What is your idea about AX5904, it is also DIP24 :

http://www.digchip.com/datasheets/quote.php?action=search&pn=AX5904


What's the price on them?

I know its easier said then done, but either way a CPLD seems like a better option for a MMC1 clone.

by on (#83382)
Price is in the range of 1.5$ to 2.5$

Quote:
a CPLD seems like a better option for a MMC1 clone


Any schematic or instruction about how to use it? I am not familiar with CPLD at all.

by on (#83384)
I think you use Verilog.

by on (#83392)
A MMC1 clone wouldn't be cost effective at all when you take the PCB into account... It would be far less work to rework a few signals on a licensed game or find a bootleg. To top it off, in very small quantities few people would say the sacrifice is morally reprehensible; personally I only have a problem with it when people sacrifice games for profit in "repros".

by on (#83403)
FARID wrote:
Price is in the range of 1.5$ to 2.5$

Quote:
a CPLD seems like a better option for a MMC1 clone


Any schematic or instruction about how to use it? I am not familiar with CPLD at all.


Yeah that's the easier said than done part I was suggesting. Honestly if those clones will work for you they would be the easiest to work with and the better option. They aren't just simple chips like your used to. But basically you can design up your logic schematics on the computer or code the logic in a hardware description language (HDL) like Verilog or VHDL. Then you program you're "circuit" onto the CPLD via a USB programmer and now the CPLD is configured for whatever you designed it to be. Not sure if it helps but here's a basic video of a guy using a Lattice CPLD. I'd probably recommend Xilinx or Altera though.
http://www.youtube.com/watch?v=dJtmVZwZNrM&feature=related

The basic idea is to reverse engineer the MMC1 and then program it's onto a CPLD. Something as simple as the MMC1 should fit on a CPLD that only costs a few bucks. If you're completely unfamiliar you'd have to do some research about them and perhaps find a dev board to learn on and play around with. This is one of the main goals of the NESDEV1 cart I'm working on right now. To provide a CPLD on a cart that's already set up for you. Then people on here could play around with it and perhaps create a library for ourselves of mappers. Then making it easier to design things like your multicarts that only need one chip for the mapper rom selector and everything.

by on (#83410)
But would PCB+CPLD be much cheaper than 9 USD, which is what RetroZone sells its own CPLD-based MMC1 clone board for?

by on (#83440)
tepples wrote:
But would PCB+CPLD be much cheaper than 9 USD, which is what RetroZone sells its own CPLD-based MMC1 clone board for?


Depends... If it was a one off and you're on the NES no. Keep in mind retrozone doesn't have FC boards. For someone like FARID whose etching his own boards, working on the FC, and has to deal with international shipping I would say yes. Not only that but it would be of a great use for his multicarts, being able putting all the added rom switching logic he's designed on the CPLD along with the MMC1.

Really the versatility is unmatched and is what would allow for prices to be lowered. You would be able to design a mapper generic board to be made in larger quantities on the cheap. Which is what got bunnyboy his prices his MMC1 CPLD (XC9572-15PCG44C) goes from $5.25 at single quantities to $3.85 each for 100 on Digikey anyways.

This all comes at the additinal cost of learning how to use CPLDs however which isn't something that's very user friendly at the moment especially for the nesdev community.

by on (#83474)
infiniteneslives wrote:
Which is what got bunnyboy his prices his MMC1 CPLD (XC9572-15PCG44C) goes from $5.25 at single quantities to $3.85 each for 100 on Digikey anyways.

Which means he's selling the ReproPak MMC1 at near marginal cost: compare the ReproPak (board only; 74HC161 sold separately) at $4 to the ReproPak MMC1 (with CPLD soldered on) at $9. Any reductions past that would probably have to come from cutting PCB manufacture/shipping cost.

by on (#83481)
Actually, MMC1 is not that complex, so if one needs to make MMC clone/replacement for a small personal project, CPLD/FPGA use is not necessary, you can just recreate it using bunch of logic ICs. It probably would even fit in NES cart case. It just very unconvient for mass production, and CPLD or custom IC technologies allow to save number of parts, board space, and ultimately the cost.

Also, some FPGA tools allow to use schematics input, i.e. you just visually draw schematics using logic blocks instead of writing logical model of your device as code. I wonder if it is available for CPLDs as well. It would remove need of Verilog/VHDL knowledge for such small projects.

by on (#83483)
Shiru wrote:
Actually, MMC1 is not that complex, so if one needs to make MMC clone/replacement for a small personal project, CPLD/FPGA use is not necessary, you can just recreate it using bunch of logic ICs. It probably would even fit in NES cart case. It just very unconvient for mass production, and CPLD or custom IC technologies allow to save number of parts, board space, and ultimately the cost.

Also, some FPGA tools allow to use schematics input, i.e. you just visually draw schematics using logic blocks instead of writing logical model of your device as code. I wonder if it is available for CPLDs as well. It would remove need of Verilog/VHDL knowledge for such small projects.


I don't think a hand full of logic IC's could come close to beating a $4 CPLD in any respect for MMC1.

As for the CPLDs and schematic program-ability YES. I'm actually working on it right now with a Xilinx CPLD. I'll be posting it up when I've got progress to share on it. That's one of the big goals for the NESDEV1 dev cart for it's users.

by on (#83492)
MMC1,2,4 should fit into a XC9536, which Digikey lists for $1.18 (XL-VQ44), but it's still not worth the PCB unless you are entering production.
Re: MMC1 Clone
by on (#110834)
I just released the source code of a MMC1 clone, which I just finished testing on real hardware.
It is well structured and commented, to allow anyone curious to look at it.
Posted in this forum:
viewtopic.php?f=9&t=10010

MMC1 is not complex, as it has been said, but it requires a XC9572 (44 pin chip).

A XC9536 is not enough. It carries 36 macrocells, and my implementation requires 46 macrocells.
Keep in mind that MMC1 is serially loaded, which requires internal serial-parallel conversion; a shift register and a simple finite-state machine.

MMC2, 4 are not complex either, but require more pins, as they are loaded in parallel.
Anyway, so far I don't plan to work on these mappers, so I can't say if a XC9536 will suit them.

The most popular SEGA Master System mapper does seem to fit, though.
Re: MMC1 Clone
by on (#130189)
Sorry to necro an old post! But i was looking for the pinout/datasheet of the AX5904 MMC1 clone, and I can't find any info anywhere. Does anyone know what the pinout for this chip would be? I'm assuming its not a drop in replacement for the real MMC1...
Re: MMC1 Clone
by on (#130192)
getafixx wrote:
Sorry to necro an old post! But i was looking for the pinout/datasheet of the AX5904 MMC1 clone, and I can't find any info anywhere. Does anyone know what the pinout for this chip would be? I'm assuming its not a drop in replacement for the real MMC1...


First of all why don't you use KS5361? I tested it and works perfect, its pinout is the same as original MMC1
I have no idea if AX5904 is really a MMC1 clone but if it is a MMC1 clone, most likely its pinout is the same as original MMC1 too
Re: MMC1 Clone
by on (#130218)
Where would I find that chip? When I Google it all I find are those shady "parts" sites that make you request a price quote, but when you do you get spammed (last time i tried that I got 400 spam emails in 2 days).