• .1 Sources of information
  • .2 Copying
  • .3 Specific Abbreviations & Conventions
  • 3.1 Memory
  • .1 Aufteilung
  • .2 Verwaltung
  • .1 Resident Procedures
  • .2 Transient Programme
  • .3 Basic
  • .4 Heap
  • .5 Queue
  • .1 Trap #0..#3 : Overview
  • .2 Trap #4 : Relative Pointers
  • .3 Trap #5 till #15 : User definable
  • .1 Structure 33
  • .2 Device Handler 36
  • .1 Aufbau 36
  • .2 Physical Layer 37
  • .3 Access Layer 38
  • .1 General 50
  • .2 IOSS Device Handler 51
  • .1 PIPE 51
  • .2 NET 52
  • .3 SER 53
  • .4 SCR 54
  • .5 CON 56
  • .1 File Structure 57
  • .2 Handleraufbau 58
  • .3 Slave Blocks 64
  • .4 Standard Definitions 67
  • .1 Floppy Disc 68
  • .2 Hard Disk (QXL)
  • .3 Microdrive 72
  • .4 Network 75
  • .1 Register 78
  • .2 Serial Schnittstellen 79
  • .3 Network 79
  • .4 Microdrives 80
  • .5 I.P.C. 81
  • .6 System Variables 85
  • .7 Extensions 86
  • .1 Zeichensatz 89
  • .2 System Messages 90
  • .3 ASCII-Umsetzung 91
  • 4.1 Operating System 93
  • 4.2 Interrupt Management 93
  • .1 External Interrupt 95
  • .2 Polled Interrupt 96
  • .3 Scheduler 96
  • .1 Management 97
  • .2 Program 101
  • .3 Procedure 107
  • .4 Configuration 109
  • .1 "level 01"
  • .2 "level 02" (1997)
  • .1 Resident Extensions 114
  • .2 Anmeldung 115
  • .3 Structure 116
  • .4 Parameter 121
  • .1 General 121
  • .2 Integer 123
  • .3 Floating Point Numbers 124
  • .4 Long Integer 126
  • .5 String 127
  • .6 Variable Values Assignation 128
  • .7 Variable Arrays 129
  • .1 Concept 135
  • .1 Pointer Interface 146
  • .2 Fensterdefinition 147
  • .3 Graphic 148
  • .1 Elements 149
  • .2 Objects 152
  • .1
  • .2 QDOS-Traps
  • .1 Manager Traps Trap #1
  • .2 I/O Allocation Trap #2
  • .3 I/O and screen/windows handling Trap #3
  • .4 Pointer Interface Trap #3
  • .1 Hardware
  • .2 System Variables
  • .3 QDOS-Traps
  • .4 Vectors
  • .5 Op-Codes zur Arithmetic
  • .6 Extension Thing
  • .7 Vectors alphabetical

  •  


    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, v1.72, 1991, QView
    4. Sinclair QL World
    5. {4}, "QL CONNEXIONS", Colin Opie 12/86 - 7/87
    6. MC68008, Motorola, 1985, ADI939R2, MC68008/D,

    7. MC68000, Motorola, 1985, ADI814R6, MC68000/D

    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 to the english language from a translation of the english sources to the german language. Thus, pse, be tolerant...

    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 and QXL/SMSQ(2.76).

    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 documents 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.
    Any 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, and reside at even addresses.
    1KB is 1024 Bytes, 1MB is 1024KB.
     
    (Trap-No/D0-Code)  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
    jcb Job Control Block
    jdt Job Definition Table (alias jcb)
    LV2, LV "Level 2 Device Handler" in TK2, Trump/Gold Card, SM, AQ etc. 
    ofs Offset, displacement
    PE  "Pointer Environment"
    PIF "Pointer Interface" of PE
    ptr  Pointer (abs / rel Adr)
    QL The Black(!) QL
    rel  relative
    rpa  Resident Program Area
    SMS2, SM a QDOS-ish operating system 
    SNG a V.I.P. of the QL world ...
    sp Stack pointer
    TK2, TK "Toolkit 2"
    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-Mantisse
    Integer signed 2-s complement 16-bit number
    Long Integer dto., 32-Bit


       top : next
    (count)