Page 1 of 2
SMB2j problem (compatibility?)
Posted: Tue Nov 23, 2010 2:53 pm
by horseboy
I made a copy of SMB2j with Loopy's MMC3 hack for a buddy of mine. I tested it on my Yobo famiclone and Retro Mini handheld. Everything was working great. When he got the game he said it didn't work. I figured the USPS soccer team must have chucked it around and broken something, so I sent him a new one. Same thing. They both show the exact same thing. This is what shows up on his toaster NES...
And this on his FC Twin...
He opened one up and sent me some pics. Nothing appears to be broken. I used a 27c128 for the CHR and a 27c1001 with the data doubled up for the PRG. Am I missing something? Are there compatibility issues? I can't imagine it would work on my 2 famiclones and not work on a legit NES. The funny thing is that he got a copy of Tecmo Super Bowl 2011 from me and it works great. Seems pretty silly since they basically use the same board.
Any help would be greatly appreciated.
Posted: Tue Nov 23, 2010 4:52 pm
by tepples
Does Loopy's mapper hack write to all 8 bank registers before executing outside $E000-$FFFF? To check for this, run it in a debugger and trap writes to $8000-$9FFF. Writes to even addresses choose a bank number (0-5: CHR banks; 6-7: PRG banks), and writes to odd addresses change that bank.
Posted: Tue Nov 23, 2010 5:07 pm
by 82atari5200
You have to use a 27256 instead of the 27128. and double up the file.
Posted: Tue Nov 23, 2010 6:45 pm
by horseboy
82atari5200 wrote:You have to use a 27256 instead of the 27128. and double up the file.
Why is that? That is strange because it worked just fine on my Yobo and Retro Mini. I am not doubting you here, just curious.
Also, on a side note, is there any reason you can't use a 27c512 for the PRG? The pinouts seemed like it should work just fine, but when I tried it it didn't work. Then I doubled it up and put it on a 27c1001 and it worked just fine.
Posted: Wed Nov 24, 2010 12:30 am
by jpx72
I am using 2 flash eproms 128kb each and have no problem running it...
Posted: Wed Nov 24, 2010 8:02 am
by horseboy
I have no problem using a larger EPROM for the CHR if that is the problem. I just don't understand why it worked perfectly on my two famiclones and doesn't work on either of his units?
Posted: Wed Nov 24, 2010 5:45 pm
by marvelus10
Maybe his unit it dirty!
Posted: Wed Nov 24, 2010 7:41 pm
by horseboy
marvelus10 wrote:Maybe his unit it dirty!
Brand new 72 pin on the toaster. He tested both units with several other games. All games work great except these.
Posted: Thu Nov 25, 2010 12:27 pm
by marvelus10
Im runnnig mine on a NES-TS-ROM-03 both CHR and PRG are on 27c1001's. Using Loppy's hack.
Has he sent them back to you, to retry on your systems again.
Posted: Thu Nov 25, 2010 8:30 pm
by horseboy
marvelus10 wrote:Im runnnig mine on a NES-TS-ROM-03 both CHR and PRG are on 27c1001's. Using Loppy's hack.
Has he sent them back to you, to retry on your systems again.
They are on the way. It would be amazing if they broke the exact same way in transit though. Can anybody give me a reason why a larger EPROM needs to be used? This is just driving me nuts.
Posted: Thu Nov 25, 2010 9:47 pm
by tokumaru
Isn't it possible that the EPROMS were screwed up by some X-Ray machine or something?
Posted: Thu Nov 25, 2010 10:02 pm
by horseboy
tokumaru wrote:Isn't it possible that the EPROMS were screwed up by some X-Ray machine or something?
I guess so. I have just been working off the assumption that
82atari5200 was right when he said a 27c128 wouldn't work for the CHR. It certainly seemed strange to me though since 2 different copies worked on my two famiclones using a 27c128.
Posted: Thu Nov 25, 2010 10:10 pm
by tokumaru
Yeah, that size thing doesn't make much sense to me either...
Posted: Tue Dec 07, 2010 9:17 am
by horseboy
tokumaru wrote:Yeah, that size thing doesn't make much sense to me either...
Well, as crazy as it sounds, it appears to be the case. I got the two games back yesterday. I tried them on my Retro Mini in the car and they both worked great. When I got home I tried them on the toploader and got the same garbled junk as the picture he sent me.
I made a new one last week using a 27c1001 instead of 27c128 for the CHR and it works great on the famiclones and the toploader. So, I have the answer to the question, but I don't have an explanation for the answer. Does anyone have an explanation as to why this is the case? The craziest part to me is the fact that they work on some famiclones and not an original NES.
Anyhow, thanks for the answer guys. I appreciate it
Posted: Tue Dec 07, 2010 10:31 am
by kevtris
horseboy wrote:82atari5200 wrote:You have to use a 27256 instead of the 27128. and double up the file.
Why is that? That is strange because it worked just fine on my Yobo and Retro Mini. I am not doubting you here, just curious.
Also, on a side note, is there any reason you can't use a 27c512 for the PRG? The pinouts seemed like it should work just fine, but when I tried it it didn't work. Then I doubled it up and put it on a 27c1001 and it worked just fine.
if there's only 16K of CHR, you can indeed use a 27128. You do not need a 27256. Be that as it may, a 27128 has a pin on it that is most likely causing the problem. This is pin #27, the /PGM pin. A 27256 has A14 here.
So, the fix is to cut the route going to pin 27, and solder pin 27 to pin 28 (VCC). This will get the chip out of programming mode and probably make it work properly.
Pulling /PGM low will not erase or reprogram the part, however, unless you have 12.5V or whatever it needs to program on pin 1. It just won't work right until you pull it up to 5V.
Incidentally, you should always pull VPP (pin 1 on a 2764, 128, or 256) to 5V also. Some EPROMs do weird stuff if you do not pull VPP up. So if you pull /PGM and VPP to 5V, a 27128 SHOULD work.
The only other caveat that might be causing an issue is the speed of the CHR bus. Make sure your EPROM is rated for 150ns or faster to be sure.
(I was thinking this because the clone system might not multiplex the CHR bus either at all, or in the same way a real PPU does.)
as a final note, whatever happens when /PGM and VPP are not properly connected tends to be brand-specific. Like, an intel EPROM might behave different from a TI one. The only sure way to have them all work the same is to pull both of those pins high.