Expansion cartridge

Discuss hardware-related topics, such as development cartridges, CopyNES, PowerPak, EPROMs, or whatever.

Moderator: Moderators

Post Reply
Wave
Posts: 110
Joined: Mon Nov 16, 2009 5:59 am

Expansion cartridge

Post by Wave »

As most NES cartridges have it's own CHRAM and maybe SRAM, wouldn't it be useful to have a expansion cartridge to only use one chram/SRAM chip?
SRAM could be bigger than 8kb and allow switching on cart for multiple savegames.
Something like an Action Replay that adds that functions and makes carts that use it less expensive to reproduce.
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

So in other words, you're asking for something like an Aladdin Deck Enhancer, except with SRAM support. There are several ways to engineer something like this in the modern era:
  • UNROM-style behavior like the Camerica games, or something stronger with a cycle counter?
  • How much SRAM?
  • Is the SRAM battery-backed, or does it use serial flash instead to save on the cost of a battery circuit?
  • A separate boot ROM for save management, or a basic GUI to be linked into all games using this adapter?
Wave
Posts: 110
Joined: Mon Nov 16, 2009 5:59 am

Post by Wave »

I was thinking about something mapper-independent.
And I could only think about CHRRAM-SRAM.
32KB SRAM + BATTERY would be nice with external switches on the cartridge to select the bank.
No gui or boot, only a switch on the exterior.

As in the Aladdin a Lockout defeat chip would be useful too.
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

Wave wrote:I was thinking about something mapper-independent.
And I could only think about CHRRAM-SRAM.
Just to make sure, did you mean the conventional 8 KiB of PRG RAM at $6000-$7FFF, or did you mean battery-backed CHR RAM like in Racermate?
32KB SRAM + BATTERY would be nice with external switches on the cartridge to select the bank.
In that case, games for the cartridge would have to be careful and not automatically reformat an unrecognized SRAM, which might hold another game's valuable data. Instead, they'd need to ask the player's permission like this:

Code: Select all

/!\  This save appears not
     to be associated with
     Concentration Room.
     To permanently erase it
     and start a new save for
     Concentration Room, press

     ↑ ↑ ↓ ↓ ← → ← → B A
User avatar
Memblers
Site Admin
Posts: 4044
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Post by Memblers »

A 32kB SRAM costs less than a $1. Just putting a connector on an expansion board will cost more than that (and getting an enclosure for this stuff would cost far more, unless bare PCBs are what you had in mind). And I think making it mapper-independent sorta defeats the usefulness of it, since then you still need a bunch of stuff on the game board, just like usual. None of this will make stuff any cheaper.
Wave
Posts: 110
Joined: Mon Nov 16, 2009 5:59 am

Post by Wave »

Yeah, that would be a cool to prevent save game erasures.
I meant 8 KiB of PRG RAM at $6000-$7FFF, not battery backed CHR-RAM.
As I read on http://www.nesworld.com/aladdindeckenhancer.php
"What it does contain is the 8K of CHR RAM, a lockout defeating curcuit, just like a regular Camerica/Codemasters NES cartridge. The 64K "memory upgrade" written on the box is no where to be found. "
It seems that the 64K where Kilobits and was CHR-RAM, so it's something like what I'm describing here.
Memblers wrote:A 32kB SRAM costs less than a $1. Just putting a connector on an expansion board will cost more than that (and getting an enclosure for this stuff would cost far more, unless bare PCBs are what you had in mind). And I think making it mapper-independent sorta defeats the usefulness of it, since then you still need a bunch of stuff on the game board, just like usual. None of this will make stuff any cheaper.
Well, that's for one game, but what about 4 or 5? And game cartridges would be easier to do also.
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

Memblers wrote:A 32kB SRAM costs less than a $1.
But how much does the battery backup circuitry cost, including the battery, resistors, diodes, and (importantly) testing to make sure it doesn't lose data? The last time I asked bunnyboy about this half a year ago, he told me he had never tested putting a battery onto one of his MMC1 ReproPaks. That's one reason why a lot of circuits have switched to Ramtron's more expensive FRAM as a drop-in replacement for battery-backed SRAM.
Wave wrote:And game cartridges would be easier to do also.
They'd be even easier if you put the mapper circuitry on the adapter board. And if the adapter board has a bunch of ordinary PRG RAM mapped to $8000-$FFFF (like the FDS), game cartridges could use cheap NAND memory (like CF or SD cards) instead of NOR memory, making it a bit like a stripped-down PowerPak.
User avatar
Memblers
Site Admin
Posts: 4044
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Post by Memblers »

Wave wrote: Well, that's for one game, but what about 4 or 5? And game cartridges would be easier to do also.
Hm, if there's an enclosure (which I guess would be $5K as a fixed cost, then cheaper than NES cart cases after that), for making 5 games, that's still over $1,000 more in costs for each game. Also, you would need a totally separate plastic case for the expansion cart itself, which is another ~$5K..

