Table of Contents

DIY Toolkit

The DIY Toolkit was a long-running series of Qdos programming tutorials, packed with SuperBASIC and Assembler source, first published in a Uk news-stand magazine and later distributed as Quill DOC files as well as the associated programs. It extends Qdos in many useful ways and documents lots of interesting system features. It is now freely available as cardware - you are requested to send the principal author Simon Goodwin a postcard if you find the toolkit useful.

This Wiki page is derived from text on the author's page. DIY Toolkit is organised as two dozen volumes, each implementing a handful of associated extensions to SuperBASIC, most originally distributed on microdrive cartridge. Volume sizes vary from 40K to 140K, including source, examples and documentation, and the code for each set of extensions is typically a few hundred bytes long. Several of the free versions have been updated over the 10..15 years since original publication in Sinclair QL World magazine.

A] ALIAS and DEF$

Lets you add extra names for a given extension, and choose procedures and functions by name from a menu, for editing or programming.

B] BASIC TOOLS

Explore SuperBASIC interpreter memory; ten demos e.g. FORGET (for keywords), POP (RETurns) and WHY, for structured debugging. Extensions: BPOKE BPOKE_W BPOKE_L BPEEK% BPEEK_W% BPEEK_L

C] CHANNELS

USE sets SuperBASIC default channel; CHAN functions access window settings. Extensions: CHAN_B% CHAN_W% CHAN_L USE

D] DISK TOOLS

SuperBASIC programs and Quill documents which explain how to speed up, test, repair and rename Qdos-format floppy disks.

E] ERROR CONTROL

Full editing of default in limited space; avoid coercion errors; zap all tasks. Extensions: PURGE CHECK% CHECKF EDLINE$

F] FILE TOOLS

CustomKit builds toolkits from _CODE & _BIN files. EPROM Compiler makes ROM images. Task Commander turns compiled tasks into multi-threaded SuperBASIC extensions. File header extensions: GetHEAD SetHEAD

G] GRAPHICS

Faster and more precise graphics commands, to suit all QLs and Thor MODE 12, as well as several decorative demos. Extensions: PLOT DRAW PIXEL%

H] HEAP & HOROLOGY

Four 20mS stopwatches; SHOW_HEAP RAM explorer & info. MAPper for memory. Extensions: LINKUP RESERVE DISCARD T_ON T_OFF T_START T_STOP T_COUNT

I] SERIAL MOUSE

Routines to support a two or three button Microsoft or Mouse Systems 'PC' serial mouse under Qdos. Compatible with the Amiga Qdos 'bus' mouse driver at the SuperBASIC keyword level.

J] JOBS

Multi-tasking the DIY way, with excellent compatability without gobbling RAM; Task Control toolkit plus TASKFORCE, TASKNAME{(names task taking input) PSION_PATCH TASK_RENAME & ADDNAME programs.

K] HEWLETT PACKARD PCL PRINTER ROUTINES

Adjustable resolution shaded dump routines for HP PCL printers (DeskJet, LaserJet etc). Also documents PACKBITS compression and colour separations. Plus routines to do interesting things with text printed on an HP printer. Special versions for QXL high resolution screen (untested)

M] MultiBASIC

Compatible multiple SuperBASICs for any QDOS/Argos system! Version 4.0 can swap screens as well as programs & variables. Extensions: UNLOAD RELOAD RESAVE REMOVE SCR_SAVE

N] NETWORKING

Three improved NETPAL tools issue commands remotely on QL, Minerva or Thor (these need 2+ QLAN networked computers with FSERVE in ROM, or maybe a QXL). MEM = a new QDOS device to share memory between tasks or computers (any Qdos).

P] PIPES & PARAMETERS

Machine code power from SuperBASIC extensions, plus SEARCH_PROG & CAT columnar directory demos. Extensions: PARTYPE PARSEPA PARHASH PARNAME$ UNSET QLINK QCOUNT% QSPACE% QSIZE%

Q] QUEUES & QDOS

QUEUE% types into programs; QLIST scans keyboard queues; CHLIST names all open channels. Extensions: CHBASE SYSBASE QUEUE%

R] REPLACE

Exchange variable, array and device names, or look up details; case conversion functions also included. Extensions: LOWER$ UPPER$ NEWCHAN% LOOKUP% REPLACE

S] QLIPBOARD

Scan characters in any size or colour into SuperBASIC strings or type them into any other task. Full task including text editor, for Qdos and Argos.

T] TRAPS

Qdos, Minerva and Argos system calls ('traps') documented and demonstrated with easy-to-use SuperBASIC extensions and assembly code.

U] ENVIRONMENT VARIABLES

Share strings and numbers between concurrently running tasks and SuperBASIC. Also includes documentation and a demonstration of 'User Heap' management.

V] MORE

Page through files or memory quickly and easily, while indicating your current position.

W] WINDOWS

How to save, restore and move images in Qdos windows.

X] MSEARCH and VOCAB

Look through the vocabulary of your SuperBASIC interpreter for variables, resident commands and functions, or SuperBASIC DEFinitions with VOCAB. MSEARCH is a fast, flexible search routine.

Y] FLEXYNET

A simple replacement driver for QLAN (the Sinclair network) which can go faster than the original and adjust to mis-matched system speeds. Needs original Sinclair network hardware.

Z] ARRAY SEARCH ROUTINES

SuperBASIC numeric array and string array search routines in assembler, with source code and explanations. Extensions: INARRAY, MINIMUM, MAXIMUM