MMPM/2 Device Driver Reference

EDM/2 preamble
This is the MMPM/2 Device Driver Reference for OS/2 as last published by IBM in 2004, but with content unchanged from 1997. It is republished here with explicit permission from IBM (Copyright Permission #21953) and you should keep in mind that it is an intellectual property of International Business Machines Corp. that cannot be changed or reused without their permission and is not governed by the Attribution-Share Alike 3.0 licence like the rest of the EDM/2 Wiki.

The content of the documentation is unchanged apart from the following:
 * The original document was an INF file split into thousands of different small sections, these have been consolidated into chapters, and restructured to fit HTML formatting, mimicking the original GML format as much as possible.
 * Sales, technical help, download and contact information has been removed. The MMPM/2 DDR and the related SDK's are no longer for sale, nor is support available from IBM. Some of the INF viewer related help has been removed as well as it is superfluous after the format change and might be misleading, and the Glossary and Notices section was merged with other DDK/SDK glossary sections as they are all identical.
 * Miniscule changes have been made to the text, spelling errors, formatting errors and possible copy and paste errors have been fixed and/or noted, an unfinished sentence or two have been finished to the best of our ability.

Outside of formatting changes, adding Wikilinks and graphic improvements, the document shall be left as it is. It should be noted that the some of the driver models and data formats described in the documentation are have been replaced or extended by both IBM and third parties, but that does not mean that this document should be changed, but it is acceptable that a link is created to an internal or external article that explains the newer models and formats.

About This Book
The MMPM/2 Device Driver Reference for OS/2 is for subsystem developers who want to write their own physical device drivers (and associated virtual device drivers) to support audio and video adapters in the Multimedia Presentation Manager/2 system.

Note: Multimedia Presentation Manager/2 (MMPM/2) is also referred to as "OS/2 Multimedia".

The IBM Developer Connection Device Driver Kit for OS/2 (DDK) provides PDD and VDD source code that serves as a template that can be modified easily to meet your hardware requirements. Tools to test your device drivers are also available.

Related Information
You should be familiar with the IBM Developer's Toolkit for OS/2. Related OS/2 and OS/2 multimedia technical information includes:


 * OS/2 Physical Device Driver Reference :Defines what a physical device driver is, and how it operates. It also describes the types of physical device drivers, their interfaces, and available system services.


 * An online version of this book is provided in this package.


 * OS/2 Virtual Device Driver Reference :Defines what a virtual device driver is, how it operates, and when to use one. It also describes the types of virtual device drivers, their interfaces, and available kernel services.


 * An online version of this book is provided in this package.


 * OS/2 Multimedia Technical Library

Online versions of the following books are provided with the OS/2 Developer's Toolkit.


 * OS/2 Multimedia Subsystem Programming Guide:Provides guidelines for developing multimedia subsystems. Each subsystem component is described in detail in individual chapters. Models are used to complement the information provided by component sample program templates.


 * OS/2 Multimedia Application Programming Guide:Provides advisory information on application interfaces to help you select and implement functions for your OS/2 multimedia applications. Code examples from fully documented sample programs accompany the descriptions of the functions.


 * OS/2 Multimedia Programming Reference:Provides detailed information on multimedia functions, messages, and data structures to enable you to write code for your multimedia application programs and subsystems.

Chapters

 * 1) Adding Support for Audio and Video Adapters
 * 2) Audio Physical Device Driver Template
 * 3) Audio Virtual Device Driver Template
 * 4) MAD16 PDD and VDD Sample Device Drivers
 * 5) PDD Sample for Video Capture Adapters
 * 6) PDD Sample for MPEG Video Playback Devices
 * 7) Audio Sample for Vendor-Specific Drivers
 * 8) Using the High-Resolution Timer
 * 9) Real-Time MIDI Subsystem
 * 10) Audio Device Driver Exerciser (PMADDE) Tool
 * 11) AP2/P2STRING Tool
 * 12) Ultimotion Data Stream Specification
 * 13) DDCMD Messages
 * 14) SHD Messages
 * 15) Vendor-Specific Driver Commands
 * 16) IOCtl Functions
 * 17) Data Types
 * 18) Types of MIDI Messages

19. OS/2 Version Compatibility Considerations
The following table lists items discussed in this reference that have been added to OS/2 since OS/2 Warp Version 3.0 and discusses their compatibility with different versions of OS/2.


 * 20. Notices
 * 21. Glossary