It's not going to look very good without the plastic, and there's not much hope in mass-selling something non-professional looking. It worked for Codemasters because they sold world-wide while the NES was still huge. But even then I don't think the Aladdin did very well, because I remember for a while every collector was able to buy a kit with the base cart + like every game released for it, and it was cheap (all new, old stock).

So yeah, all that to save $1 SRAM cost is kinda silly (even if you counted a battery, but I still think SRAM+FlashROM is preferable and maybe cheaper than a battery-monitor chip, I dunno). You can use cheap parts for the battery circuit but I'm guessing the battery just isn't going to last as long, which would be very lame. You would want more hardware in the expansion (to save money on game carts), and also need to be be able to sell tens of thousands of games for it to be practical.

I suppose you could put it inside a normal NES case, and have the user unscrew the case and replace the board to plug a different one in.. I don't know if that would go over very well, but it sure would be cheaper (a big connector will still not be cheap though). In the ultimate conclusion of this, you end up just using an SD card connector or something, and it ends up being comparable to the PowerPak and my Squeedo design. :)

edit - I'd mentioned in another thread too, that encryption is totally possible with Squeedo, so if one wanted to do some kind of exclusive-commercial release I guess they could, just for the cost of a small memory card.
tepples
Posts: 22705
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

Memblers wrote:but I still think SRAM+FlashROM is preferable and maybe cheaper than a battery-monitor chip
But if you save back to the same ROM that the program is running in, you run the risk of the system powering on into a freshly erased sector, so you'll need at least some mapper support to guarantee that a fixed bank is available after reset.

We recently had a topic about alternatives to battery save.
User avatar
Xious
Posts: 189
Joined: Sun Oct 11, 2009 5:21 am
Location: Sol 3 in Mutter's Spiral
Contact:

Post by Xious »

I've been thinking of things to add to my EXP board proj3ct, and something like this would also be possible, albeit within certain limitations. You could probably route a simple mapper design via the EXP/CPU pins, and of naturally, you can add additional RAM there as well.

I pondered this as a possibility on my concept deaign, and how it could be useful, so I'd like to chat with you about it for the EXP slot designs...

