Help needed: Rockman 6-in-1 multicart hardware

A place that you can discuss reproduction of classic titles or "licensed-for-reproduction" homebrew for personal use.

Moderators: B00daW, Moderators

Forum rules
1. NO BLATANT PIRACY. This includes reproducing homebrew less than 10 years old, with the exception of free software.
2. No advertising your reproductions, with the exception of free software.
3. Be nice. See RFC 1855 if you aren't sure what this means.
Post Reply
User avatar
jpx72
Posts: 178
Joined: Tue Sep 28, 2010 3:27 am
Location: Slovakia
Contact:

Help needed: Rockman 6-in-1 multicart hardware

Post by jpx72 »

Since I found the dumped "Rockman 6-in-1" multicart I was thinking about recreating the cartridge on existing donor MMC3 board. But I lack the knowledge to figure out the additional hardware needed for it so I want to ask for your help. It shouldn't be very hard, as MottZilla, who helped me to make my own dump of that cartridge, already found out everything about the software. Here are his quotes from the TapeDump topic:
MottZilla wrote:Some bits are speculated until more testing can be done. PRG is probably concrete but CHR is a bit fuzzy. I think the upper nibble of $5010 and $5012 are related to CHR configuration.

PRG-ROM is a 16 Megabit / 2 Megabyte ROM with data arranged as follows:
Rockman 5 (256K)
Rockman 1 (128K)
Duplicated Rockman 5 Data (120K)
Menu Program (8K)
Rockman 2 (256K)
Rockman 3 (256K)
Rockman 4 (512K)
Rockman 6 (512K)

CHR-ROM is probably a 4 Megabit / 512 Kilobyte ROM:
Rockman 5 (256K)
Rockman 3 (128K)
Menu CHR (8K)
Duplicated Junk Rockman 5 Data (120K)

The upper nibble of $5011 most likely sets address lines on the PRG-ROM. The lower nibble of $5010 probably affects the effective size of the PRG viewable to the MMC3, 128K/256K/512K.

Upper nibble on $5010 is probably bit 1 set CHR-RAM Enabled, clear CHR-ROM enabled. bit 0 is probably a CHR ROM size 128K/256K switch.

The upper nibble on $5012 is probably CHR-ROM address lines.

Again I haven't confirmed some of this but I'm pretty sure that most of it should be correct.

Update:
Retrieved the Menu CHR and confirmed the data ordering.
MottZilla wrote:

Code: Select all

REGISTERS:

$5010 - Chip Config
xxSC-xxPP
	S = Select CHR ROM/RAM
	0 CHRROM. 1 CHRRAM.

	C = CHR-ROM Size
	0 256K. 1 128K.

	PP = PRG-ROM Size
	00 512K. 01 256K. 10 128K.

$5011 - PRG Chunk 256K Base Select
xBBB-xxxx
	BBB = Selects 256K Base of PRG-ROM for MMC3 to Use

$5012 - CHR Chunk Base Select
xxBB-xxxx
	BB = Selects 128K Base of CHR-ROM for MMC3
	Only values 00 and 10 are used but bit 0 may be
	valid too.
On Powerup PP of $5010 is zeroed, BBB of $5011 also zeroed. This causes the first 512K of PRG-ROM to be seen by the MMC3 which puts the Menu program in control.

$5011 really controls upper address lines on the PRG-ROM. $5010 controls address lines too, by deciding which ones the MMC3 can control and which ones it holds in a constant state to effectively set bounds for the ROM data seen by the MMC3.

That should cover most of the mapper and how it works.

---

Stuff about hardware. I'm not sure this is all exact as I'm no hardware expert.

PRG-ROM Connections
A16 and Below Connect Normally to MMC3

A17 - HELD HIGH in 128K Size Mode, otherwise connects normally
A18 - Connects to MBR if Size isn't 512K. If it is then it connects to MMC3
A19 - Connects to MBR
A20 - Connects to MBR

MBR being Master Bank Register. It controls the upper PRG lines. The upper most 2 are always connected to the MBR. A18 is used in 256K and 128K PRG modes by the MBR. In 512K mode the MMC3 needs this as the ROM is 512K and needs that to switch between the first and last 256K of data. A17 connects normally to MMC3 unless the mode is 128K in which case its I think held high (+5v) so the lower 128K of the selected 256K block is all that is visible. This is used for Rockman 1.

I think all this is correct. CHR-ROM has a similar setup. I imagine you could built your own cartridge with a TxROM cart and additional hardware for the MBR.
The cartridge needs 2048kB for PRG and 512kB for CHR. CHR won't be hard to add, since 27C401 will be okay for that, but PRG is harder, and since my EPROM programmer is not capable of burning EPROMs with more than 32 pins, it would be best if the PRG ROM gets splitted in even+odd parts to two 27C801 EPROMs.
I'm really looking for some easy (can be hand-drawn) schematics of this.

