Toolkits section

Toolkits logo  

Updated: 26/01/17

A selection of all sorts of public domain and freeware toolkits, mostly basic extensions. As might be expected, there is some overlap between most of the toolkits, although all of them have their own specialities. Between everything, there is quite a treasure trove here for BASIC programmers! The abbreviation S*BASIC used below is shorthand for 'either SuperBASIC or SBASIC' (1K) - 128k Cut. Resets the memory of an expanded QL to 128K.

Alchp (2K) - Common heap handling extensions

Array (15K) - save, load, sort and search arrays (W. Lenerz)

ATR (78K) - a floppy disk driver for QL systems adding the ability to read Atari/IBM disks via the new device driver ATR1_, ATR2_ and further drives if supported by the interface. Includes code for various QL disk systems (Sandy, Trump Card, QFLP, Atari, CST, Cumana, Medic). German help text file, plus what seems to be a machine translated English manual in some considerable need of tidying up, if anyone can help with this? (Jochen Hassler) [26/01/17]

Base64 (4K) - Toolkit for encoding/decoding base64 encoded data. (Marcel Kilgus) [19/12/16]

BasicV BASICV is a SuperBasic extension which is very similar to the "environment variables" of other systems, it enables the reading of other SBasic-structured jobs variable values. Those are the QLiberator compiled jobs if they have been compiled with the "names" option active, the multitasking SBasic-jobs of MINERVA and SMSQ, and the main SBasic of the QL which is always present. Unlike those "environment variables" BASICV does not introduce another type of variable, it just makes the well known ones accessible to any other job, read only, for safety. Additionally BASICV can be very valuable for debugging a compiled program or any secondary SBasic program while running by monitoring its variables from within another SBasic(-job). (Hans-Peter Recktenwald) (13K) [12/10/06] - Bastle Box V2.11 A suite of four programs. FORMATTER, A program to aid in the formating of Microdrives and Floppy disks. PICSAVER, Saves a screen display in PIC format. REPLACER, Replaces all occurances of a string in multiple files with another string of the same length. RENAMER, Changes the medium name on Microdrives and Floppy disks. Compiled with QLIBERATOR Version 3.23, and requires the runtime routines. (Peter Jager) (32K)

Beule Tools (20K) - assorted extensions from Peter Beule. - Bidirectional Pipe. A device driver that implements a bi-directional pipe and a set of Superbasic extensions to use it. Includes Assembler source code. (P. J. Taylor) (25K) (2K) - a simple pair of BASIC programs to reset an expanded memory QL to 128K RAM like an unexpanded machine, saves having to remove the RAM memory card from the QL to use older programs which will only run on a 128K RAM system. One version for AH or JM ROM QL, the other for JS or MG ROM QL. (S. Sutton) (2K) and (2K) are two very similar programs which allow you to create a BOOT file for a drive, which allows you to select a program with the cursor keys and press ENTER to run the program. Both programs are written in a similar style, I am not too sure what the difference is, if any.

Btool (26K) - B-Toolkit from Octagon, a generous collection of useful basic extensions, including many Toolkit 2-style extensions.

Cat (2K) - extension to list files to screen or printer (Will Horton)

CD and Edit (7K) - Malcolm Lear's 'Change Directory' and 'Edit by name' extensions

Channel Toolkit (4K) - a small toolkit of BASIC extensions providing wrappers for various SMSQ/E I/O traps. Includes CHAN_BASE, IOF_POSA, IOF_POSR, IOF_RHDR, IOF_SHDR, IOB_FLIN, IOB_FMUL. The author says he'd like to be credited if you use this in your own work (it's free to use) and receive a copy of the resulting software. (Marcel Kilgus) [19/12/16] (1K) - Compare. A SuperBASIC program to compare two areas of memory. Needs Toolkit II. Client Server Manager is a Thing that implements easy and robust messaging between jobs. It allows one-to-many links and makes adding scripting to programs, using BASIC as the scripting language, very easy. (Jonathan Hudson) (68K) [12/10/06]

