Page 11 of 22

Re: QLUB Adapter - Initial Release...

Posted: Tue Feb 02, 2021 4:55 pm
by Maskenlos
Thanks to the great support from Martyn we finally got it working.

Seems like my GC3 (Rom 2.32) and its TK2 driver is more sensitive to the length of the SCOUT than any of the other drivers/machines tested so far.

Based on the fact that QLUB could already receive, it implied that the ACK-byte sent back from QLUB to QL after each packet must have acceptable bit-timing to be recognised by the QL with GC. The other 'phase' of the protocol where timing is measured particularly closely is during the SCOUT, when the receiver times how long to 'ignore' the NET signal after it first detects the SCOUT, before it then starts again to listen for the START bit of the header that is expected to follow.

The SCOUT timings in v2.1f were just a bit too short for my GC (possibly only a few 10's microsec), so simply extended the relevant Timing Constants in a way that still works with other machines (tested with SGC) and my GC

This change will be added to the next release, but if any GC owner who try the QLUB can not await, may ask Martyn for an interim update.

I want to emphasise that Martyn heavily supported me in solving this issue. He is a very pleasant and helpful person spending many hours to get it running!!

Stephan

Re: QLUB Adapter - Initial Release...

Posted: Wed Feb 03, 2021 9:57 am
by Maskenlos
The QLUB also works with uQLx under Ubuntu. Ad the serial device in the .uqlxrc file.

Code: Select all

SER1 = /dev/ttyACM0
In the SendFileMQv15_bas change to:

Code: Select all

1480 virtualCOMPort%=1
and

Code: Select all

4370   BAUD 9600
Have fun.

Stephan

Re: QLUB Adapter - Initial Release...

Posted: Wed Feb 03, 2021 12:53 pm
by martyn_hill
Hi everyone - a short update during my lunch-break...

Thanks to Stephan's diligence and determination, we now have the QLUB Adapter running successfully with the GoldCard-equipped QL, with both QPC and uQLx emulators on the PC side!

So far then, with the enthusiastic participation of several community members, we can confirm success across the following configurations - both inside and outside the 'clean-room' of my own lab! Thanks especially to Stephan, Daniele, Marcel and gbejniet for their efforts and feedback!

Emulator: QPC and QEmuLator (with Minerva) on Windows, uQLx on Unix
Peer QL: BBQL (Minerva) + TK2 2.34, GoldCard (v2.32) and SuperGoldCard (v2.49) equipped-QL (both incorporate TK2), QXL-II under SMSQ/E
Peer ZX Spectrum: Without code changes to the Shadow ROM, this may prove unreliable, although we have at least two members reporting that their QLs and Spectrum's can already communicate, which bodes well for connecting the Spectrum to the QLUB.

There's no particular reason why the (S)GC equipped QLs wouldn't also be successful when running SMSQ/E rather than Minerva/QDOS - any volunteers to validate this?

Furthermore, whilst its been a while since I last tested such a configuration, QLs without TK2 should also work happily with the QLUB Adapter - or indeed with older versions of QDOS rather than Minerva - although the AH ROM will need a bit of tweaking; waiting to hear gbejniet's feedback on this point.

The precise version of (standalone) TK2 is also unlikely to play a significant role - from my analysis of the available source code, the physical network routines appear to have remained pretty static across versions up to v2.23 and the version of the NET driver included in the GC ROM as well as the version re-written for SGC are both now validated.

Also, contrary to my earlier speculation, it appears that the issue-number of the QL motherboard has little influence on success, which is a relief - my earlier testing suggested that the Issue-5 boards - with the ZX8302 hosted on the shared video/DRAM side of the bus - could introduce intermittent timing issues.

Given this fairly wide coverage of common platforms now known to work, I plan to refocus my time on developing the 'fully integrated' NET/MQ device driver to completion - ultimately to offer the full TK2-FSERVE functionality in the process.

I can procrastinate no longer - wish me luck :-)

BTW - I'd really appreciate more feedback on the 'Networking the QL' article shared previously, as I prepare to write the second installment...

Re: QLUB Adapter - Initial Release...

