It is currently Fri Nov 24, 2017 5:23 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 36 posts ]  Go to page 1, 2, 3  Next
Author Message
PostPosted: Thu Jan 25, 2007 9:07 pm 
Offline
User avatar

Joined: Mon May 23, 2005 8:43 pm
Posts: 38
Location: Davis, CA
I'm thinking about hooking some kind of network adapter (be it serial or some kind of embedded ethernet) to the ol' NES.
I've been trying to get some information about the expansion port, but haven't found too much. It seems like all you have to work with is an 8-bit data register, and the controller lines.

One ethernet controller I've been looking at (http://www.invector.se/iet8900.asp) has the following signals:
A[0..4], D[0..7], reset, CS, RD, and WD.
Is there any way to use the signals on the expansion bus to drive it?
I suppose another way would be to use the cart lines, and put special hardware in the cart, but I'd rather not do that.
Failing that, could it be possible to hook up to a RS-232 device, like a modem?


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jan 25, 2007 10:01 pm 
Offline

Joined: Sun Nov 20, 2005 9:38 pm
Posts: 162
Planning on using it with Contiki or something?

_________________
http://portablesofdoom.org/


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jan 26, 2007 7:00 am 
Offline
User avatar

Joined: Mon Sep 27, 2004 2:13 pm
Posts: 1667
Location: .ma.us
I don't think the expansion connector provides any address lines for decoding. This would be a very easy thing to hook up to the cartridge bus, just decode the chip's /CS to some area and make /RD = !(Phi2 && RW) and /WR = !(Phi2 && !RW), could be done with a 74138 and 7400.

You can definately use a modem too, you'd just need a MAX232 type device connected to the controller port or the expansion bus (through the controller bits) if you don't want to interface through memory I/O.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jan 26, 2007 11:08 am 
Offline
User avatar

Joined: Sun Sep 19, 2004 10:59 pm
Posts: 1393
Technically, you could get away with just using $4016 D1/D2 for output and $4017 D1/D2 for input without conflicting with any controllers, and you'd get Famicom compatibility as a bonus (using its smaller expansion port).

_________________
Quietust, QMT Productions
P.S. If you don't get this note, let me know and I'll write you another.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jan 27, 2007 8:33 pm 
Offline
User avatar

Joined: Mon May 23, 2005 8:43 pm
Posts: 38
Location: Davis, CA
I'm still pretty new at all this, so sorry if some of these questions are a little basic.

kyuusaku wrote:
I don't think the expansion connector provides any address lines for decoding. This would be a very easy thing to hook up to the cartridge bus, just decode the chip's /CS to some area and make /RD = !(Phi2 && RW) and /WR = !(Phi2 && !RW), could be done with a 74138 and 7400.

So if I understand correctly, you would map a certain memory area to the ethernet chip's address space?
I can't find any information on the Phi2 or RW lines - what do they do?


gannon wrote:
Planning on using it with Contiki or something?

Maybe at some point, but right now I'm just experimenting. I'd probably first make it a webserver or make a telnet client.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jan 27, 2007 8:43 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19257
Location: NE Indiana, USA (NTSC)
atarimike wrote:
kyuusaku wrote:
This would be a very easy thing to hook up to the cartridge bus, just decode the chip's /CS to some area and make /RD = !(Phi2 && RW) and /WR = !(Phi2 && !RW), could be done with a 74138 and 7400.

So if I understand correctly, you would map a certain memory area to the ethernet chip's address space?

Yes. See [[Memory-mapped I/O]]. The networking controller would in effect become part of the mapper.

Quote:
I can't find any information on the Phi2 or RW lines - what do they do?

Phi2 is the clock. R/W is +5V for reads or GND for writes.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jan 27, 2007 9:20 pm 
Offline
User avatar

Joined: Mon Sep 11, 2006 6:48 pm
Posts: 194
Location: Moose Lake, Minnesota
I like the idea of telnetting into retroMUD from a NES.

_________________
[size=0]"There is only one basic human right, the right to do as you damn well please. And with it comes the only basic human duty, the duty to take the consequences."
- P.J. O'Rourke[/size]


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jan 27, 2007 9:35 pm 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19257
Location: NE Indiana, USA (NTSC)
The problem with a telnet client is the difficulty of text entry: The NES (as sold in Latin-alphabet countries) has no alphabetic keyboard.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jan 27, 2007 9:55 pm 
Offline
User avatar

Joined: Fri Nov 19, 2004 7:35 pm
Posts: 3952
The Miracle Piano Teaching System game uses the strobe signal of controller port 1 to send midi data to the instrument.

_________________
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!


