QDOS Internals

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

User Tools

Site Tools



This trap sets a window's colour and size.

Call ParametersReturn Parameters
D0.B$0CD0.LError return.
D1.BColour D1.LCorrupted.
D2.WWidth D2.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 width of the border is doubled on the vertical edges.
  • The border is set inside the window's limits.
  • All subsequent screen traps (except this one) use the reduced window size for defining cursor position and window limits.
  • If the call changes the width of the border, the cursor is reset to the home position at top left.
  • As a special case if the colour is set to $80 the border is made transparent.


The example below shows the use of this trap call to set a border. It is assumed that A0 contains the window's ID.

brdr    moveq   #sd_brdr,d0     ; $0C
        moveq   #-1,d1          ; Grey border
        moveq   #3,d2           ; Width 3
        moveq   #-1,d3          ; Timeout
        trap    #3              ; Set the border
        tst.l   d0              ; OK? . .
        bne     error           ; . . no!
qdosmsq/traps/trap_3/defb.txt · Last modified: 2009/05/17 14:47 by george.gwilt