Jump to content
IGNORED

Rainbow : a WiFi cart / mapper for the NES !


Broke Studio
 Share

Recommended Posts

Hey there !

This is my very first post here since NintendoAge closed, and I have some pretty cool and exciting news.

But first, let me explain what it's all about... (you can skip directly after the pictures to get to the exciting part).

For 2 years now I've been working on a WiFi project for the NES, to offer the possibility to make online games (and/or download new content, fix bugs, and so on...) !
First prototype was a module that plugs in the second controller port. You can check it in action in this video (English subtitles available): https://www.youtube.com/watch?v=tK1qEAI-mGE
But there were too many limitations, so I decided to move on something more powerful, but also more complex. An NES cartridge, with a WiFi chip on it!

That's when the Rainbow project really started.

https://twitter.com/Broke_Studio/status/1081955456409657345
https://twitter.com/Broke_Studio/status/1084557110413877248
https://twitter.com/Broke_Studio/status/1088896001874817024

spacer.png

spacer.png


For many months 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 also provides a chat webpage to communicate with the NES, and of course a ROM (compiled with cc65 suite) to use in a custom FCEUX build 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.

  • Like 4
  • Thanks 2
  • Wow! 7
Link to comment
Share on other sites

  • 3 months later...

2020-07 update

Time to update this topic since a lot of stuff happened since last time.

Prototype

I'm now using a new prototype with a bigger CPLD and have created a brand new mapper (named Rainbow mapper) to be used with it.
Here's a pic of the board:

spacer.png

Mapper

Here's an overview on what the mapper has to offer:

  • WiFi capabilities to allow online gaming, cartridge update, downloadable content... (optional)
  • 2 PRG ROM banking modes
  • 4 CHR ROM banking modes
  • Up to 32KB of WRAM, mappable at $6000-$7FFF but also within $8000-$DFFF
  • Scanline IRQ (identical to the one used in the MMC3 mapper)
  • Three extra sound channels (2 pulse channels and 1 sawtooth channel, identical to those in the VRC6 mapper)
  • Self-flashable PRG-ROM / CHR-ROM
  • Possibility to use CHR-ROM for pattern tables and CHR-RAM for name/attribute tables
  • 4 mirroring modes: vertical, horizontal, 1-screen, 4-screen
  • Up to 4 independent nametables when using 1-screen mirroring (CHR-RAM only)
  • Up to 4 sets of 4 nametables when using 4-screen mirroring (CHR-RAM only)

For more information on the mapper, the WiFi protocol etc, please check this github page: https://github.com/BrokeStudio/rainbow-lib.

Wanna try?

For those of you who are interested in playing with it, you can use this custom version of FCEUX with Rainbow mapper support: https://github.com/BrokeStudio/fceux.
If you don't want to compile it yourself, you can download the latest build for Windows here: http://brokestudio.fr/rainbow/fceux/.

Also you can find chat example project here: https://github.com/BrokeStudio/rainbow-chat.
It provides a NodeJS server/webapp and a NES source code.

Real world, real time project

I work a lot with RogerBidon, Super Tilt Bro. developer.
He has adapted his versus game to use Rainbow capabilities, and it is now playable online! You can even try it online on its itch.io page directly from your browser.

I sent him a proto board, and we even played it between two NES!
Video here: https://twitter.com/Broke_Studio/status/1283057673412501517?s=20

What's next?

The project is starting to get more and more stable, that's why I feel comfortable sharing the FCEUX custom build and demo project now.
RogerBidon's Super Tilt Bro. game is also a great way to showcase how far we can push the limits of online gaming on the NES, and it's pretty awesome!

We'll continue to add features and test everything as much as we can, and int the meantime, feel free to let me know if you have any questions, if you have trouble setting everything up to try it by yourself, or if you have any suggestions, I'd be happy to help :)

  • Like 2
Link to comment
Share on other sites

  • 2 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...