hello,
this is actually my first post, although i've been reading through the forum for a little while now. i am going to be attempting some of my first cart repros, and i have a few basic questions.
first of all, what is the best resource to get chips to use for installation on donor carts? will the EPROMS on RetroZone work with donor carts without any pinout modifications? I'm just trying to avoid any cutting of traces/wiring for my first few tries, going to keep it as simple as possible. I know every chip is different, but I am going to try some MMC1 stuff first. I might give the mario cloudz project as a first try as well, but would prefer something slightly more advanced.
secondly, I have used readnes to extract the PRG and CHR files from the roms I would like to use. In doing so, does this program also remove the header? I've tried ucon64 as well, and sometimes the file sizes vary by a few KB, perhaps there is some padding still there? Are there any ways to do this?
another question I was wondering about was rom files that when extracted produced results such as the following: 128KB for PRG, and 0KB for CHR. Is there no CHR RAM being used in this case? Has anyone made carts running into this kind of thing?
one more quick question. if i were to use the MMC1 board from RetroZone, how do you choose which WRAM chip to use for each specific game?
sorry for such a long post, but I've been thinking about this for a while and tried to cover everything I wasn't quite getting. Forgive me if these are redundant questions, I'm still slightly new to this.
Thanks,
Brian
You can get EPROMs from anywhere. Unless you use the RetroZone reproduction boards, you WILL have to rewire unless it's something like a mapper 0 (NROM) game. If you get a RetroZone reproduction board then it is already configured to take an EPROM or FlashROM. This makes it alot easier for you.
Your PRG and CHR files should be an EXACT chip size. I.E. an exact 128KB, 256KB, 512KB. Also not every game has a CHRROM file. Some games use CHR-RAM. This means that you need to use a donor board that has CHR-RAM.
It's importantly to consider alot of things when you get a donor board as the game you want to build a repro of needs to be a certain board. Just because a game is MMC1 and the game you want to put on there is MMC1 is not enough. There are other important things to consider.
http://www.nesdevwiki.org look for TxROM, SxROM. These will show how MMC1 and MMC3 games use a variety of different boards.
For your first reproduction you might want to get a board from retrozone that is already designed to use EPROMs. But aren't you forgetting something important? An EPROM programming device. Make sure you get a good one.
Thanks alot for the fast reply!
I have seen alot of EPROMs online, but wasn't sure if there were variations on them. I think I may try to use a RetroZone board first if it makes things easier.
I was using this document: [
http://emu-docs.org/NES/Mappers/nesmapper.txt ] to try and match up all specifications for the donor cartridge hoping that it would make things easier (ie: CHR/PRG sizes and correct mapper). I just found it confusing, because if I have a rom that uses CHR ram, the CHR file that is outputed when I split my NES file would be 0kb. Does that make sense?
I will definitely read the Wiki about TxROM and SxROM so I can get a better understanding of how the mappers work. That is really the hardest thing to grasp right now.
I have seen a few suggestions on here for an EPROM programmer, and was considering a Willem since they seem to be easier to use. I tried out the software as well and things didn't seem that complicated.
Thanks again.
Well you do need specific EPROMs. You want to make sure they're 8-bit eproms of the same size the game requires or you could use twice the size chip and duplicate the data if you must.
I don't have the part names on had, but typically you need 128Kb (1 MegaBit) and 256Kb (2 MegaBit) EPROMs as those are the most common size ROMs in NES games. If you buy EPROMs from RetroZone you can be sure you get the right kind.
If the CHR file generated is 0KB that is probably because the program was designed to do that if the game was CHR-RAM. Or more likely the program just reads how big the CHR-ROM is from the header and that is going to be 0 in CHR-RAM games.
If you get a Willem EPROM programmer, be sure you buy an actual Willem brand and not a clone. Also you may want to buy the newer USB version.
Okay, thanks a lot for the advice!
The programmer I ended up getting was an actual Willem but not completely USB, as they were a bit more than I wanted to spend. However, this one should be of good quality, and can program all the chips I need to use and more.
As far as EPROMS go, I think I'll just play it safe and buy the ones on RetroZone, at $2.50/pc they aren't that bad. I'll keep my eyes open for something in larger quantities for the future.
I believe that the rom we were discussing was indeed using a CHR-RAM, hence the CHR rom file being 0kb. Is this kind of rom still possible to use for reproduction carts? Or is the process too complicated? The cart is 128KB MMC1 with CHR RAM. How would one go about creating a repro cart using CHR RAM? Is the process that much different?
If you use the Retrozone MMC1 repro board, you just have to get a 8KB RAM chip and solder it in the correct place. Retrozone has the chip in their parts section.
CHR-RAM games are easier than repros that have CHR-ROM simply because you only have one ROM to program and solder. Although with a new board from Retrozone, you'll have to solder the RAM chip for CHR-RAM but eh, it's about the same. It's not difficult.
Building repros is not difficult really. You just need to know what you are doing and be decent at soldering. So if you plan ahead and are capable of soldering you'll be just fine.
Thats awesome, thanks a lot for all the info so far, it is much appreciated!
So you're saying that you only really need to worry about burning the PRG chip, because it will be using a CHR-RAM instead of the CHR-ROM.
So lets say I use an MMC1 board from RetroZone as you mentioned, and I solder my RAM chip and PRG chip into the board. Is that all that would be needed?
The only reason I ask is, because when I split the iNES rom file into it's different sections, the PRG file is 128KB, yet the .NES file is actually around 256KB. What happens to that extra 128KB? Wouldn't that data include something necessary for the cart?
What game are you splitting? Also if you load it into Nestopia and goto View > Image Info on the menu, it will tell you the PRG and CHR size. The files you get should be that size. It also will tell you if the game has CHR-RAM for certain.
There is a manual for the MMC1 retrozone board and you'll have to read it. There is more to solder than just the PRG and CHR.
If your ROM file is 256Kb your PRG and CHR should add up to that. If they don't something is probably wrong.
I'm actually trying to split a patched version of Super Mario Bros 2, with a Doki Doki Panic conversion IPS patch applied to it. I was also trying to do the SMB2 prototype rom, and it had similar properties.
Here is what Nestopia gave me under Image Info:
Quote:
File: smb2beta.zip <smb2proto.nes>
Directory: C:\Documents and Settings\Taskforce\Desktop\
Soft-patched: No
CRC: 52387646
SHA-1: D8B0D44821403CDED1318E4C279DDB17AE8B01F3
System: NES-NTSC
Board: SNROM, Mapper 1
PRG-ROM: 128k
V-RAM: 8k
W-RAM: 8k
Solder Pad: H:1 V:0
Battery: Yes
File: smb2proto.sav
Directory: C:\Documents and Settings\Taskforce\Desktop\Nestopia140bin\save\
Dump: Unknown
Yeah, I realize there are a few other points on the MMC1 to solder. I've read through the manual and it was pretty self explanatory. I was just unsure whether you had to write anything to the RAM chip or if you just soldered it in and made the other solder points to set it up for 8K or whatever.
Well if it runs in Nestopia and it says its 128K, then it "should" be alright.
And no you don't have to program the RAM chip.
yeah, I'll have to just give it a shot and see how things work out. Thanks a lot for all the replies, it is much appreciated to have helpful people on a forum like this (and willing to help us n00bz).
I was reading the NESdev wiki, but was still confused about some things. Some of the terms are still a bit technical and over my head without going in depth. Are there any good resources to learn about VRAM, CHR-RAM and other such things?
I don't know, but CHR-RAM and VRAM are related. VRAM is just Video RAM. Video RAM would include CHR-RAM in cartridges, as well as the 2K of PPU memory for NameTables inside the NES.
PRG-RAM is often called WRAM, sometimes called SRAM. It's RAM inside the cartridge.
i thought smb 2 was mmc3?
The final version is, but I have no idea about this "beta" business. I've never seen such a ROM. But since the game came from the Famicom Disk System, I don't see why an earlier prototype version couldn't have had MMC1 in mind.
The prototype used an MMC1, with CHR-RAM and 128K PRG-ROM (very similar to the original FDS version). The final version used an MMC3, with 128K PRG-ROM and 128K CHR-ROM. I believe the switch was made very late in development just so background animations and the extended ending sequence could be added; the CHR bankswitching code is at the very end of the ROM, and the few sprites that were updated to use animated tiles (such as the Albatoss) still use their original two frame animation data, but with both frames pointing to the same animated tiles. Both the PRG and CHR are rather sparsely populated and/or unoptimized in some areas due to the doubled ROM size.
(sorry for rambling, I've been picking the game apart over the past few days and now I can't get it off my mind...)
Thanks a lot for the added info! It's definitely really interesting to see the changes that occurred between the conversion of the FSD DDP to what became the final version of SMB2 and in between. It definitely helps now that I actually understand what all of that meant as well since I've been going crazy reading all about this stuff lately
.