Breaking news: The QIMSI Interface

Nagging hardware related question? Post here!
Post Reply
afx
Trump Card
Posts: 180
Joined: Tue Dec 28, 2010 10:23 pm

Re: Breaking news: The QIMSI Interface

Post by afx »

Great Peter!

This is good news for the QL world, QIMSI will surely be very well received by all QL enthusiasts.

(Thinking about the possible use cases of QIMSI, a question: In the future, would it be possible to implement a new faster and more reliable serial port accessible from QDOS (via a SER3_ for example) using MiniQ68 and its 115200 buad serial port?)

Many thanks to Peter and all the collaborators for this development.


User avatar
Pr0f
QL Wafer Drive
Posts: 1348
Joined: Thu Oct 12, 2017 9:54 am

Re: Breaking news: The QIMSI Interface

Post by Pr0f »

janbredenbeek wrote: Sun Oct 08, 2023 8:26 am
Pr0f wrote: Sun Oct 08, 2023 8:09 am I'm also wondering if the work Jan did on the Q68 drivers for Minerva could be used to provide a working PS/2 interface for the legacy QL OS...
Just a little patience, work is in progress... it was held up by the lack of a PS/2 to USB keyboard converter on this side, but I've been able to create a makeshift one from an old USB cable and an old-style DIN jack (sorry Peter, still haven't received the one you sent me).

I have taken the source code from the Q68 driver and adapted it for QIMSI. On the first test it loaded OK without crashing, but when I tried typing something I got characters which didn't even remotely resemble the keys pressed. So still a little debugging to do, but it's under way.

Jan
Excellent news :-)

Thank you for your work in this area Jan


User avatar
janbredenbeek
Super Gold Card
Posts: 639
Joined: Wed Jan 21, 2015 4:54 pm
Location: Hilversum, The Netherlands
Contact:

Re: Breaking news: The QIMSI Interface

Post by janbredenbeek »

