Starting work on disambiguating PCjs the emulator from PCjs the project/website; the emulator will become PCx86
This commit is contained in:
parent
7c3aab2a7e
commit
288f28055d
1519 changed files with 16242 additions and 6939 deletions
|
|
@ -1,58 +0,0 @@
|
|||
---
|
||||
layout: page
|
||||
title: IBM PC Device Configurations
|
||||
permalink: /devices/pc/
|
||||
redirect_from:
|
||||
- /configs/pc/
|
||||
---
|
||||
|
||||
IBM PC Device Configurations
|
||||
---
|
||||
|
||||
All our [IBM PC Machines](machine/) are built from a collection of devices, including:
|
||||
|
||||
* CPU (e.g., 8088, 80286, 80386)
|
||||
* RAM
|
||||
* [ROMs](rom/)
|
||||
* ChipSets (e.g., 8259, 8253, 8237)
|
||||
* [Keyboards](keyboard/)
|
||||
* [Video Adapters](video/)
|
||||
* Floppy Drive Controllers
|
||||
* Hard Drive Controllers
|
||||
* [Control Panels](panel/)
|
||||
|
||||
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](/devices/pc/machine/5150/mda/64kb/)
|
||||
[XML](/devices/pc/machine/5150/mda/64kb/machine.xml):
|
||||
|
||||
```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](/docs/pcjs/video/) [XML](/devices/pc/video/ibm/mda/ibm-mda.xml),
|
||||
[Floppy Disk Controller (FDC)](/docs/pcjs/fdc/) [XML](/disks/pc/compiled/samples.xml), and
|
||||
[Keyboard](/docs/pcjs/keyboard/) [XML](/devices/pc/keyboard/us83-buttons-arrows.xml).
|
||||
Loading…
Reference in a new issue