Information about the interface-hardware and how it works in a Z80-System.

Evolution stages

I read the first information about the hardware TCP/IP-stacks of "WIZnet" in 2003. But I could not find sufficiently information on how to use these chips. It took until autumn 2006, when I discovered the "Easy TCP" project of MCS Electronics from the Netherlands. They offered an experimental MCU-board for an Atmel 8051/52 or ATmega with the first WIZnet-stack W3100A. An assembler library for AVR-BASCOM was included with the board, to program the stack.
That was exactly what I had waited for. I knew BASCOM and I had already programmed the Atmel ATmega's in assembler. I ordered the kit and tried it out. I had to solve some problems with the BASCOM program examples, but the stack worked immediately! Subsequently, the assembler library and the datasheet of the W3100A were analyzed, to learn how the stack must be programmed.

Because of another project, the work on TCP/IP paused until March 2007. Then, I undertook the first attempts with the KC85 system.

The MCU-board and the Z80 system were connected. Then, some experimental assembler software was programmed for the ATmega, which executed commands from the KC85. Finally, I made another program for the KC85 system, to get the TCP/IP-stack initialized from there.

KCNet-I with W3100A on NM7000A
KCNet I with NM7000A


The first big step was done one week before the annual meeting of the german KC-Club. The KC was able to write an IP-address and subnetmask in the registers of the W3100A and to initialize it. Then, a PING from another computer was answered by the KC85.

So far, so good ? No, there were some concerns and doubts with the W3100A. It was introduced in 2002, WIZnet was not idle meanwhile and had further developments on the market with W3150/W3150A (2005) and W3150A+ (2006).

I had noticed it negatively already in 2006 with the study of the W3100A datasheet and the assembler-routines from the BASCOM library, that driver programming would not be trivial and somewhat awkward too. After I had compared this with the W3150A+, it was quickly clear, these disadvantages were no more present in the second generation of the TCP/IP stack and that actually, one could continue the project, but only with the current chips.

NM7010B+Therefore, in May 2007, I tested, whether the more current TCP/IP stack W3150A+ could be also used with my experimental MCU-board. I found with pleasure that only some small alterations needed to be performed on the original MCU board. Then, everything should work electrically, as previously.

I ordered the second network module NM7010B+ afterwards, with a W3150A+, and rebuilt the circuit board accordingly. The program for the KC85 was altered after this and the first test executed with the W3150A+. It worked straight away, exactly like the W3100A.

KCNet-II with W3150A+ on NM7010B+
KCNet II with NM7010B+


The second pause in the project was from May to September 2007, because of other work. The main development phase started after the summer in September 2007. KCNet-II was the platform for the development of the first final Firmware-Version 1.1 for the ATmega MCU, which was ready in November 2007. Then, the first Z80 driver software was written until January 2008.

The 5th January 2008 was the "historical" date, the KC85 communicated with the PC over TCP, with the help of the interface.

In the following period, the socket API was created. Together with the first three network programs, the project was demonstrated at the annual KC85 meeting in March 2008. A long optimization phase followed then, with many software improvements, new KC85 interface drivers and Firmware-Version 1.2 for the ATmega MCU.
In June 2008, a last test was performed with the most recent and cheapest TCP/IP-stack W5100. It integrates the Ethernet controller inchip now, and the third ordered network module WIZ810MJ costs around 20 EUR only.

This module has some very little differences in the output of a stable /LINK signal, but the TCP/IP core is fully compatible with the predecessor W3150A+. I simply replaced the old module with the new one and everything ran like before. So the third variation of the KCNet came into operation and this is the last and recommended version for other hardware applications, please look at "Network Modules" for more information also.

KCNet-III with W5100 on WIZ810MJ
KCNET III with W5100 on WIZ810MJ


KCNet-III was also the basis for the development of our KC85 Network & USB Module M052. This was done from summer 2008 up to January 2009. The following picture shows one prototype with the professional board.


KC85 Module M052 with KCNet-III (left half of the board)



Finally all tests of the M052 passed successfully, and the new KC85 Module was presented at the annual meeting of the KC-Club in 2009.

With the help of this module, the KC85 system is technically capable to use the services of TCP/IP Ethernet-networks in the CP/M operation mode, as well as in the CAOS operation mode.

In June 2009, the first production run of more than 60 M052 Module-Kit's for KC85 users was started ...