Breaking news: The QIMSI Interface

Nagging hardware related question? Post here!
Post Reply
User avatar
Peter
Font of All Knowledge
Posts: 2011
Joined: Sat Jan 22, 2011 8:47 am

Breaking news: The QIMSI Interface

Post by Peter »

Hi all,

as most of you know, my QL work is usually focussed on complete computers like Q40, Q60, Q68 and Qzero. Ten years ago, I made an exception and designed an interface for the original QL. I felt that without a convenient mass storage device, the QL community would decline. This lead to the invention of QL-SD, which replaced the internal microdrives with "harddisks" on SD cards.

Although I still love the internal QL-SD interface from the aesthetical viewpoint, it has the disadvantage that the QL case must be opened to use it. This had been rightfully criticised. And, more severely, QL-SD is no longer made.

In addition to that, the QL has no decent mouse interface for the pointer environment. The existing interfaces either require historic mice, or opening the case and clumsy wiring. And they are also no longer made.

So my impression was, that after ten years, I have to step in again, and provide an elegant and easy solution for QL mass storage and mouse. The result is:

QIMSI - QL Intelligent Mouse & Storage Interface
QIMSI+Case.jpg
The name alludes to the historic QIMI interface, but the actual approach is different. QIMSI is a very small board that simply plugs into the QL ROM port. Mass storage is provided by a single micro SD card. The mouse interface comes with a micro USB connector to reduce mechanical strain on the ROM port. It then connects to a PS/2-USB combo mouse by a standard USB OTG cable or a pure PS/2 mouse via a passive adaptor. A list of tested mice can be found here: viewtopic.php?p=52706#p52706

In addition to this, QIMSI provides an external keyboard interface, a sampled sound card for the QL Internal speaker (brave tinkerers only) and a 40 MHz 68000-like coprocessor with a little ROM/RAM and other small extras. The manual with more details is attached. Update: Mouse driver with scrollwheel support and sound player with examples and source code attached here. The Minerva keyboard driver can be found here: https://github.com/janbredenbeek/QIMSI-KBD


Great thanks goes to Stephan for his offer to test and build QIMSI, for starting the manual, and for being a fantastic sparring partner.
Further thanks to Wolfgang and Jan for the QIMSI keyboard drivers. And to Jan, Martyn, Derek, Diane who helped with testing and feedback. Also thanks to Detlef for his inspiration, building the first external ROM version of QL-SD. Detlef also released manufacturing data for a printed case here: https://forum.tlienhard.com/phpBB3/view ... 200#p61200

I have just designed QIMSI, but won't build or sell it myself. Ordering, pricing etc. will be subject of a separate forum topic.

Last but not least: QIMSI is available now! Have a lot of fun!
Attachments
manual.pdf
(617.9 KiB) Downloaded 84 times
playss.zip
(11.06 KiB) Downloaded 47 times
playss_examples_src.zip
(639.57 KiB) Downloaded 240 times
qimsi_mouse.zip
(3.49 KiB) Downloaded 523 times
Last edited by Peter on Fri Jan 19, 2024 9:25 am, edited 20 times in total.


User avatar
Chr$
QL Wafer Drive
Posts: 1315
Joined: Mon May 27, 2019 10:03 am
Location: Sachsen, Germany
Contact:

Re: Breaking news: The QIMSI Interface

Post by Chr$ »

Fantastic, look forward to trying one out.


https://QXL.WIN
Collector of QL related computers, accessories and QL games/software.
Ask me about felt pads - I can cut them to size and they have proved excellent for mdv data recovery.
bixio60
Brittle Membrane
Posts: 112
Joined: Sun May 04, 2014 7:05 am

Re: Breaking news: The QIMSI Interface

Post by bixio60 »

Hi,
absolutely great new device, looking forward to understand how to buy it!
Many thanks Peter.
Fabrizio


User avatar
dilwyn
Mr QL
Posts: 2761
Joined: Wed Dec 01, 2010 10:39 pm

Re: Breaking news: The QIMSI Interface

Post by dilwyn »

Peter, thank you for your work on this. I look forward to being able to buy it.


User avatar
Sparrowhawk
Super Gold Card
Posts: 652
Joined: Wed Dec 15, 2010 12:33 pm
Location: @131072
Contact:

Re: Breaking news: The QIMSI Interface

Post by Sparrowhawk »

Amazing! I've been after a WIN device and also since replacing my SQB with a Tetroid SGC, I've been missing the mouse. This seems to fill both needs. I also cannot wait to try it out.

Could you talk a bit more about the miniq68 part of it? I could not quite understand from the manual what it's potential intended uses might be?

Thanks :)


a.k.a. Jean-Yves
User avatar
tofro
Font of All Knowledge
Posts: 2702
Joined: Sun Feb 13, 2011 10:53 pm
Location: SW Germany

