What useful permanent peripherals via the expansion port?

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

Moderator: Moderators

lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

What useful permanent peripherals via the expansion port?

Post by lidnariq »

Since Myask pointed out this really should be a separate thread ...

The question posed by B00daW becomes "what useful aftermarket things could go along with the audio jumper and be useful?"

* I guess there's actually use in adding a microphone jack, given existing Famicom software that expects to be able to read [$4016]&4 ... Unfortunately this pin is on the opposite side of the one needed for just the audio jumper.

Beyond that, there's a vague restriction of "things that are can be interfaced using SPI or I²C", but that's about it.

Here's all the random things I can think of:

* Serial EEPROM: Probably not very useful. Most modern homebrew is on parallel NOR flash, and often can self-write, so access to a large amount of extra NV memory (but only for people that added this peripheral) in the console isn't clearly beneficial anymore. (There's actually a vague precedent for this: the Famicom peripherals "Battle Box" and "Turbo File" are battery-backed serial memories that connect to the Famicom's expansion port)

* Multiband (AM/FM/SW/LW/Weather) radio IC such as Si4734/Si4736: Don't see how it could be generally useful. Listening to radio on your NES is an amusing gimmick... and having it in the expansion port means that we can use "which stations in the area" exist as a random number seed, I guess.
More nearly useful: FM radio IC with RDS (such as Si4731/4739): the contents of RDS (at least in the US) is mostly crap, but it's likely that at least one station in any major market includes RTCC data. Maybe good for a slight bit of augmented reality.

* An actual RTCC: We could probably come up with some way that this'd be useful rather than annoying. (While Animal Crossing's rate limiting was arguably ok, requiring that you play at multiple different real-world times-of-day isn't really)

* A GPS: Less creepy than modern smartphones, since it can't communicate to anything outside, but ... even assuming you can get a lock indoors where you're playing, I don't see how this would be generally applicable to multiple games.

* Generic I²C I/O expander connected to some sound IC like the SN76489. Self explanatory...

* serial ethernet interface (e.g. ENC28J60): Well ... uh, yes, it could technically work. The low bandwidth and lack of work RAM inside the NES would make it difficult to use.

* extra software-controlled LEDs.
* measuring random things (accelerometer, magnetometer, gyroscope, light level, temperature): really?
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: What useful permanent peripherals via the expansion port

Post by FrankenGraphics »

The expansion port has been used to tweet, with the help of a middleman circuit interpreting.
Oziphantom
Posts: 1565
Joined: Tue Feb 07, 2017 2:03 am

Re: What useful permanent peripherals via the expansion port

Post by Oziphantom »

looking at pinouts you could by putting some extra control logic on the cart, map some address lines into the EXP lines, and then put some expansion chips into the expansion . Maybe some Maths chips, C/VIAS, extra sound chip for the chip tunes makers. Maybe some GPIO for debugging assistance for devs.
zzo38
Posts: 1096
Joined: Mon Feb 07, 2011 12:46 pm

Re: What useful permanent peripherals via the expansion port

Post by zzo38 »

Such things to add into NES expansion port might be: microphone input, support for expansion audio, Famicom expansion port. Those should be the only "permanent" stuff, although other stuff might also be provided if they can be switched off when not in use (if anything useful can be thought of, and so far there does not seem to be, as far as I can tell?).
(Free Hero Mesh - FOSS puzzle game engine)
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: What useful permanent peripherals via the expansion port

Post by FrankenGraphics »

I think RTCC would primarily be useful for simulation, virtual pets, interactive aquariums, doll houses. Especially combined with flash memory. It could be anything from something like the sims to tamagotchi to maintaining a mars colony or managing a hotel or a gene lab.

And of course for save data, sorting jobs, etc.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: What useful permanent peripherals via the expansion port

Post by lidnariq »

The RTCC certainly has past history. NDS, Gamecube, and Wii games have access to one.

But the ways I've seen it used?
* Animal Crossing uses time-of-day to gate certain things (NPC location, capture-able things). This is good for being immersive, but absolutely awful for either encouraging cheesing (changing) the RTCC, or breaking the game player's real-world schedule.
* Animal Crossing uses day-of-year for easter egg content
* Sword and Sworcery makes you wait up to a month (until the next full moon)
* Netflix somehow uses it because it stops working if the time is more than an hour wrong. (Either something about stream encryption or something about streaming rates)
* A bunch of games use "at least N real-world hours must have passed in order for Next Thing"