Peter wrote: Sun Oct 08, 2023 1:50 pm Yes the idea to use the external keyboard already for F1/F2 was why I was asking. But I agree that this is very unimportant. I mostly use my QLs as they are, within their wonderful original case. External keyboard was never a key feature of QIMSI, it is not a big deal to wait for the F1/F2 timeout.
It's very easy to disable the F1/F2 prompt in Minerva by changing just one byte in the startup code (the byte that sets the startup options as specified in the CALL 390 parameter). But again, this requires a modification to the ROM.
By the way, we tried (with Wolfgang's help) to optionally "feed" an F1/F2 into the keyboard buffer from the driver ROM, but it never worked reliably with all hardware setups.
At first this seems very easy if you have an add-on ROM (just let the initialisation routine push F1/F2 into channel #0's keyboard queue), but the snag is that after your initialisation code is finished the ROM opens channel #1 and #2 and then waits for F1/F2 to be pressed, using the *last* channel opened :( .
You could probably do something using a polled or scheduler task, but I wonder if that's worth the trouble since replacing the keyboard driver in the Sinclair ROMs is not that easy as they are not vectored, unlike in Minerva.

Meanwhile, I've found the error in my driver (it creates a polled task but doesn't check whether the PS/2 keyboard is really activated, so it calls Minerva's decode routine instead of its own one. And the BASIC command which is supposed to activate it wasn't linked in by error...). Oh well, these things can happen with first builds...

Jan


User avatar
Peter
Font of All Knowledge
Posts: 2056
Joined: Sat Jan 22, 2011 8:47 am

Re: Breaking news: The QIMSI Interface

Post by Peter »

afx wrote: Sun Oct 08, 2023 2:30 pm (Thinking about the possible use cases of QIMSI, a question: In the future, would it be possible to implement a new faster and more reliable serial port accessible from QDOS (via a SER3_ for example) using MiniQ68 and its 115200 buad serial port?)
That's almost exactly the plan. At first I even considered to give the QL direct access to the SER port. But for debugging, it is better to have it on the MiniQ68 side. Nevertheless, it is simple to write a little program for the MiniQ68 which just forwards the SER data to/from the QL-MiniQ68 FIFOs.

It takes a little more effort to write a SER driver for the QL side. I started doing that using the IO.SERIO trap, but my assembler skills are rusted and I'm not in the mood to finish it at the moment. Sooner or later I guess it will be done. This should allow decent SERNET connections to emulators on PC. Would probably call it SER4, so SER3 remains for Hermes.


User avatar
bwinkel67
QL Wafer Drive
Posts: 1239
Joined: Thu Oct 03, 2019 2:09 am

Re: Breaking news: The QIMSI Interface

Post by bwinkel67 »

martyn_hill wrote: Fri Oct 06, 2023 5:45 pm But I'm even more excited at the prospect of leveraging the embedded 'miniQ68' !!!
Anyway to have the miniQ68 be the main computer and use the QL for its I/O? Could it act like a GC with the right software? Is there any memory that comes with it?


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

Re: Breaking news: The QIMSI Interface

Post by M68008 »

Nice project! Glad to see you are still QL-active!


User avatar
Peter
Font of All Knowledge
Posts: 2056
Joined: Sat Jan 22, 2011 8:47 am

Re: Breaking news: The QIMSI Interface

Post by Peter »

bwinkel67 wrote: Sun Oct 08, 2023 7:55 pm Anyway to have the miniQ68 be the main computer and use the QL for its I/O?
No, it has not enough memory.
bwinkel67 wrote: Sun Oct 08, 2023 7:55 pm Could it act like a GC with the right software? Is there any memory that comes with it?
As you can see in the manual, QIMSI has only 32 KB + 12 KB ROM/RAM, so different software won't help.
I can not rule out to add external SDRAM at a later time for what would be a different product.
But right now, the goal is to provide affordable QL mass storage and mouse, and the hardware has been cost optimized for that.
I tried to make clear in the manual, what the key features of QIMSI are. The MiniQ68 is not a key feature. Please don't expect it to be well supported.


User avatar
bwinkel67
QL Wafer Drive
Posts: 1239
Joined: Thu Oct 03, 2019 2:09 am

Re: Breaking news: The QIMSI Interface

Post by bwinkel67 »

Peter wrote: Sun Oct 08, 2023 9:55 pm As you can see in the manual, QIMSI has only 32 KB + 12 KB ROM/RAM, so different software won't help.
I can not rule out to add external SDRAM at a later time for what would be a different product.
But right now, the goal is to provide affordable QL mass storage and mouse, and the hardware has been cost optimized for that.
I tried to make clear in the manual, what the key features of QIMSI are. The MiniQ68 is not a key feature. Please don't expect it to be well supported.
I'm sorry Peter, I hadn't read the manual. I was just curious, that's all.


User avatar
janbredenbeek
Super Gold Card
Posts: 639
Joined: Wed Jan 21, 2015 4:54 pm
Location: Hilversum, The Netherlands
Contact:

Re: Breaking news: The QIMSI Interface

Post by janbredenbeek »

Here is my QIMSI keyboard driver for Minerva. Source code and manual will be available on my GitHub page asap.

To get started:

LRESPR QIMSIKBD_bin

Then enter KBD_PS2 to activate the external keyboard; KBD_QL switches back to the QL's own keyboard.
KBD_TABLE_PS2 n sets the keyboard language, currently supported are n=1 (US), 44 (UK) and 49 (German).

Have fun,
Jan
QIMSIKBD.zip
(2.34 KiB) Downloaded 280 times


User avatar
Peter
Font of All Knowledge
Posts: 2056
Joined: Sat Jan 22, 2011 8:47 am

Re: Breaking news: The QIMSI Interface

Post by Peter »

M68008 wrote: Sun Oct 08, 2023 9:13 pm Nice project! Glad to see you are still QL-active!
Many thanks Daniele, I'm also glad you are still active!


Post Reply