Re: Breaking news: The QIMSI Interface

Post by tofro »

My understanding is that Peter has managed to build a "68k/SMSQ/E-based Arduino", and QIMSI is just one example application for it.

(Which I find genius).


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
User avatar
NormanDunbar
Forum Moderator
Posts: 2278
Joined: Tue Dec 14, 2010 9:04 am
Location: Leeds, West Yorkshire, UK
Contact:

Re: Breaking news: The QIMSI Interface

Post by NormanDunbar »

If I still had a proper QL, I'd probably have bought at least one of everything Peter designs!

Nice one, again, Peter.

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.
User avatar
Peter
Font of All Knowledge
Posts: 2011
Joined: Sat Jan 22, 2011 8:47 am

Re: Breaking news: The QIMSI Interface

Post by Peter »

Sparrowhawk wrote: Fri Oct 06, 2023 2:06 pm Amazing! I've been after a WIN device and also since replacing my SQB with a Tetroid SGC, I've been missing the mouse. This seems to fill both needs.
Yes it does. One of the reasons why I did not use the extension port, but the ROM port, were the (S)GC users.
ROM port has tight address space limitations and lacks the write signal, which is always a challenge.
But I saw it as the only way to achieve an elegant (S)GC QL with the original black case.
Sparrowhawk wrote: Fri Oct 06, 2023 2:06 pm Could you talk a bit more about the miniq68 part of it? I could not quite understand from the manual what it's potential intended uses might be?
First of all, it would be somewhat surprising to me if many people actually start developing with just 32 KB ROM/RAM and 12 KB RAM. Therefore I didn't write much info about the MiniQ68. But it is possible to use a GCC toolchain and write C programs for the MiniQ68. Also, assembler programs can be written with the typical QL toolchains. Such a program would load from SD card, quickly before the QL side starts using the SD card. Or, for debugging purposes, from a serial port. In order not to have to document a new architecture, I simply re-used the Q68 address map and registers, as far as applicable. The MIniQ68 can access the keyboard and mouse ports, as long as the QL does not use them also, and also the LED, sound, serial port, single wire I/O port, QL-MiniQ68 FIFO link, etc.

One useful example would be a program that shuffles data to/from the serial port to the QL, effectively giving the QL a reliable 115 kBaud SER interface with huge buffers. (That is what I will probably write myself one day.)

The MiniQ68 executes one (simple) instruction per cycle at 40 MHz, which is roughly 68040 speed. So another example would be to accellerate specific computation tasks and shuffle the results back to the QL via the fast link with hardware FIFO. Also, the MiniQ68 has access to a high resolution timer and could generate signals or sounds more easily than the QL, if someone has fun playing with this. Probably more ideas will come up as the QIMSI interface gets distributed. If one takes the time to actually program something is a different question.

As the manual states, the MiniQ68 can be ignored for the basic QIMSI functions. But there was enough space inside the logic chip, so I thought "why not provide a 68K coprocessor" and let's see if someone uses it in creative ways. As a side note, the MiniQ68 inside QIMSI could even be used without a QL. 5V power can be supplied by a dedicated connector or microUSB. (I even had the idea to use the ROM port pins for I/O then - they have perfect 2.54 mm raster to solder a connector. And if you look closely, you see four smaller extra pins for that. But at some point I had to stop feature creep and get this released.)


User avatar
Sparrowhawk
Super Gold Card
Posts: 652
Joined: Wed Dec 15, 2010 12:33 pm
Location: @131072
Contact:

Re: Breaking news: The QIMSI Interface

Post by Sparrowhawk »

.
Thanks for the explanation, makes sense to me now.
so I thought "why not provide a 68K coprocessor"
As one does... :D You say it so casually. Heh.


a.k.a. Jean-Yves
martyn_hill
Aurora
Posts: 933
Joined: Sat Oct 25, 2014 9:53 am

Re: Breaking news: The QIMSI Interface

Post by martyn_hill »

Brilliant news, Peter (Stephan and team!)

Having been testing the first prototype QIMSI for a little while, I'm very happy with its basic functionality.

But I'm even more excited at the prospect of leveraging the embedded 'miniQ68' !!!

There are a number of very interesting and useful uses to put to a co-processor and, with the QIMSI's direct FIFO link back to the QL itself, we now have a viable solution (the FIFO link was always a bottleneck in my own designs for adding a co-processor to the QL...)

I shall commence my thinking around how to port the relevant aspects of the ND-Q68 network driver to the mini-Q68 which, with a small corresponding adjustment to the host QL's Net driver, should allow for 5x-8x the NW bandwidth in/out of the host QL (as already achievable with the original Q68.)

Well done for bringing another great project to fruition, Peter!


Post Reply