Lastly, for the link to the rom dump on that chinese website, click first result of this search or contact me via PM, as I don't want to post that link here. The chinese dump was emulated by CaH4e3's mapper-modified version of FCEU. My dump was emulated by MottZilla's personal unreleased emulator. The cartridges used by me and those chinese guys are the same.

And some of my findings:
Hex values in the chinese dump:

UNIF header
h00000000 - h0000003A
-----------------------------
Rockman 5 PRG
h0000003B - h0004003A
Rockman 1
h0004003B - h0006003A
Part of Rockman 5 data (h008010-h02600F of Rockman5 PRG)
h0006003B - h0007E03A
Menu PRG
h0007E03B - h0008003A
Rockman 2
h0008003B - h000C003A
Rockman 3 PRG
h000C003B - h0010003A
Rockman 4
h0010003B - h0018003A
Rockman 6
h0018003B - h0020003A
------------------------------
8bytes - UNIF's CHR header
h0020003B - h00200042
Rockman 5 CHR
h00200043 - h00240042
Rockman 3 CHR
h00240043 - h00260042
Menu CHR + some other garbage from Rockman5
h00260043 - h0028004B
UNIF something...probably end statement
h00280043 - h0028004B
Last edited by jpx72 on Tue Dec 20, 2011 1:45 am, edited 1 time in total.
User avatar
kyuusaku
Posts: 1665
Joined: Mon Sep 27, 2004 2:13 pm

Post by kyuusaku »

Shouldn't be hard is relative, what's easy to emulate isn't necessarily easy to put into hardware. Since you need help I wouldn't make such assumptions :roll: It looks like nearly 10 chips unless you use programmable logic, and it will require adding in a CHR RAM. Reworking all that into a donor board, easy? I think not. I also don't think it's very economical compared to just buying another multicart or even designing another one that's more hardware efficient.
User avatar
jpx72
Posts: 178
Joined: Tue Sep 28, 2010 3:27 am
Location: Slovakia
Contact:

Post by jpx72 »

