Q68 QoE Ethernet Driver
Posted: Tue Dec 22, 2020 3:18 pm
For most of the year I have been working on an Ethernet driver for the Q68. Its not finished, but I thought that I would release one of the development versions for people to try, and to get some user feedback on any problems seen.
I have tried to make the driver as compatible as I can with the IP device driver as used in the main QL emulators. it supports the UDP protocol. And will also obtain, and supply MAC addresses (ARP) when required. Also there is the ability to send and receive Pings over the network.
There is also implemented a pseudo TCP client, (I am working on the server side) that allows my IP Network driver http://www.dilwyn.me.uk/internet/index.html to run on the Q68. But only the client side, so no FSERVE yet.
The TCP client is not a full implementation of TCP, It does not have most of the error recovery expected. So all data packets must arrive intact, and in the correct order. So I would not recommend trying to use it over the Internet, but you should be OK over your LAN.
Please remember the driver this is still in development. I know of some potential problems, So I expect that you may find some problems. Please report any you find.
I have done most of my testing with QPC2 on a Windows XP system. So I am not too sure how well the driver will behave with other systems.
For anyone not familiar with my IP Network driver. Here is a brief, get you started. Change the IP addresses to suit your network.
On the Q68, LRESPR Q68NET_bin, then ETH_SETIP "172.16.0.20" This sets the Q68's IP address
In QPC2, LRESPR NETdriver_cde, then
NET_START "172.16.0.9" This being the IP address of the PC
FSERVE
This gets the server side running.
On the Q68, LRESPR NETdriver_cde, then
NET_START "172.16.0.20"
If the last octet of the servers IP address is greater than 8 (*), you need to enter MAP_N 2,9. In this case N2_ will be rerouted to station 9
* In SMSQ/E versions less than 3.32, then you can only use N1_ to N7_
You can then do DIR N2_DOS3_ to get a directory of dos3_ in QPC2
You can also use NETO_9 on the Q68, and NETI_20 on QPC2
Don't try to use NETI_, or FSERVE on the Q68 side, as this is not implemented yet.
I have tried to make the driver as compatible as I can with the IP device driver as used in the main QL emulators. it supports the UDP protocol. And will also obtain, and supply MAC addresses (ARP) when required. Also there is the ability to send and receive Pings over the network.
There is also implemented a pseudo TCP client, (I am working on the server side) that allows my IP Network driver http://www.dilwyn.me.uk/internet/index.html to run on the Q68. But only the client side, so no FSERVE yet.
The TCP client is not a full implementation of TCP, It does not have most of the error recovery expected. So all data packets must arrive intact, and in the correct order. So I would not recommend trying to use it over the Internet, but you should be OK over your LAN.
Please remember the driver this is still in development. I know of some potential problems, So I expect that you may find some problems. Please report any you find.
I have done most of my testing with QPC2 on a Windows XP system. So I am not too sure how well the driver will behave with other systems.
For anyone not familiar with my IP Network driver. Here is a brief, get you started. Change the IP addresses to suit your network.
On the Q68, LRESPR Q68NET_bin, then ETH_SETIP "172.16.0.20" This sets the Q68's IP address
In QPC2, LRESPR NETdriver_cde, then
NET_START "172.16.0.9" This being the IP address of the PC
FSERVE
This gets the server side running.
On the Q68, LRESPR NETdriver_cde, then
NET_START "172.16.0.20"
If the last octet of the servers IP address is greater than 8 (*), you need to enter MAP_N 2,9. In this case N2_ will be rerouted to station 9
* In SMSQ/E versions less than 3.32, then you can only use N1_ to N7_
You can then do DIR N2_DOS3_ to get a directory of dos3_ in QPC2
You can also use NETO_9 on the Q68, and NETI_20 on QPC2
Don't try to use NETI_, or FSERVE on the Q68 side, as this is not implemented yet.