Compict (8K) - Utility for compressing/expanding graphics (C.Tronche)

Concat (3K) - Extension to join two files together into a third file (C.Tronche)

Constants (3K) - provides a set of named constant values, such as colour numbers, on and off, true and false etc.

CPU Toolkit (3K) - This small toolkit consists of two keywords. CPUTYPE tells you the CPU you are using on your system. The second one, GCSPEED, tells you the actual speed of your (Super) Gold Card and whether it is possible to use your QL at 24 MHz with a Gold Card hardware Issue 1/2 (Ergon Development)

Cryptage (3K) - File Encryption extensions for SuperBASIC (C. Tronche) Small toolkits for Minerva/QDOS to add the extended date functions found in newer SMSQ/E versions (YEAR%, MONTH%, DAY%, WEEKDAY% and the 6-parameter version of DATE) to Minerva and QDOS systems. (P J Witte) (3K) [12/10/06] Per Witte has kindly supplied the HTML-ised, navigable sources of the Dates toolkit from his original website. The author states that the file is best unzipped to a PC, not to a QL. This package includes license, meta info and the binaries, but is about 13 times the size, so I'll leave the binaries-only version above for those who only want the binaries. (40K) [23/01/16]

Despr (2K) - extensions to release RESPRed space (Gerard Estournet) (11K) - extensions to provide a DEV device on older systems which don't have it onboard. Includes a text file and an article about use of the DEV device, and if you download copies of the Miracle Systems manuals from the documents page or from my QL Documentation CD, some of the Miracle systems manuals have DEV instructions too. I'm told this implementation of the DEV device driver may need the Hotkey System II to work.

DHZtools (4K) - A collection of useful tools (14 extensions) by Carlo Delhez

Display_cde (21K) - v2.01, a small toolkit of useful display information functions (display sizes and addresses, pointer environment versions, etc) and example routines, as published in QL Today. Very useful for writing your own S*BASIC programs to make use of high resolution and colour displays. May be built into QLiberated programs and distributed free with your own programs if required. (D. Jones)

DIY Toolkit - the classic DIY Toolkit series from Simon Goodwin, published in QL World magazine.  Note: Postcardware - Simon would love to receive a postcard from users of DIY Toolkit. (1.12MB)

DJToolkit v1.16 (125K) - a small toolkit of extremely useful extensions from Norman Dunbar, author of the Assembler Programming series in QL Today. Can be used from BASIC or compiled BASIC, and even included in commercial programs if required. Highly recommended for all SuperBASIC or SBASIC programmers Loads of example routines and documentation. Includes assembler source code and even a version you can burn into an EPROM for the QL EPROM slot if you have access to a QEPIII or similar EPROM programmer. - Drivers. A group of four drivers for the QL by Phil Borman. OPEN device driver gives 3 new superbasic commands for listing open calls to a given channel, PTH (path) device driver, REDIR redirection device driver, SUB (name substitution) device driver. (Phil Borman) (11K) - Enigma v1.5 Enigma is a file encryption program that is so easy to use that it barely needs instructions at all.  Enigma will encrypt a file according to a password, and it can only be read when de-crypted according to the same password. The password is never stored, so don't forget it! It is useful for encrypting all sorts of files, quill_docs, pictures, SuperBASIC programs etc. (Carl L Cronins) (12K)

Environment Variables v1.07 (17K) - lets you define 'variables' accessible from all jobs, and which are not cleared after a NEW command or whatever. Useful for setting global environment settings, for example. Unix-style facility, as supplied with C68 compiler.

ETAT (5K) - BASIC extension from Wolfgang Lenerz to test state of a file, to help with error trapping file access and so on.

EXEG (3K) - Implements EX so that it did everything in the specification.

EXEG Sources (4K) - Sources for EXEG above.

Exists (3K) - Phil Borman extension function to test if an extension name is currently installed on your system. - Extensions to SuperBasic/SBASIC. Adds ISRES, LBLOCK, CHANS, OSCHECK, RETRY_OPEN and OS$ extensions to BASIC. ISRES extension updated 25/1/12.  RETRY_OPEN updates 01/02/12. (Adrian Ives) (12K) [01/02/12]