I'm not against using programmable logic, as far as it's relatively easy to get the programming inside (I have a selfbuilt 74188 and 74287 programmer, if that helps, if not, here is what my Eprom programmer looks like, maybe it can be used to programm something different). CHR RAM is also not a problem, I have spare 8kB and 32kB SRAMs.
This is not a question of money, but the original pirate multicart itself is pretty rare (and fragile, since it's a glob-top).
User avatar
FARID
Posts: 499
Joined: Wed Apr 07, 2010 1:14 am
Location: Iran
Contact:

Post by FARID »

hmm...
This should be interesting!

I think you will need at least these chips :

PRG = 27C080 + 27C080(or 27C160)
CHR = 27C040 + 6264
MMC3 = AX5202P

And some other TTL chips.

Is there any picture of the glop top board?

How to find the chinese site
User avatar
jpx72
Posts: 178
Joined: Tue Sep 28, 2010 3:27 am
Location: Slovakia
Contact:

Post by jpx72 »

Farid, have you even read my first post? I knew all that and "some other TTL" is the main problem here. And no, I can't use 27C160.
User avatar
MottZilla
Posts: 2837
Joined: Wed Dec 06, 2006 8:18 pm

Post by MottZilla »

If you reread, he says either two 27C801 (8 meg) eproms or one 16 meg 27c160. Either works except that you will need another chip or atleast part of one to control chip select between the two I think.

Farid has built a MMC3 multi cart from a pirate cloned MMC3 chip before as I recall. So he should have a good idea of how you could reconstruct this mapper.

Farid, what jpx wants to know is how to wire up the TTL chips and eproms and sram and a MMC3 mapper so he can recreate it. I don't think he knows much about the functionality of the logic chips, which is what he is asking for help with. Not necessarily understanding the logic but getting a wiring diagram so he can build it.
User avatar
jpx72
Posts: 178
Joined: Tue Sep 28, 2010 3:27 am
Location: Slovakia
Contact:

Re: Help needed: Rockman 6-in-1 multicart hardware

Post by jpx72 »

If you reread:
jpx72 wrote:The cartridge needs 2048kB for PRG and 512kB for CHR. CHR won't be hard to add, since 27C401 will be okay for that, but PRG is harder, and since my EPROM programmer is not capable of burning EPROMs with more than 32 pins, it would be best if the PRG ROM gets splitted in even+odd parts to two 27C801 EPROMs.
You can see I knew all that, and no, I cannot use 16-bit EPROM because it has 42pins and my programmer doesn't support that, as I mentioned.
You don't need control chip to use two 27C801, you can even use the "sandwich" ("piggyback") method to easily connect them together (to build yourself a 27c160 from them). Trust me, I learned my part of that with 16-bit consoles, where I had to use 8-bit chips instead of 16-bit, because of the limitations of my programmer (check my NeoGeo MVS bios replacement here)

Sorry, I don't want to struggle anymore, thanks MottZilla for trying to help. I know enough to build almost anything if the proper schematics is available, I have my experience with building cartridges from scratch for Sega Mega Drive, Master System, Atari and even Watara Supervision. And I know enough about NES/FC cartridges too.

I would be really thankful if somebody can figure out the TTL logic and draw some simple schematics for connecting it all together.
Last edited by jpx72 on Tue Dec 20, 2011 1:43 am, edited 1 time in total.
User avatar
FARID
Posts: 499
Joined: Wed Apr 07, 2010 1:14 am
Location: Iran
Contact:

Post by FARID »

I am not an expert and don't know much about software aspect and last time I had a hard time to understand about registers and how they really function! :oops:
I just make cartridge by reverse engineering the hardware of my own pirate cartridge and then mix it with my imagination, and I love doing it! :P
Here is my imagination about this cartridge :
Image
Edit : Sorry this diagram is wrong!

For second time : I need to see the picture of the cartridge which is glop top to make a better imagination :D
Last edited by FARID on Tue Dec 20, 2011 1:37 am, edited 1 time in total.
User avatar
jpx72
Posts: 178
Joined: Tue Sep 28, 2010 3:27 am
Location: Slovakia
Contact:

Post by jpx72 »

FARID wrote:For second time : I need to see the picture of the cartridge which is glop top to make a better imagination :D
You already found that:
Just click on the first Google result of the search you provided.

PS: The search won't point you to the actual romdump, I was searching for it with the help of google translator on some chinese sites and it took me quite some time. If you need the link to the romdump itself, go to the first result of this search.
User avatar
FARID
Posts: 499
Joined: Wed Apr 07, 2010 1:14 am
Location: Iran
Contact:

Post by FARID »

Wow, this is amazing!

Maybe I try to make it :

Image

Can you find for me a better quality picture of both sides? You can make the schematic from this board.

But I don't have any 27C160 here, and I don't want to fail on OTP EPROMs.

Also I still couldn't prove that AX5202P supports more than 512KB PRG.
User avatar
jpx72
Posts: 178
Joined: Tue Sep 28, 2010 3:27 am
Location: Slovakia
Contact:

Post by jpx72 »

User avatar
FARID
Posts: 499
Joined: Wed Apr 07, 2010 1:14 am
Location: Iran
Contact:

Post by FARID »

To make the schematic you need these :

Pinout

Try to draw it like this :

Image

It is better to start from connector.
User avatar
FARID
Posts: 499
Joined: Wed Apr 07, 2010 1:14 am
Location: Iran
Contact:

Post by FARID »

Ok very good. From now on you have to rely on some other info. You need to find out about special lines. You can also ignore identifying exactly some of lines. For example it is not necessary to find out which line is really CHR A17 because we know that lines from CHR A10~A18 connect directly to AX5202P so you can mark those 9 lines which directly come from CHR and go to AX5202P, in generally A10~A18.

Here is 27Pin of 6264 :
D7
D6
D5
D4
D3
GND
D2
D1
D0
A0
A1
A2
A3
A4
A5
A6
A7
A12
?b1--> +5V
WR
b2--> CE2
A8
A9
A11
RD or OE
A10
?a--> CE1

Here is CHR, I bet it is 27C080 :
?a--> Not for CHR
/A13 or CE
D7
D6
D5
D4
D3
D2
D1
D0
GND
?b-->+5v
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
?d-->A10
GND
/RD or OE
?c-->A11
?e-->A12
?f-->A13
?g-->A14
?h-->A15
?i-->A16
?j-->A17
?k-->A18
?l-->A19
GND
+5V

Here is PRG, I bet it is 27C080 :
?m-->CE
D7
D6
D5
D4
+5V
D3
D2
D1
D0
GND
A0
A1
A2
A10(wrong)-->A3(correct)
?n-->A13
A12
A11
A4
A5
A6
A7
A8
+5V
A9
?o-->A10
?p-->A14
?q-->A15
?t-->A16
GND --> OE
?u-->A17
?r-->A18
?s-->A19

You messed up a little with left side of PRG.

I am not sure about MMC3, I feel that it is not AX5202P!
Try to find out which pin is PRG A19 and CHR A19. It should be a line which is shared between PRG + CHR + MMC3. If no such a line then MMC3 is not AX5202P.

By the way who dumped this cartridge?! And how?!
User avatar
MottZilla
Posts: 2837
Joined: Wed Dec 06, 2006 8:18 pm

Post by MottZilla »

He dumped it with modified TapeDump programs I provided. Then I assembled the dumped data into an iNES ROM file.

The mapper chip/glop top is a MMC3 clone with multi-cart functions.
Post Reply