pcjs/devices/pcx86
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2016-05-16 20:55:32 -07:00
..
chipset Starting work on disambiguating PCjs the emulator from PCjs the project/website; the emulator will become PCx86 2016-05-16 20:55:32 -07:00
hdc Starting work on disambiguating PCjs the emulator from PCjs the project/website; the emulator will become PCx86 2016-05-16 20:55:32 -07:00
keyboard Starting work on disambiguating PCjs the emulator from PCjs the project/website; the emulator will become PCx86 2016-05-16 20:55:32 -07:00
machine Starting work on disambiguating PCjs the emulator from PCjs the project/website; the emulator will become PCx86 2016-05-16 20:55:32 -07:00
panel Starting work on disambiguating PCjs the emulator from PCjs the project/website; the emulator will become PCx86 2016-05-16 20:55:32 -07:00
rom Starting work on disambiguating PCjs the emulator from PCjs the project/website; the emulator will become PCx86 2016-05-16 20:55:32 -07:00
video Starting work on disambiguating PCjs the emulator from PCjs the project/website; the emulator will become PCx86 2016-05-16 20:55:32 -07:00
README.md Starting work on disambiguating PCjs the emulator from PCjs the project/website; the emulator will become PCx86 2016-05-16 20:55:32 -07:00

layout title permalink redirect_from
page IBM PC Device Configurations /devices/pcx86/
/configs/pc/

IBM PC Device Configurations

All our IBM PC Machines are built from a collection of devices, including:

Each of those devices can be configured in multiple ways, and some support external UI controls.

For example, the IBM PC 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 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 example of IBM 5150 XML:

<machine id="ibm5150" class="pcx86" border="1" pos="center" background="#FAEBD7">
    <name pos="center">IBM PC (Model 5150) with Monochrome Display</name>
    <computer id="pc-mda-64k" name="IBM PC" resume="1"/>
    <ram id="ramLow" addr="0x00000"/>
    <rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pcx86/rom/5150/basic/BASIC100.json"/>
    <rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pcx86/rom/5150/1981-04-24/PCBIOS-REV1.json"/>
    <video ref="/devices/pcx86/video/ibm/mda/ibm-mda.xml"/>
    <fdc ref="/disks/pcx86/compiled/samples.xml"/>
    <cpu id="cpu8088" model="8088" autostart="true" pos="left" padleft="8px" padbottom="8px">
        <control type="button" binding="run">Run</control>
        <control type="button" binding="reset">Reset</control>
    </cpu>
    <keyboard ref="/devices/pcx86/keyboard/us83-buttons-arrows.xml"/>
    <chipset id="chipset" model="5150" sw1="01000001" sw2="11111000"/>
</machine>

In this example, all the devices are fully configured within the machine XML file, except for the Video XML, Floppy Disk Controller (FDC) XML, and Keyboard XML.