(I'm also curious about adding custom GFX chios via the EXP bus, or a co-processor or sorts.)

The problem here is that just building a card to do this isn't cost-effective, as it doesn't do enough. I will consider the possibilities though and discuss it with those involved. The beauty is that you can fit a lot on a multi-layer SMD board that can live under the door on the Toaster NES.

I'm also curious what i could do with the SNES/SFC EXP port. as the Satellaview uses it, and the vapourware SFC-CD system would have as well, so it might be cool to muck about with it after I get something ready to ship for the NES port.

(Is the SNES/SFC EXP port pinout in the FAQ or Wiki? I need to check...)

Once I have the connectors, I'm thinking of sending a free developer board to the top guys here (Memblers, Tepples, Bunnyboy, Kevtris, etc.) so that we can all work together to make something mondo-cool. I don't have any problems sending out developer board samples of this kind of thing, as the more people involved, the better the end-result. using t

My first product he EXP slot will simply be the 'NESpander' (TM), which will add the Famicom DA-15 port to the NES and will have connectors for developers to use (via ribbon cable connections).

Ideally, I'd like to add a custom audio component to it, something like the FDS FM chip or the VRC-6. My goal is to have a custom FPGA that is its own sound component, but emulates both the FDS and VRC-6 (maybe the VRC-7 too) on the EXP slot.

This way, developers who want to make new games with extra sound can make games that use special sound expansion via this component, without having to add the chip to each cartridge. I think there are enough data lines to achieve this, but It'll take some work.

I have some more samples on the way to me (at l3ast, they are supposed to be on the way to me), and as soon as the final measurements for tooling are ready, i will pay the balance due on the setup fees and do a full run of the connectors.

The R&G Guy at the firm making these for me, who had done the initial tooling setup was in a car accident last week, so it's being handled by a new guy (his supervisor, I think) and I have to wait until Monday to check up on the status of the project.

Don't get me wrong: I have all the sympathy in the world for him but it irks me that the Universe is sticking it in me once again. Hopefully I'll have my new samples this coming week and can make a more reliable board. When I have it done, I will see about doing a YouTube video so you can see how it works.

Just don't expect The Mona Lisa...it'll look more like a Picasso until i do a masked PCB or even a copper-clad... The present one is jumper-wired and has ribbon connectors to allow for mucking about with it.

I also have to UPS off another NES, as I only sent them the logic board, but in order to make sure that the connectors are the right height, I want them to measure it from the recessed area of the case. The idea here is to make a PCB that fits perfectly *inside* the NES under the door so that I don't need to make a special case for it.

I am taking my time to ensure this is perfect the first time, as any changes would be $1000 in retooling per change.

I've also considered ordering empty cases from that 'Generation NEX' clone system that looks like a NES toaster and using them to make my 'UnderDeck' (TM) module, which would tack under the NES pretty nicely and save $5k to $10k in custom injection moulding.

Doing it right, it would be possible to use the front-loading slot for additional expansion (via cartridge-type devices) too, which would be bitchen!

If you want to experiment with using the EXP port to achieve your goal, send me a PM and we can talk about it. I have a preliminary boa4d that I made to plug into the EXP slot with the DA-15 connector, but it is a bit flaky, as I had to modify the connectors, which is where the extra tooling costs come in.

Anybody that wants to get a prototyping board for the NES EXP slot should let me know in advance, so that I know how many to mask. I'm thinking of making ten to twenty, initially.

I also need to see about getting some new CAD tools... I want something that routes traces and layouts automatically that is simple to use for my webtablet (running XP). Until now, I've been totally Mac OSX, but I know there are better tools out there for Windows than for OSX. Suggestions?

Anyhow, to the original poster: If you are interested in collaborating, I can incorporate your ideas on the NESpander (TM), so let me know if this interests you, and what your goals would be.

Here is a pinout of the port for you, in case you don't know what it's all about:

http://wiki.nesdev.com/w/index.php/NES_ ... ort_pinout

-Xious
User avatar
Memblers
Site Admin
Posts: 4044
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Post by Memblers »

I was curious about adding RAM expansion with it, but what I don't like is that the general-purpose lines would have to be used for addresses, so we'd be entering PIC16F-style bankswitching hell with 256-byte (or similar sized) pages. That's usable, but it's terribly inconvenient to program with. I think 256-byte pages might work out OK for 6502 indirect addressing, though it would be limiting. Perhaps the FPGA could extract the MSB of an address from the CPU data bus somehow (by making the LSB be a specific marker byte?). But I can't think of any particular way that seems safe.

Using the PIC32 we could do some nice stuff with its parallel port. With that peripheral you can have a 4-level FIFO, or you can give it 2 address lines and have 4 addressable ports. If the DMA can be hooked up to that and work, then the Squeedo sound synth could run at the same time with very little interruption.
User avatar
kyuusaku
Posts: 1665
Joined: Mon Sep 27, 2004 2:13 pm

Post by kyuusaku »

My first product he EXP slot will simply be the 'NESpander' (TM), which will add the Famicom DA-15 port to the NES and will have connectors for developers to use (via ribbon cable connections).
This is about all the expansion port is good for without modifying carts or consoles XD
Ideally, I'd like to add a custom audio component to it, something like the FDS FM chip or the VRC-6. My goal is to have a custom FPGA that is its own sound component, but emulates both the FDS and VRC-6 (maybe the VRC-7 too) on the EXP slot.
If you are going to design an entirely new sound chip, it would be cheaper to go with a microcontroller. FPGA are somewhat overkill and wouldn't be used here to their strengths (reconfigurability and speed).
This way, developers who want to make new games with extra sound can make games that use special sound expansion via this component, without having to add the chip to each cartridge. I think there are enough data lines to achieve this, but It'll take some work.
To decode anything (do anything useful) with the EXP connector you typically need more than data lines (and registered outputs). To get those you'd need to route address and control lines to the EXP using a cart or do it within the NES. It would be possible to use a FPGA to synchronize with the entire 6502 state just using the data bus, /NMI and /IRQ but the design would be insane and that's pretty unlikely to happen considering the demand.
User avatar
Xious
Posts: 189
Joined: Sun Oct 11, 2009 5:21 am
Location: Sol 3 in Mutter's Spiral
Contact:

Post by Xious »

kyuusaku wrote:
My first product he EXP slot will simply be the 'NESpander' (TM), which will add the Famicom DA-15 port to the NES and will have connectors for developers to use (via ribbon cable connections).
This is about all the expansion port is good for without modifying carts or consoles XD
Ideally, I'd like to add a custom audio component to it, something like the FDS FM chip or the VRC-6. My goal is to have a custom FPGA that is its own sound component, but emulates both the FDS and VRC-6 (maybe the VRC-7 too) on the EXP slot.
If you are going to design an entirely new sound chip, it would be cheaper to go with a microcontroller. FPGA are somewhat overkill and wouldn't be used here to their strengths (reconfigurability and speed).
This way, developers who want to make new games with extra sound can make games that use special sound expansion via this component, without having to add the chip to each cartridge. I think there are enough data lines to achieve this, but It'll take some work.
To decode anything (do anything useful) with the EXP connector you typically need more than data lines (and registered outputs). To get those you'd need to route address and control lines to the EXP using a cart or do it within the NES. It would be possible to use a FPGA to synchronize with the entire 6502 state just using the data bus, /NMI and /IRQ but the design would be insane and that's pretty unlikely to happen considering the demand.
You have eight data lines, plus eight normally unused EDP Pins (as Pin 54 and Pin 18 are commonly used out of the full ten), plus /NMI, /IRQ and of course /A15 for additional memory tinkering.

Between all of this, i think it would be possible to design some neat products, but you're right that they.d do little for existing games, aside from providing EXP sound.

Adding a chip that allows you to emulate the FDS sound chip or the VRC6 would be cool too, as it would allow people to design new games with custom extra sound.

-Xious
Post Reply