Local Display Hardware

The driver implementation described here is intended to be as general as possible. Microsoft recommends hardware implementations that simplify the software interface and lower hardware costs. These recommendations are intended as a guide. They are not binding requirements for the hardware developer.

The local display hardware can be a simple bank of LEDs, or it can be as complex as a small bitmapped LCD with a minimum size of 64 bits high and 128 bits wide. The local display driver implementation described here can support this range of display hardware.

Microsoft recommends that the local display hardware provide memory-mapped registers to communicate with the device driver. However, this is not a requirement and the driver implementation described here can support communicating through either memory-mapped registers or I/O ports. The start address of the register or port memory must be able to be set by the driver when it allocates the hardware.

The display hardware will use programmed I/O to transfer display data from memory to the display. It will not use direct memory access (DMA) or shared buffers.

Microsoft recommends that the display hardware be implemented to accept an entire display update in one operation. If this is not possible, there are two options. The display hardware can generate interrupts to signal the driver when it is ready for more data, or the driver may be required to poll the device to see when it is ready for more data. The hardware polling approach is discussed here.