EVAL (6K) - Two machine code functions allowing you to calculate numeric expressions from BASIC - many of the standard QL functions and up to three numeric variables may be used in the expressions. Assembler source included.

FastBasic (3K) - FLOAD, FSAVE and FLRUN extension for faster loading and saving of SuperBASIC programs. - This enables the function keys F1 to F10 to be loaded with basic commands to save on typing. eg. FKEY 1,'DIR FLP1_'&chr$(10). Now, every time F1 is pressed, the QL will do a directory of flp1_ (1K) [16/05/14]

F-Tool (4K) - a small file handling toolkit. Type FHELP for brief instructions afetr installing.

J-Tool (4K) - a small jobs toolkit. Enter JHELP for brief instructions after installing.

Functions (5K) - a collection of useful new functions for S*BASIC (Rich Mellor)

Font (2K) - BASIC extension for setting new screen fonts.

GetStuff (3K) - GET_STUFF$ extension for hotkey stuffer buffer.

Get Stuffed (4K) - Extension to retrieve content of Stuffer Buffer (J. Hudson)

Gpoint (5K) - Extension to replace the bugged POINT routine in MG ROMs

HBUtils (9K) - Hotkey and Button utilities from Richard Kettlewell

HCO Toolkit (8K) - Hardcopy and graphics drawing extension for use on 512x256 QL screens

History v1.23 A History device driver for the QL, which implements a command line history where each input line, as fetched by QDOS traps io.edline and io.fline, up to a pre-defined limit can be called back by the cursor up (previous line) or cursor down (next line) keys. Works with or without pointer environment. Note that as SMSQ/E already has its own HISTORY device name, there may be a name clash. (Boris Jakubith) (17K) (24K) Updated version of the History device driver above. (Boris Jakubith) [12/10/06]

Home Thing - (26K) a program to allow a job to determine its own home directory, i.e. where it was executed from. (Wolfgang Lenerz) [06/08/12] - Hotkey Control v1.0 A utility to aid in the management of Hot-keys in the Pointer Enviroment. Needs the Extended Pointer Environment including the Hotkey System v2.25 or later. (Franz Herrmann) (28K)

HSV Toolkit (6K) - Toolkit for converting colours from RGB into the HSV (hue, saturation, value) colour system and vice-versa. Can also generate the colour map/ramp sprites for implementing a graphical HSV-enabled colour picker. (Marcel Kilgus) [19/12/16]

Hyperbolic functions (3K) - A set of hyperbolic functions including SINH, COSH, TANH, COTH, ARSINH, ARCOSH, ARTANH and ARCOTH, complete with source assembler file. - J_TOOLKIT. A small selection of SuperBASIC toolkit routines to clear windows, a calculator, add columns, a mini word processor, check memory left, and single key FLP commands. (Joe Haftke) (26K)

Keyman (13K) - Up to 60 function key definitions with these extensions (J. Tripodi)

Kill (2K) - Extension to force remove all running jobs (except SuperBASIC) - Resource Access Control. Enables multiple jobs to share an area of memory without clashing. This is a Superbasic extension called LOCK_EXT that provides this facility for compiled Basic or multi-basic programs. It consists of a single function (ACCESS) that can be used to control access to a shared 'resource' such as an common area of memory. (P.J.Taylor) (25K)

Maths (54K) - Helmut Aigner's mathematics routines toolkit. Now with an auto-translated English instruction file as well as the original German. Offers to tidy up the English translation welcome! - Maths Package. A powerful Maths package using stacks. Includes Assembler source code. (Lawrence Reeves) (15K) MegaToolkit version 1.13. A former commercial program from DJC, the author has now allowed this package to be released as Freeware. All sorts of really useful toolkit-style extensions. (Mike Crowe) (195K) [24/07/07] - v2.60 Variable Memory Shrink. Software reset to any ram size for the Sinclair QL. Useful for older games which only run on 128K RAM, for example, and for testing if software will run on given amount of RAM (e.g. will it work on a 256K RAM system?). Developed on Minerva v1.79 by QView, Compiled with Turbo v2.04 by Digital Precision. (Emmanuel Verbeeck) (9K)

