--- layout: page title: IBM PC Device Configurations permalink: /devices/pcx86/ redirect_from: - /configs/pc/ - /devices/pc/ --- IBM PC Device Configurations ---------------------------- All our [IBM PC Machines](machine/) are built from a collection of devices, including: * [ChipSets](chipset/) * [Control Panels](panel/) * [CPUs](/docs/pcx86/cpu/) * [Debugger](/docs/pcx86/debugger/) * [Floppy Drive Controller](/docs/pcx86/fdc/) * [Hard Drive Controller](/docs/pcx86/hdc/) * [Keyboard](keyboard/) * [Machines](machine/) * [Mouse](/docs/pcx86/mouse/) * [RAM](/docs/pcx86/ram/) * [ROMs](rom/) * [Parallel Port](/docs/pcx86/parallel/) * [Serial Port](/docs/pcx86/serial/) * [Video Adapters](video/) Each of those devices can be configured in multiple ways, and some support external UI controls. For example, the IBM PC *[Keyboard](/docs/pcx86/keyboard/)* component supports different keyboard models (eg, 83-key, 84-key, 101-key), and each of those models can also be configured to have dedicated buttons for selected key combinations, or even entire keyboard layouts. Complete [machine configurations](machine/) are constructed from those devices. A Machine Configuration is a single XML file that lists all the device components to be used. A Machine XML file can choose to configure every device itself, or it can include pre-configured device XML files, such as those provided above or elsewhere. Here's an [IBM 5150](/devices/pcx86/machine/5150/mda/64kb/) [XML](/devices/pcx86/machine/5150/mda/64kb/machine.xml) example: ```xml IBM PC (Model 5150) with Monochrome Display ``` In this example, all the devices are fully configured within the machine XML file, except for the *[Video](/docs/pcx86/video/)* ([XML](/devices/pcx86/video/ibm/mda/ibm-mda.xml)), *[Floppy Drive Controller](/docs/pcx86/fdc/)* ([XML](/disks/pcx86/compiled/samples.xml)), and *[Keyboard](/docs/pcx86/keyboard/)* ([XML](/devices/pcx86/keyboard/us83-buttons-arrows.xml)) components, which refer to separate XML configuration files.