This manual serves as both a tutorial and a reference guide for experienced graphics and systems programmers developing applications that interact directly with the QVSS (QBus Video Subsystem) and QDSS (QBus Device Subsystem) video device drivers.
The document details the functionalities and differences between the two drivers:
- QVSS is designed for one-plane memory systems, supporting black and white images, direct bitmap manipulation, and alternate windowing systems.
- QDSS is for multiplane memory systems, enabling gray-scale and color images, using Drawing Operation Primitives (DOPs) for accelerated drawing, and supporting only one windowing system at a time.
Key topics covered include:
- Driver Mechanisms: How the drivers handle screen regions, communication via QIOs (Queue I/O) and request queues, and memory usage (on-screen and off-screen memory, scanline maps).
- Event Handling: How drivers track screen events like cursor pattern changes, pointer button transitions, pointer movement, and keyboard entries, often using Asynchronous System Traps (ASTs).
- Programming Interfaces: Detailed descriptions of the common QVSS/QDSS QIO interface (for screen initialization, keyboard, pointer, and system information) and the QDSS-specific QIO interface (for viewports, DOP queues, color management, and bitmap transfers).
- Drawing Operations: Extensive explanation of Drawing Operation Primitives (DOPs), their structure, allocation, execution, and various types of drawing operations (lines, points, polygons, text, area movements, scrolling).
- Advanced Concepts: Handling viewport occlusion, synchronizing viewport activity, and managing color maps.
The manual includes numerous programming examples and appendices detailing data structures, keyboard table macros, compose table macros, the $QIO system service, and character sets.