durgadas311
Veteran Member
I'm starting this thread because there has been some interest in getting CP/NET running on various platforms or environments. The intent of this thread is to have a place to discuss and work on implementations, or a jumping-off point to spawn new threads for specific implementations.
In recent years I've worked on a CP/M 3 version of CP/NET, and also have a JAVA CP/NET server that runs on MAC and Linux and should work on Windows.
For the purposes of emulations, the "network device" emulation need not (necessarily) match any real hardware. One can design a simple data path that uses INIR/OUTIR, for example, and requires very simple Z80 code to implement the SNIOS.
For real hardware, some sort of physical interface is required. The simplest is probably a serial port, although there is a lot more capability provided by Ethernet modules such as those based on the WizNET W5500 chip, which provides TCP/IP sockets with very little Z80/8080 overhead.
As background and a starting point, here is a modified copy of the original Digital Research CP/NET manuals, with my extensions for CP/M 3: http://sebhc.durgadas.com/mms89/wiz850io/dri-cpnet.pdf
In addition, here is a document about a WizNET W5500-based implementation on Heathkit H8 computers (with a Z80): http://sebhc.durgadas.com/mms89/wiz850io/CPNET-WIZ850io.pdf. This document explains how I chose to interface the CP/NET domain to modern TCP/IP networks.
I also have a github repo where I am keeping CP/NET client source code, although it has become a catch-all and contains a lot more than just CP/NET. The CP/NET code is pretty much contained in the 'net' subdirectory. https://github.com/durgadas311/MmsCpm3. Apologies to Zilog mnemonics enthusiasts, I use Intel+Z80.LIB. Lets keep flames about that on a separate thread...
I am currently working with someone on a RC2014 version of CP/NET using that platform's MT011 adapter to the "Featherwing" WizNET W5500 module. This adapter is nearly identical to the Heathkit WIZ850io adapter, and so shares most of the code.
The CP/NET server JAVA code is shared separately, but we can discuss that as need/interest be.
In recent years I've worked on a CP/M 3 version of CP/NET, and also have a JAVA CP/NET server that runs on MAC and Linux and should work on Windows.
For the purposes of emulations, the "network device" emulation need not (necessarily) match any real hardware. One can design a simple data path that uses INIR/OUTIR, for example, and requires very simple Z80 code to implement the SNIOS.
For real hardware, some sort of physical interface is required. The simplest is probably a serial port, although there is a lot more capability provided by Ethernet modules such as those based on the WizNET W5500 chip, which provides TCP/IP sockets with very little Z80/8080 overhead.
As background and a starting point, here is a modified copy of the original Digital Research CP/NET manuals, with my extensions for CP/M 3: http://sebhc.durgadas.com/mms89/wiz850io/dri-cpnet.pdf
In addition, here is a document about a WizNET W5500-based implementation on Heathkit H8 computers (with a Z80): http://sebhc.durgadas.com/mms89/wiz850io/CPNET-WIZ850io.pdf. This document explains how I chose to interface the CP/NET domain to modern TCP/IP networks.
I also have a github repo where I am keeping CP/NET client source code, although it has become a catch-all and contains a lot more than just CP/NET. The CP/NET code is pretty much contained in the 'net' subdirectory. https://github.com/durgadas311/MmsCpm3. Apologies to Zilog mnemonics enthusiasts, I use Intel+Z80.LIB. Lets keep flames about that on a separate thread...
I am currently working with someone on a RC2014 version of CP/NET using that platform's MT011 adapter to the "Featherwing" WizNET W5500 module. This adapter is nearly identical to the Heathkit WIZ850io adapter, and so shares most of the code.
The CP/NET server JAVA code is shared separately, but we can discuss that as need/interest be.