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.
User avatar
kyuusaku
Posts: 1665
Joined: Mon Sep 27, 2004 2:13 pm

Post by kyuusaku » Sun May 06, 2012 2:43 pm

1) Adapting CHR ROM games to CHR RAM is not easy, and it will result in even MORE slowdown, now with graphical glitches if the game bankswitches for animation

2) You must mean a 74'257, because a '157 does not have 3-state drivers for interfacing to a data bus.

User avatar
tokumaru
Posts: 11907
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru » Sun May 06, 2012 3:56 pm

FARID wrote:If someone can convert Rockman 3 and 5 from TLROM to TGROM
It's usually not possible to convert games with CHR-ROM to CHR-RAM. With CHR-ROM, the MMC3 can switch large amounts of tiles every frame, because all it takes is a few mapper writes.

With CHR-RAM however, all tiles must be manually updated during VBlank, byte by byte, which severely limits the amount of tiles that can be updated each frame (considering the other tasks that must be performed during VBlank, you'll realistically manage to update between 4 and 8 tiles each frame, while with CHR-ROM you can even change the whole 512, several times over, if you wish to).

Notice how Mega Man games that use CHR-RAM have much less background animations that aren't palette-based (because palette animations are cheap to do no matter what kind of CHR you use) than CHR-ROM ones.

User avatar
l_oliveira
Posts: 404
Joined: Wed Jul 13, 2011 6:51 am
Location: Brasilia, Brazil

Post by l_oliveira » Sun May 06, 2012 4:08 pm

Well, the point is that the game has 256KB of video memory so it's writing the whole CHR ROM in RAM then using it as ROM afterwards ... :)

That way it works just fine... Only annoyance is the "loading" screen you get when it's copying the tiles to CHR RAM.

User avatar
tokumaru
Posts: 11907
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru » Sun May 06, 2012 4:26 pm

l_oliveira wrote:Well, the point is that the game has 256KB of video memory so it's writing the whole CHR ROM in RAM then using it as ROM afterwards ... :)
Sure, in that case RAM works just fine. But FARID asked for a TLROM to TGROM (which has only 8KB of CHR-RAM) conversion, which is not possible. 256KB RAM chips (with the packaging and voltage used by NES carts) are very hard to find compared to 32KB and below, though.

User avatar
l_oliveira
Posts: 404
Joined: Wed Jul 13, 2011 6:51 am
Location: Brasilia, Brazil

Post by l_oliveira » Sun May 06, 2012 4:37 pm

tokumaru wrote:
l_oliveira wrote:Well, the point is that the game has 256KB of video memory so it's writing the whole CHR ROM in RAM then using it as ROM afterwards ... :)
Sure, in that case RAM works just fine. But FARID asked for a TLROM to TGROM (which has only 8KB of CHR-RAM) conversion, which is not possible.
I've fit ram chips on several boards and I even have a modded TLROM board with W-RAM, chr-ram and a option to run with 4 screen mirroring which is enabled by just toggling a bit. Any configuration is possible if you know how to do it.

The trickiest part was create the extra copper tab on the board edge connector to get the PPU /WE pin... This board can play any MMC3 (or namco games that are similar to MMC3).


Possible it is ... Worth your while ? I don't know ... I did it anyway lol
Image

Image

Plays Gauntlet great, btw.

User avatar
kyuusaku
Posts: 1665
Joined: Mon Sep 27, 2004 2:13 pm

Post by kyuusaku » Sun May 06, 2012 6:00 pm

2M isn't a standard RAM size (2M basically means two 1M arrays in a package) so I have no idea where they got those chips and there's no way I'd make anything, even a one-off, with a rare part. It's not even economical to when 64K RAM and EPROM are so cheap. Basically you're trading board space for part cost, but in a small run when you don't have a massive supply of nearly free pulls like the bootleggers must have, go with part cost. Also 2M of RAM is a very capable part completely put to waste in a multicart.

Nevermind the 2M RAM, using a 27C322 isn't smart since:
  1. it's 16-bit only so it requires external byte selection
  2. basically 14 of the 32 megabits will be wasted
  3. '322 are less common, more expensive and more in demand than '160 or '080 and can be put to vastly better use in other applications
  4. it wastes power since you'll have to keep the ROM enabled and outputting, use pullups on the multiplexer inputs or use 74LS257 instead of a CMOS part
Also the '174 is a good part due to availability, but:
  1. the '161 is more common and cheaper in DIP packages, the opposite is true for SOIC however
  2. it will require an additional decoder unless you use the address bus for input, the '161 has a decoder for "free" (the /load input)
  3. 6 bits are not necessary for this task, only 3 are. If you were to use a standard parallel register instead of the '161 the sensible one to use would be the '175 which has complementary outputs which is good for decoding
The logical solution for this this multicart's redesign is to use a 16M PRG EPROM (which is still slightly wasteful) or better yet two 8M, and a 4M CHR EPROM with 64K CHR SRAM.

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

Post by FARID » Sun May 06, 2012 10:23 pm

1) Adapting CHR ROM games to CHR RAM is not easy, and it will result in even MORE slowdown, now with graphical glitches if the game bankswitches for animation
Megaman 4, 6 are TGROM, so I think it is possible to convert 3, 5 to TGROM too. Maybe this conversion is hard but it is the only way to redesign a simple hardware.
2) You must mean a 74'257, because a '157 does not have 3-state drivers for interfacing to a data bus.
I will use a tool to put 3 PRG into odd offsets (PRGo) and 3 other PRG into even offsets (PRGe) and then use two 157 to separate 16bit data line to even and odd 8bit data line :
M27C322 --> PRGo PRGe PRGo PRGe ....
D0~D7 --> PRGo
D8~D15 --> PRGe

