Maximum effective BAUD with superHermes and unexpanded QL

Nagging hardware related question? Post here!
martyn_hill
Gold Card
Posts: 390
Joined: Sat Oct 25, 2014 9:53 am

Maximum effective BAUD with superHermes and unexpanded QL

Postby martyn_hill » Tue Feb 06, 2018 3:42 pm

Hi everyone

A little while ago I picked-up a repaired superHermes and fitted to one of my unexpanded QLs (with Minerva 1.98).

At the time, I carried-out some testing of SER3 with its increased range of BAUD rates - connected to QPC on a laptop with native COM port.

Curiously, I was never able to get an effective CPS beyond what was achieved with 19200 BAUD. Each end was correctly configured for the higher BAUD rate at each iteration and the flying lead to the EXTINT pin on the expansion bus was also correctly connected, yet something inherent in the QL's ability to service SER3 simply wouldn't take it any higher. No transmission errors, just no higher...

Of course, we wouldn't expect an unexpanded QL (without GC/SGC) to reach the highest available BAUD of sH, but it seemed peculiar that CPS performance plateaued at the 19200 equivalent.

Any thoughts? Its mostly academic (at least once the QLUB adapter is finished and I can connect QPC to the native QL LAN port), but would be happy to know what to expect from superHermes.


User avatar
Peter
Super Gold Card
Posts: 641
Joined: Sat Jan 22, 2011 8:47 am

Re: Maximum effective BAUD with superHermes and unexpanded QL

Postby Peter » Wed Feb 07, 2018 2:05 pm

Hi,
SuperHermes was advertised with "Use the QL for high speed BBS (V34 at 57600bps)". Since the QL can handle similar rates with NET, I would have hoped this throughput is realistic.
Looks like too much interrupt handling overhead for the 68008. Future SER card projects may want to minimize that overhead by hardware FIFO.
Peter


martyn_hill
Gold Card
Posts: 390
Joined: Sat Oct 25, 2014 9:53 am

Re: Maximum effective BAUD with superHermes and unexpanded QL

Postby martyn_hill » Wed Feb 07, 2018 3:50 pm

Hi Peter

Thanks for that. I should add that its perfectly possible that either I've messed up in configuring the sH, or perhaps my unit is slightly wobbly - I wouldn't want to tarnish the reputation of this ageing but beautiful bit of technology!

Anyone else had better (effective CPS) results from SER3 on sH on a BBQL ?


Nasta
Trump Card
Posts: 205
Joined: Sun Feb 12, 2012 2:02 am
Location: Zapresic, Croatia

Re: Maximum effective BAUD with superHermes and unexpanded QL

Postby Nasta » Mon Feb 12, 2018 2:05 pm

I believe this is due to the limited speed the QL can communicate with the IPC, which ever that may be. As far as I understand it, it's a bit-bang affair, so the speed of the CPU and ultimately the (slow) speed of the QL bus will be the limiting factor, even over the rate the interrupt can be served. In theory something like the SGC with cache switched on might push the QL bus to the maximum, and I am sure sH can cope with that.


martyn_hill
Gold Card
Posts: 390
Joined: Sat Oct 25, 2014 9:53 am

Re: Maximum effective BAUD with superHermes and unexpanded QL

Postby martyn_hill » Mon Feb 12, 2018 2:15 pm

Thanks Nasta! Seems perfectly feasible as you say that the 8302 to sH IPC replacement might be the limiting factor.

None the less, I'll play a bit more to see if > 19,200 equivalent CPS can be reached. Time to reach for my digital logic analyser :-)


User avatar
Pr0f
Gold Card
Posts: 283
Joined: Thu Oct 12, 2017 9:54 am

Re: Maximum effective BAUD with superHermes and unexpanded QL

Postby Pr0f » Mon Feb 12, 2018 2:32 pm

Just out of interest, is this file transfer over the serial port?

I was just wondering what other paths the data is taking in your transfer tests, where the data is coming from (as in what storage). If the QL is unexpanded then I presume Microdrives. I wonder what speed you might achieve from floppy disk / expanded RAM interface, or from Qubide equipped BBQL?


martyn_hill
Gold Card
Posts: 390
Joined: Sat Oct 25, 2014 9:53 am

Re: Maximum effective BAUD with superHermes and unexpanded QL

Postby martyn_hill » Mon Feb 12, 2018 5:53 pm

Hi Pr0f

If I remember correctly, I used memory to memory transfers to avoid any storage-access delays of a 16kB string using PRINT at the QPC sender and INPUT$ at the QL/sH receiver.

I'll test again and report back.


martyn_hill
Gold Card
Posts: 390
Joined: Sat Oct 25, 2014 9:53 am

Re: Maximum effective BAUD with superHermes and unexpanded QL

Postby martyn_hill » Thu Feb 15, 2018 6:16 pm

Hi Silvester

Silvester wrote:POKE!!53,128 ?


Interesting idea. Whilst that poke would disable the IPC interrupt that is designed to service the serial ports at higher speeds, it could be that given that sH uses EXTINT instead, it is at least unnecessary.

Anyways, very easy for me to test - thank's for the idea! I'll report back later.


Silvester
Trump Card
Posts: 185
Joined: Thu Dec 12, 2013 10:14 am
Location: UK

Re: Maximum effective BAUD with superHermes and unexpanded QL

Postby Silvester » Sat Feb 17, 2018 9:15 am

Look at Minerva/Hermes documentation, it is the suggested fix to improve rate.

IIRC the problem is the default action (POKE!!53,192) causes unnecessary repeat polling of IPC after it had just taken data(see source).

update:
Minerva source (M_inc_pc extract) relevant to the problem which causes disk interleave problem on Trump card and perhaps serial flow rate.

Code: Select all

* The five lsbs are set on read to indicate which interrupts are pending and
* writing a set bit will clear such an interrupt once it has been serviced.
* At boot, $1f is written here twice, then $c0 is put in sv_intr to start off
* with transmit and IPC interrupts enabled.
* The second write of $1f, one gathers, is because a bug in the h/w sometmes
* causes the first one to fail.



Return to “Hardware”

Who is online

Users browsing this forum: No registered users and 3 guests