pcjs/devices/pc
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jeff Parsons 12b760f912 Changed the last embedPC() parameter from sStateFile to sParms, although for backward compatibility, if sParms is not a JSON object definition (ie, beginning with a brace), it continues to be treated as a state filename.
This change allows us to pass any number of additional properties to embedPC(), which in turn can override properties contained in the XML file; the only property overrides currently supported are 'state' (which overrides any 'state' property set in the XML's <computer> element) and 'automount' (which overrides any 'automount' property set in the XML's <fdc> element).  The goal is to make it easier to reuse XML machine definitions, by allowing commonly altered component attributes to be overridden.
2016-01-18 16:11:08 -08:00
..
basic README updates and a new EGA config 2015-12-22 12:56:25 -08:00
bios Ignore more files 2016-01-14 13:19:21 -08:00
hdc Pre-v1.15.5 checkpoint 2014-10-17 11:04:20 -07:00
keyboard Changed the last embedPC() parameter from sStateFile to sParms, although for backward compatibility, if sParms is not a JSON object definition (ie, beginning with a brace), it continues to be treated as a state filename. 2016-01-18 16:11:08 -08:00
machine Changed the last embedPC() parameter from sStateFile to sParms, although for backward compatibility, if sParms is not a JSON object definition (ie, beginning with a brace), it continues to be treated as a state filename. 2016-01-18 16:11:08 -08:00
panel More README updates 2015-12-11 09:26:19 -08:00
video Fixed two missing links (fixes all known missing links) 2016-01-10 13:47:10 -08:00
README.md Restored analytics tracking, merged the apps menu into the machines menu, and updated the 404 page 2015-12-27 16:42:45 -08:00

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

IBM PC Device Configurations

IBM PC Machine Configurations 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.

For example, here's what the machine located at /devices/pc/machine/5150/mda/64kb/machine.xml looks like:

<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/basic/ibm-basic-1.00.json"/>
	<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pc/bios/5150/1981-04-24.json"/>
	<video ref="/devices/pc/video/ibm/mda/ibm-mda.xml"/>
	<cpu id="cpu8088" model="8088" autostart="true" padleft="8px">
		<control type="button" binding="run">Run</control>
		<control type="button" binding="reset">Reset</control>
	</cpu>
	<keyboard ref="/devices/pc/keyboard/keyboard-minimal.xml"/>
	<fdc ref="/disks/pc/samples.xml" pos="right"/>
	<chipset id="chipset" model="5150" sw1="01000001" sw2="11110000"/>
</machine>

All the devices are fully configured within the XML file, except for the Keyboard and Floppy Disk Controller (FDC) devices, which are defined in separate XML files.