

SV_CHBAS thru SV_CHMAX point to a table of longwords: each of those longwords points to a CHANNEL DEFINITION BLOCK in the following offsets format.
| ALL CHANNELS: | ||
| $00.L | CH__LEN | Length of channel definition block |
| $04.L | CH__DRIVR | Address of driver |
| $08.L | CH__OWNER | Owner Job |
| $0C.L | CH__RFLAG | Address to be set when space released |
| $10.W | CH__TAG | Channel ID (channel tag) |
| $12.B | CH__STAT | Status:
* = 0 OK * = -1 (A1) * = $80 (A1,A6.L) * = -ve waiting |
| $13.B | CH__ACTIN | Stored action for waiting Job |
| $14.L | CH__JOBWT | ID of Job waiting on IO |
| $18 | CH__END | -- here on differs depending on the kind of channel -- |
| EXTENDED CHANNEL DEFINITION FOR PLAIN SERIAL QUEUES: | ||
| $18.L | CH__QIN | pointer to input Q (or 0) |
| $1C.L | CH__QOUT | pointer to output Q (or 0) |
| $20 | CH__QEND | -- end -- |
| EXTENDED CHANNEL DEFINITION FOR SCREEN DRIVER: | ||
| $18.W | SD__XMIN | Window top lefthand side |
| $1A.W | SD__YMIN | |
| $1C.W | SD__XSIZE | Window size |
| $1E.W | SD__YSIZE | |
| $20.W | SD__BORWD | Border width |
| $22.W | SD__XPOS | Cursor position |
| $24.W | SD__YPOS | |
| $26.W | SD__XINC | Cursor increment |
| $28.W | SD__YINC | |
| $2A.L | SD__FONT | Font address |
| $2E.L | - | Second font address |
| $32.L | SD__SCRB | Base address of screen ($20000 on QLs, differs on THOR) |
| $36.L | SD__PMASK | Paper colour mask |
| $3A.L | SD__SMASK | Strip colour mask |
| $3E.L | SD__IMASK | Ink colour mask |
| $42.B | SD__CATTR | Character attributes:
* bit 0 - Underline bit * bit 1 - Flash bit * bit 2 - Transparent background * bit 3 - XOR characters/graphics * bit 4 - Double height * bit 5 - Extended width * bit 6 - Double width * bit 7 - Graphics positioned characters |
| $43.B | SD__CURF | Cursor flag, 0=suppressed, >0=visible |
| $44.B | SD__PCOLR | Paper colour byte |
| $45.B | SD__SCOLR | Strip colour byte |
| $46.B | SD__ICOLR | Ink colour byte |
| $47.B | SD__BCOLR | Border colour byte |
| $48.B | SD__NLSTA | New line status ( >0 implicit, <0 explict) |
| $49.B | SD__FMOD | Fill mode (0=OFF, 1=ON) |
| $4A.F | SD__YORG | Graphics window x origin (6 bytes) |
| $50.F | SD__XORG | Graphics window y origin (6 bytes) |
| $56.F | SD__SCAL | Graphics scale factor (6 bytes) |
| $5C.L | SD__FBUF | Pointer to fill buffer |
| $60.L | SD__FUSE | Pointer to user defined fill vectors |
| $64.W | SD__LINEL | Line length in bytes |
| $68 | SD__END | -- end -- |

| Last updated 4th January 1999. |