Search found 1232 matches

by Peter
Fri Feb 19, 2021 2:36 pm
Forum: Software & Programming
Topic: C68 and IOP.PINF
Replies: 6
Views: 534

Re: C68 and IOP.PINF

Hi Tobias,

which version does EX C68;"-v" tell? Version 4.5 here.

Peter
by Peter
Fri Feb 19, 2021 2:04 pm
Forum: Hardware
Topic: Ethernet for the QL
Replies: 39
Views: 2542

Re: Ethernet for the QL

Hi Dave, I do like the idea of a Q68 compatible Ethernet card. Would you mainly target (S)GC or QL? (S)GC is always a mechanical difficulty, when one needs decent write access to registers and can therefore not abuse the ROM port. Could the VSYNC signal be used as a fast timer? Yes, but the code cha...
by Peter
Fri Feb 19, 2021 1:44 pm
Forum: Software & Programming
Topic: C68 and IOP.PINF
Replies: 6
Views: 534

Re: C68 and IOP.PINF

If I recall correctly, d3 is a timeout and should be -1 - if you hand it a 0, "not complete" doesn't look like an error to me. Some docs say so and that's what I tried first, but then both qdos3() and iop_pinf() block for ages. UQLX for example uses D3=0 when it checks for PE and that's p...
by Peter
Fri Feb 19, 2021 9:23 am
Forum: Software & Programming
Topic: C68 and IOP.PINF
Replies: 6
Views: 534

C68 and IOP.PINF

Hi, to check if the pointer environment is loaded, I try to use Trap #3, D0 key $70 (IOP.PINF) with C68. In priciple, this should be doable with either qdos3() as a general Trap #3 function with D0=$70, D3=0 and A0=0 preset, or directly with iop_pinf() from the C68 library. But in both cases I get a...
by Peter
Wed Feb 17, 2021 9:06 am
Forum: Software & Programming
Topic: Mice and mouse queues...
Replies: 42
Views: 4653

Re: Mice and mouse queues...

Minerva‘s CTRL+ALT+SHIFT+TAB keyboard reset is the first thing I miss when I try to suffer QDOS again. Forgot that one! :) Didn't forget it, but did not mention since it's also not 100% save in case of memory corruption. But maybe the keyboard reset restoring the Level 2 Interrupt Vector could be i...
by Peter
Tue Feb 16, 2021 9:33 pm
Forum: Software & Programming
Topic: Mice and mouse queues...
Replies: 42
Views: 4653

Re: Mice and mouse queues...

If the Q68 doesn't implement bit 4 of PC.INTR then you have to redirect the INT2 vector to your own interrupt code and do the appropriate things if it's really caused by your hardware, including clearing the interrupt. If it's not caused by your hardware, then jump to Minerva's original handler's a...
by Peter
Tue Feb 16, 2021 12:49 pm
Forum: Software & Programming
Topic: Mice and mouse queues...
Replies: 42
Views: 4653

Re: Mice and mouse queues...

Using the scheduler task is ok. Of course under load the scheduler will decay into the polled task. As I understand it the mouse update frequency would then be limited to 12/16Hz, which is a bit on the low side, but under normal conditions it should be smooth. Yes I know, but my practical experienc...
by Peter
Tue Feb 16, 2021 9:33 am
Forum: Software & Programming
Topic: Mice and mouse queues...
Replies: 42
Views: 4653

Re: Mice and mouse queues...

Maybe I don't understand the problem correctly, but SMSQ/E just checks for the frame interrupt and if it's not that, executes the external interrupt handlers no matter what. For the Q68 this would be fine. Even also calling the external interrupt handlers on every frame interrupt is marginal overhe...
by Peter
Tue Feb 16, 2021 9:22 am
Forum: Software & Programming
Topic: Mice and mouse queues...
Replies: 42
Views: 4653

Re: Mice and mouse queues...

Minerva, like the legacy QDOS ROMs, checks the bits on PC.INTR, executes the appropriate handler and then clears the interrupt by writing to PC.INTR with the same bit that was set when it was read. If Minerva could actually clear this bit for external interrupts, it would lead to a race condition i...
by Peter
Sun Feb 14, 2021 5:58 pm
Forum: Software & Programming
Topic: Mice and mouse queues...
Replies: 42
Views: 4653

Re: Mice and mouse queues...

Update: I wrote the driver from scratch in C and it basically worked with a polled or scheduled task routine, but not with an interrupt routine. Like the assembler driver, the interrupt routine is not reached, but system hangs when the mouse is moved and the interrupt fires. Q68 Minerva does not yet...