QLUB Adapter - Initial Release...

Nagging hardware related question? Post here!
Maskenlos
Over Heated PSU
Posts: 138
Joined: Sat Nov 03, 2018 12:14 pm

Re: QLUB Adapter - Initial Release...

Post 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


Maskenlos
Over Heated PSU
Posts: 138
Joined: Sat Nov 03, 2018 12:14 pm

Re: QLUB Adapter - Initial Release...

Post 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


martyn_hill
Aurora
Posts: 909
Joined: Sat Oct 25, 2014 9:53 am

Re: QLUB Adapter - Initial Release...

Post 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...


User avatar
M68008
Trump Card
Posts: 223
Joined: Sat Jan 29, 2011 1:55 am
Contact:

Re: QLUB Adapter - Initial Release...

Post 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.


martyn_hill
Aurora
Posts: 909
Joined: Sat Oct 25, 2014 9:53 am

Re: QLUB Adapter - Initial Release...

Post by martyn_hill »

Thanks Stephan!

Do you recall the version of TK2?


gbejniet
ROM Dongle
Posts: 21
Joined: Sun Feb 02, 2020 10:21 pm

Re: QLUB Adapter - Initial Release...

Post 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


User avatar
NormanDunbar
Forum Moderator
Posts: 2251
Joined: Tue Dec 14, 2010 9:04 am
Location: Leeds, West Yorkshire, UK
Contact:

Re: QLUB Adapter - Initial Release...

Post 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.


Why do they put lightning conductors on churches?
Author of Arduino Software Internals
Author of Arduino Interrupts

No longer on Twitter, find me on https://mastodon.scot/@NormanDunbar.
Maskenlos
Over Heated PSU
Posts: 138
Joined: Sat Nov 03, 2018 12:14 pm

Re: QLUB Adapter - Initial Release...

Post 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


Maskenlos
Over Heated PSU
Posts: 138
Joined: Sat Nov 03, 2018 12:14 pm

Re: QLUB Adapter - Initial Release...

Post by Maskenlos »

I can procrastinate no longer - wish me luck
Good Luck ;)


martyn_hill
Aurora
Posts: 909
Joined: Sat Oct 25, 2014 9:53 am

Re: QLUB Adapter - Initial Release...

Post 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!
Attachments
EXT.zip
(1.76 KiB) Downloaded 103 times
QLUB General Release v2.2a.zip
(1.56 MiB) Downloaded 127 times
Last edited by martyn_hill on Sat Mar 13, 2021 1:57 pm, edited 1 time in total.


Post Reply