UZIX Zilog Inside
UNIX Implementation for MSX

[UZIX] [Tech info] [Status] [UZIX 2.0] [WWW] [Shots] [Docs] [Downloads]

UZIX 2.0 TCP/IP Stack


      Connecting the MSX to the Internet is an old dream. Projects exists, but no one had gone far. Since UZIX is an UNIX clone, it could not be "unplugged". In fact, many people, seeing, surprised, an UNIX running on MSX, ask: "Does it have network connection?". So, here is the answer for these people: Yes, UZIX has network connection. So, there is no more excuses to not use your MSX just because "I can't connect to the Internet using MSX". Now your MSX can connect to the Internet as any other "big" computer.
      UZIX TCP/IP stack is currently in stage of development, but it is functional and can do several useful and several useless things as well. Note that this is a beta version. If you find bugs, please, report them to

Changes from previous version:
  • None. UZIX 2.0 TCP/IP Stack is running as fine as UZIX 1.0 TCP/IP Stack;
Current release:

      It's a fact that MSX doesn't have network cards, so network connection must be done by another ways. By now, the connection between MSX and the Internet must be made by two ways:
  • by a RS232 serial interface and an UNIX (any Linux distribution, a Sun or Alpha Station, etc), Windows or DOS hosted machine;
  • by a dial-up connection using an Internet Service Provider (ISP);
      Since the stack is in development, it's not optimized for speed, so a MSX Turbo-R and a harddisk (or ZIP drive) is recommended, but not mandatory.
      Here are the features of this release of the UZIX TCP/IP Stack:

  • Connection to the Internet via SLIP or PPP protocol;
  • Support to dial-up connection using ISPs;
  • Implementation of IP, ICMP, TCP and UDP layers;
  • Automatic ping requests reply;
  • DNS request handling;
  • Loopback IP implementation;
  • Authentication support via PAP and CHAP protocols;
      Available applications for UZIX are:
  • Functional telnet client (with ANSI terminal emulation);
  • Functional ping client;
  • Functional finger client;
  • Functional ftp client;
  • Functional POP mail client;
  • Functional DNS client (nslookup);
  • Functional web-browser (fudebrowzer);
  • Functional network status program (netstat);
  • Functional SLIP driver (slattach);
  • Functional PPP driver (pppd);
  • Functional dial-up driver (chat);
Bugs, missing features and limitations:

      UZIX TCP/IP is not finished yet. It has many missing features and limitations. They are listed below:
  • Despite loopback IP is implemented, telnet, finger or ftp will not work with localhost, since neither telnet, finger or ftp daemon are implemented, but ping will work perfectly;
  • ICMP messages are not fully implemented;
  • Only ICMP messages types 0 (echo reply), 3 (no route) and 8 (echo request) were tested.
  • Stack can't handle fragmented IP packets;
  • TCP URGENT field is ignored;
Planned implementations:

      Coming soon:
  • Tupiniquim Web Server, a web server for MSX;
  • telnet and ftp daemons;
  • More network applications for UZIX;
      Coming not so soon:
  • IPv6 implementation;

      Refer to the Downloads page to get UZIX installation program or diskimage, that includes the TCP/IP Stack.
      For information about FudeBrowZer, the UZIX web-browser, and separate download of it, refer to the WWW page.

How to connect:

      Refer to UZIX TCP/IP Guide for detailed information of how to connect your MSX to the Internet using a host UNIX-like machine.
      Refer to UZIX and Windows TCP/IP Guide for detailed information of how to connect your MSX to the Internet using a host Windows machine.
      Refer to guide Dial-up Connection Using UZIX for detailed information of how to connect your MSX to the Internet using a dial-up connection.
      Refer to the RS232 speed comparison under UZIX document for a practical comparison between some of the available RS232 interfaces for MSX.

Source code, copyrights and acknowledgements:

      The entire source code of UZIX TCP/IP Stack will be available when the project be finished.
      UZIX TCP/IP Stack was written by Adriano C. R. da Cunha. It's derived and inspired from many sources, notably LUnix TCP/IP Stack by Daniel Dallman, ZSock by Dominic Morris and Minix. Also thanks to Andy Tannenbaum for his "Computer Networks" book and to IETF for hosting those RFCs.

      This work is dedicated to Archi Schekochikhin for being a great programmer and partner in the UZIX project.