USB Monitor Control Class Specification, Version 1.0 | |
USB Power Devices Usages Table, Version 0.9 | |
Web-Based Enterprise Management (WBEM) | http://www.microsoft.com/management/wbem/ http://www.dmtf.org/ |
Windows 98 and Windows 2000 DDKs, including NDIS documentation | MSDN Professional membership http://msdn.microsoft.com/ |
Windows Hardware Instrumentation Implementation Guidelines, Version 1.0 (WHIIG), Microsoft Corporation and Intel Corporation | http://www.microsoft.com/hwdev/specs |
Wired for Management Baseline Specification, Version 2.0, Intel Corporation. | http://developer.intel.com/ial/WfM/index.htm |
Newsgroups and Mail Lists
The two primary Newsgroups for DDK information are comp.os.ms-windows.programmer.nt.kernel-mode and comp.os.ms-windows.programmer.vxd. The Microsoft news server at msnews.microsoft.com also has some useful newsgroups.
The
Information on the DDK-L mailing list can be found at http://www.chsw.com/DDK-L/. There is a nominal charge after the first 30 days.
Books
Baker, Art.
Dekker, Edward N. and Newcomer, Joseph M.
Hazzah, Karen.
Mason, Anthony and Viscarola, Peter G.
Solomon, David A.
Appendix B
PC 99
PC 99 is a hardware and software specification for various types of PCs: Consumer PCs, Office PCs, and Entertainment PCs, including mobile PCs. Windows CE portables are not covered.
Certified PC 99 compliance gets you a nice 'Designed for Microsoft Windows' logo on your box.
Drivers
Software plays a large part in achieving PC
The PC 99 specification says that a driver must not use INI files, just the registry. INF style installation must be used, if possible. Drivers must be installed in the correct directories. A driver must not use the same filename as a system driver. A driver must be installable without user input. If a driver has any special parameters, a help file for these must be provided.
WDM drivers must fit in with all the bus specifications and device class driver specs.
The Specification
The PC 99 specification is in the MSDN Library CD Books section. It has many useful appendices and checklists. There are required, recommended, and optional features.
The specification is also available in book form. The PC 99 System Design Guide, version 1.0 is available from Microsoft Press (ISBN 0-7356-0518-1).
The general drift of the specification is to move PCs away from the traditional IBM-compatible PC to one dominated by PCI, SCSI, USB, and IEEE 1394 devices. No ISA slots are now allowed!
For each PC type, it defines what standard devices must be available and what are the possible options. For example, a basic PC (a 300Mhz Pentium with MMX with 32Mb memory) must have hard disk, keyboard, mouse, serial, and parallel ports, V.90 modem, a graphics adapter, and two USB ports. If possible, most external devices should use the USB bus.
Standard PC options include wireless operation, DVD drive, network card, floppy disk, audio, MPEG-2, video input and capture, and a TV tuner.
A PC should attempt to reduce the Total Cost of Ownership (TCO) by supporting Plug and Play and OnNow Power Management.
Plug and Play uses the ACPI specification to ease the management of resources as devices are added or removed from the system. Insertions or removals while the power is on (hot-swapping) is supported on appropriate buses.
The OnNow initiative aims to make PCs start up quicker. The PC can be put to sleep, in effect, rather than turned off completely.
It is recommended that the physical design and software support the accessibility initiatives.
IBM-Compatible PCs
The core hardware specification for PCs has hardly changed in years (i.e., it should be hardware compatible with the IBM AT specification).
This original specification defines standard hardware peripherals, either on the system motherboard or on plug-in cards. A PC needed a timer, keyboard controller, interrupt controller, real-time clock, two DMA controllers and page registers, serial ports and parallel ports.
Other peripherals soon became standard (e.g., IDE disk drives, CD-ROM drives, sound cards, and network cards).
These original devices had standard places where they had to live (e.g., they had set I/O port addresses, IRQ levels, and DMA lines). These are listed in Tables B.1, B.2, and B.3.
These devices were originally implemented by a host of different chips on the motherboard. Soon, chipsets appeared that combined all these devices.
Table B.1 Legacy ISA hardware system I/O (PC 99)