Q68 Ethernet

The Thor, Aurora, Q40, Q60 & Q68 etc. are discussed here.
Martin_Head
Aurora
Posts: 846
Joined: Tue Dec 17, 2013 1:17 pm

Re: Q68 Ethernet

Post by Martin_Head »

Although I've seen it mentioned. I don't actually know exactly what QLwIP is or does. Like I said my networking knowledge is very small. Most of what I do know comes from developing the IP Network driver.

I was only suggesting the use of the router style program so compatibility with SMSQEmulator and Qemulator may be maintained. If you wanted do make a version of my network driver that used UDP,( or any other protocol for that matter) The sources are freely available, and I have no objections to anybody trying make their own versions, or offshoots of it. The vast majority of the driver is taken from the SMSQ/E source code anyway.

Not knowing what facilities QLwIP supplies, or how its accessed. I don't know how easy it might be to alter my driver for your requirements.


User avatar
Peter
QL Wafer Drive
Posts: 1948
Joined: Sat Jan 22, 2011 8:47 am

Re: Q68 Ethernet

Post by Peter »

Martin_Head wrote:I don't actually know exactly what QLwIP is or does.
QLwIP is a package containing:

A) A full, native multitasking TCP/IP stack
B) Hardware drivers for ethernet on Q40/Q60/Q68 and the SLIP protocol over SER
C) A suite of internet programs, including webserver, fileserver, text-webbrowser, graphical email client

It is not vaporware, but also not release quality. I demonstrated that it works, at the Edinburgh and Mahlerts meetings. QLwIP was mainly written two decades ago and work on it is tough, because I forgot too much. It can not be directly compatible to the emulator TCP/IP interface, for several well considered reasons, but is very similar on socket API level.
Martin_Head wrote:If you wanted do make a version of my network driver that used UDP,( or any other protocol for that matter) The sources are freely available, and I have no objections to anybody trying make their own versions, or offshoots of it.
Many thanks, but unfortuntately it would dissipate my limited resources too much to do the changes toward UDP myself. I would only look at your code, if it already worked with UDP, tested on emulators. If direct UDP support is not something that interests yourself, it's probably less work trying to go from the QLNET driver to "QLNET over ethernet" directly.
Martin_Head wrote:Not knowing what facilities QLwIP supplies, or how its accessed.
Your driver interested me as part of a slim alternative to QLwIP, not as something that would access QLwIP.
The major point of the idea was: Maybe save the time for QLwIP development and provide a short term ethernet solution for the Q68 users. Which is also technically very efficient, because it sits almost directly on the ethernet packet layer, not the upper TCP layer.


Martin_Head
Aurora
Posts: 846
Joined: Tue Dec 17, 2013 1:17 pm

Re: Q68 Ethernet

Post by Martin_Head »

Peter wrote:B) Hardware drivers for ethernet on Q40/Q60/Q68 and the SLIP protocol over SER
So do you mean by that you do something like OPEN#3,ser3 which instead of using the RS232 port, it uses the Ethernet port instead. Then PRINT#3 and INPUT#3 to exchange data.
Which does not seem too much of a stretch from the NETI/NETO on the QL network, which my driver handles
If direct UDP support is not something that interests yourself
At the moment I've got too much on to really be able to think about doing something along these lines.
However if i did think about it. If I modified my driver in some way so that it would (if only partly) work over a RS232 link. Would that be the kind of thing you are looking for.


User avatar
Peter
QL Wafer Drive
Posts: 1948
Joined: Sat Jan 22, 2011 8:47 am

Re: Q68 Ethernet

Post by Peter »

Martin_Head wrote:So do you mean by that you do something like OPEN#3,ser3 which instead of using the RS232 port, it uses the Ethernet port instead. Then PRINT#3 and INPUT#3 to exchange data.
SLIP is an encapsulation of TCP/IP designed to work over serial ports and router connections, it was a common standard before PPP.
If QLwIP is told to use a SLIP interface, it will then open a SER port and use it for this purpose. But the QLwIP application interface is on the socket level, not the serial port.
Martin_Head wrote:At the moment I've got too much on to really be able to think about doing something along these lines.
Yes of course, we all have our time limits.
Martin_Head wrote:If I modified my driver in some way so that it would (if only partly) work over a RS232 link. Would that be the kind of thing you are looking for.
Only if you'd write it in a packet oriented manner, including handling for lost packets. But then, I wouldn't see how you save work compared to a UDP implemetation.


Martin_Head
Aurora
Posts: 846
Joined: Tue Dec 17, 2013 1:17 pm

Re: Q68 Ethernet

Post by Martin_Head »

Peter wrote:
Martin_Head wrote:If I modified my driver in some way so that it would (if only partly) work over a RS232 link. Would that be the kind of thing you are looking for.
Only if you'd write it in a packet oriented manner, including handling for lost packets. But then, I wouldn't see how you save work compared to a UDP implemetation.
What I meant,is that as I don't have a Q68 to work with. I could use an RS232 connection for testing, and change the OPEN commands for use on a Q68 later.

