Page 4 of 10

Re: Sinclair Retro BBS online!

Posted: Tue Oct 18, 2016 9:52 pm
by Derek_Stewart
Is important that you explain this well to Giorgio because He want to configure the Terminal on Black Phoenix to connect on our SInclair BBS too ;)

Can you post here the settings for make QTPI connect on telnet under QPC2?

We will appreciate it.

Best regards.
The QTPI terminal acts as a local login terminal to Pbox.

The initial configuration was for a modem connected to Superhermes on a Super Gold QL.

I am sure how to connect to your BBS, using Telnet from a QL. Is PPP or SLIP available on the QL...

Re: Sinclair Retro BBS online!

Posted: Wed Oct 19, 2016 9:06 am
by Derek_Stewart
Hi Simone,

I do not know how t configure QTPI or any comms terminal to use Telnet. I will have to experiment.

Do you realise the Telnet transmits username and password in plain ASCII text is is very insecure.

Re: Sinclair Retro BBS online!

Posted: Thu Oct 20, 2016 12:28 am
by janbredenbeek
I've managed to get the Maximus BBS working under Windows 7 and NetFoss!
I need to do a few more tweaks but I expect it to go online via Telnet in a few days.
I have experimented with the tcp_ device under QPC2. It is possible to open a TCP/IP connection to port 23 on the remote machine, but the Telnet protocol also needs to do some handshaking between client and server when initiating a session. This needs to be implemented in the application, or a device driver which tacks onto the tcp_ device to do the handshake. You can't just replace device SERx with TCPx (I did OPEN#3,tcp_address:23 and it connected to the NetFoss Telnet server but I got thrown out because the server did not get the Telnet handshake). So if the software can't be adapted you might have to use another (Linux?) machine to front-end incoming Telnet/SSH connections as a terminal server and use a serial link to the QL.

later, Jan.

Re: Sinclair Retro BBS online!

Posted: Thu Oct 20, 2016 9:22 am
by Derek_Stewart
Hi Jan,

I think we need PPP or SLIP running on the QL, as other systems, connect using this protocol. I am sure there is C source around, but implementation maybe a problem.

Re: Sinclair Retro BBS online!

Posted: Thu Oct 20, 2016 9:29 am
by Outsoft
janbredenbeek wrote:I've managed to get the Maximus BBS working under Windows 7 and NetFoss!
I need to do a few more tweaks but I expect it to go online via Telnet in a few days.
I have experimented with the tcp_ device under QPC2. It is possible to open a TCP/IP connection to port 23 on the remote machine, but the Telnet protocol also needs to do some handshaking between client and server when initiating a session. This needs to be implemented in the application, or a device driver which tacks onto the tcp_ device to do the handshake. You can't just replace device SERx with TCPx (I did OPEN#3,tcp_address:23 and it connected to the NetFoss Telnet server but I got thrown out because the server did not get the Telnet handshake). So if the software can't be adapted you might have to use another (Linux?) machine to front-end incoming Telnet/SSH connections as a terminal server and use a serial link to the QL.

later, Jan.
Great job!!!

Re: Sinclair Retro BBS online!

Posted: Thu Oct 20, 2016 1:27 pm
by janbredenbeek
Got Telnet working on the QL!
All you need is an emulator with a TCP/IP stack (QPC2 will do), my QLTERM terminal program and this little SuperBASIC code:

Code: Select all

2000 DEFine PROCedure telnet(host$)
2010 LOCal chan
2020   chan=FOP_IN("tcp_"&host$&":23")
2030   IF chan<0:PRINT#0;"Could not open a session to ";host$;": ";:REPORT#0:RETurn
2040   BPUT#chan;255,253,1: REMark "DO ECHO"
2045   BPUT#chan;255,253,0: REMark "DO BINARY TRANSMISSION"
2047   BPUT#chan;255,251,0: REMark "WILL BINARY TRANSMISSION"
2050   EW win1_qlterm,#chan
2060   CLOSE#chan
2070 END DEFine telnet
The SuperBASIC code does some of the initial handshake so the server thinks it's a real Telnet terminal, and then starts QLTERM with redirected in/output. If you know any other terminal program that allows for redirection of the serial channel, you can probably use that. I've tried it with QTPI and got the initial logon screen, but then QTPI locks up unfortunately :cry:

