It is currently Tue Sep 17, 2019 1:23 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 10 posts ] 
Author Message
 Post subject: Fixing Chinese SMB2J
PostPosted: Tue Jan 29, 2019 12:01 pm 
Offline

Joined: Sun Jun 12, 2011 12:06 pm
Posts: 540
Location: Poland
I remember Ben Boldt talking about his newly actquired SMB2 Lost Levels cartridge, which was not working. Now I got five of them and none of them worked as well, so I become a little bit suspicious. I suspected them game to be loopy's SMB2J port from FDS to MMC3.
Image

The PCB looks overally quite elegant - there are place to solder PRG/CHR RAM/ROM, battery, mapper blob and a lot of jumpers underneath.
Image Image Image

After analysing the pinout of blob, it turned out to be exactly AX5202P but with few more pins added in between.
* CPU-A12, CPU-A2, CPU-A1
* PRG-A19 (?),
* CHR-A19 (?), CHR-A18 (?),
* VBAT, WRAM-VCC (just like in MMC5),
* some unknown signal going to jumper with VCC (closed),
* three unknown signals, each of them going to jumper with PPU-A13 (each of them is open),

There are a few more jumpers (each is open),
* connecting PRG-A14/A13 to CPU-A14/13,
* connecting CHR-A12/11/10 to PPU-A12/11/10,
* connecting CIRA-A10 to PPU-A11/10
Sounds like a simply way for NROM game without even adding mapper-blob.

-

Firstly I desoldered the EEPROMs and checked whether they work in emulator as MMC3 and they ran flawlessly. However, many bytes of PRG are diferent in comparision to the loopy's (some are for example zeroed). But there are still copyrights, so no idea what authors of the cartridge changed. So either mapper-blob is broken or any other issue.

-

