Hey guys, I was wondering if anyone could help me figure out and fix a pirate nintendo cart I have. It used to work great a few year ago and I have recently listed it on ebay after doing minimal testing. I tried it in an old nes and it booted right away and didn't really do any further test. Now I figured I would play a game or two before packing it to ship and found out that it has a weird scrolling issue. I have contacted the buyer and he is willing to wait a bit and see before canceling the transaction.
After opening it up (and wondering how it ever worked in the first place with that kind of solder job:)), I redid a few solder joint as there was gaping hole without solder around the chip legs connection but still no go. Only thing I could think of is those capacitor that look like they were added halfway during manufacturing and soldered by monkey.
What do you guys think?
Here some pictures of the board:
http://www.skinnyv.com/Cart/
And here's a video of the scrolling issue I am referring to:
http://www.youtube.com/watch?v=_lFj5DJlcOY
It's not only because I want to sell it but also because I would be sad to see this cart thrown out as it was pretty hard to find in the first place.
Thanks for your help![/code]
SkinnyV wrote:
http://www.youtube.com/watch?v=_lFj5DJlcOY
It's a mirroring issue. If you open the game in FCEUX, open the name table viewer, and change the mirroring from "vertical" to "horizontal" or "single screen" as soon as the level starts, you get the exact same behavior as shown in this video.
Why this happens is beyond me, specially considering that the game used to work. I would start by checking what's being fed to the CIRAM A10 line (pin 18 on a Famicom cart, 22 on a NES cart), which is the line that controls mirroring. This game uses a mapper with mirroring control, so logically there should be a connection from the mapper chip to this pin. Check that connection carefully to see if there's anything wrong with it.
Tokumaru beats me to it. Mirroring issue.
Thanks for the head up guy, I'm trying to look carefully at these line but for now not much was found except that there is a possibility that it goes to one of those chip with capacitor soldered to. How likely is it for a capacitor to stop working or be defect? Those are labeled 471 on the cart PCB, I have pulled out very similar capacitor from an old piece of electronic to try to replace them but they're listed as 47 but look exactly the same, I don't supposed I could replace them with those right?
Resistors and capacitors are beyond my level of knowledge. As a programmer, I can only understand basic digital electronics, which means I understand the functions of the ICs and why they are wired together the way they are, but I have no idea what capacitors and resistors are for and why the ICs can't do the job by themselves.
The only thing I can tell is that there's something corrupting the CIRAM A10 line. Hopefully someone with better understanding of electronics will be able to help you.
471 = 47x10^1 = 470nf capacitor
These are ceramic capacitor. These usually don't break, so don't ever try to replace it
I appreciate the help guys but seem I'm at a loss... I'll keep looking at the board, i just don't understand what triggered this issue as it was mainly in a closet for the past 7 years and i remember playing with it when i found it at a pawn shop as a young nes collector:)
Could it be something on the integrated 60 to 72 pin adapter? There's a few resistors and about 2 three legged black component on it... I doubt there related to the A10 wram/chr line but i was really hoping to find something wrong easily fixable
These resistors, capacitors and transistor are a CIC stun circuit, used to lock the CIC thus allowing the user to play unlicensed NES/FC games
What game it is?
EDIT: Can you try to remove that resistor on the adaptor?:
http://www.skinnyv.com/Cart/adapterfront.JPG
The leftmost one. That's the only thing strange on the adaptor, as the other components have no connection with the CPU nor the PPU
The game is bio miracle Bokutte upa. I'll try removing the resistor but it used to work with it so unless it is defective which would be surprising for a resistor, I'm not holding my hope's up...
Tried to remove the left-most resistor and it just messed up the CIC stun circuit, the game would boot to the title screen and contently reset until I soldered it back.
I have also just noticed the game is different than the official konami version (never tried the official one before). There is a level selector on the title screen that you control with the Select button and it boot straight to the title screen, no Konami logo or anything. I wonder if this was ever dumped.
socram8888 wrote:
471 = 47x10^1 = 470nf capacitor
These are ceramic capacitor. These usually don't break, so don't ever try to replace it
Actually that'd be a 470
pF cap, but it definitely isn't the cause of the problem. It's a broken trace to VRAM ("CIRAM") A10.
I'm still fiddling with the cart but so far, no luck. I managed to corrupt all the GFX after redoing some solder connection that seemed to separate from the board trace and the mirroring effect seemed to be gone for one boot while GFX were scrambled but the minute I resetted the nes it came back. I fixed the GFX issue for now but it is hard to see where the a10 line goes since it get lost under the massive number of chip used to simulate the VRC IV mapper.
But the more I played with this cart while trying to fix it, the more interested I became in it as it turn out it is different than the official konami FDS and subsequent cart release. It has the level selector and no difficulty setting and it also include the baby animation near the game title as seen in the FDS rom and not on the cart release. Now I'm trying to find a way to dump the PRG and CHR while trying to fix the mirroring issue. Funny that I had this cart for almost a decade and never really knew about these differences.
Edit: Found some info about it from kevtris, seem it use Mapper 42:
http://kevtris.org/mappers/single_pirates/BTL_BioMiracleA.html
I wonder if he ever dumped it...
Post clear pictures and it will be clear which chip it connects to. The signal source will be a multiplexer.
I'll have to find my multimeter, my brother borrowed it and never brought it back:) I'll try to trace the A10 live after that and see finaly what is causing the mirroring issue. It's getting personnal between that cart and me, I just want it fixed lol
I wasn't able to fix the issue yet and it's frustrating. But I'm curious, Kevin Horton's page on the same pirate cart describe the cart as using 128k ROM and 8K Ram. I was wondering how it was working... Does the main rom contain both the PRG and CHR and transfer the CHR data to the ram when you turn on the nes? I thought all nes cart were the same with 1 PRG and 1 CHR chip. Does it mean this cart's CHR is only 8k or does it transfer chunk when needed and refresh? And since I am interested in having this dumped in the future (since it's different than any other version available), let's say I complete the pin out of the rom chip which would be pretty easy (already did about 7 address line), would I be able to just read the content of the chip with a eprom reader and voila or the data would be mixed up because the mapper wouldn't have organized the data? And if i was to try to dump it, what chip profile could i use to read it ? Most 128k rom chip i know are in 32 dip package and not 28. Do you guy know of any supported chip (for a willem reader or the like) that is 128k and 28 pin?
SkinnyV wrote:
Kevin Horton's page on the same pirate cart describe the cart as using 128k ROM and 8K Ram. I was wondering how it was working... Does the main rom contain both the PRG and CHR and transfer the CHR data to the ram when you turn on the nes?
Yes. Contra, Zelda, Metroid, and Battletoads do the same thing.
Quote:
Does it mean this cart's CHR is only 8k or does it transfer chunk when needed and refresh?
Whenever the PPU isn't rendering, such as between one frame and the next or when the screen has been blanked, the CPU can replace chunks of data in the CHR RAM. The wiki has a
page explaining CHR RAM if you're curious.
SkinnyV wrote:
Does the main rom contain both the PRG and CHR and transfer the CHR data to the ram when you turn on the nes?
Yes. This is called CHR-RAM, and a lot of NES games are like that.
Quote:
I thought all nes cart were the same with 1 PRG and 1 CHR chip.
Yes, but the CHR chip doesn't have to be ROM, it can be RAM.
Quote:
Does it mean this cart's CHR is only 8k or does it transfer chunk when needed and refresh?
Games are free to rewrite the CHR-RAM as they please, as long as they do it during VBlank or with rendering turned off.
Quote:
And since I am interested in having this dumped in the future (since it's different than any other version available), let's say I complete the pin out of the rom chip which would be pretty easy (already did about 7 address line), would I be able to just read the content of the chip with a eprom reader and voila or the data would be mixed up because the mapper wouldn't have organized the data?
Yup. ROMs of games that use CHR-RAM only have the iNES header followed by the PRG-ROM dump. Each game organizes the CHR data differently, it can even be compressed to save space.
Quote:
And if i was to try to dump it, what chip profile could i use to read it ?
I'm not sure if there's any compatible chip you can use...
http://www.datasheetarchive.com/pdf-dat ... 22857.html
In theory you could read it with a programmer, I don't think it's very common for them to have mask ROM algorithms though.
Data is probably not scrambled/"swizzled" (this is not a function of a mapper). If it is, you could always reverse it by tracing the pins back to the cart edge (mapper pins might be a little ambiguous) and asking someone to deswizzle it.
One thing to point out though is that this game is probably already dumped.... It's mapper 42:
http://nocash.emubase.de/everynes.htm#m ... tmariobaby
Looked @
http://www.skinnyv.com/Cart/chipside.JPG
99.99999% sure the signal source will be one of the 74LS00 built into a 1-bit multiplexer so that's where to focus your attention. It looks like the lower right one but not entirely clear from the solder side traces. Remember it's
VRAM A10, not A10 to the CHR RAM. Pin 18 of the FC cart connector.
If the 7400 (multiplexer) checks out, move back to the 7474 (one FF will be the mirroring register), if the 7474 checks out move back to the 139 (decodes the register).
Thanks guys, I got to say the reply and wiki was all a very interesting read! As for the game being dumped already, I couldn't find anything except for the mapper information on kevin horton page. I guess I'll try to check again on the good nes list or something as I wouldn't want to waste energy on something that would have already been dumped. Does Kevin has the habit of dumping the pirate cart he's working with?
As for the cart, I'll keep fiddling with it, I hate seing a good cart going to waste. I tought I had found the issue when I noticed one of the solder point and trace around a chip legs lifted from the pcb but sadly it wasn't the cause of the mirroring issue.
SkinnyV wrote:
Thanks guys, I got to say the reply and wiki was all a very interesting read! As for the game being dumped already, I couldn't find anything except for the mapper information on kevin horton page. I guess I'll try to check again on the good nes list or something as I wouldn't want to waste energy on something that would have already been dumped. Does Kevin has the habit of dumping the pirate cart he's working with?
As for the cart, I'll keep fiddling with it, I hate seing a good cart going to waste. I tought I had found the issue when I noticed one of the solder point and trace around a chip legs lifted from the pcb but sadly it wasn't the cause of the mirroring issue.
The whole point of mapper reverse engineering is of course to dump the ROM (usually without removing said ROM from the PCB, though in very rare cases I have removed and dumped a ROM... usually to confirm some theory or whatnot). Then I usually write a mapper document so that it can be emulated. I always use copynes for this, so that means there is usually a mapper plugin for it also to dump the cartridge without having to take it apart or desolder anything.
Anyways, you asked in an email about what kind of ROM it is. I'm pretty sure it's a 28 pin, 128K byte ROM chip. This will not be easily dumpable using an EPROM programmer unless it supports dumping these kinds of ROM. My EPROM programmer (ancient thing) has a setting called "23C1024 MASK ROM - dump only" which allows it to dump these ROMs.
They have the same pinout as a 27512, except /OE is turned into A16. This means they only have a single enable in the usual place where /CE is on a 27512. A0-A15 and D0-D7 all are on the same pins as on a 27512.
one way to dump them is to gently bend A16 (pin 22) out a bit so it doesn't go into the programmer socket, then solder a wire from that to ground (pin 14) dump as a 27512, then move the wire from ground to VCC (pin 28) and dump it again. This will give you two 64K dumps. put them together (A16 grounded + A16 at VCC) to form a single 128K ROM.
kevtris wrote:
one way to dump them is to gently bend A16 (pin 22) out a bit so it doesn't go into the programmer socket, then solder a wire from that to ground (pin 14) dump as a 27512, then move the wire from ground to VCC (pin 28) and dump it again. This will give you two 64K dumps. put them together (A16 grounded + A16 at VCC) to form a single 128K ROM.
I was gonna suggest this, but I though the idea was too crazy. I'm glad to see someone with actual hardware knowledge saying this.
I guess that if you don't want to bend any pins you can put a socket between the chip and the programmer, and bend the socket instead of the chip.
That’s a very cool work around Kevin, thanks for the information, this pretty much answer my question! As for the game being dumped, I'll have to look further because I couldn't find a mention about it online. If you did dump it, I don't see the point on doing it again if not as a learning experience: D I got to say, this board is full of very knowledgeable and helpful people. Sometime I wonder where all of you nintendo genius work at during the day and if the experience you got from those nintendo project give you some kind of edge in your field.
Edit: Ok, I guess I found it on goodnes.db, I wonder why people are not trying to make repro with that ROM instead seeing as it only require a couple of TTL logic chip. I'm confused because I saw that thenesdump.com are doing a repro using mapper 5 and I didn't think it would be possible to make repro using an american cart for a game that was using VRC 4.
Major breakthrough, I had desoldered the prg yesterday to trace back some of the address line and re soldered it today seeing as this was already dumped by Kevin and, low and behold, the mirroring issue was gone! But here where it get weirder, I didn't have time to get too excited before noticing the scrolling issue come back once I use the build it level selector! But if I progress normally to the second stage for example everything is ok. I switch to level 2 with level selector and bam, mirroring issue again. I'm baffled.
The only possibility is that it was a CPU data line passing through a PRG ROM via. The data bus feeds the 7474 register which feeds the MUX (likely 7400) which feeds VRAM A10. As for the new problem, the hack could have a bug.
Thats could not be a bug, it used to work without issue before. The pcb and trace are old and I tried to make sure all the trace connect to the prg leg and it appear to work now but every once in a while it come back after a few reset but goes away after a hard reboot.
A hard reset will typically reset a flip flop, perhaps putting it the correct state. It's hard to believe the cart has so many problems, it's a rather straight forward design.
Hehe I decided to do probably what many people were thinking and just quit it, I wouldn't feel good selling it since it seem to be working and then not working and I figured no pirate cart is worth that much trouble (specially not for the high bid of 71$ I got for it). I wasted too much time trying (and more importantly, wasted yours!) to get it to work, we almost managed to fix it but it's not 100% so I would feel dishonest to sell it. The game is fun but at this price people can easily get a repro. I'll desolder everything and maybe use the cart to learn a bit like try to copy the pcb in eagle and make it accept 32 pin eprom and who know, maybe try to reproduce the mapper on a CPLD as a learning project. I just wanted to thanks you all for all the help, it was very much appreciated and I managed to learn alot just by reading all your answer and fiddling with it and that's probably worth 70$!
Rest in peace venerable pirate Japanese cart! You fought well till the end!