Decode MMC3 PRG A16

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
Fisher
Posts: 1036
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Decode MMC3 PRG A16

Post by Fisher » Thu Sep 22, 2016 9:36 am

Well, I'm having a problem with a repro I'm trying to make.
The pirate board I've got is from a to The Earth donor and I'm having touble using bigger ROMs on it, no one was booting.
I tried a PRG ROM with Recca, surprisingly it boots and even plays (at least the 1st stage), but have garbled sound.
I tried to disconnect A15 from the ROM, the game did not boot.
With A15 connected I see no difference in connecting or not the A16 line to the ROM.
This lead me to suppose that the PRG's A16 line is not connected inside the epoxy blob.
I think it may not be possible or would be too complex to do, but I'll ask anyway: can the PRG ROM's A16 be decoded exernally??
I have not touched the CHR yet, but I suppose this should have the same problem.
I also tried other unconnected esternal "pins" from the epoxy blob, and got the same results or a not booting game.
Thanks in advance.

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

Re: Decode MMC3 PRG A16

Post by lidnariq » Mon Sep 26, 2016 9:16 am

We've previously made ways to add PRG A19 and A20 to a normal MMC3; you should be able to use something similar to repair a broken smaller-numbered address line.

User avatar
Fisher
Posts: 1036
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Re: Decode MMC3 PRG A16

Post by Fisher » Thu Oct 06, 2016 4:59 pm

That thread is cool!!
But I really need to learn a little more, so I can understand it better, thanks!
I could just exchange this game for an original board!!
That's amazing!!
But... I'm having trouble on my repro...

The donor board is a TEROM.
I've got the extra address lines (CHR A16, PRG A15 and PRG A16) from the MMC3, it's a MMC3A, date code 8913KP.
AFAIK this board uses the JEDEC standard pinout.
I'm trying to do a Double Dragon II.

I'll try to describe what's happening:
The game boots fine, but I get just the yellow II on screen.
When I start the game, the screen keeps flashing some random colors.
If I wait enough, the demo sound starts to play and show grabled graphics.
If I press any button, the screen flashes again a little and after I'm thrown to the second demo screen.
After the demo screens, the game freezes playing the last note with the screen flashing.
I waited around 30 minutes, and I supose the game has crashed.

Am I missing something in the wiring?
Does Double Dragon II uses something special? It's the 3rd time I try to do this game's repro and run in the same issues :-(
I tried some flashes I have with Bregalad's Contra Hack, Recca and Super Mario Bros 2, Contra and Recca seemed to work fine, Super Mario 2 crashed (I think it's because I have no SRAM onboard). I think this means that the overall rewiring is correct, but I just can't understand why DD2 has these issues.

Any ideas?? I even tried to lift MMC3's pins 1 and 16, tried the game's PRG0 and PRG1...
I'm just out of ideas... :-(

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

Re: Decode MMC3 PRG A16

Post by lidnariq » Thu Oct 06, 2016 5:03 pm

Sounds like a bad 'PROM ?
It shouldn't be even able to boot if the MMC3's fixed bank weren't working correctly.

User avatar
Fisher
Posts: 1036
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Re: Decode MMC3 PRG A16

Post by Fisher » Thu Oct 06, 2016 5:15 pm

Thanks!!
I'll try to write another flash with this game and see what happens.
Shoul I solder back pins 1 & 16?
Does PRG0 and PRG1 makes any difference?
According to Bootgod's site, PRG1 uses MMC3A.
Well, it should be PRG0, but comparing the crc32 I've found that it's actually PRG1, at least on my romset. Weird...

Edit: tried another IC, and 2 others.
Same result :-(
This is just ODD!!

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

Re: Decode MMC3 PRG A16

Post by lidnariq » Thu Oct 06, 2016 6:10 pm

Or maybe a rewiring mistake? I mean, the only thing that's necessarily true is that "game boots part way" means that "top 8 KiB of PRG are presented to top 8 KiB of NES CPU address space".

User avatar
Fisher
Posts: 1036
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Re: Decode MMC3 PRG A16

Post by Fisher » Thu Oct 06, 2016 6:28 pm

So, this means A15 and A16 are correct, also the Data bus and control bus, right?
So there are 15 pins that needs to be checked. Just about half of the IC :-)
The odd thing is that I even could arrive at Recca's 1st boss (he had no mercy :cry: ) and the waterfall stage on Contra.
I'll check it right now.

