QDOS Internals

Anything you never knew you wanted to know about the Sinclair QL.

User Tools

Site Tools



This trap sets the character writing or plotting mode.

Call ParametersReturn Parameters
D0.B$2CD0.LError code.
D1.WMode D1.LCorrupted.
D3.WTimeout. D3.LPreserved.
A0.LChannel ID. A0.LPreserved.
A1.L A1.LCorrupted.


ERR_NCNot complete.
ERR_NOChannel not open.


  • All registers not shown above are not used on entry and are preserved on exit.
  • The mode given in D1 is:
    • -1 ink XORed into the background.
    • 0 character background is strip colour; plotting is in ink colour.
    • 1 character background is transparent so it is not overwritten; plotting is in ink colour.


The example below shows how to use this trap call to make printing appear and then disappear. The mode is set to -1 then printing can be done. After a wait the printing is again done and it now disappears. It is assumed that A0 contains the channel ID.

Setmd   moveq   #-1,d1          ; Set XOR mode.
        moveq   #-1,d3          ; Timeout.
        moveq   #SD_SETMD,d0    ; $2C
        trap    #3              ; Set the mode
        tst.l   d0              ; OK? . .
        bne     error ---->     ; . . no!
        bsr     print           ; Print something at 0,0
        bsr     wait            ; Wait for a bit.
        bsr     print           ; The printing disappears.
qdosmsq/traps/trap_3/sova.txt · Last modified: 2009/03/02 17:20 by george.gwilt