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