pcjs/devices/pc
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jeff Parsons c31f6222a1 Added smoothing control to both PCjs and PC8080 (setting it to false should probably be the new default)
It can be controlled with a new "smoothing" attribute on the <video> component and/or overridden with a "smoothing" URL parameter set to either "true" or "false"
2016-05-03 09:11:02 -07:00
..
chipset The great DIP switch rewrite (major pain in the butt, but hopefully helpful for future machines) 2016-03-25 16:17:35 -07:00
hdc Pre-v1.15.5 checkpoint 2014-10-17 11:04:20 -07:00
keyboard Disk library updates 2016-03-23 16:53:13 -07:00
machine Start using fenced code blocks with language identifiers to improve highlighting with GitHub Pages 2016-05-01 16:09:33 -07:00
panel Documentation updates 2016-03-13 17:44:59 -07:00
rom Added "Save HD" buttons to selected 5160 configs (ie, with CGAs and empty 10Mb hard drives) -- see how EASY it is? 2016-04-17 09:05:28 -07:00
video Added smoothing control to both PCjs and PC8080 (setting it to false should probably be the new default) 2016-05-03 09:11:02 -07:00
README.md Start using fenced code blocks with language identifiers to improve highlighting with GitHub Pages 2016-05-01 16:09:33 -07:00

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

IBM PC Device Configurations

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="pc" 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/pc/rom/5150/basic/BASIC100.json"/>
    <rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/rom/5150/1981-04-24/PCBIOS-REV1.json"/>
    <video ref="/devices/pc/video/ibm/mda/ibm-mda.xml"/>
    <fdc ref="/disks/pc/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/pc/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.