Ethernet cartridge for MSX (Hardware MSX Forum)MSX Resource Center               
              
English Nederlands Espa�ol Portugu�s Russian French         

MSX Forum


MSX Forum

Hardware - Ethernet cartridge for MSX

Goto page ( 1 | 2 | 3 | 4 Next Page )
Author

Ethernet cartridge for MSX

DD
msx user
Posts: 62
Posted: May 12 2009, 16:07   
A few months ago i started a project where i need VoIP for connecting transmitter stations, to learn about the ethernet controller in this project i wanted to connect it to the MSX because this gives a real good debug environment. Then it is a very small step to make a cartridge of it.

In januari I received the prototype boards and started soldering the components on one board first to test it. Most things worked fine except for reading the buffer memory and lost connections when the MSX accesses the controller. I had to make extension boards with damping resistors to fix it, with this extension the cart fits into a Moonsound box. Originally the design was meant for a Konami sized box but the UTP plug won't fit anyway.

The basic program on the TV screen initializes the card and there is a small basic example program to send a package over the network. The controller handles most of the IP protocol, package decoding and checksum. I don't have enough time to write software, since i am working on other (hardware) projects and another problem is, in a lot of situations I don't have enough knowledge of DOS2 to keep software compatible. Yobi has written a tool to obtain an IP address from a router, the tool sends a DHCP request and decodes the reply.



The costs of this proto lot is 75 euro's, including the FLASH rom 29F040 which is not soldered on the one on the picture. Now there are 5 available and they will be produced again later on. If you are a software writer and feel like making tools for it, I can give support from hardware point of view.

The controller used is the W5100 with a total memory size of 16k, it can handle 4 sockets simultaneously with each another port, destination IP address or protocol. When using only one socket 8k memory for transmitter buffer and 8k memory for received data is available. A socket handles UDP, TCP or IPRAW, by hardware. In IRRAW mode you are free to write the protocol number in a register.



The FLASH is located at address &H0000-&H7FFF, the total memory is mapped in parts of 32k. With the lowest 4 bits of I/O address &H28, the desired 32k block can be mapped to address &H0000-&H7FFF. It can be used as a BIOS and DHCP at startup, there is no software now except a tool for programming the rom.

Memory address &H8000-&HFFFF is used by the ethernet controller, it has a memory space of 32k but to make access more easy there are two bits to select pages of 16k. Bit 4 selects the lower (0) or higher (1) part of the controller's memory for address &H8000-&HBFFF, bit 5 does the same for address &HC000-&HFFFF. Note that the upper part of the ethernet controller is the data buffer, switching the databuffer to &HC000-&HFFFF will conflict with slotexpanders.

A read is possible from I/O address &H28, bit 6 and 7 are not used and random for reading.

I/O address &H29 is read-only and gives the status of the LED's, these are:
Bit 0 = TX
Bit 1 = RX
Bit 2 = Collision
Bit 3 = Ful duplex
Bit 4 = Speed, 100Mbps
Bit 5 = Link





konamiman
msx freak
Posts: 247
Posted: May 12 2009, 17:12   
Sounds like a nice Ethernet UNAPI BIOS could be made for this toy... any volunteer?

Note anyway, that by using the Ethernet UNAPI you are not using the embedded TCP/IP processing capabilities of the W5100. But it would be a good start anyway.
dhau
msx master
Posts: 1384
Posted: May 12 2009, 19:38   
Great project! The PCB looks fantastic. And by the way, I love your telly. I grew up with one like this in the eighties.
MäSäXi
msx professional
Posts: 851
Posted: May 12 2009, 20:28   
Great prototype you have made!

Nice!
Sd-Snatcher
msx addict
Posts: 302
Posted: May 12 2009, 21:28   
I like 2..

Yobi
msx lover
Posts: 108
Posted: May 12 2009, 21:33   
I'm currently busy with streaming radio.
But it's a lot of work. So if you have info about it... please let me know.
So nice to have a mp3 player.
spl
msx professional
Posts: 813
Posted: May 12 2009, 23:39   
Great!!!! I like one ^^! But I will buy the next batch: the coders first
W76NearDark
msx addict
Posts: 470
Posted: May 13 2009, 11:02   
Very nice! finally an ethernet interface for MSX. I know there were some others (obsonet e.g.), but they never were mass-produced. Even Sunrise hasn't finished their Dumas interface yet. Please keep it as simple as it gets... no rs232 built within or so... Hopefully you can give order information soon.
Latok
msx master
Posts: 1891
Posted: May 13 2009, 11:08   
This is fantastic!! I would like to buy one as soon as possible
DD
msx user
Posts: 62
Posted: May 13 2009, 17:24   
Unfortunately there are only 5 now and there is no real software yet, indeed it would be better to give programmers a bit priority. I think i should make a new picture of the final version...

UNAPI would be a good solution to make existing software running with this card, maybe some parts of the 'low level' header should be recomposed again in software because it is removed by hardware... Existing software expects more data about protocol information and maybe checksum.

To make advantage of the performance, software should leave more to the hardware. The way of thinking is a bit different, this cartridge must be told what to expect or what to send. Software which only listens to the ethernet won't receive anything, a protocol and port must be specified first, then the cart can be set up to 'listen' mode. This for four protocols and ports at the same time. If something is received or the controller has finished sending data, it can give an interrupt or the user can poll status registers. In this case, software does not have to check the port number or protocol.

I have spend some time with ethernet viewers as 'Commview' and 'Show traffic' to find out what's happening with shoutcast. I think a lot of overhead in the TCP protocol will also disappear, like ACK, SYN and SYN ACK to keep the connection alive, these things are time consuming for a Z80. Streaming audio is probably more difficult than a DHCP tool, i have tried a few things weeks ago but no response from the server. It seems the PC sends a TCP package of 0 bytes to the server to initiate shoutcast (?). I did not receive anything from the server, after that time i focused on hardware again.
doraemonppc
msx lover
Posts: 119
Posted: May 13 2009, 17:38   
Nice!!
Me like spl. Coders first.
I will be really hapy If will be Internestor compatible with an UNAPI bios

konamiman
msx freak
Posts: 247
Posted: May 13 2009, 18:13   
I have took a quick look at the W5100 datasheet, and if I understood correctly, this controller can be used as a plain raw Ethernet controller, by using socket 0 in MACRAW mode. This is all what is needed for an Ethernet UNAPI implementation.
DD
msx user
Posts: 62
Posted: May 14 2009, 14:06   


Latok
msx master
Posts: 1891
Posted: May 14 2009, 14:39   
*drooooool*
karloch

msx addict
Posts: 476
Posted: May 15 2009, 00:19   
O_o WTF
 
Goto page ( 1 | 2 | 3 | 4 Next Page )
 







(c) 1994 - 2010 MSX Resource Center Foundation. MSX is a trademark of MSX Licensing Corporation.