For anyone who doesn't know:
The SPell device (QSpell, if I remember correctly) used to be a QJump/Tony Tebby product that supplied a device driver that could be used to do on-line or off-line spell checking. You basically opened a channel to the Spell device (SPELL), then wrote your word to be checked into the device - io.sbyte basically came back with "NOT FOUND" when the word so far was not in the dictionary at all, "NOT COMPLETE" if what we had so far was the start of a valid word and "OK" when the word was complete and in the dictionary. This allowed quick as-you-type spell checking. There were also functions available to extend the various dictionaries and, generally, maintain them.
QSpell was included in a stripped-down version in Text87, if I remember right. The full edition came with a number of tools for dictionary maintenance, and, of course, a manual. There were quite some (QJump and third-party) dictionaries in most European languages.
QSpell was somewhat unique for the time when PC programs were just starting to explore on-line spell checkers.
Even if "Office" applications for the QL are somewhat pointless today (OK, this is debatable), QSpell would still be interesting for a lot of programs (like, for example, QWordle that was just recently sneak-previewed by Per). It could probably also be used for syntax-highlighting editors, for example.
I have the binaries (must have bought it some time in the dark ages), but lost the documentation through one of various house moves and clean-up sessions.
Does anyone have an idea on what the status of QSPell is and if the code and documentation or sources are available?
Where has the Spell device gone?
Re: Where has the Spell device gone?
I too bought this program back in the day. I believe it is called Qtype. Really great utility! Ive always wondered about the dictionary compression algorithm; compact, fast, and searchable. I have all the files, but the manual is somewhere in deep litter 500km west of the snowy mountains, so out of reach for now.
QD can use it directly, and there were (3rd party?) tools to sort of retro-fit it to Quill and the like.
However, I did not want to use it for my word program, as it is still commercial, not everyone has it, and it would be total overkill for this application. A binary lookup on a 3000 word list is pretty fast even (IIRC) on a QL; certainly on a GC system and above, anyway.
QD can use it directly, and there were (3rd party?) tools to sort of retro-fit it to Quill and the like.
However, I did not want to use it for my word program, as it is still commercial, not everyone has it, and it would be total overkill for this application. A binary lookup on a 3000 word list is pretty fast even (IIRC) on a QL; certainly on a GC system and above, anyway.
Per
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen
Re: Where has the Spell device gone?
What is a binary lookup word list and can it be used in BASIC?pjw wrote:- A binary lookup on a 3000 word list is pretty fast
I have just realised that TT's spell device was built into the SMS2 PEROM and as I have transferred the environment to SMSQE it is now embedded in the setups that I currently use. Unfortunately I must have done something wrong because it no longer works. I must have a manual somewhere.
Last edited by Tinyfpga on Wed Feb 02, 2022 11:27 am, edited 1 time in total.
Re: Where has the Spell device gone?
This routine on Knoware.no contains a binary lookup subroutine, and could easily be adapted. It uses my CMP% command, but this is only necessary for case-agnostic comparisons. If you know that the items in the list are all, say, lower case, and the search item too, then simply exchange CMP% for the usual < = > comparison operators.Tinyfpga wrote:What is a binary lookup word list and can it be used in BASIC?pjw wrote:- A binary lookup on a 3000 word list is pretty fast
Per
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen
Re: Where has the Spell device gone?
I would guess that QSpell also uses a sorted binary search tree for its implementation - You can't go much faster than that. It's the implementation through a QL device driver that is the interesting bit here 

ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
Re: Where has the Spell device gone?
To avoid confusion: The name QSpell was already taken, I know 'cause I had both. QTYP is Qjump's offering which, I presume, is what we're talking about.tofro wrote:I would guess that QSpell also uses a sorted binary search tree for its implementation - You can't go much faster than that.
Yes, very. I guess thats why Things were invented..tofro wrote:It's the implementation through a QL device driver that is the interesting bit here
What I found interesting is how the compressed dictionary was searched. Binary search, yes. I didnt think they used elephants! But did they decompress the whole dictionary in RAM? (Unlikely) Or just parts on the fly? Or were words compressed so that they could be searched in a compressed state? Like some kind of tree..
Per
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen
I love long walks, especially when they are taken by people who annoy me.
- Fred Allen