Page 1 of 1

Extra Mario Bros. MMC3 Problem [SOLVED]

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

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.

Re: Extra Mario Bros. MMC3 Problem

Posted: Mon Mar 12, 2018 2:31 pm
by rainwarrior
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.)

Re: Extra Mario Bros. MMC3 Problem

Posted: Mon Mar 12, 2018 3:17 pm
by Sumez
If uninitialized RAM is the issue, I believe some emulators do a good job at replicating that issue. I think Nintendulator is one?

Re: Extra Mario Bros. MMC3 Problem

Posted: Mon Mar 12, 2018 4:05 pm
by krzysiobal
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.

Re: Extra Mario Bros. MMC3 Problem

Posted: Tue Mar 13, 2018 12:13 am
by Ice Man
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!