174 latches the signal generated by game selection menu to run a desired game. I have this special menu from my Kunio 8 in 1 and I can use it to make this cartridge but all games must be TGROM!

User avatar
kyuusaku
Posts: 1665
Joined: Mon Sep 27, 2004 2:13 pm

Post by kyuusaku » Sun May 06, 2012 11:59 pm

Image
FARID wrote:Maybe this conversion is hard but it is the only way to redesign a simple hardware.
No it is not, if you reread this thread you'll see it discussed.
I will use a tool to put 3 PRG into odd offsets (PRGo) and 3 other PRG into even offsets (PRGe) and then use two 157 to separate 16bit data line to even and odd 8bit data line :
M27C322 --> PRGo PRGe PRGo PRGe ....
D0~D7 --> PRGo
D8~D15 --> PRGe
You don't get it, it won't work. If you want to waste your time, money and possibly damage your hardware go ahead, but I'm telling you a '157 is unsuitable. Please read more about digital logic and computer buses before building your circuits. Funny that this is the second misinformation about interfacing with the data bus in this very thread.
174 latches the signal generated by game selection menu to run a desired game. I have this special menu from my Kunio 8 in 1 and I can use it to make this cartridge but all games must be TGROM!
I understand, but just because your other game uses a '174 doesn't mean you have to use it. I was suggesting that another chip would be more suitable.

Kunio games are completely different than Rockman games, if I remember correctly they are all a uniform size--1M/1M. Because of this there is more to it than adding a selection register, you must FIX the mapping with extra logic which you make no mention of. You also don't make any mention of decoding the register; as I suggested earlier the "free" way is through the MMC3's WRAM decoder, but it's possible you may have to hack around any sort of copy protection which accesses $6000-7FFF.

There is very little reason to reuse your Kunio menu as it will need an overhaul no matter what.

80sFREAK
Posts: 275
Joined: Sat Sep 03, 2011 11:40 pm

Post by 80sFREAK » Mon May 07, 2012 11:52 pm

FARID wrote:
If someone can convert Rockman 3 and 5 from TLROM to TGROM
What for?
2) You must mean a 74'257, because a '157 does not have 3-state drivers for interfacing to a data bus.
No, it's for control some address lines of CHR(PRG)ROM. '157 is ok for that, but better to use another IC.
Actually i almost finished schematics for this mapper according to MotZilla's description. Just want to minimize amount of IC's.
Feel free to ask questions :D

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

Post by FARID » Tue May 08, 2012 7:58 am

80sFREAK wrote:
FARID wrote:
If someone can convert Rockman 3 and 5 from TLROM to TGROM
What for?
To omit at least CHR-ROM.
Feel free to ask questions
How many ICs do you use?

User avatar
kyuusaku
Posts: 1665
Joined: Mon Sep 27, 2004 2:13 pm

Post by kyuusaku » Tue May 08, 2012 10:30 am

80sFREAK wrote:No, it's for control some address lines of CHR(PRG)ROM. '157 is ok for that, but better to use another IC.
"2 * 74HC157 --> Data line separator"

"and then use two 157 to separate 16bit data line to even and odd 8bit data line"

And actually if it were to control address lines (UNROM) '157 would be appropriate since it's more common than OR gates.

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

Post by FARID » Tue May 08, 2012 12:23 pm

kyuusaku wrote:
80sFREAK wrote:No, it's for control some address lines of CHR(PRG)ROM. '157 is ok for that, but better to use another IC.
"2 * 74HC157 --> Data line separator"

"and then use two 157 to separate 16bit data line to even and odd 8bit data line"

And actually if it were to control address lines (UNROM) '157 would be appropriate since it's more common than OR gates.
Why do you think it is not possible? I know this method isn't common but it doesn't mean it is not possible at all. I will test it for sure, whenever I get some free time.

User avatar
l_oliveira
Posts: 404
Joined: Wed Jul 13, 2011 6:51 am
Location: Brasilia, Brazil

Post by l_oliveira » Tue May 08, 2012 12:34 pm


80sFREAK
Posts: 275
Joined: Sat Sep 03, 2011 11:40 pm

Post by 80sFREAK » Tue May 08, 2012 5:21 pm

FARID wrote:
80sFREAK wrote:
FARID wrote:
If someone can convert Rockman 3 and 5 from TLROM to TGROM
What for?
To omit at least CHR-ROM.
You don't need it.
FARID wrote:How many ICs do you use?
8 at moment. It's a lot, i would like to cut amount, but i don't think it's possible without patching menu. If patch the menu - 1 less.

This glob-top mapper can contain some other functions for other multicarts, but only decapping can proove it.

2 kyuusaku, right, that's made me double facepalm.
FARID wrote:Why do you think it is not possible? I know this method isn't common but it doesn't mean it is not possible at all. I will test it for sure, whenever I get some free time.
Why do you need 16bit data? :?

tepples
Posts: 22143
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Tue May 08, 2012 6:17 pm

kyuusaku wrote:And actually if it were to control address lines (UNROM) '157 would be appropriate since it's more common than OR gates.
Thanks. Added to the wiki page. More ways to implement the same function are always appreciated.

Post Reply