So far I've been unable to download something this way as this needs an 8-bit clear connection, and Telnet needs to escape some characters (it uses CHR$(255) as control code). Since QLTERM only supports Xmodem this wouldn't be much fun anyway :D

I still have the ASM source of QLTERM so I could get this fixed probably, and perhaps add some nice features too ;) . Interestingly, most of the code in QLTERM deals with the funny hardware used in the '80s, like the Modaptor and QL Modem from Miracle Systems (which needed special I/O treatment for 1200/75 'Prestel' speed) and there is even a separate process that tries to read from the SER port as fast as possible and put the data in a bigger queue so the SER port wouldn't overrun! (of course this was in pre-Hermes days).

QLTERM does IBM graphics and ANSI colours (even 8 colours on 512x256 which weren't available on native QLs!) so you can use it safely with PC-based BBs.

later, Jan.

Re: Sinclair Retro BBS online!

Posted: Thu Oct 20, 2016 8:12 pm
by Outsoft
janbredenbeek wrote:Got Telnet working on the QL!
All you need is an emulator with a TCP/IP stack (QPC2 will do), my QLTERM terminal program and this little SuperBASIC code:

Code: Select all

2000 DEFine PROCedure telnet(host$)
2010 LOCal chan
2020   chan=FOP_IN("tcp_"&host$&":23")
2030   IF chan<0:PRINT#0;"Could not open a session to ";host$;": ";:REPORT#0:RETurn
2040   BPUT#chan;255,253,1: REMark "DO ECHO"
2045   BPUT#chan;255,253,0: REMark "DO BINARY TRANSMISSION"
2047   BPUT#chan;255,251,0: REMark "WILL BINARY TRANSMISSION"
2050   EW win1_qlterm,#chan
2060   CLOSE#chan
2070 END DEFine telnet
The SuperBASIC code does some of the initial handshake so the server thinks it's a real Telnet terminal, and then starts QLTERM with redirected in/output. If you know any other terminal program that allows for redirection of the serial channel, you can probably use that. I've tried it with QTPI and got the initial logon screen, but then QTPI locks up unfortunately :cry:

So far I've been unable to download something this way as this needs an 8-bit clear connection, and Telnet needs to escape some characters (it uses CHR$(255) as control code). Since QLTERM only supports Xmodem this wouldn't be much fun anyway :D

I still have the ASM source of QLTERM so I could get this fixed probably, and perhaps add some nice features too ;) . Interestingly, most of the code in QLTERM deals with the funny hardware used in the '80s, like the Modaptor and QL Modem from Miracle Systems (which needed special I/O treatment for 1200/75 'Prestel' speed) and there is even a separate process that tries to read from the SER port as fast as possible and put the data in a bigger queue so the SER port wouldn't overrun! (of course this was in pre-Hermes days).

QLTERM does IBM graphics and ANSI colours (even 8 colours on 512x256 which weren't available on native QLs!) so you can use it safely with PC-based BBs.

later, Jan.
Great job!!!

So now It will be great to modify the code of QL TERM for be modified and have more features ;)

We need also to try it via real QL, serial cable and a connection to a PC without using TCP SER ;)

Re: Sinclair Retro BBS online!

Posted: Thu Oct 20, 2016 8:34 pm
by Outsoft
On Q emulator just tested seems it doesn't work.

Can you do it a Q Emu version of this superbasic SW?

Q Emu have TCP/IP too ;)

Thanks dear

Re: Sinclair Retro BBS online!

Posted: Fri Oct 21, 2016 12:25 am
by janbredenbeek
Outsoft wrote:On Q emulator just tested seems it doesn't work.

Can you do it a Q Emu version of this superbasic SW?

Q Emu have TCP/IP too ;)
I don't have a registered copy of Qemulator and the TCP/IP device doesn't work in unregistered mode :cry:

I haven't tested it yet on uqlx; will try tomorrow...

later, Jan.

Re: Sinclair Retro BBS online!

Posted: Fri Oct 21, 2016 9:07 am
by Giorgio Garabello
janbredenbeek wrote:Got Telnet working on the QL!

Code: Select all

2020   chan=FOP_IN("tcp_"&host$&":23")

I imagine to have the device tcp_ need some extension, which one?