I just had a random thought, and I was a little curious about it.
Let's say I made a NES ROM and wanted to distribute it as a legitimate cartridge that could play in an NES (or a retro-station-whatever-thing I see them selling at game stores.) What kind of costs are involved in such a production, and moreover, how would it compare to producing a cart back in the heyday of the NES?
Okay, obvious statement out of the way: it depends on how many you want to make. Obviously they cost less per cart if you make more carts.
But what really has me thinking is about the general level of technology that has changed since then, and how this effects particular designs within the cart. On one hand, I would think that modern tech and parts would be easier to get, so it would be easy to have the most super-advanced NES cart ever with a ROM size measured in GB or something (An RPG with a world map the size of the world I guess?) But on the other hand, to work properly with the NES one might need to produce much older designs that nobody makes any more, so one would need even more money because we have to re-create hardware that doesn't exist anymore.
So there are two reasonable idea that would impact what could be made and how expensive it would be.
So I'm kinda wondering what the real-world application would actually come to. Would it turn out to be cheaper or more expensive to produce a NES cart today, and by how much?
And also, how would modern production effect things like what kind of mapper (and other chips) one has in the cart? I understand that back in the day it cost companies a pretty penny to install something as advanced as the MMC5; would installing that today have a negligible difference in cost, or would there still be a reason to make your new NES game use a less-advanced mapper? Or for that matter, would it be reasonable to create a whole new mapper that was even more capable and produce that instead?
Like I said, I'm just randomly curious.
On the plus side:
- The algorithm to replicate the CIC's functionality is known, and programmable MCUs are cheaper than what Nintendo charged for the CIC during the NES's commercial era.
- On the whole, memory is much cheaper now than then. This makes things like 32K CHR RAM, 32K save RAM, and saving to the game's flash chip practical.
On the minus side:
- PCBs and cartridge plastic are cheaper in mass quantities, and Nintendo manufactured mass quantities.
- More advanced NES mappers were ASICs, which are cost-effective only in mass quantities. CPLDs can replicate these but can be more expensive.
- The electronics industry in general is moving away from the 5 volt I/O of the NES, Game Boy, and Super NES to 3.3 volt. You may need to put level shifters on most cart edge lines to make up for this.
- The memory industry is moving away from the parallel, execute-in-place buses of the NES, Game Boy, and Super NES to serial (or at least narrower) buses optimized for sequential access. Adapting things like eMMC to the NES or Super NES would require substantial (128Kx8) amounts of PRG RAM, much as in a PowerPak or Famicom Disk System. Expect 128K for NES or Game Boy or 512K for Super NES before it starts feeling cramped. But unlike an FDS game, a game using eMMC can stream data to PRG RAM in the background. It's also an engineering challenge to spoon-feed instructions to the CPU until it's ready to run your code unless you put a small ROM on the board.
- There's not quite as much demand for NES and Super NES Game Paks as there used to be, and even in game mode, most modern TVs tend to add lag to the NES or Super NES Control Deck's composite output.
The single most expensive thing is the cart shell, because it costs about $10-20k to get an injection mold made. Cost of materials per shell is maybe 25-50 cents. There's no short-cuts here, just hedging bets that you'll actually have enough made to fully amortize the original cost. (Possibly because of selling said shells to other people)
Extrusion-based 3D printing isn't dimensionally rigid and consistent enough to be a suitable replacement. Lithography-based 3D printing is, but it's pretty expensive. A shell could probably be made of stamped metal or machined wood, but I haven't seen one.
After that, the next most expensive things are:
$2 for hard gold plating on the cartridge connector (per Memblers's GTROM manufacture run) – a lot of manufacturers skip this step, but it does significantly reduce the life time of the cart.
$2 for the two memories inside the cart ** but see next
$1 ish for the PCB
50c for the CIC (for a front-loading NES)
$0-$10 for the mapper
Now, covering "very large" games:
The NES expects to be able to read random bytes of RAM in random order. There are two kinds of modern nonvolatile storage: "NOR flash" and "NAND flash"; the former allows this random read, while the latter doesn't. The largest "NOR flash" that one can currently purchase is only 128 MiB, there's no reason to think more will ever be manufactured (NOR flash itself is "legacy" in the way you muse about here). Additionally, these 128 MiB flash ICs are about $17 for 1.
To get larger, you have to move to "NAND flash". Unfortunately, only a few models have a so called "boot sector" where the ROM powers up in "read mode" to a predefined address, and sequential reads from it read the next byte. While this would work for the NES, not very many models support it. And if any other NAND flash were used, one'd have to include a small NOR flash to boot out of.
Bare NAND flash is still moderately expensive, so for even larger sizes you'd like to start with some consumer-grade storage, like CompactFlash or SD. A cart could be manufactured that used a CompactFlash card (e.g. PowerPak): this can trivially be hooked up to the NES CPU without much logic. This isn't hard, but CompactFlash is, again, "legacy". A cart could be manufactured that used SD cards (e.g. Everdrive), but it would either be very slow, or require a lot of support logic on the cart, again increasing prices.
You might have noticed that whenever PCs change RAM technology that the older technology suddenly ceases to get cheaper? And sometimes it becomes impossible to buy at all. A similar thing happens when we make legacy carts: we basically have to use technology that's still lingering around and only a little better than what we had at the time. Fortunately, specifically in the case of the NES, we have access to the best technology from a decade later.
It's still a lot cheaper to use simpler designs (some parts are still manufactured!) than complex ones. (All modern parts suitable for implementing complex mappers require other power supplies and translating from the NES's native signals to one that's safe for the modern part). Additionally, whenever someone's suggested really pushing the envelope on support hardware in the cart, we've pointed out that if they really want something that addresses the NES's shortcomings, there were three different real commercial successors to the NES (the TG16, SNES, and VT03) all of which did exactly that, and are more honest in a way.
In total, our cost per single unit is a lot cheaper, but our economies of scale are practically nonexistent. Nintendo was manufacturing tens of thousands to millions of carts; we're very lucky to hit 1000. Our cost per cart is probably lower, but maybe not.
I kind of jumped into this thought process myself some months ago and it didn't take long to realize that there are a lot of factors and debatable things here. Some of the main points for the logic aspect are:
- Will other people actually use this mapper? -- What advantages does it have that make people what to use it?
- What features are useful to other people? Audio synth / PPU magic / co-processing / timers / peripherals / bluetooth / wifi / SD card / etc.
- Do you have something particular in mind to use this mapper? I.e. how to set the scope of the project.
- How expensive will it be? (as you have already asked about)
- How to gauge cost vs. useful feature tradeoffs. All possible features is too expensive / too few features is not useful. Considering no-pop approach.
- How to gauge number of features vs. overall complexity vs. how easy/appealing is it for someone to develop software for the mapper?
- How to gauge complexity of the mapper vs. capability of the 6502 -- do the new features cause too much CPU overhead?
- Is it worthwhile to develop reusable software module/library/operating system support tailored to the mapper? Or does that in itself cause too much overhead and restrictions?
lidnariq wrote:
Bare NAND flash is still moderately expensive, so for even larger sizes you'd like to start with some consumer-grade storage, like CompactFlash or SD. A cart could be manufactured that used a CompactFlash card (e.g. PowerPak): this can trivially be hooked up to the NES CPU without much logic. This isn't hard, but CompactFlash is, again, "legacy". A cart could be manufactured that used SD cards (e.g. Everdrive), but it would either be very slow, or require a lot of support logic on the cart, again increasing prices.
SD has an SPI mode. As I see it, the only "support logic" you'd need are an SPI port that reads or writes one byte in eight M2 cycles[1] and a way to boot the thing.
lidnariq wrote:
if they really want something that addresses the NES's shortcomings, there were three different real commercial successors to the NES (the TG16, SNES, and VT03) all of which did exactly that, and are more honest in a way.
PC Engine (the Japanese counterpart to the TG16) was popular, but as far as I'm aware, TG16 and VT03 never became significantly popular in the west. Upgrading to Super NES substantially increases the minimum production values for a commercially viable game.[2]
[1] The CPU can't copy data from a mapper register to PRG RAM much faster than one byte every 12 cycles anyway, using a partially unrolled LDA mapperport STA (dst),Y INY loop.
[2] Assuming an original game, as opposed to a pixel-perfect port of household-name arcade game produced under license, such as Space Invaders and Williams Arcade's Greatest Hits.
tepples wrote:
SD has an SPI mode. As I see it, the only "support logic" you'd need are an SPI port that reads or writes one byte in eight M2 cycles[1] and a way to boot the thing.
I mean, yes, that's the "only", but it's not that simple unless you're already positing the presence of an FPGA.
tepples wrote:
Upgrading to Super NES substantially increases the minimum production values for a commercially viable game.
I'd argue this grade of increase of support hardware, regardless of whether it's SNES, VT03, TG16, or MMC5, similarly "increases the minimum production values for a commercially viable game".
lidnariq wrote:
tepples wrote:
SD has an SPI mode. As I see it, the only "support logic" you'd need are an SPI port that reads or writes one byte in eight M2 cycles[1] and a way to boot the thing.
I mean, yes, that's the "only", but it's not that simple unless you're already positing the presence of an FPGA.
What makes a shift register like this too difficult in a CPLD? Or is it the cost of having three memories (boot ROM or MCU, PRG RAM, and SD)?
Both the cost of multiple memories, and the serializer/deserializer consumes a nontrivial number of macrocells inside the CPLD.
The Log Jammers limited edition cart is made from wood.
Any pictures of one? All I've found is the thing that looks like a mock-up on its kickstarter.
Costs for making NES carts are actually quite reasonable. If you're going for the very low-end like Mapper30, I think you can quite easily squeeze the cartridge cost down to < $10, if you buy enough parts (and get the casing from China).
What occurred to me though, is that's it's a shame there's so few people targeting the two main flash-carts (Powerpak and Everdrive) for releasing new NES games. There's even been newborn NES devers from the NESMaker forums who have suggested an "Aladdin Deck Enhancer" targeting Mapper30, without even realising that
a) There's not really much cost-saving you can do on such basic hardware, the costs are all just indie hw vendors' (kind-of-reasonable) profit margins at play here
b) Powerpak and Everdrive already give you all you. Albeit with a smaller "add-on-cartridge"
And there's no reason you can't do a physical release with box and manual while still targeting the Powerpak / Everdrive. Spend a bit of time messing around with the boot process and you can get quite easily get a plug'n'play experience without the boot screen and menu, where buyers can just insert your CF card with your cool logo-sticker on it, to play your new game.
Sure, it's slightly less exciting to distribute your childhood dream game on a modern flash storage rather than a retro-looking cartridge. But I for one would be happy to back a good game targeting any of my two flash cart brands. Especially if it used an exotic mapper that would be slightly too expensive to mass-produce in smaller volumes, or if it used the large CF storage for something a conventional cartridge couldn't easily do...
It seriously amazes me how well the people on this forum really know their s***.
I'm just some dude who likes video games, but you people, man, you people really know what you're talking about.
I guess these guys have already done the BOM calculations. Does anyone know what the actual PCB looks like, and what kind of ICs being used?
https://www.kickstarter.com/projects/mo ... or-the-nes-Eicar
lidnariq wrote:
Any pictures of one? All I've found is the thing that looks like a mock-up on its kickstarter.
The Mystic Searches game project promised a wood version, though it hasn't been released yet. There's some photos of their prototype on the shop page though:
https://austinmckinley.com/8bit/the-shop.html
Hipster shit. Remarkable that it's not even single-layer polyurethaned. Looking forward to woodboring beetles living in my NES carts, right alongside dry rot.
koitsu wrote:
Hipster shit. Remarkable that it's not even single-layer polyurethaned. Looking forward to woodboring beetles living in my NES carts, right alongside dry rot.
LOLOLOLOLOLOLOLOLOL
I wonder if there is something cheap and easy you could do with plexiglass and standoffs. And another thing, I have never seen a cart that has 72-pins on one end and 60-pins on the other end. I think it would save cost to produce just 1 cart instead of 2 if you wanted to support both FC and NES. It does require a large PCB to go all the way across the NES sized cart though, maybe there is a tradeoff there.
Double-ended cartridges exist for the Atari 2600 and other platforms, usually so they'd hold 2 games (a simple switch would probably have been cheaper!), but for the NES/Famicom, two sets of pins actually make a lot more sense! Is the PCB thickness the same for NES and Famicom though?
tokumaru wrote:
Double-ended cartridges exist for the Atari 2600 and other platforms, usually so they'd hold 2 games (a simple switch would probably have been cheaper!), but for the NES/Famicom, two sets of pins actually make a lot more sense! Is the PCB thickness the same for NES and Famicom though?
I've spent way too much time trying to come up with a double-ender design for an Atari 2600 game on one end, and a NES game on the other.
Ben Boldt wrote:
I have never seen a cart that has 72-pins on one end and 60-pins on the other end.
I present you the (in)famous
Hydron!
@Koitsu: I guess that's a new kind of "environmental friendly" NES case. lol
Fisher wrote:
Ben Boldt wrote:
I have never seen a cart that has 72-pins on one end and 60-pins on the other end.
I present you the (in)famous
Hydron!
@Koitsu: I guess that's a new kind of "environmental friendly" NES case. lol
Coooool
I remember I did talk about it before on
this post.It has a picture of the messy component side of the board.
I had a shell-less one, wich unfortunately broke when I moved from my old home.
