This trap calls an extended operation.
Call Parameters | Return Parameters | ||
---|---|---|---|
D0.B | $09 | D0.L | Error return. |
D1.L | Parameter | D1.L | Returned parameter. |
D2.L | Parameter | D2.L | Preserved. |
D3.W | Timeout | D3.L | Preserved. |
A0.L | Channel ID | A0.L | Preserved. |
A1.L | Parameter | A1.L | Returned parameter. |
A2.L | Address of routine | A2.L | Preserved. |
ERR_NC | Not complete. |
ERR_NO | Channel not open. |
The example below shows the use of this trap call to alter the character height. This was suggested by Andrew Pennel in The Sinclair QDOS Companion. It is assumed that A0 contains the window's ID.
Note that the address sd_yinc(a0) will correctly access the height increment in the channel block whether PE is present or not.
chhgt moveq #sd_extop,d0 ; $09 lea conext,a2 ; EXTOP routine moveq #-1,d3 ; Timeout trap #3 ; Do the routine conext move.w #9,sd_yinc(a0) ; Set the height increment moveq #0,d0 ; No error rts