Serial to Ethernet Adapter

That is another possibility to connect a system with RS-232 interface with an Ethernet network. The hardware-connection is quickly made, but there are strong limitations on the software side. The following picture represents the structure.

SerialToEthernet Adapter

The crucial disadvantage is that there is no direct access to the TCP/IP-stack. It is hidden behind the non-standard device-specific protocol of the adapter (firmware). The Z80 software will work with adapters from the same manufacturer only. The functionality is directly influenced by the instruction set of the device protocol. The stack is not freely programmable.

There is an attempt in the "The N8VEM Home Brew Computer Project" with such adapters:

2008 ... :  MSS100 - Serial to Ethernet Gateway / Device Server

  • James Moxham and Richard Haseman
  • RetroBrew Computers N8VEM
  • UART
  • not standardized and limited Device-Protocol over RS-232
  • Z80 Assembler

This project is in the very beginning and not reusable until now. So far, it was possible to establish a Telnet session, but there exists no API, just some experimental code.

freely programmable - no
memory usage - low
system load through the stack - no
stability and reliability - yes
other computer or server needed - no
system load through network activity - no
transfer speed of network data - bad
response time and usability - depends on RS-232 hard- and software
communication capabilities - depends on adapter firmware
implementation of standard RFC-protocols - depends on adapter firmware
convenient API for network programming - no
compatibility with other Z80 systems - only with the same adapter
login / authentification / connection - no
The biggest advantage of such adapters is that the TCP/IP stack is outsourced from the system. The Z80 has to process the network program only. This reduces the system load greatly. But such Ethernet-adapters are available for the serial interface only. The problem remains with the low transfer-speed from the system to the adapter, see calculation example PPP/SLIP.

The restricted functionality of the device protocol decides against this solution. It sits over the application level of the TCP/IP stack. If there is a command or application not implemented in the adapter firmware, it is impossible to write an according network program.

Because the device protocol of such a serial to Ethernet adapters isn't portable, this cannot become a solution for a common Z80 TCP/IP-interface.

The same problem exists with other MCU's like PIC's, AVR's or ARM's, which can do the TCP/IP-stack for a Z80 system. Without an exactly defined hard- and software-interface for both sides on one layer of the TCP/IP-stack, an universal TCP/IP binding for a Z80 system will never exist. This development effort must be done twice : this requires a lot of time, experience and knowledge.

You need a generic protocol in order to program without restrictions, if you use external hardware!