I think there's some vertical lines on screen too... this means some data line on CHR is bad?
I'm really not sure, because the DD2's CHR is still soldered on the PCB.
It's really weird to see part of DD2's 1st boss on Contra's 1st boss :lol:

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

Re: Decode MMC3 PRG A16

Post by lidnariq » Thu Oct 06, 2016 6:33 pm

Nah, it means that PRG A0-A12 (and D0-D7) are correct, and that PRG A13-A16 are high, but are not necessarily connected to the right thing. And that PRG/CE and PRG/OE are at least sometimes low, but not necessarily connected to the right thing either.

User avatar
Fisher
Posts: 1036
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Re: Decode MMC3 PRG A16

Post by Fisher » Thu Oct 06, 2016 7:14 pm

Had checked right now.
Seems just fine.
I'm out of ideas...

Hmm the adress scheme is like the opossite as I had tought.
Could you recomend me some good readings to learn more on the subject?
Thanks.

User avatar
Fisher
Posts: 1036
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Re: Decode MMC3 PRG A16

Post by Fisher » Fri Oct 07, 2016 8:02 am

Well...
I found a VERY odd behaviour!!

These are the tests results I've done on a pirate test board:
PRG ROM without CHR ROM -> game don't boots.
PRG ROM with wrong CHR ROM -> same problem as I have described.
PRG ROM with proper CHR ROM -> game works fine.

This seems to confirm that there's something wrong on the board's CHR side.
I'm really not imaginating the vertical lines. But, what could be causing them?
What can be causing these glitchs?? Some kind of software protection?? Miswiring?
I still can't find what's wrong on the CHR ROM, on the original board. I tested all traces and they seem fine.

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

Re: Decode MMC3 PRG A16

Post by lidnariq » Fri Oct 07, 2016 10:22 am

It's possible that the game is downloading non-CHR data from CHR-ROM... (goes and looks)

Yeah, the last 12 KiB of CHR-ROM contains something other than tiles.


Anyway, if you're having problems with vertical lines in the game ... especially if they flicker ... the cartridge is probably not making good contact with all the cartridge connector pins.

User avatar
Fisher
Posts: 1036
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Re: Decode MMC3 PRG A16

Post by Fisher » Fri Oct 07, 2016 2:51 pm

I tried to clean the contacts with an eraser, no diference.
They look pretty clean.
The lines are steady. Here are some pictures:
Title
Title
Dificulty
Dificulty
Players
Players
Have done continuity tests on the CHR ROM, seems fine too.
I'm out of ideas for now...

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

Re: Decode MMC3 PRG A16

Post by lidnariq » Fri Oct 07, 2016 3:00 pm

Well, looking at your pictures, there's clearly something going on PPU/CHR D5. (e.g. the letter "I" in your screenshots is missing the center column)

User avatar
Fisher
Posts: 1036
Joined: Sat Jul 04, 2015 9:58 am
Location: -29.794229 -55.795374

Re: Decode MMC3 PRG A16

Post by Fisher » Fri Oct 07, 2016 5:46 pm

That's it!!
D5 was making the problem.
I've found that some pins on this board that some times don't do proper contact.
If I try to use a GameGenie the game works fine.
Maybe the contacts are a little thinner and are not making proper connection.
Should I put some solder on them?
Maybe the connector is begining to show it's age... GameGenie usage helps it to wear a little, I think.

Thanks man!!
You're Great!!

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

Re: Decode MMC3 PRG A16

Post by lidnariq » Fri Oct 07, 2016 6:02 pm

Is this repeatable with other games?

If so, then it's definitely the cartridge connector. If you have a conventional NES front-loader, you could try using a tiny prying tool to make the contacts tighter again. (I just used a tiny flathead screwdriver and bent all the lower pins up a little bit. It works great now, I never need to retry an insert ... BUT I did slightly screw up one of the pins and occasionally need to fiddle with that one pin occasionally.

Post Reply