This page is a mirror of Tepples' nesdev forum mirror (URL TBD).
Last updated on Oct-18-2019 Download

ethernet for the NES

ethernet for the NES
by on (#87873)
has anybody ever looked into the possibility of an ethernet adapter for the NES? i know it's not really practical, but should definitely be possible. it would of course require a custom cart PCB.

think how bad ass it would be to IRC from a NES, or better yet run a web server on it.

by on (#87883)
Chatting from a gamepad going to be really badass. Like entering password in Guardian Legend. 32 characters per row also helps it.

Isn't there is not too much RAM by default to run a webserver?

It is certainly possible to hook up an ethernet adapter, was done with other 8-bit systems, but to make any use for it you may need a pile of extra hardware.

by on (#87890)
Quote:
has anybody ever looked into the possibility of an ethernet adapter for the NES?


Yes. See this topic

by on (#88044)
there was a famicom modem wich allowed you to down load games,doing quiz games,or getting info about the wheater,news etc,,,
and you can even play multi player games online.trough it was an opscure unit wich required a phone line.

by on (#88045)
johannesmutlu wrote:
there was a famicom modem wich allowed you to down load games,doing quiz games,or getting info about the wheater,news etc,,,
and you can even play multi player games online.trough it was an opscure unit wich required a phone line.


I remember Windows 2000 Server had the capability to allow dialing INTO the server for Internet access. If you had the Famicom Modem and knew enough about coding a TCP/IP stack (maybe use code from Contiki) it could be done with an of-the-shelf PC.

by on (#88216)
It might be able to do a very simple gopher client

by on (#88218)
So has anyone began the work at coding a PPP & TCP-IP stack on the NES? By now there should be plenty of example code to make the task easy.

But there will certainly be some limitations; TCP does require some amounts of RAM. But if you overlook some compatibility issues, and e.g. assume that a packet is never lost, you might be able to make a ROM-based web server on the NES.
Then, use an UDP based protocol to conjure up extra RAM for the game through serial / LAN link!
Molasses slow RAM, but still RAM. Possibly windowed for efficiency.

by on (#88219)
If I were to do this... I would put the OSI layers 1-4 (physically transceiver through the TCP packet mangler) into a co-processor. The NES would access it as if it were memory mapped IO, or some simple serial protocol.

If I were to do this with minimal cost, I would connect a serial port on a PC to a serial port expansion for the NES, or bit-bang the 2nd joypad port, and let a PC do all of the heavy lifting.

I know that this isn't a "pure" solution, but it would be much easier to develop and test, and probably cheaper. If you really want the NES to to packet re-assembly, you're going to burn lots of CPU cycles and needs lots of RAM.

by on (#88229)
The idea of ethernet on NES has came up several times over the years, you can search this forum to find everything. chykyn is a recent developer who had been working on the hardware and software for it.

The older version of Contiki was able to compile with CC65, so there is that existing code. But I tend to agree with what clueless was saying, about leaving the heavy lifting to a separate coprocessor.

I had previously looked around for software that would let the NES access the internet over the PC's serial port, but the only software I could find to do it was commercial, and also requires entering the target IP address on the PC-side.

I'm wanting to build the NES to USB adapters, so anything like this would be great. I'd really like to make an FTP client for NES, but I'm not sure how I would deal with the TCP stuff.

by on (#88389)
Sorry guys, I haven't really had much time to work on this lately. I blame it on the new baby.

miker00lz wrote:
has anybody ever looked into the possibility of an ethernet adapter for the NES? i know it's not really practical, but should definitely be possible. it would of course require a custom cart PCB.

Yes, Virginia, there is a Santa Claus. Or in this case a functional demo hardware ethernet adapter for the NES. It's called the ENIO (Extended NES IO). It provides ethernet, USB KB and serial connectivity. Yes, it does require a custom cart since signals must be sent over the EXP pins...
http://nesdev.com/bbs/viewtopic.php?t=7313&highlight=exp

Here are pictures of the dev board (50-pin cable connects to EXP) as well as the first board that actually mounts under the NES.

A dev board for a 100mb ENIO
http://www.chykn.com/ENIO-DevBoard.jpg

Bottom shot of the first "mounted" 100mb ENIO
http://www.chykn.com/ENIO-Rev1.jpg

clueless wrote:
If I were to do this... I would put the OSI layers 1-4 (physically transceiver through the TCP packet mangler) into a co-processor. The NES would access it as if it were memory mapped IO, or some simple serial protocol.

Yes, that is exactly how it works. The PIC32 offloads the TCP/UDP processing and provides buffering. The NES sends commands to the ENIO telling it where to connect; the ENIO replied with a VCID (virtual channel ID) for the new session. There's still plenty of opportunity for refinement, but the client functionality is there.