Posted: Wed Feb 03, 2021 8:38 pm
by M68008
martyn_hill wrote:Emulator: QPC and QEmuLator (with Minerva) on Windows, uQLx on Unix
Peer QL: BBQL (Minerva) + TK2 2.34, GoldCard (v2.32) and SuperGoldCard (v2.49) equipped-QL (both incorporate TK2), QXL-II under SMSQ/E
JS ROM + TK2 also seems to work, that's what I used in my test both on the BBQL (without GC) and Q-emuLator on Windows.

Re: QLUB Adapter - Initial Release...

Posted: Wed Feb 03, 2021 9:13 pm
by martyn_hill
Thanks Stephan!

Do you recall the version of TK2?

Re: QLUB Adapter - Initial Release...

Posted: Wed Feb 03, 2021 10:31 pm
by gbejniet
martyn_hill wrote:Furthermore, whilst its been a while since I last tested such a configuration, QLs without TK2 should also work happily with the QLUB Adapter - or indeed with older versions of QDOS rather than Minerva - although the AH ROM will need a bit of tweaking; waiting to hear gbejniet's feedback on this point.
Hi Martyn - I don't really have feedback at this point because I was happy to wait until I can modify timings at the Teensy end - I don't think I can make the legacy toolchain work though as I only have macOS Catalina available to me now. I'm in no hurry so I'm happy to pick up any updates to firmware as you plan and implement them. (I have an occasionally childish preoccupation with trying to work with relatively unmodified kit, although I completely take your point about upgrading AH if the headache is too great.)

David

Re: QLUB Adapter - Initial Release...

Posted: Wed Feb 03, 2021 10:32 pm
by NormanDunbar
martyn_hill wrote:BTW - I'd really appreciate more feedback on the 'Networking the QL' article shared previously, as I prepare to write the second installment...
A most enlightening read. I've never used the QL network at all -- other than to test if WinBack could backup over the network. (It could!), I wasn't too clued up on the workings of it. I found the depth of information supplied to be most excellent.

Thank you.

Cheers,
Norm.

Re: QLUB Adapter - Initial Release...

Posted: Wed Feb 03, 2021 10:41 pm
by Maskenlos
Hi all,
There's no particular reason why the (S)GC equipped QLs wouldn't also be successful when running SMSQ/E rather than Minerva/QDOS - any volunteers to validate this?
QLUB using SMSQE 337 on my GC 2.32 works well!

QLUB, Minerva 1G98 I/O fix and TK2 2.32 works as well on BBQ

For those who want to try uQLx: use JS-Rom or Minerva 1G98 with I/O fix. Minerva 1.89 leads to unstable contection between PC and QLUB.

Best regrads,

Stephan

Re: QLUB Adapter - Initial Release...

Posted: Wed Feb 03, 2021 10:42 pm
by Maskenlos
I can procrastinate no longer - wish me luck
Good Luck ;)

Re: QLUB Adapter - Initial Release...

Posted: Tue Mar 09, 2021 12:25 am
by martyn_hill
Hi everyone!

After quite a bit more testing by Stephan and others here and further refinements to both the QLUB Adapter firmware and companion 'file-transfer' program SendFileMQ, please find attached v2.2a of the QLUB solution.

Whilst the full integration with QDOS/SMSQE is still in progress, this is an interim 'general release' having ironed-out a few more bugs, enhanced network timing routines (based now on the micro-controller's hardware timer/counter for the most critical parts) and with the addition of customisable 'timing-constants' to allow easier adjustment to diverse network configurations without the need to adjust and recompile the source code, this release should provide a more stable and 'future-ready' version, whilst I continue the (uninspiring) effort on coding the Message-Queue Server task and adjustments to the NET driver needed to complete the integration in to QDOS/SMSQE.

So, no FSERVE as yet, but another step closer :-)

The zip package contains an updated 'DIY Constructors Manual', also calling-out the diagnostic features already built in to the QLUB firmware that has proven so useful in diagnosing problems with network timings. Please read the manual carefully.

EDIT 13 Mar 2021:
Attached some Toolkit extensions in EXT.zip, so you won't need to hunt for them...

As ever, feedback most welcome!