Menu Extension v7.66 - (37K) Jochen Merz has given permission for this version of QMenu to be released for everyone to use. English and German versions included. No instructions, although an article about its use from SuperBASIC is available here. (Jochen Merz) [26/01/17] - Multibasic +. QL World for March 1990 had an article about a set of Superbasic extensions for fast switching between Superbasic programs held in memory.  The article was revised and updated in the August issue of the magazine. This is an extension of the code given by QL World so that the original extensions UNLOAD, RELOAD, RESAVE, and REMOVE are augmented by three more procedures for fast loading from disk: FSAVE, FLOAD, and FDEVICE. (G. Taylor) (4K) The OPEN device driver gives 3 new superbasic commands for listing open calls to a given channel. (Phil Borman) (1K) [10/10/06]

outptr.bin - an S*BASIC toolkit for writing pointer environment programs with QPTR (Wolfgang Lenerz) (10K) [21/05/16]

PDTK (25K) - A general purpose toolkit with many toolkit 2 style extensions (Mark Swift)

PEX v1.9.3 (34K) - a utility to allow writing to buried windows on SMSQ/E or Minerva plus pointer environment.
PEX 22 (24K) - more recent update to PEX
PEX31 (32K) - more recent update to PEX (32K) - more recent update to PEX
PEX34 (6K) - more recent update to PEX
PEX34-s (32K) - source assembler of PEX34

Picext (2K) - Routines to save and load screen pictures.

PIC Load and Save - a pair of BASIC extension functions FPIC_LOAD and FPIC_SAVE allowing copy and paste of PIC files between screen window channels and file. Can handle display of PIC files larger than the screen window, i.e. paste section of a larger image file. Handles all screen modes including GD2 ones, but the picture must be in the same mode as the current screen display, i.e. no mode conversion done. (David Westbury) (3K) [07/12/16] PIE, or Pointer Interface Extensions, permits most native screen driver calls to complete to a buried window by writing to the pointer interface save buffer. Needs native screen drivers that support sd_scrb and sd_linel, e.g. Minerva. (Lester Wareham) (4K) [12/10/06] - Pipedriver v1.00 Pipedriver is a device driver for 'named pipes', extending the possibilities of the native QDOS PIPE_ device (making it faster too). Includes Assembler source code. (Phil Borman) (18K) - Pipedriver v1.00 Pipedriver is a device driver for 'named pipes', extending the possibilities of the native QDOS PIPE_ device. Also includes a 'NUL' device for unwanted data. (Hans Lub) (5K) - Plot. Adds a PLOT command to SuperBASIC to plot a point on the QL's screen, Not in a window. Limited to standard QL screens of 512x256. Includes Assembler source code. (C. Tronche) (3K) PNICE is a package of NICE 1.2 and PICE 1.1. PICE is a partial window redraw utility for QDOS systems which updates the internal PE window save buffer int he background, i.e. you need PIE or PEX software from this page. NICE is a simple utility to overcome lack of smoothness in keyboard operation of a heavily multi-tasked QDOS/SMS system. (Marco Ternelli) (16K) [12/10/06]
PICE update Update PICE (in PNICE package above) to v2.1 (7K)


Pointer Environment extension files PTR_GEN, WMAN and HOT_REXT can now be made available free of charge. Follow this link to the PE page - Present. Adds a SuperBASIC FuNction called PRESENT% to check if an extension keyword has been added. (Phil Ogden) (2K)

Priority - PRIO extension to set priority of calling job to 0-127 (3K)

Path - PTH (path) device driver extensions from Phil Borman. (4K)