Top
 Profile  
 
 Post subject:
PostPosted: Sun Jan 28, 2007 1:30 am 
Offline

Joined: Thu Oct 27, 2005 1:44 pm
Posts: 449
Location: CA
EtherNES is still on my list of projects. My basic idea was to use an isa ethernet card, very basic to memory map into an address like the 5x00 range. The card is already set up to decode address ranges so you just need to connect the address lines in a way that will work. Control of the card is very easy through the isa registers and the card already has 8/16KB to buffer data.

You will find the net stack far more difficult than the hardware or low level driver software. UDP and DHCP are pretty basic but TCP is way complex. If you are using a proxy you can cut out some of the stuff like reordering but it is still messy. Frequently games will use UDP and add their own system to make sure messages are received, but web browsers/servers and telnet clients fully use TCP.

The last part of my plan was to take some classic games and rewrite them for net play. Latency should be no problem if the data rate is low. Yay multi player Excite Bike!


Top
 Profile  
 
 Post subject:
PostPosted: Sun Jan 28, 2007 1:51 am 
Offline
User avatar

Joined: Mon May 23, 2005 8:43 pm
Posts: 38
Location: Davis, CA
kyuusaku wrote:
I don't think the expansion connector provides any address lines for decoding. This would be a very easy thing to hook up to the cartridge bus, just decode the chip's /CS to some area and make /RD = !(Phi2 && RW) and /WR = !(Phi2 && !RW), could be done with a 74138 and 7400.

So the data lines are already hooked up to the expansion port, I would just need to worry about the address lines, right?
When you say decode to some area, how exactly would I do this? Would I wire the low 4 bits of the address bus to the expansion port, hook the chip to those lines, then pick some random region in memory, like $6000 - $6015, detect (how?) that location being active on the bus, and throw the /CS line in the ethernet chip?


Top
 Profile  
 
 Post subject:
PostPosted: Sun Jan 28, 2007 1:52 am 
Offline
User avatar

Joined: Mon May 23, 2005 8:43 pm
Posts: 38
Location: Davis, CA
quietust wrote:
Technically, you could get away with just using $4016 D1/D2 for output and $4017 D1/D2 for input without conflicting with any controllers, and you'd get Famicom compatibility as a bonus (using its smaller expansion port).

dwedit wrote:
The Miracle Piano Teaching System game uses the strobe signal of controller port 1 to send midi data to the instrument.

It looks like using the 8-bit data bus will work. I think I'm going to try to use that, as it's much faster.

tepples wrote:
The problem with a telnet client is the difficulty of text entry: The NES (as sold in Latin-alphabet countries) has no alphabetic keyboard.

That is a problem, as using an on-screen keyboard is really annoying.

bunnyboy wrote:
You will find the net stack far more difficult than the hardware or low level driver software. UDP and DHCP are pretty basic but TCP is way complex. If you are using a proxy you can cut out some of the stuff like reordering but it is still messy. Frequently games will use UDP and add their own system to make sure messages are received, but web browsers/servers and telnet clients fully use TCP.

Luckily, the full net stack is more in what I'm experienced, as opposed to the low-level hardware stuff. There's some a few good embedded stacks out there, such as the one for Contiki. Still, you're right, it's going to be quite a challenge working with the limited NES power.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Jan 28, 2007 6:58 am 
Offline
User avatar

Joined: Mon Sep 11, 2006 6:48 pm
Posts: 194
Location: Moose Lake, Minnesota
As for text entry, it'd be a lot less annoying to just add a PS/2 keyboard connector than trying to implement an onscreen keyboard. Whatever extra cost might be added would be worth it, if you ask me.

_________________
[size=0]"There is only one basic human right, the right to do as you damn well please. And with it comes the only basic human duty, the duty to take the consequences."
- P.J. O'Rourke[/size]


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jan 29, 2007 10:15 am 
Offline

Joined: Wed Sep 21, 2005 3:20 pm
Posts: 284
What about the Famicom Keyboard. ;)

-Rob


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jan 29, 2007 11:40 am 
Offline
User avatar

Joined: Mon Sep 11, 2006 6:48 pm
Posts: 194
Location: Moose Lake, Minnesota
Only works with Famicoms, unless a connector were added to the cart, and is hard to obtain. PS/2 keyboards are all over the place for dirt cheap and are, in my experience, sturdier and more reliable than USB keyboards.

_________________
[size=0]"There is only one basic human right, the right to do as you damn well please. And with it comes the only basic human duty, the duty to take the consequences."
- P.J. O'Rourke[/size]


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 36 posts ]  Go to page 1, 2, 3  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group