Page 1 of 2

Rainbow : a WiFi cart / mapper for the NES !

Posted: Fri Jun 01, 2018 6:33 am
by Broke Studio
2019-01-26 edit: Controller port version has been abandoned for a cartridge with embedded wifi module. (old topic title : InterNES : a wifi module for the NES !)

2020-03-18 edit: first example project / tutorial available! Check this post :)

Hi everyone,

I'd like to share a project that I'm working on for some weeks now : InterNES (the name may change :) )

It's a wifi module that can be connected on the 2nd controller port, or even embedded in a cartridge, that allows you to play online through the Internet. This is not supposed to work with existing games but to allow future productions to use the system (however someone very motivated could hack an existing game but it would be very complex I guess).

This project is inspired by ConnectedNES by Rachel Simone Weil, and Blargg's work on using RS-232 via the controller port of the NES. Also, thanks to the NesDEV wiki for all its precious information (here and here).

Rather than a long speech, I'll let you discover it in a video (thanks to Michel Louvet and his show Oldschool Is Beautiful). Be sure to enable English subs :

https://www.youtube.com/watch?v=tK1qEAI-mGE

Image

The project is still experimental, "prototype" would be a big word for now, but I'm still working on it and I hope to be able to show something more reliable by the end of the year.

Feel free to ask any question or to give your feeling about it !

Re: InterNES : a wifi module for the NES !

Posted: Fri Jun 01, 2018 11:26 am
by rainwarrior
That's cool. Hope you do something fun with it. If nothing else, this kind of thing does make a good live demonstration, like how ConnectedNES was used to show tweets live, gets people to interact with it a little. Maybe if we had a popular enough peripheral to get a standard started we could start getting a game library that supports it. :) Maybe even just a Chess or Go client for an existing online network would be fun to try.

Re: InterNES : a wifi module for the NES !

Posted: Fri Jun 01, 2018 12:32 pm
by FrankenGraphics
That's really cool! :D