QDOS$ - A small S*BASIC extension to provide a QDOS$ function which returns the 4-digit version string for QDOS or SMSQ/E. Can be used in SBASIC or SuperBASIC. Source included. (2K) [03/07/16] - Allow users to list the THINGS currently on their QL.  The programme uses Toolkit II, Minerva Ver$(-2) (if detected), Turbo Toolkit's Peek$(), and the hotkey system (e.g. QTYP2 or QPAC1) (Ian Bruntlett) (3K) [16/05/14] - Qliberator Patch  v1.00  A patch program for Qliberator to allow the Heap to exceed 512K bytes. Needs the Pointer Environment. (Pal Monstad & Arvid Borretzen) (32K)

QLIB_RUN modified - Original versions of the QLiberator compiler runtime extensions up to and including v3.36 include a problem where the ERNUM and ERLIN error returns can be reversed, causing problems for programs whichuse these functions, for example several programs written by Thierry Godefroy. Thierry has patched the runtimes v3.35 and v3.36 to work around these problems. If the program documentation states you need these, here they are. (10K) (Thierry Godefroy) [07/02/06] (10K) (Thierry Godefroy) [07/02/06] Q-Send is an inter-job signalling system. Lets you send "signals" between jobs via the the jobs' keyboard queues. (H. P. Recktenwald) (28K) [12/10/06] -   Quits. Two versions of a utility to provide a "Warm" Reset on  a Trump Card when CTRL-ALT-7 is pressed. Also two QIMI mouse drivers v2.23 and 2.29. And SYSBASE, a function to return the base of the System Variables. Includes Assembler source code. (Jorg Schiemann) (12K)

QView Toolkit (11K) - v1.3 of QView Toolkit, a small toolkit with a number of very useful extensions from Laurence Reeves and the team at QView. May be used from BASIC or compiled jobs. - code for both a static ramdisk and dynamic ramdisk system for older QL systems or emulators with no ramdisk facility. (6K) [21/11/06] REDIR is a redirection device driver, which allows you to assign other names or aliases to devices or files, or for transparent redirection of files(Phil Borman) (3K) [10/10/06]

RES (2K) - extension to reset expanded memory QL to have a given RAM size, e.g. for testing software in minimal memory or to run programs which will only run in a given amount of memory (Peter Beule) - RESdev v0.99 The (pseudo directory) device driver for RESident programs. (Boris Jakubith) (3K)

RET_STK - a small SBASIC extesnion to get the value on the SMSQ/E SBASIC return stack, the line number of the line which called a function or procedure. (Wolfgang Lenerz) (2K) [21/05/16]

Screen Manager (27K) - Screen Manager toolkit by J. Tripodi (13K) - SDUMP extensions for use on systems not already having these screen dump extensions built in. Simply LRESPR this file. Instructions included as text and Quill doc files. N.B. Not required on systems such as Trump Card, Gold Card and Super Gold Card. - Search and Locate. Adds a LOCATE function to search memory for a given string of characters. Includes Assembler source code. (Ken Barrie) (6K)

Shape (14K) - A set of graphical extensiuons, with German instructions (Ralf Beidermann)

Signal Extensions (40K) - Signal Extensions for inter-job communication (Richard Zidlicky)
Signal Extensions mod (24K) - An update to Signal Extensions above, so that QPAC2 Channels recognises device name. Includes the assembler source file, but not the Quill _doc file in the above version. (Dave Westbury) - (24K) Signal Extension. This is the first port (older than above version) of the Signal Extensions for the QL. Includes 'C' source code. (Richard Zidlicky)

Strings (6K) - a small set of string handling extensions, providing upper, lower and mixed case conversion, string reversal and pattern matched string search using '?' wildcard operator.

SUB (4K) - SUB (name substitution) device driver, by Phil Borman. - Sub Directories. Another Translation Of Ralfs Work. Needs Pointer Interface. (Ralf Biederman) (6K) - v1.60 Super Kit Merger. Merges several stand-alone machine code files into one file, which will usually load much quicker and use less disk space. Developed on Minerva v1.79 by QView, Compiled with Turbo v2.04 by Digital Precision. FLEN extension required (Emmanuel Verbeeck) (18K) (2K) - a small extension allowing a task to suspend itself for a given time, e.g. to introduce a fixed delay. Based on code from Ralf Reköndt, with thanks. Source assembler included. (D. Jones) - Finds Direct References To System Variables in machine code programs. Needs Toolkit 2 (1K) [16/05/14]

