Extra Mario Bros. MMC3 Problem [SOLVED]

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
Ice Man
Posts: 530
Joined: Fri Jul 04, 2014 2:34 pm

Extra Mario Bros. MMC3 Problem [SOLVED]

Post by Ice Man » Mon Mar 12, 2018 2:01 pm

Link: https://www.romhacking.net/hacks/369/

Usually I don't have problems when making reproductions but this game is giving me a headache.
I've seen the game for sale on other sites so it has to work on the hardware somehow.

I've started with a HVC-TLROM-03 board (MMC3B, no PRG RAM). Game can be dumped perfectly fine with Kazzo and all bytes are equal when comparing to the original file.
Game doesn't boot inside my Famicom.

Upgraded the board to TSROM by adding a PRG RAM and connecting it properly like it is on a TSROM board.
PRG RAM /CE to MMC3 Pin 30
PRG RAM +CE to MMC3 Pin 41
PRG RAM /WE to MMC3 Pin 42
and all other connections like they usually are...
D0-D7 -> PRG D0-D7
A0-A12 -> PRG A0-A12
Game still doesn't boot.

Even replaced the MMC3B with a MMC3A just to test if that would make any difference.
It didn't. Still not booting.

I'm clueless as why it's not working. Any help appreciated.
Last edited by Ice Man on Wed Mar 14, 2018 8:21 am, edited 1 time in total.

User avatar
Posts: 7818
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada

Re: Extra Mario Bros. MMC3 Problem

Post by rainwarrior » Mon Mar 12, 2018 2:31 pm

In my experience it runs on PowerPak, but the music tends to have a problem at the start because of uninitialized memory being used (relying on 0s). I don't know if those uninitialized values could cause further problems with specific values (i.e. maybe you got unlucky with your hardware's SRAM), but that's the first thing I'd check.

So for starters, maybe try and patch in an initialization routine. Set all RAM to 0, and maybe clear all the MMC3 registers while you're at it? (I think it at least initializes MMC3 correctly, but I haven't thoroughly verified this.)

User avatar
Posts: 920
Joined: Thu Sep 15, 2016 6:29 am
Location: Denmark (PAL)

Re: Extra Mario Bros. MMC3 Problem

Post by Sumez » Mon Mar 12, 2018 3:17 pm

If uninitialized RAM is the issue, I believe some emulators do a good job at replicating that issue. I think Nintendulator is one?

Posts: 719
Joined: Sun Jun 12, 2011 12:06 pm
Location: Poland

Re: Extra Mario Bros. MMC3 Problem

Post by krzysiobal » Mon Mar 12, 2018 4:05 pm

Reset vector points at $8000, which is not known state on start.

I put initialization routine at $fef0, try this patch.

Btw1. When I set random RAM fill in emulator, it does not start every single run, so probably is should also be fixed.

Btw2. This game does not use IRQs, so maybe choice of MMC3 was quite waste.
Extra Mario Bros [fix, apply over Extra Mario Bros].ips
(33 Bytes) Downloaded 396 times

Ice Man
Posts: 530
Joined: Fri Jul 04, 2014 2:34 pm

Re: Extra Mario Bros. MMC3 Problem

Post by Ice Man » Tue Mar 13, 2018 12:13 am

Thanks everyone.
Thanks krzy. I will try the patch and report later.

Also good to know the game doesn't use IRQ. I set a breakpoint at $C001 and it was set to zero. That's where my thought came from but it was probably wrong anyway. :P

EDIT: Replaced PRG ROM with your fix and the game seems to work fine, even without PRG RAM.
Should I still add one just in case? Regardless, thanks alot!

Post Reply