Re: Q68 QoE Ethernet Driver
Posted: Thu Jun 10, 2021 5:37 pm
Does 'QoE Ethernet driver for Q68' imply that the driver won't work on the QL implementation of the hardware?
RIP Sir Clive Sinclair 1940 - 2021
https://qlforum.co.uk/
I can think of a few of possible problem areas.Dave wrote:Does 'QoE Ethernet driver for Q68' imply that the driver won't work on the QL implementation of the hardware?
I'd expect throughput only moderately higher than QL network. But it would provide the ethernet connectivity.Martin_Head wrote:1. I don't know how well a 7.5MHz 68008 can keep up with reading data packets from the CP2200 controller chip.
This can be tested on the Q68, I just found no time yet. Q68 Minerva will need an FPGA update for the external interrupt.Martin_Head wrote:[EDIT] Also I don't know if the driver will work in QDOS/Minerva.
My biggest concern about QDOS/Minerva, is if It might over fill the supervisor stack. I'm not sure if SMSQ/E has a bigger supervisor stack than QDOS.Peter wrote: This can be tested on the Q68, I just found no time yet. Q68 Minerva will need an FPGA update for the external interrupt.
If Dave could implement something like the Q68 hardware timer, even if it ticked at a lower speed. It would make life a lot easier. I don't want to have to try to work out different software loops for a standard QL, a Gold card, and a SuperGold card.Peter wrote:Also, an implementation without highres timer could be prepared on the Q68 before actually moving to the QL.
It has. Significantly. You are supposed to use not more than 64 bytes on the QDOS SV stack vs. 512 bytes on SMSQ/E.Martin_Head wrote: My biggest concern about QDOS/Minerva, is if It might over fill the supervisor stack. I'm not sure if SMSQ/E has a bigger supervisor stack than QDOS.
As most of the driver operates in supervisor mode. And I do a lot of subroutine calls, with MOVEM instructions to preserve registers. I'm probably breaking the 64 byte rule in places.tofro wrote:It has. Significantly. You are supposed to use not more than 64 bytes on the QDOS SV stack vs. 512 bytes on SMSQ/E.Martin_Head wrote: My biggest concern about QDOS/Minerva, is if It might over fill the supervisor stack. I'm not sure if SMSQ/E has a bigger supervisor stack than QDOS.
That can be worked around by switching to a private SV stack on driver entry. I seem to recall I've once sent you an example on how this can be done. If not, please give me a shout.Martin_Head wrote:As most of the driver operates in supervisor mode. And I do a lot of subroutine calls, with MOVEM instructions to preserve registers. I'm probably breaking the 64 byte rule in places.tofro wrote:It has. Significantly. You are supposed to use not more than 64 bytes on the QDOS SV stack vs. 512 bytes on SMSQ/E.Martin_Head wrote: My biggest concern about QDOS/Minerva, is if It might over fill the supervisor stack. I'm not sure if SMSQ/E has a bigger supervisor stack than QDOS.
I was thinking about a dummy stack. I don't remember you sending that exampe, and I have had a quick look at my old emails. Please could you send it again. If you've got a 'tiscali' email address for me, that now dead. PM me if you want the current one.tofro wrote:That can be worked around by switching to a private SV stack on driver entry. I seem to recall I've once sent you an example on how this can be done. If not, please give me a shout.Martin_Head wrote:As most of the driver operates in supervisor mode. And I do a lot of subroutine calls, with MOVEM instructions to preserve registers. I'm probably breaking the 64 byte rule in places.tofro wrote:
It has. Significantly. You are supposed to use not more than 64 bytes on the QDOS SV stack vs. 512 bytes on SMSQ/E.
Interestingly, on both systems the bottom (or top, since it grows downwards) of the SV stack is at $28480, leaving $300 (or 768) bytes room above the system variables which end at $28180.tofro wrote:It has. Significantly. You are supposed to use not more than 64 bytes on the QDOS SV stack vs. 512 bytes on SMSQ/E.Martin_Head wrote: My biggest concern about QDOS/Minerva, is if It might over fill the supervisor stack. I'm not sure if SMSQ/E has a bigger supervisor stack than QDOS.