Hey all!

So I'm making a 2A03 based release, and I got inspired by the 2A03 puritans release to do a limited cart run, but I don't know how I would start.

How would I go about programming each cart to get the music onto the actual cart itself? Is there a specific method for creating them? What is the general process to produce or mod carts?

Thanks!
-Sam

nanode wrote:

Hey all!

So I'm making a 2A03 based release, and I got inspired by the 2A03 puritans release to do a limited cart run, but I don't know how I would start.

Hi,
what are you writing your tracks in? FamiTracker?

nanode wrote:

How would I go about programming each cart to get the music onto the actual cart itself? Is there a specific method for creating them? What is the general process to produce or mod carts?

(all of these steps also have a "B" option - ask someone nicely to do them :])

I'm assuming you have a final selection of tracks at this point and are just looking to put them on a cart.

1. Determine what mapper to use. Basically your cart is gonna have a ROM chip with the music data + replayer, but depending on how complex your album will be (# of songs, do you use a lot of different samples, etc...), things can be very simple or very complicated (on the simple end you'll get along with the simplest SMB1-like cart with two ROM chips, on the complex you'll need banking, worse yet, you might have to bank the track itself during playback, if you rely heavily on samples). Nesdev wiki is an absolutely necessary reference (for me at least, I forget / look stuff up again all the time)! Here's their page on mappers. For all other steps, nesdev will be your friend too, they even have a forum if you need to ask some technical question.

2. Prepare a .nes file that works in one of those "as exact as possible" emulators. If you're doing this by yourself, you'll probably have a basic knowledge how to translate that into actual hardware at the end.

This is the step where all the acutal programming goes on and is very dependent on the software you're using to make your music. It's also complicated and would require a longer description than one forum post. If you're new to this, here you'll either have to do a lot of learning or ask someone for help. Basically with famitracker, you get the replayer source and you can also export the raw data it understands. Then you need to write some song selection interface and spend lots of time frustrated because @##$% won't work still.

The .nes file actually describes what a real world cartridge contains, so in most cases, it's a 1:1 .nes -> hardware process afterwards.

(optional but very recommended: test with a cart like PowerPak, just to confirm your project actually works on a NES before writing 50 carts and finding out they don't work. Also remember to later test the first actual cart you make!)

3. You could find a matching game to sacrifice, but I'd say don't ruin old cartridges and buy new carts instead.
Last time I wanted to do stuff like this, retrousb used to sell new cart boards and cases, for some reason I don't see these on their website, but apparently infinite nes lives does that now. I don't have actual experience with them, but I see no reason not to try their stuff!

Apparently they even provide a ROM chip programmer, so that sort of saves me the trouble of writing step 4, that would be "get a ROM writer, blank programmable ROM chips, program them, solder everything".

Also note that the selection of available boards further reduces your mapper options!

After that, you're done.

I don't know how experienced you are with any of these steps, or if I didn't explain something clearly, so feel free to ask more in-depth stuff about anything. This is just a basic outline of what to expect and how I'd do a project like this.

Good luck with your project!

kvee covers the process very well. What I would add is if this is your first project on this scale, definitely reach out to the dev community at nesdev.com. As well, contact INL with your idea, he has helped produce and market several carts, http://www.infiniteneslives.com/products.php Not saying he will solve all the problems in creating a .nes but could help with the production run.
Rainwarrior coded the ROM for bitpuritans on the custom mapper created by INL. So if your primary interest is music, there are others that can help bring your vision to life.
Good luck,
Yogi

And hey, I've listened to some of your tracks and would love to help with this!
I can write the .nes targeting either a common mapper (I have a working MMC1 multi track proof of concept for ordinarily complex tracks) or even the NSF mapper #31 if required. PM me if you're interested! :]

edit:

Last edited by kvee (Sep 29, 2016 12:31 pm)