SysBase (1K) - extension to return base address of system variables.

SystemKit (6K) - System Toolkit by Mark Knight. Small set of extensions for general memory handling. - Thing Information v1.1 Thing Information provides a user friendly menu to show the "Things" installed on your system. Requires Pointer Environment. (Franz Herrmann) (23K)

Timers - based on the Timing Code extensions from Volume H of DIY Toolkit, this slightly modified reassembled version makes it easier to use the timing code extensions in compiled BASIC programs and includes a new example program showing how to implement and display up to four stopwatch timers which work in 1/50th second units (or 1/60th second units on QLs with 60Hz display systems). The QL's internal clock system only supports times in 1 second units at best. (28K)

Tiny Toolkit (38K) - Tiny Toolkit v1.11. More extensions than the name implies! (original by Matthias Leidig, updated by Rich Mellor)


This is the original and best toolkit software for the QL. Just about every QL disk interface released contained some variant of this toolkit, and it was also available as a plug in EPROM for the QL. With the increasing use of emulators, most of which do not include Toolkit 2, free release of the Toolkit 2 has been agreed. Follow this link for Toolkit 2 downloads. - Toolkit 3 is a formerly commercial program, now freeware. Martin Berndt kindly released this to the "free world" after 25 years. Includes a plain text manual. This new toolkit is intended to enhance the SuperToolkit II (QJump/T.Tebby)  by providing many  new facilities and  making some of its old facilities even more powerful. Although most of the extensions will work properly without TK2. Note that the file tk3_rom within the zip file is a ROM image, so may not be installable with LRESPR, rather use a command such as EPROM_LOAD in SMSQ/E. (Martin Berndt) (24K) - Source files for Toolkit 3, kindly supplied by Ralf Reköndt.  (84K) - v1.10 Displays Caps Lock, Ram, Time, Date & Save screen shots. Compiled with Turbo. (Emmanuel Verbeeck) (5K) Trapper is a resident extension which catches some software problems on the QL, the kind of thing which might cause the machine to lock up or behave unpredictably. When exceptions such as illegal address, illegal instruction or divide by 0 occur, a red box appears giving details of the program, when you press RETURN the dead program terminates. (Jonathan Hudson) (5K) [12/10/06]

Turbo Toolkit - see Turbo page.

Unjob (3K) - Extension to remove an executable file type flag from a file.

VARDUMP (3K) - lists variables used by current BASIC program in a window.

WD Extensions (3K) Wildcard Delete, Dir and Stat extensions (Phil Borman)

Weiss Utilities (2K) - A useful toolkit of varied items. - WhatCPU  v1.4 A small utility to report what type of CPU is being used, and whether a Floating Point Unit is installed or not. Note 68008 and 68000 are reported as 68000. (D.J.Walker) (10K) - WINDOWS U.M. This package allows control of windows from SuperBASIC. It makes it possible to write the content of the window only once - this will be saved and can then be exchanged with the actual content or vice-versa as you desire. (8K) (Uwe Maas) [16/05/14] -   WINTOOLS. A suite of winchester accessories. Three programs, one button, a set of wildcard procedures, and an accessory device driver which make life with winchesters and sub-directories much simpler. (P.A. Borman) (10K)

WM (3K) - WM command sets up S-BASIC windows to leave room for buttons (Wolfgang Lenerz)

WSET (28K) - v1.1 of WSET, an extension to redefine QL windows #0 to #2 (Pedro Reina)

WSPT (4K)  extension procedure to simply write a sprite to the screen under pointer interface. This is a simple wrapper for the QDOS/SMSQ iop.wspt trap. Just load a sprite file into some common heap memory and use this command to write the sprite at a given location in a window channel, e.g. ad = ALCHP (sprite_length) : LBYTES sprite_spr,ad : WSPT #channel,x%,y%,ad. (Per Witte) [11/12/16]

Return to the home page. | Return to Downloads Index