EDIT: some updates to this top post, since the information originally placed here is a little old:

The cartridges are in beta stage right now. The hardware is finalized, and software is nearing completion. A Famicom prototype is also in the works, but is not yet at beta stage.

The cartridges currently accept 3 games/programs, 2 NROM games and 1 MMC1 game. These can be loaded via USB from a PC while the cartridge is inside of the NES.

Feature list:
-USB reprogrammable flash cartridge
-512kb Flash PRG ROM
-8kb CHR RAM
-8kb battery backed WRAM
-stores up to 3 games, and software will eventually support more games as long as they fit in the Flash
-USB cable connects to 2nd player control port
-Supports upload and download of WRAM data (.SAV files)
-Can run independently of PC once programs have been loaded
-Supports NROM, NROM+CHR RAM, and MMC1 w/CHR RAM and battery backup
-PC side software is cross-platform (linux, mac osx, windows)

There are more features too, and as the firmware continues to be developed more will be added.

See a demo video here:

See pictures of the cartridges at various stages of prototyping/building:
(there are some irrelevant pictures in that page, but you'll get the idea)

Also, if you want lots of juicy technical details just read this thread.

The beta testing is currently closed, so please don't ask to beta test. The beta units are being made at $50 each, plus $6 shipping. Probably this will also be the final sale price. Kits will not be sold, however pre-programmed flash chips may be made available. DIY instructions and the code will also be made available as well when they are ready to be released. Lastly, this design may not be used for commercial purposes by anyone without the express written permission of its designers, Shay Green (Blargg) and Tony Fink (arfink).

Old info follows:

So, me and Blargg have been sharing ideas for a really cool new project which should be very helpful to the NES developer community and the chiptune community too. It's a new developer cartridge. The goal of our project is to produce inexpensive cartridges which can be easily reprogrammed by anyone with a USB-port equipped computer.

Here's the general idea of how these cartridges work:

A NES cartridge has two primary data banks on board: the PRG or program bank, and the CHR or graphics bank. Special cartridges also have an SRAM bank for battery backup. Our development cartridge will be built from an MMC1 game which has all three.

In the PRG bank is placed a FLASH chip containing a small program known as a "bootloader." It can "bootstrap" the system, which means two things: run code already stored in the battery RAM, or load new code via the controller port-USB cable. In the CHR bank is 8kb of battery backed RAM which can be changed at will, and there is another 8kb of RAM in the SRAM spot which can also be used for code. The sizes of these banks may be changed to be larger depending on how development of the hardware goes.

You connect to the PC by using a special USB to controller port cable. A program on the PC side will accept an iNES format ROM, check to see if it is an acceptable size and mapper to work on the cartridge, and then crunch all the necessary data down into a binary file which can then be transmitted via the cable to the NES for saving and execution on the cartridge. Of course, alternate boot code could also be loaded onto the device allowing for even more funky things, like live data transmission during code execution, or running the code directly from a PC instead of from the cartridge memory banks.

For starters, these cartridges will be able to run any NROM game. With some clever bootloader coding other mappers could be supported as well. Of course, with the modifications to the cartridge it already is it's own mapper, so completely custom code could be written for it as well.

Blargg has done experiments with this kind of cartridge before, and will be writing the bootloader code. These cartridges don't require really extensive modification or really expensive parts, so they'll be pretty cheap. We're trying to shoot for the $40 price range. They do require some special tools to build though, including an EPROM programmer, which Blargg doesn't have. Since I have plenty of free time and all the necessary tools, I have offered to build cartridges to his spec. which will then be sold.  In addition to building cartridges and cables for sale, I intend to make a tutorial document which will show how to make your own.

Just thought I'd spread the word and see if you guys are interested in such a thing.

Last edited by arfink (Oct 6, 2010 5:28 am)

sounds like i have to buy one of these!

For $40, I'd get one without hesitation.

NTRQ is MMC1 right?

Will these be able to save/load RAM as well? Obviously another NTRQ question. smile

very cool arfink!
i read a post by blargg in the lightwall thread where he said he uses a special NES dev console.
i wanted to ask for more detail on this, but didnt think that was the right thread.

it's cool that the 2 of you are bringing this tech (or something similar) to the community!

NTRQ is MMC1, but there may be issues getting it to run on this particular cartridge because of the fairly small RAM bank space. The PRG Flash should be available for storing code, though whether bank access for this will be the same as MMC1 remains to be seen. The bootloader code is very very small, so unless the MMC1 ROM in question requires literally the entire 32kb (EDIT: excuse me, 128kb) space it should not be an issue.

As for backing up RAM data, I'm not actually sure. I assume it could work, since the cable is basically just a TTL level RS232 to USB type device, but obviously code would have to be written to support it, either in NTRQ or some kind of cartridge-native code. I think it could work, but I'd have to ask Blargg and/or Neil if they could code it. I'm just the guy with the soldering iron! smile

Also, one other thing to note which maybe is hard to get from the description: this cartridge will not be able to run every single NES ROM out there, as the PowerPak is trying to do. It will run NROM programs, some modified MMC1 roms, and other custom code. Those MMC1 ROMs that it will be able to run will almost certainly require some kind of modification, unless I am mistaken.

Last edited by arfink (Jul 28, 2010 5:59 pm)

$40 ? you aren't asking enough.

You're going to make me break down and buy an NES and a TV aren't you?

Yeah, you are.

EDIT:  I was too slow, you already answered this while I was typing my question.  Apologies!  [Also I'd like to mirror PixyJunket's question, will this mean the onloading and offloading of .sav files?]

Last edited by Beverage (Jul 28, 2010 5:54 pm)

I would definitely be interested in this if it could be used to run NO CARRIER's software - I don't know what mappers, if any, those make use of. Is there a way to tell by looking at the ASM?

low-gain wrote:

$40 ? you aren't asking enough.

It's a community service, which also kinda helps to keep my interest payments at bay while I look for work. The "profit" from these will almost certainly amount to less than minimum wage for the hours I'll put in making them. Just like all my projects. I offered Blargg a cut, and he didn't seem interested.

Kris k wrote:

I would definitely be interested in this if it could be used to run NO CARRIER's software - I don't know what mappers, if any, those make use of. Is there a way to tell by looking at the ASM?

Most of his software is NROM, so yes. You can tell by looking at the ASM code, which contains an iNES header that identifies it as NROM. Google the iNES header format to find out more.

This sounds really cool.. maybe it could be made cheaper by having an external usb writer and making the carts "Dumber"? One writer and multiple cheaper carts for easy live usage..

I do like the idea of a writer and flash carts.  I'll definitely be interested pending if it will be able to run NTRQ or Pulsar.  Keep us updated!  smile

i'll be waiting to preorder. I'm excited for this!.

herr_prof wrote:

This sounds really cool.. maybe it could be made cheaper by having an external usb writer and making the carts "Dumber"? One writer and multiple cheaper carts for easy live usage..

That's what this is. The cart has no processor onboard, so it's completely dumb. All we would be doing is swapping the PRG mask from an SNROM board with Flash, building a USB to controller port cable, and letting the bootloader code do the work. Reprogramming will require having the running NES next to your PC to upload code to the NES. It's as cheap as it gets.

The cart would need 8K of dedicated NVRAM for NTRQ's sole use (while you're running NTRQ of course). Otherwise I'll end up creating a specific version just for this cart which I'm not so keen on doing but it might be possible. Whatever form the RAM comes in though, I'd still need 8K - there's no way I'm going to try to rewrite the memory map and data.

Sounds like a very cool bit of hardware though - you can put me down as a customer, definitely. smile

Oh, and whoever writes the PC-side code to handle the communication - don't forget some of us don't use Windows PCs.