Similarily inspired by Weil, a side project that never really got beyond a block diagram (gotta prioritize the games i'm involved with!) was supposed to eventually connect my two NES units locally via a dual-ported ram + a few off the shelf support ic:s, connected via controller port #2. Part of the charm: local multiplayer/fun little interactive demos, social interaction. big con: needs two of everything (except the unit-to-unit dongle) in one house. a wifi dongle solves that.


Not all interactions need to be part of the core gameplay, so the potential use is quite wide. Users of new homebrew could connect to exchange content in general; be it in-game items, messages, or minigame levels made with an ingame editor. Game created, user created..

Re: InterNES : a wifi module for the NES !

Posted: Fri Jun 01, 2018 2:09 pm
by zzo38
I happen to prefer wired network connections.

Still, if you can connect to the internet (wired or wirelessly), a network diagnostics program can be made up (and then you can test its working) and a gopher client program can also be made up. And then, you can make up games such as mahjong or poker or bridge (I am naming these games specifically because they involve hidden information, rather than chess and Go which do not involve hidden information and so do not required to have separate displays for each player), which may use their own protocols.

Re: InterNES : a wifi module for the NES !

Posted: Fri Jun 01, 2018 2:35 pm
by FrankenGraphics
Another use: Distribute new content to already sold cartridges, if flashrom/battery backed ram. A seasonal update to a "special course" or fill in placeholder entries to expand on or update items in a dungeon crawler? should work.

Re: InterNES : a wifi module for the NES !

Posted: Fri Jun 08, 2018 6:02 pm
by Punch
I really like the idea of extra content downloaded via network. It's not too difficult to make bonus levels for a NES game and this would keep the game alive and fresh. It's a nice way to add to an existing game without being forced to release a "plus" version or a sequel.

Re: InterNES : a wifi module for the NES !

Posted: Sat Jan 26, 2019 1:13 am
by Broke Studio
Hey everyone !

Been a long time since my last post here, but I didn't stop working on NES/WiFi/Internet stuff !
I gave up on the controller port version, and focused on a cartridge with a WiFi module on it.
And yesterday I finally played Pair the Pets (my first homebrew) with Roger Bidon (Super Tilt Bro.) through internet ! That was so cool !

Don't have much more to share for now since it's in its very early stage of development, but I'll let you know as soon as I have more to share (hopefully videos).

In the meantime, here are some tweets and pics ...

https://twitter.com/Broke_Studio/status ... 6409657345
https://twitter.com/Broke_Studio/status ... 0413877248
https://twitter.com/Broke_Studio/status ... 1874817024

Image

Image

Re: Rainbow : a WiFi cart / mapper for the NES !

Posted: Sun Jan 27, 2019 8:16 pm
by emerson
Glad to see you got this working, this is exciting! Can I ask what changes had to be made to FCEUX to get communications working with your cartridge? Do you have an idea on what the end product will be, or what you would like it to be? If I can give my two cents, my first thought was something like a blinking light win with your wifi board in the space between the NES motherboard and the cartridge slot. The wifi board would plug into its own card edge connector and share the cartridge bus. A setup like that would allow for a rather large wifi board if necessary as well as eliminating any issues with the ZIF socket. Easy installation for the end user as well since no soldering would be required.

Re: Rainbow : a WiFi cart / mapper for the NES !

Posted: Mon Jan 28, 2019 12:07 am
by Broke Studio
Thanks Emerson !
A new mapper has been added to FCEUX to quickly test roms. Mapper 3840 ($100), basically NROM + WiFi functionalities. Sylvain Gadrat aka Roger Bidon (Super Tilt Bro.'s dev) did most of it.
For now it matches my hardware implementation, but it's really basic and needs some more work.
To have something simple to offer and use, the end product would be as in the pictures I posted, a wifi chip on a cartridge.
Something like the blinking light win is a good idea but the end user would needs to open the console, and I really want to avoid that. I'll keep it in mind though, thanks :)

Re: Rainbow : a WiFi cart / mapper for the NES !

Posted: Mon Jan 28, 2019 5:17 am
by emerson
Thinking about it with my morning cup of coffee, a reprogrammable cartridge would be the simplest solution for both production and the end user.

This may be a silly question, but have you done any testing with the ground shields on? My wifi router is two stories below my NES and I'm curious if that would affect connectivity. Some kind of connection speed / packet transfer / signal strength test rom would be nice for the end user.

Re: Rainbow : a WiFi cart / mapper for the NES !

Posted: Mon Jan 28, 2019 6:13 am
by Broke Studio
It's on my todo list. First test I did months ago was to put a module (not mounted on a cart) in the NES with shield and see how bad it was. Wasn't so bad at the time, but again, the configuration wasn't the same so I need to double check this.

Re: Rainbow : a WiFi cart / mapper for the NES !

Posted: Fri Dec 13, 2019 11:42 am
by tschak909
I have a piece of software, which needs this to function. The terminal is completely written, it just needs the I/O:

https://github.com/tschak909/platotermnes

It is a PLATO terminal intended to access on-line systems like https://irata.online/

I am knee deep in several large projects at the moment, can somebody with the necessary tools add the necessary I/O for this to work?

-Thom

Re: Rainbow : a WiFi cart / mapper for the NES !

Posted: Wed Mar 18, 2020 2:08 am
by Broke Studio
Hey there !

Wow, more than a year since my last post...

So here are some pretty cool and exciting news.
I kept on working on this project with RogerBidon, me on the hardware/firmware side, and him on the emulator side.
We made a lot of progress, and I'm really proud to share with you the first example project which can be seen as a kind of tutorial for those who may want to take a shot at making an online game for the NES or if you're just curious to see the thing in action.

This is a simple chat project using a NodeJS server which provides a chat webpage to communicate with the NES, and of course a ROM (compiled with cc65 suite) to use in a custom FCEUX version that allows to connect to the server and... chat!

The project can be downloaded here: http://brokestudio.fr/rainbow/rainbow-chat.zip

There's a README.md file included with all the details on how to install/use it.

For windows users, you can download the custom FCEUX build here: http://brokestudio.fr/rainbow/fceux_wifi.zip
Or you can clone this repository and build it yourself: https://github.com/sgadrat/fceux (branch rainbow, not master)

Of course this is emulation, but the project works perfectly fine with my WiFi prototype board !

Let me know what you think about it, and feel free to ask if you have any question.

Re: Rainbow : a WiFi cart / mapper for the NES !

Posted: Wed Mar 18, 2020 3:23 am
by calima
How do you pull power? By my calculations, any wifi board would pull far too much from the cart slot, requiring external power.
What's the bandwidth like?

That fceux branch has two implementations, and I'm not sure which one is actually used. A simpler UDP INLFirmware and then a http server with lots of trendy APIs under BrokeStudioFirmware.

Re: Rainbow : a WiFi cart / mapper for the NES !

Posted: Wed Mar 18, 2020 4:03 am
by Broke Studio
Everything is powered by the console and work fine (I have to do some measurements one day or another though...).
Didn't measure the bandwidth yet, because that wasn't my priority, but we will arrange that.
Or you can clone this repository and build it yourself: https://github.com/sgadrat/fceux (branch rainbow, not master)
:wink: