OS2DD301 - OS/2 PM Video Device Driver

OS/2 1.x/2.x Presentation Manager Video device driver.

Objective
To expedite Independent Hardware Vendors (IHV) support of OS/2 1.x/2.x by writing Presentation Manager Device Drivers (PM DD) to support various Video Display boards.

This class will cover the core PM DD modules used to interface OS/2 applications to the display; this will include support for WIN and GPI calls. Graphics engine interfacing will be covered in detail.

Target audience
IBM or IHV programmers who code device drivers for...
 * a. Display cards
 * b. Bus type may be: ISA, EISA, VLB, or MCA.

Attendee prerequisites

 * a. Programming expertise: C, MASM
 * b. Intimate knowledge of IHV hardware & programming protocol
 * c. Other device drivers for IHV hardware (DOS, ROM BIOS code, utilities)
 * d. Purchased development software (OS/2 2.1, DDK, MSC 6.0, MASM 5.1)

Length

 * 5 days

Outline
Labs:Developing OS/2 PM Display DD
 * OS/2 Structure
 * Device Driver types
 * PM Device Drivers
 * Block diagram (PM Driver modules)
 * Logic, Data flow
 * Device Context
 * Types, data types, stack usage
 * Dynamic Link Library functions
 * Imported, exported
 * Presentation Driver Interface
 * Protocol
 * Return codes
 * Allocating memory
 * Error Strategy
 * Protection implementation
 * Exit List processing
 * Interrupts (^C)
 * Development topics
 * Transform matrix values
 * Bounds computations
 * Clipping
 * Coordinate values
 * Correlation
 * Drawing to display drivers
 * DAK contents
 * Organization, Build tree
 * Tools
 * Display test tool (DTT)
 * Test case DLLs
 * OS/2 2.1
 * 32 bit SVGA Display Driver
 * IBMVGA32.DLL (device independent)
 * IBMDEV32.DLL (device dependent)
 * DSPRES.DLL  (resources)
 * Background mix options
 * Palette management
 * DSPINSTL
 * Configuration file interpreter
 * Command set