diff --git a/_posts/2016-04-30-the-intel-8080-cpu.md b/_posts/2016-04-30-the-intel-8080-cpu.md
index 9b0199f61..8f4006a6a 100644
--- a/_posts/2016-04-30-the-intel-8080-cpu.md
+++ b/_posts/2016-04-30-the-intel-8080-cpu.md
@@ -8,9 +8,9 @@ permalink: /blog/2016/04/30/
Or rather, introducing [PC8080](/modules/pc8080/), a new 8080-based machine emulator recently added to the
PCjs Project.
-Our first [8080 Test Machine](/devices/pc8080/machine/test/) loads a copy of the
+Our first [8080 Test Machine](/devices/pc8080/machine/exerciser/) loads a copy of the
[8080 Exerciser](https://web.archive.org/web/20151006085348/http://www.idb.me.uk/sunhillow/8080.html)
-(specifically, [8080EX1](/devices/pc8080/rom/test/8080EX1.MAC)) and intercepts the exerciser's CP/M console
+(specifically, [8080EX1](/devices/pc8080/rom/exerciser/8080EX1.MAC)) and intercepts the exerciser's CP/M console
calls so that you can see its progress in the Control Panel window. It's a "headless" test machine
(no keyboard or display), so that's all you get.
diff --git a/devices/README.md b/devices/README.md
index 21ccdbb68..4aea9b866 100644
--- a/devices/README.md
+++ b/devices/README.md
@@ -11,8 +11,9 @@ Device Configurations
All PCjs machines are built from the following collections of devices:
-* [IBM PC Devices](pc/)
-* [Challenger 1P Devices](c1p/)
+* 6502-based Devices (e.g., [Challenger 1P](c1p/))
+* [8080-based Devices](pc8080/) (e.g., [Space Invaders](pc8080/machine/invaders/))
+* [8086-based Devices](pc/) (e.g., [IBM PC, including 80286 and 80386-based compatibles](pc/machine/))
These devices are user-installable components that you would typically find in a real personal computer,
such as keyboards, disk controllers with one or more disk drives, video cards, etc.
diff --git a/devices/pc/README.md b/devices/pc/README.md
index 88a20381c..1cbf1445d 100644
--- a/devices/pc/README.md
+++ b/devices/pc/README.md
@@ -9,11 +9,12 @@ redirect_from:
IBM PC Device Configurations
---
-[PC Machines](machine/) are built from a collection of devices, including:
+[IBM PC Machines](machine/) are built from a collection of [Devices](/devices/), including:
-* CPU
+* CPU (e.g., 8088, 80286, 80386)
* RAM
* [ROMs](rom/)
+* ChipSets (e.g., 8259, 8253, 8237)
* [Keyboards](keyboard/)
* [Video Adapters](video/)
* Floppy Drive Controllers
@@ -30,8 +31,8 @@ Complete machine configurations are constructed from those devices. A Machine C
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](/devices/pc/machine/5150/mda/64kb/machine.xml) looks like:
+Here's an example of [IBM 5150](/devices/pc/machine/5150/mda/64kb/)
+[XML](/devices/pc/machine/5150/mda/64kb/machine.xml):
IBM PC (Model 5150) with Monochrome Display
@@ -49,7 +50,7 @@ For example, here's what the machine located at
-All the devices are fully configured within the Machine XML file, except for the
+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).
diff --git a/devices/pc8080/README.md b/devices/pc8080/README.md
new file mode 100644
index 000000000..14ce20699
--- /dev/null
+++ b/devices/pc8080/README.md
@@ -0,0 +1,47 @@
+---
+layout: page
+title: 8080-Based Device Configurations
+permalink: /devices/pc8080/
+---
+
+8080-Based Device Configurations
+---
+
+[8080-Based Machines](machine/) are built from a collection of devices, including:
+
+* CPU (8080)
+* RAM
+* [ROMs](rom/)
+* ChipSets
+* Video Adapters
+* [Control Panels](panel/)
+
+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 [Space Invaders (1978)](/devices/pc8080/machine/invaders/)
+[XML](/devices/pc8080/machine/invaders/machine.xml) looks like:
+
+
+
+ Space Invaders
+
+
+
+
+
+
+
+
+
+
+
+
+
+In this example, all the devices are fully configured within the machine XML file, except for the
+[Control Panel](panel/) [XML](panel/left.xml).
diff --git a/devices/pc8080/machine/README.md b/devices/pc8080/machine/README.md
new file mode 100644
index 000000000..89ed5496a
--- /dev/null
+++ b/devices/pc8080/machine/README.md
@@ -0,0 +1,13 @@
+---
+layout: page
+title: 8080-Based Machine Configurations
+permalink: /devices/pc8080/machine/
+---
+
+8080-Based Machine Configurations
+---
+
+The following 8080-based machines are currently available:
+
+* [Space Invaders (1978)](invaders/)
+* [8080 Exerciser Test Machine](exerciser/)
diff --git a/devices/pc8080/machine/test/README.md b/devices/pc8080/machine/exerciser/README.md
similarity index 93%
rename from devices/pc8080/machine/test/README.md
rename to devices/pc8080/machine/exerciser/README.md
index b195e1785..db45c619d 100644
--- a/devices/pc8080/machine/test/README.md
+++ b/devices/pc8080/machine/exerciser/README.md
@@ -1,14 +1,16 @@
---
layout: page
-title: 8080 Test Machine
-permalink: /devices/pc8080/machine/test/
+title: 8080 Exerciser Test Machine
+permalink: /devices/pc8080/machine/exerciser/
+redirect_from:
+ - /devices/pc8080/machine/test/
machines:
- type: pc8080
id: test8080
debugger: true
---
-8080 Test Machine
+8080 Exerciser Test Machine
---
This is a test of [PC8080](/modules/pc8080/), a new 8080-based machine emulator being added to the
diff --git a/devices/pc8080/machine/test/machine.xml b/devices/pc8080/machine/exerciser/machine.xml
similarity index 82%
rename from devices/pc8080/machine/test/machine.xml
rename to devices/pc8080/machine/exerciser/machine.xml
index fd759fb60..c0cd9d02c 100644
--- a/devices/pc8080/machine/test/machine.xml
+++ b/devices/pc8080/machine/exerciser/machine.xml
@@ -1,10 +1,10 @@
- 8080 Test Machine
+ 8080 Exerciser Test Machine
-
+
diff --git a/devices/pc8080/machine/invaders/README.md b/devices/pc8080/machine/invaders/README.md
index abe8e5e21..036731590 100644
--- a/devices/pc8080/machine/invaders/README.md
+++ b/devices/pc8080/machine/invaders/README.md
@@ -1,6 +1,6 @@
---
layout: page
-title: Space Invaders (Under Construction)
+title: Space Invaders (1978)
permalink: /devices/pc8080/machine/invaders/
machines:
- type: pc8080
@@ -8,7 +8,7 @@ machines:
debugger: true
---
-Space Invaders (Under Construction)
+Space Invaders (1978)
---
This is a test of [PC8080](/modules/pc8080/), a new 8080-based machine emulator recently added to the
diff --git a/devices/pc8080/machine/invaders/machine.xml b/devices/pc8080/machine/invaders/machine.xml
index 825184966..7c9dc4ea4 100644
--- a/devices/pc8080/machine/invaders/machine.xml
+++ b/devices/pc8080/machine/invaders/machine.xml
@@ -8,13 +8,13 @@
-
-
+
+
diff --git a/devices/pc8080/panel/README.md b/devices/pc8080/panel/README.md
new file mode 100644
index 000000000..9a5156079
--- /dev/null
+++ b/devices/pc8080/panel/README.md
@@ -0,0 +1,16 @@
+---
+layout: page
+title: 8080-Based Control Panels
+permalink: /devices/pc8080/panel/
+---
+
+8080-Based Control Panels
+---
+
+[Control Panels](/docs/pcjs/panel/) are XML files that define layouts for Debugger-related controls.
+
+The following 8080-based control panel configuration files are currently available:
+
+ - [left.xml](left.xml) (created for Space Invaders)
+ - [wide.xml](wide.xml) (a wider version of the above)
+
diff --git a/devices/pc8080/rom/README.md b/devices/pc8080/rom/README.md
new file mode 100644
index 000000000..ae4d658cc
--- /dev/null
+++ b/devices/pc8080/rom/README.md
@@ -0,0 +1,18 @@
+---
+layout: page
+title: 8080-Based ROMs
+permalink: /devices/pc8080/rom/
+---
+
+8080-Based ROMs
+---
+
+ROMs are added to machines by including one *[ROM](/docs/pcjs/rom/)* component in the machine XML configuration file
+for each ROM in the machine; eg:
+
+
+
+The project currently contains the following 8080-based ROMs:
+
+ * [Space Invaders (1978)](invaders/)
+ * [8080 Exerciser Tests](exerciser/)
diff --git a/devices/pc8080/rom/test/8080EX1.MAC b/devices/pc8080/rom/exerciser/8080EX1.MAC
similarity index 100%
rename from devices/pc8080/rom/test/8080EX1.MAC
rename to devices/pc8080/rom/exerciser/8080EX1.MAC
diff --git a/devices/pc8080/rom/test/8080EX1.json b/devices/pc8080/rom/exerciser/8080EX1.json
similarity index 100%
rename from devices/pc8080/rom/test/8080EX1.json
rename to devices/pc8080/rom/exerciser/8080EX1.json
diff --git a/devices/pc8080/rom/test/8080EXER.MAC b/devices/pc8080/rom/exerciser/8080EXER.MAC
similarity index 100%
rename from devices/pc8080/rom/test/8080EXER.MAC
rename to devices/pc8080/rom/exerciser/8080EXER.MAC
diff --git a/devices/pc8080/rom/test/8080EXER.json b/devices/pc8080/rom/exerciser/8080EXER.json
similarity index 100%
rename from devices/pc8080/rom/test/8080EXER.json
rename to devices/pc8080/rom/exerciser/8080EXER.json
diff --git a/devices/pc8080/rom/test/8080PRE.MAC b/devices/pc8080/rom/exerciser/8080PRE.MAC
similarity index 100%
rename from devices/pc8080/rom/test/8080PRE.MAC
rename to devices/pc8080/rom/exerciser/8080PRE.MAC
diff --git a/devices/pc8080/rom/test/8080PRE.json b/devices/pc8080/rom/exerciser/8080PRE.json
similarity index 100%
rename from devices/pc8080/rom/test/8080PRE.json
rename to devices/pc8080/rom/exerciser/8080PRE.json
diff --git a/devices/pc8080/rom/exerciser/README.md b/devices/pc8080/rom/exerciser/README.md
new file mode 100644
index 000000000..a3f95ecd5
--- /dev/null
+++ b/devices/pc8080/rom/exerciser/README.md
@@ -0,0 +1,15 @@
+---
+layout: page
+title: 8080 Exerciser Tests
+permalink: /devices/pc8080/rom/exerciser/
+---
+
+8080 Exerciser Tests
+---
+
+* [8080EX1](8080EX1.MAC)
+* [8080EXER](8080EXER.MAC)
+* [8080PRE](8080PRE.MAC)
+
+Our [8080 Exerciser Test Machine](/devices/pc8080/machine/exerciser/) runs the [8080EX1](8080EX1.MAC),
+since it is the most comprehensive test, and was designed specifically for the Intel 8080.
diff --git a/devices/pc8080/rom/invaders/README.md b/devices/pc8080/rom/invaders/README.md
new file mode 100644
index 000000000..230c526fe
--- /dev/null
+++ b/devices/pc8080/rom/invaders/README.md
@@ -0,0 +1,15 @@
+---
+layout: page
+title: Space Invaders (1978) ROMs
+permalink: /devices/pc8080/rom/invaders/
+---
+
+Space Invaders (1978) ROMs
+---
+
+The original [Space Invaders (1978)](/devices/pc8080/machine/invaders/) contains 4 2Kb ROMs:
+
+* [INVADERS-H](INVADERS-H.json) (loaded at 0x0000)
+* [INVADERS-G](INVADERS-G.json) (loaded at 0x0800)
+* [INVADERS-F](INVADERS-F.json) (loaded at 0x1000)
+* [INVADERS-E](INVADERS-E.json) (loaded at 0x1800)
diff --git a/docs/pcjs/cpu/README.md b/docs/pcjs/cpu/README.md
index 4e2878423..3182ad96d 100644
--- a/docs/pcjs/cpu/README.md
+++ b/docs/pcjs/cpu/README.md
@@ -17,8 +17,11 @@ Defines all the properties required for the CPU component to initialize, along w
Attributes
---
-* *model* (optional; default is 8088)
+* *model* (optional; default is 8088; supported values include: 8086, 8088, 80186, 80286, and 80386)
* Defines the CPU model, adjusting the CPU's capabilities accordingly.
+* *stepping* (optional; if specified, it must be a 2-character string, such as "A0" or "B1")
+ * Defines the CPU stepping, adjusting the CPU's capabilities accordingly.
+ * Currently supported only on the 80386 model.
* *cycles* (optional; default is 4772727)
* Defines the simulated CPU speed in terms of cycles. The default is 4.77Mhz. The exact speed will vary, according
to the whims of JavaScript, your web browser, and your machine's overall workload.
diff --git a/modules/pc8080/README.md b/modules/pc8080/README.md
index 8a86ab9c0..d29b33f5f 100644
--- a/modules/pc8080/README.md
+++ b/modules/pc8080/README.md
@@ -12,7 +12,7 @@ Overview
PC8080 is an 8080-based Machine Emulation Module. The code is derived from [PCjs](/modules/pcjs/),
the IBM PC Emulation Module.
-It is still a work-in-progress. The only demo currently available is this [8080 Test Machine](/devices/pc8080/machine/test/).
+It is still a work-in-progress. See the list of available [PC8080 Machines](/devices/pc8080/machine/).
PC8080 is currently comprised of the following non-shared components, as listed in [package.json](../../package.json)
(see the *pc8080Files* property):
diff --git a/modules/pcjs/README.md b/modules/pcjs/README.md
index 7f394ed7f..cab3df803 100644
--- a/modules/pcjs/README.md
+++ b/modules/pcjs/README.md
@@ -9,7 +9,9 @@ IBM PC Emulation Module (PCjs)
Overview
---
-The PCjs IBM PC Emulation Module divides PC functionality into variety of logical and visual components.
+The PCjs IBM PC Emulation Module is the engine underlying all our [IBM PC Machines](/devices/pc/machine/).
+
+This module divides PC functionality into variety of logical and visual components.
In general, each JavaScript file is responsible for a single component or set of related components (eg,
[chipset.js](lib/chipset.js)). Most components represent familiar PC devices, such as video cards, disk
controllers, etc.