Although later I thought I could probably use a QPC2 v5 Beta and UDP directly. The current idea I'm thinking is using IO_SSTRG and IO_FSTRG instead of IP_SEND and IP_RECEV for the packet transfer. That is if QLwIP uses TRAP#3's to send/receive data? At first, just get a communication working, then add lost/damaged packets handling later.

How does opening channels work in QLwIP. Is there a device? Can you do something like "OPEN#3,wip_192.160.0.2:5800" to make a connection to that port on that IP address, (or the machine code equivalent) like the IP Device driver?

Have you got any simple examples of using QLwIP in BASIC, or machine code, or C at a pinch, (I'm not very good at C) to give some idea of what I would have to do, to connect to another computer running QLwIP.

Like I said, time to sit down and program is a bit short at the moment. But I can think about how to do it, at any time.


SM7I
ROM Dongle
Posts: 41
Joined: Mon Dec 10, 2012 6:52 pm

Re: Q68 Ethernet

Post by SM7I »

Martin_Head wrote:
Peter wrote:
Martin_Head wrote:If I modified my driver in some way so that it would (if only partly) work over a RS232 link. Would that be the kind of thing you are looking for.
Only if you'd write it in a packet oriented manner, including handling for lost packets. But then, I wouldn't see how you save work compared to a UDP implemetation.
What I meant,is that as I don't have a Q68 to work with. I could use an RS232 connection for testing, and change the OPEN commands for use on a Q68 later.

Although later I thought I could probably use a QPC2 v5 Beta and UDP directly. The current idea I'm thinking is using IO_SSTRG and IO_FSTRG instead of IP_SEND and IP_RECEV for the packet transfer. That is if QLwIP uses TRAP#3's to send/receive data? At first, just get a communication working, then add lost/damaged packets handling later.

How does opening channels work in QLwIP. Is there a device? Can you do something like "OPEN#3,wip_192.160.0.2:5800" to make a connection to that port on that IP address, (or the machine code equivalent) like the IP Device driver?

Have you got any simple examples of using QLwIP in BASIC, or machine code, or C at a pinch, (I'm not very good at C) to give some idea of what I would have to do, to connect to another computer running QLwIP.

Like I said, time to sit down and program is a bit short at the moment. But I can think about how to do it, at any time.

This is very interesting to me as I´m currently porting a software suite, that I developed for ZX Spectrum, to QL and it´s dependent on some sorts of communication using TCP/IP. If I could please have the SLIP driver it would work just fine with my RetroCom wifi adaptor. It´s built upon same ESP8266 module that´s also in Next so I´ll most likely port the suite to Next as well. Can someone please respond to me in PM and tell me how to get the SLIP driver ?


Derek_Stewart
Font of All Knowledge
Posts: 3901
Joined: Mon Dec 20, 2010 11:40 am
Location: Sunny Runcorn, Cheshire, UK

Re: Q68 Ethernet

Post by Derek_Stewart »

Hi,

I do not think a SLIP driver has been written or ported to the QL.

This is something I wanted to do, everyone uses emulators with a TCO/IP stack builtin.

So for real hardware there not much available.


Regards,

Derek
User avatar
Peter
QL Wafer Drive
Posts: 1948
Joined: Sat Jan 22, 2011 8:47 am

Re: Q68 Ethernet

Post by Peter »

Derek_Stewart wrote:I do not think a SLIP driver has been written or ported to the QL.
The QLwIP TCP/IP suite, which was demonstrated by me at several occasions (but not released yet) does contain working SLIP support. I mainly used it on Q40/Q60, but it did work (very slowly) on an expanded QL with a modified version of Minerva, too. However, QLwIP does not support the emulator TCP/IP interface of UQLX. I have two variants, one using a vector interface (in user mode, not supervisor mode) and one requiring applications directly linked to the stack. Both are not a "driver" in a sense that one could simply use the classic QDOS I/O traps and SuperBasic. This is unlikely to change, as I wrote only small portions in assembler and won't spend time for the much larger amountg of assembly programming needed to resemble the emulator TCP/IP interface. My very limited time does not make a release likely, but I can confirm SLIP is doable.

A big problem with SLIP is lack of Windows support. At least I never found a solution. SLIP would more or less restrict the other end to Linux/Unix.


Derek_Stewart
Font of All Knowledge
Posts: 3901
Joined: Mon Dec 20, 2010 11:40 am
Location: Sunny Runcorn, Cheshire, UK

Re: Q68 Ethernet

Post by Derek_Stewart »

Hi,

I meant to say a normal QL.

I saw the demo of the Q60 TCP/IP at Edinburgh, which looks really nice.


Regards,

Derek
User avatar
tofro
Font of All Knowledge
Posts: 2679
Joined: Sun Feb 13, 2011 10:53 pm
Location: SW Germany

Re: Q68 Ethernet

Post by tofro »

Peter wrote:
Derek_Stewart wrote: A big problem with SLIP is lack of Windows support. At least I never found a solution. SLIP would more or less restrict the other end to Linux/Unix.
Yes, there doesn't seem to be one, at least not for relatively recent Windows or MacOS X versions. And it's highly unlikely that someone will provide one - SLIP has been obsolete for years, replaced by the (largely MS-driven development of) PPP.


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
Post Reply