So... I have to admit that it's probably the only obvious choice, but that it's not for games that are For Me.
FrankenGraphics wrote:The expansion port has been used to tweet, with the help of a middleman circuit interpreting.
(Reference: http://www.trapzz.com/?p=14 )
User avatar
rainwarrior
Posts: 8732
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: What useful permanent peripherals via the expansion port

Post by rainwarrior »

Little Computer People (an early "sim human" game) got around the lack of a clock by asking you to sign in with the current time/date when you started the program.

To the original question though, for "communicate to an external device" purposes it normally seems easiest to do it through the controller port, or directly to the cartridge, which kind of rules out a lot of expansion port options very quickly? E.g. Miracle Piano connected MIDI to the controller port. MIDINES connected MIDI to the cartridge. (FDS is another one that connects to the cartridge.) So even if you need higher bandwidth, building a connection on the cartridge itself might be easier than going through the expansion port?

Does that leave much at all besides the audio expansion and PPU-overlay ideas? I'm trying to think of anything applicable. What does the expansion port have that the cartridge or controller ports don't already?

I'm wondering if you could make some sort of "debugger" device that's some combination of game-genie style cartridge pass-through, plus an additional listener through the expansion port if there's extra information to be gained there.
tepples
Posts: 22708
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: What useful permanent peripherals via the expansion port

Post by tepples »

rainwarrior wrote:What does the expansion port have that the cartridge or controller ports don't already?
Anything using the cartridge port can't run on a PowerPak or EverDrive, and anything using the controller port can't run with two players or a Gotcha!-style controller+Zapper setup.
lidnariq
Posts: 11432
Joined: Sun Apr 13, 2008 11:12 am

Re: What useful permanent peripherals via the expansion port

Post by lidnariq »

rainwarrior wrote:What does the expansion port have that the cartridge or controller ports don't already?
Very little. As far as I can tell:
Unlike the cartridge, it can be shared between multiple games.
Unlike the controller ports, it provides a wider bus, and can be used at the same time as the controller ports.
(Unlike both, it won't work on NES2s)

Hence the question: Are there any peripherals, useful to a game developer, that would take advantage of both of these differences? An I²C or SPI peripheral could be connected almost-directly to the NES/Famicom expansion ports without changes, just due to the extra OUT lines available.

... Maybe I put this in the wrong forum?
Last edited by lidnariq on Wed Jul 12, 2017 1:25 pm, edited 1 time in total.
User avatar
rainwarrior
Posts: 8732
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: What useful permanent peripherals via the expansion port

Post by rainwarrior »

tepples wrote:
rainwarrior wrote:What does the expansion port have that the cartridge or controller ports don't already?
Anything using the cartridge port can't run on a PowerPak or EverDrive, and anything using the controller port can't run with two players or a Gotcha!-style controller+Zapper setup.
Ah, yes the PowerPak is SOL but the EverDrive actually does have a USB option on it, though it costs slightly extra.

If you want to support 2 players I guess you could build a multi-tap device into whatever controller port dongle you're already making for the project, though I could see how that's getting to the point where it might just be less annoying to build an expansion port device instead.
User avatar
rainwarrior
Posts: 8732
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: What useful permanent peripherals via the expansion port

Post by rainwarrior »

Oh, that reminds me of yet another option. The CopyNES is another I/O port that some people have installed. (Did it end up being part of the HD-NES?)

Admittedly probably less attractive than most other options, but it's come in handy for me more than once for this kind of purpose.
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: What useful permanent peripherals via the expansion port

Post by FrankenGraphics »

Any expansion port expansion also has the plus of expanding every mapper type out there with functionality, however little functionality that might be. In other words, a dev wouldn't ncessarily have to choose (this traditional mapper does this but that other mapper has this new thing). It's always going to be a minus having to have the thing, though.

Memblers shipped me an controller port to USB cable for flashing carts via a modified game genie. It made me think maybe a regular PC could act as a middleman for networked gaming.

I guess RTCC would work "best" in the following types of interactivity:

-Change of scenery, perhaps dialogue details, not gameplay (change palettes, tiles, depending on ToD/Time-of-year).
-Make the player come back for more at a later time, but at the same time, maybe avoid "make the player wait" features. Do they overlap? Oh yes. But logging in each month to get a new cosmetic options unlocked in a town store isn't too bad.
-Any feature in a game where you can't really fail in a critical sense but play to see/find out what happens.
-Just to know when you last played.
User avatar
Myask
Posts: 965
Joined: Sat Jul 12, 2014 3:04 pm

Re: What useful permanent peripherals via the expansion port

Post by Myask »

Extra controller ports [be they Famicom-compatible or no] are the main other thing, really…
User avatar
FrankenGraphics
Formerly WheelInventor
Posts: 2064
Joined: Thu Apr 14, 2016 2:55 am
Location: Gothenburg, Sweden
Contact:

Re: What useful permanent peripherals via the expansion port

Post by FrankenGraphics »

Full blown theremin controller for a new series of games: Awkward Pong, Awkward Arkanoid, Awkward Golf.
User avatar
Myask
Posts: 965
Joined: Sat Jul 12, 2014 3:04 pm

Re: What useful permanent peripherals via the expansion port

Post by Myask »

But there was already an official one of those? no, u-force was IR.
Post Reply