Make your own free website on
 back next deutsch =

Programmieren in Qdos (PiQ)

3. Auflage (2nd revision), .hpr'7/98


Short Reference Guide

 - Work in progress, as time permits. Sections without page numbers are ready (at most) -


1.1  **  Sources of Information


  1. "QL Advanced User Guide", Adrian Dickens, 1984, Adder Publishing
  2. "QL-Technical Guide", Karlin & Tebby, 1985, Sinclair, (re JS-ROM)
  3. MINERVA Technical Guide(s), v1.72 & 1.82, 1991+, QView,
    and the MINERVA 1.89 & 1.97 ROM code...
  4. Sinclair QL World
  5. {4}, "QL CONNEXIONS", Colin Opie 12/86 - 7/87
  6. MC68008, Motorola, 1985, ADI939R2, MC68008/D,
    MC68000, Motorola, 1985, ADI814R6, MC68000/D,
    M68000PM/AD REV.1, 1992, M68000 Family Programmer's Reference Manual
  7. Elementare Hardware von Mikroprocessoren, .hpr 1991
  8. (just to keep the list's numbering; the book was not recommendable!).
  9. Floppy Disc Standard, Sinclair
  10. Relocatable Object File Standard, Sinclair,
  11. Trump Card Toolkit User Manual (with TK2), Miracle Systems, 1987
  12. QL Assembly Language Programming, Colin Opie, MacGraw-Hill, 1984
  13. IO2, General Purpose Toolkit, with Assembler Sources, by .hpr, 1990+
  14. Sinclair Service Manual, Sinclair, 1985
  15. QDOS Reference Manual, Merz, 1991 (SMSomethings references, NOT QDOS!)
  16. Pointer Environment, QPtr manual & other documentation
  17. The Hutchinson QL Series, 1984, Psion Programs
  18. Computer Kontakt, Jahrgang 1988
  19. The Internet
  20. Sinclair QL User Guide, german edition
  21. QL-Today, german & english, 1997+.
  22. "QL SuperBASIC, The Definitive Handbook", by Jan Jones

Everything will be considered "QDOS" compatible that conforms to the standards as set up with {2} and the more recent additions made by Sinclair, and which is documented reliably and, at least, to the same extent.
The sole reference to SBasic it is "QL SuperBASIC, The Definitive Handbook", by Jan Jones, the title of which speaks for itself...

1.2 ** 3rd edition (1st english), 6/1998

This is a summary of the original publication "Programmieren in QDOS", as published in 1995.

Recent references include the available documentation for the QXL, the QXL.WIN pseudo drives and several additions concerning the SMSQ versions.

This text is a collection of any information about the Sinclair QL and its operating system, QDOS, I could get hold of, based on the state current in 1995. And it is a translation back to the english language from a translation of the english sources to the german language. Thus, pse, be tolerant, and give me a notice if you find anything wrong in the documents...

I'd leave off most of what may be found in the already well known(?) Sinclair documents, to providing just some programming aid in the form of a comprehensive set of system references and programming hints.

The contents were verified with the author's (networking) QDOS systems, GC/QL/Minerva(1.93), GC/MGG, QXL/SMSQ(2.76); further, recently (1999+), with M89 & T6 and the UQLX emulator.

Any note on errors in the text and additional information would be highly welcome.

1.2.1 ** Copying

Copyright (C) 1998, Berlin, by
The documents may be used and given away freely non commercially and, if a proof copy is sent to the author, be translated and/or reprinted in non commercial publications, unchanged and cost free, only. The authentic texts can always be received from the URL as noted above.

The author does not promise the reliability of this documentation, which reflects just what appears to be true in his own QDOS computers, thus there is no warranty at all.

Names or algorithms mentioned may be protected by copyright or other law.


1.3   ** Abbreviations and Conventions for this document

Memory references are decimal and refer to longword items if not mentioned otherwise.
QDOS strings are preceded by a count word, at even addresses.
1KB is 1024 Bytes, 1MB is 1024KB.
QDOS TRAP calls,
e.g., (1/7) for TRAP #1, D0=7, MT.TRAPV
% binary
& octal
$ sedecimal
abs absolute
adr address
(adr) content at address
AQ Atari ST QL-Emulator
St.T. 'Desaster-Tony', author(?) of SQ and other fragments
jcb job control block
jdt job definition table (alias jcb)
LV2, LV TK2 "Level 2 Device Handler", Trump/Gold Card, SQ .. 
ofs offset, displacement
PE  "Pointer Environment"
PIF "Pointer Interface" of PE
ptr  pointer (abs / rel addr)
QL The Black QL with QDOS & SuperBASIC
rel  relative
rpa  resident program area
SMSQ (fairly compatible) QDOS substitute for the QXL.
SMSQ/E (meant to, but failed) substituting any QDOS implementations.
SNG a 'V.I.P.' of the QL world...
SQ any SMS-ish stuff
sp stack pointer
Mr.T 'desaster Tony'
TK2, TK "Toolkit 2", several "levels"; by Mr.T. et al.
tpa transient program area    
.B Byte, Character, any contiguous 8-bit entity at an address unit
.W Word, Cell, dto., 16-Bit
.L Longword, dto., 32-Bit
f.p. Floating point number, QDOS format 12-Bit-Exponent, 32-Bit-Mantissa
Integer signed 2-s complement 16-bit number
Long Integer dto., 32-Bit

   top : next