Then I pre-programmed them with other MMC3 game (I choose Doki Doki Yuuenchi, it's my faourite one for testing) and it worked. Even the scanline counter was perfectly accurate. So either SMB2J triggers any unkown register in MMC3 blob or...

Well, Doki does not use PRG-RAM while SMB2J does, so maybe that's the issue? I checked the PRG-RAM chip to be be OK. So I started analyzing what's going on with the PRG-RAM-/CS line and well.. it looked freakingly weird.

Image

It turns out that the line is like open collector. That is, mapper only drives it low, but it is pulled-up to VCC by external 4.7k resistor (lowering the resistor to 470R made edges more vertical but still game didn't worked). And the few ns spike, caused by M2-/ROMSEL delay when accessing mapper registers at $e000-$ffff, produces slowly-rising signal that probably corrupts this fast 70ns RAM.

-

Firstly I thought of just adding a small capacitor to GND (but my experience is that results depends of the internal resistance of output). So much better was to add well-trusted circuit:

Code:
        VCC
         |
         1k
         |
mapper --+-|>|-+---+-- WRAM-/CE
         |     |   |
         +-1k--+  56p
                   |
                  GND


Resulting signal looked very promissing and indeed game started to work:
Image Image

-

So this will probably be issue with ANY MMC3 game that uses WRAM on this particular PCB.

Why they released such cartridge? Well, maybe they tested it with slower RAM. Here is 70ns which is one of the fastests ones, vulnerable to such short skipes.

For anyone trying to dump any of those cartridges: it watches for M2 and when it detect it to stop toggling, it disables any further writes to mapper register (and access to RAM)


Attachments:
apply_over_smb2j_mmc3_loopy.ips [1007 Bytes]
Downloaded 174 times
Top
 Profile  
 
 Post subject: Re: Fixing Chinese SMB2J
PostPosted: Tue Jan 29, 2019 6:44 pm 
Offline
User avatar

Joined: Sun Dec 12, 2010 10:27 pm
Posts: 352
Location: Hong Kong
I think they probably only tested the things with Famiclones. That's why they didn't work without fixing on the real consoles (maybe they're not supposed to work on original consoles anyway as they never expect someone to even play it with the real thing).


Top
 Profile  
 
 Post subject: Re: Fixing Chinese SMB2J
PostPosted: Fri Feb 01, 2019 4:37 pm 
Offline
User avatar

Joined: Tue Mar 22, 2016 8:27 pm
Posts: 346
Location: Minnesota, USA
Ohhhhh cool! I will try this. Actually I found a modified cartridge I made while digging through some junk, I wondered what it was and I put it in my NES and it turns out that it was already a SMB2J that I made already and I forgot about it........ But I will try this anyway. thanks


Top
 Profile  
 
 Post subject: Re: Fixing Chinese SMB2J
PostPosted: Fri Feb 01, 2019 6:59 pm 
Offline

Joined: Sun Jun 12, 2011 12:06 pm
Posts: 540
Location: Poland
Just don't forget there is one track cut under the diode.


Top
 Profile  
 
 Post subject: Re: Fixing Chinese SMB2J
PostPosted: Tue Feb 19, 2019 5:23 pm 
Offline
User avatar

Joined: Tue Mar 22, 2016 8:27 pm
Posts: 346
Location: Minnesota, USA
I finally got around to this, I modified the PCB, cutting the trace and adding the resistor, diode and cap. I used a BAT760 Schottky diode.

I had originally removed the ROMs from this board, directly dumped them, and reprogrammed with loopy's version of SMB2J, tried it, didn't work, removed the ROMs again, and that's where I left it before doing these mods today. Would you recommend using Loopy's or should I restore the original?

I noticed that the PCB fits in the case the same forwards and backwards! I will have to double-check as I put it back together.

Also, I believe that this game should support saving the number of times you beat the game -- have you tried the battery function of this board?


Top
 Profile  
 
 Post subject: Re: Fixing Chinese SMB2J
PostPosted: Thu Feb 21, 2019 10:06 am 
Offline

Joined: Sun Jun 12, 2011 12:06 pm
Posts: 540
Location: Poland
Loopy's version should work on those PCB without problem (tested).
You just need to repeat PRG/CHR content of the chips if the file is less than size of the chip.

I did not test battery backup (but the MMC3 mapper contained in glob respects PRG-RAM chip enable/disable and write protection bits).


Top
 Profile  
 
 Post subject: Re: Fixing Chinese SMB2J
PostPosted: Thu Feb 21, 2019 10:22 am 
Offline
User avatar

Joined: Sat Jul 04, 2015 9:58 am
Posts: 960
Location: -29.794229 -55.795374
That's interesting.
Are these cartridges from Aliexpress?
Did they come with 5v DIP ICs?


Top
 Profile  
 
 Post subject: Re: Fixing Chinese SMB2J
PostPosted: Thu Feb 21, 2019 1:27 pm 
Offline
User avatar

Joined: Tue Mar 22, 2016 8:27 pm
Posts: 346
Location: Minnesota, USA
krzysiobal wrote:
Loopy's version should work on those PCB without problem (tested).
You just need to repeat PRG/CHR content of the chips if the file is less than size of the chip.

I did not test battery backup (but the MMC3 mapper contained in glob respects PRG-RAM chip enable/disable and write protection bits).

Okay, will do. I think I will use an old small UV EPROM for CHR and save one of the flash ROMs from this.

Fisher wrote:
That's interesting.
Are these cartridges from Aliexpress?
Did they come with 5v DIP ICs?

Yes and Yes. :)

I broke a couple of the plastic tabs opening it. :? Also I broke a trace leading to one of the holes. Not so great quality materials.

You can get it here:
https://www.aliexpress.com/item/-/32805392727.html


Top
 Profile  
 
 Post subject: Re: Fixing Chinese SMB2J
PostPosted: Thu Feb 21, 2019 5:14 pm 
Offline
User avatar

Joined: Sat Jul 04, 2015 9:58 am
Posts: 960
Location: -29.794229 -55.795374
Thank you. :D


Top
 Profile  
 
 Post subject: Re: Fixing Chinese SMB2J
PostPosted: Wed Aug 14, 2019 4:31 am 
Offline
User avatar

Joined: Mon Feb 04, 2013 10:47 pm
Posts: 34
Location: NTDEC
Ben Boldt wrote:


board looks great to place another kind of softwares.
i am planning to make a bad apple cart with it. Thanks a lot ;D

_________________
The 100 Mega Shock


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 10 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group