106
Programming / Re: SymbOS
« on: 2015.March.23. 23:18:09 »
Hi LGB, yes, network is also in progress now! 
Since last week I am working on the network support for SymbOS. The first version is based on the Wiznet W5100 ethernet controller, which is used in the DenYoNet card for the MSX (as well as in the Spectranet hardware). There is a W5100 project for the CPC, too, but I can also imagine the ESP8266 for the EP very soon! Here is a first screenshot...

...showing the test utility, which is loading the WWW.MSX.FI homepage.
The driver is designed in a way, that it's very easy to exchange the used hardware by dividing the code into three layers. The low level code is for accessing the W5100 hardware directly, which is different between the MSX and other implementations. The mid level is for working with the hardware, which is the same for all systems using the W5100. Other hardware like the ESP8266 Wlan module, which can be connected to the Enterprise 128, are realisable with just another midlevel code. The high level is for managing the connections and communication with the processes, which want to do networking.
All TCP routines seem to work now, now it's time for UDP to make DNS and DHCP possible.
The network driver is running as a "Daemon", which is an own background process in the multitasking environment. Applications can send messages to it, like asking for opening a new connection, sending data to an already opened connection etc. They will also receive messages from the network daemon, if there is new incoming data or if the status of a connection changed etc. This makes it possible to run multiple applications at the same time, which all can have open connections.
The new network driver takes care about compatibility to Dr.Zeds NetD driver from 2007, which was developed for the SYMBiface 3 expansion card.

That makes it easy to adapt applications like SymTEL and Dr.Zeds' GUI-based SymFTP ftp client.
Regarding the W5300, wow, that sounds very cool! I didn't read about if before. Because of the layer structure inside the driver it should be very easy to support it, too!

Since last week I am working on the network support for SymbOS. The first version is based on the Wiznet W5100 ethernet controller, which is used in the DenYoNet card for the MSX (as well as in the Spectranet hardware). There is a W5100 project for the CPC, too, but I can also imagine the ESP8266 for the EP very soon! Here is a first screenshot...
...showing the test utility, which is loading the WWW.MSX.FI homepage.
The driver is designed in a way, that it's very easy to exchange the used hardware by dividing the code into three layers. The low level code is for accessing the W5100 hardware directly, which is different between the MSX and other implementations. The mid level is for working with the hardware, which is the same for all systems using the W5100. Other hardware like the ESP8266 Wlan module, which can be connected to the Enterprise 128, are realisable with just another midlevel code. The high level is for managing the connections and communication with the processes, which want to do networking.
All TCP routines seem to work now, now it's time for UDP to make DNS and DHCP possible.
The network driver is running as a "Daemon", which is an own background process in the multitasking environment. Applications can send messages to it, like asking for opening a new connection, sending data to an already opened connection etc. They will also receive messages from the network daemon, if there is new incoming data or if the status of a connection changed etc. This makes it possible to run multiple applications at the same time, which all can have open connections.
The new network driver takes care about compatibility to Dr.Zeds NetD driver from 2007, which was developed for the SYMBiface 3 expansion card.
That makes it easy to adapt applications like SymTEL and Dr.Zeds' GUI-based SymFTP ftp client.
Regarding the W5300, wow, that sounds very cool! I didn't read about if before. Because of the layer structure inside the driver it should be very easy to support it, too!