diff --git a/devices/pc/machine/5150/cga/384kb/softkbd/machine.xml b/devices/pc/machine/5150/cga/384kb/softkbd/machine.xml
index 1b1b6c224..38d344b60 100644
--- a/devices/pc/machine/5150/cga/384kb/softkbd/machine.xml
+++ b/devices/pc/machine/5150/cga/384kb/softkbd/machine.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/devices/pc/machine/5150/cga/64kb/donkey/debugger/machine.xml b/devices/pc/machine/5150/cga/64kb/donkey/debugger/machine.xml
index 5b86cf7cd..a56fedb08 100644
--- a/devices/pc/machine/5150/cga/64kb/donkey/debugger/machine.xml
+++ b/devices/pc/machine/5150/cga/64kb/donkey/debugger/machine.xml
@@ -6,7 +6,7 @@
-
+
diff --git a/devices/pc/machine/5150/cga/64kb/donkey/machine.xml b/devices/pc/machine/5150/cga/64kb/donkey/machine.xml
index 68d4f9326..41e76e789 100644
--- a/devices/pc/machine/5150/cga/64kb/donkey/machine.xml
+++ b/devices/pc/machine/5150/cga/64kb/donkey/machine.xml
@@ -6,7 +6,7 @@
-
+
Run
Reset
diff --git a/devices/pc/machine/5150/cga/64kb/softkbd/machine.xml b/devices/pc/machine/5150/cga/64kb/softkbd/machine.xml
index 5068932eb..5d66e4d74 100644
--- a/devices/pc/machine/5150/cga/64kb/softkbd/machine.xml
+++ b/devices/pc/machine/5150/cga/64kb/softkbd/machine.xml
@@ -7,7 +7,7 @@
-
+
diff --git a/devices/pc/machine/5150/mda/64kb/debugger/machine.xml b/devices/pc/machine/5150/mda/64kb/debugger/machine.xml
index ba66b9665..d9b22441c 100644
--- a/devices/pc/machine/5150/mda/64kb/debugger/machine.xml
+++ b/devices/pc/machine/5150/mda/64kb/debugger/machine.xml
@@ -6,7 +6,7 @@
-
+
diff --git a/devices/pc/machine/5150/mda/64kb/machine.xml b/devices/pc/machine/5150/mda/64kb/machine.xml
index b6e3d1c17..9457758ed 100644
--- a/devices/pc/machine/5150/mda/64kb/machine.xml
+++ b/devices/pc/machine/5150/mda/64kb/machine.xml
@@ -6,7 +6,7 @@
-
+
Run
Reset
diff --git a/devices/pc/machine/5150/mda/64kb/softkbd/machine.xml b/devices/pc/machine/5150/mda/64kb/softkbd/machine.xml
index 727b58cff..9cd66176d 100644
--- a/devices/pc/machine/5150/mda/64kb/softkbd/machine.xml
+++ b/devices/pc/machine/5150/mda/64kb/softkbd/machine.xml
@@ -7,7 +7,7 @@
-
+
diff --git a/devices/pc/machine/5160/cga/256kb/array/machine.xml b/devices/pc/machine/5160/cga/256kb/array/machine.xml
index 2bbdd17d9..4ea886819 100644
--- a/devices/pc/machine/5160/cga/256kb/array/machine.xml
+++ b/devices/pc/machine/5160/cga/256kb/array/machine.xml
@@ -7,7 +7,7 @@
-
+
Run
Reset
diff --git a/devices/pc/machine/5160/cga/256kb/demo/debugger/machine.xml b/devices/pc/machine/5160/cga/256kb/demo/debugger/machine.xml
index 2fed3e6a3..38a98c9a5 100644
--- a/devices/pc/machine/5160/cga/256kb/demo/debugger/machine.xml
+++ b/devices/pc/machine/5160/cga/256kb/demo/debugger/machine.xml
@@ -7,7 +7,7 @@
-
+
diff --git a/devices/pc/machine/5160/cga/256kb/demo/machine.xml b/devices/pc/machine/5160/cga/256kb/demo/machine.xml
index 9bca679a5..b9ba3d529 100644
--- a/devices/pc/machine/5160/cga/256kb/demo/machine.xml
+++ b/devices/pc/machine/5160/cga/256kb/demo/machine.xml
@@ -7,7 +7,7 @@
-
+
Run
Reset
diff --git a/devices/pc/machine/5160/cga/256kb/softkbd/machine.xml b/devices/pc/machine/5160/cga/256kb/softkbd/machine.xml
index dc1ec9cbf..103ee3ac6 100644
--- a/devices/pc/machine/5160/cga/256kb/softkbd/machine.xml
+++ b/devices/pc/machine/5160/cga/256kb/softkbd/machine.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/devices/pc/machine/5160/cga/256kb/win101/debugger/machine.xml b/devices/pc/machine/5160/cga/256kb/win101/debugger/machine.xml
index 5399fd731..e46a13d21 100644
--- a/devices/pc/machine/5160/cga/256kb/win101/debugger/machine.xml
+++ b/devices/pc/machine/5160/cga/256kb/win101/debugger/machine.xml
@@ -7,7 +7,7 @@
-
+
diff --git a/devices/pc/machine/5160/cga/256kb/win101/machine.xml b/devices/pc/machine/5160/cga/256kb/win101/machine.xml
index 92abd7855..92cbbe882 100644
--- a/devices/pc/machine/5160/cga/256kb/win101/machine.xml
+++ b/devices/pc/machine/5160/cga/256kb/win101/machine.xml
@@ -7,7 +7,7 @@
-
+
Run
Reset
diff --git a/devices/pc/machine/5160/cga/256kb/win101/softkbd/machine.xml b/devices/pc/machine/5160/cga/256kb/win101/softkbd/machine.xml
index b3cb094f4..dd8fc42bc 100644
--- a/devices/pc/machine/5160/cga/256kb/win101/softkbd/machine.xml
+++ b/devices/pc/machine/5160/cga/256kb/win101/softkbd/machine.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/devices/pc/machine/5160/cga/512kb/win101/softkbd/machine.xml b/devices/pc/machine/5160/cga/512kb/win101/softkbd/machine.xml
index a80581877..c58f06f17 100644
--- a/devices/pc/machine/5160/cga/512kb/win101/softkbd/machine.xml
+++ b/devices/pc/machine/5160/cga/512kb/win101/softkbd/machine.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/devices/pc/machine/5160/cga/640kb/debugger/machine.xml b/devices/pc/machine/5160/cga/640kb/debugger/machine.xml
index 0a7e51593..a16b87367 100644
--- a/devices/pc/machine/5160/cga/640kb/debugger/machine.xml
+++ b/devices/pc/machine/5160/cga/640kb/debugger/machine.xml
@@ -7,7 +7,7 @@
-
+
diff --git a/devices/pc/machine/5160/cga/640kb/dos400m/machine.xml b/devices/pc/machine/5160/cga/640kb/dos400m/machine.xml
index 39539e67c..70447a218 100644
--- a/devices/pc/machine/5160/cga/640kb/dos400m/machine.xml
+++ b/devices/pc/machine/5160/cga/640kb/dos400m/machine.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/devices/pc/machine/5160/cga/640kb/machine.xml b/devices/pc/machine/5160/cga/640kb/machine.xml
index fe6eb6d58..0044698fa 100644
--- a/devices/pc/machine/5160/cga/640kb/machine.xml
+++ b/devices/pc/machine/5160/cga/640kb/machine.xml
@@ -7,7 +7,7 @@
-
+
Run
Reset
diff --git a/devices/pc/machine/5160/ega/256kb/debugger/machine.xml b/devices/pc/machine/5160/ega/256kb/debugger/machine.xml
index f8acf0eb6..957e34adc 100644
--- a/devices/pc/machine/5160/ega/256kb/debugger/machine.xml
+++ b/devices/pc/machine/5160/ega/256kb/debugger/machine.xml
@@ -5,11 +5,11 @@
-
+
-
+
diff --git a/devices/pc/machine/5160/ega/640kb/array/machine.xml b/devices/pc/machine/5160/ega/640kb/array/machine.xml
index ba0a1f394..a4566026d 100644
--- a/devices/pc/machine/5160/ega/640kb/array/machine.xml
+++ b/devices/pc/machine/5160/ega/640kb/array/machine.xml
@@ -4,11 +4,11 @@
IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Drive
-
+
-
+
Fast
diff --git a/devices/pc/machine/5160/ega/640kb/debugger/machine.xml b/devices/pc/machine/5160/ega/640kb/debugger/machine.xml
index 063aeb4e5..afe7073b0 100644
--- a/devices/pc/machine/5160/ega/640kb/debugger/machine.xml
+++ b/devices/pc/machine/5160/ega/640kb/debugger/machine.xml
@@ -5,11 +5,11 @@
-
+
-
+
diff --git a/devices/pc/machine/5160/ega/640kb/machine.xml b/devices/pc/machine/5160/ega/640kb/machine.xml
index 84b13e921..b08e131e2 100644
--- a/devices/pc/machine/5160/ega/640kb/machine.xml
+++ b/devices/pc/machine/5160/ega/640kb/machine.xml
@@ -5,11 +5,11 @@
-
+
-
+
diff --git a/devices/pc/machine/5160/ega/640kb/win101/debugger/machine.xml b/devices/pc/machine/5160/ega/640kb/win101/debugger/machine.xml
index 463ab6aee..4947ee88f 100644
--- a/devices/pc/machine/5160/ega/640kb/win101/debugger/machine.xml
+++ b/devices/pc/machine/5160/ega/640kb/win101/debugger/machine.xml
@@ -5,11 +5,11 @@
-
+
-
+
diff --git a/devices/pc/machine/5160/ega/640kb/win101/machine.xml b/devices/pc/machine/5160/ega/640kb/win101/machine.xml
index 629842ecb..896142478 100644
--- a/devices/pc/machine/5160/ega/640kb/win101/machine.xml
+++ b/devices/pc/machine/5160/ega/640kb/win101/machine.xml
@@ -4,11 +4,11 @@
IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Drive
-
+
-
+
Fast
diff --git a/devices/pc/machine/5160/mda/256kb/fake188/debugger/machine.xml b/devices/pc/machine/5160/mda/256kb/fake188/debugger/machine.xml
index 50370c755..a3425cfbc 100644
--- a/devices/pc/machine/5160/mda/256kb/fake188/debugger/machine.xml
+++ b/devices/pc/machine/5160/mda/256kb/fake188/debugger/machine.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/devices/pc/machine/5160/mda/256kb/fake188/machine.xml b/devices/pc/machine/5160/mda/256kb/fake188/machine.xml
index 6e2263569..f4e5aab13 100644
--- a/devices/pc/machine/5160/mda/256kb/fake188/machine.xml
+++ b/devices/pc/machine/5160/mda/256kb/fake188/machine.xml
@@ -7,7 +7,7 @@
-
+
Run
diff --git a/devices/pc/machine/5160/mda/256kb/machine.xml b/devices/pc/machine/5160/mda/256kb/machine.xml
index 242789918..858c5019d 100644
--- a/devices/pc/machine/5160/mda/256kb/machine.xml
+++ b/devices/pc/machine/5160/mda/256kb/machine.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/devices/pc/machine/5160/mda/64kb/softkbd/machine.xml b/devices/pc/machine/5160/mda/64kb/softkbd/machine.xml
index 1ef6408ea..e6735151c 100644
--- a/devices/pc/machine/5160/mda/64kb/softkbd/machine.xml
+++ b/devices/pc/machine/5160/mda/64kb/softkbd/machine.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/devices/pc/machine/5170/ega/1152kb/rev1/machine.xml b/devices/pc/machine/5170/ega/1152kb/rev1/machine.xml
index 694d3cbde..3c036da3b 100644
--- a/devices/pc/machine/5170/ega/1152kb/rev1/machine.xml
+++ b/devices/pc/machine/5170/ega/1152kb/rev1/machine.xml
@@ -6,9 +6,9 @@
-
+
-
+
diff --git a/devices/pc/machine/5170/ega/1152kb/rev3/backtrack/machine.xml b/devices/pc/machine/5170/ega/1152kb/rev3/backtrack/machine.xml
index be0832cfe..c3e402b4e 100644
--- a/devices/pc/machine/5170/ega/1152kb/rev3/backtrack/machine.xml
+++ b/devices/pc/machine/5170/ega/1152kb/rev3/backtrack/machine.xml
@@ -6,9 +6,9 @@
-
+
-
+
diff --git a/devices/pc/machine/5170/ega/1152kb/rev3/machine.xml b/devices/pc/machine/5170/ega/1152kb/rev3/machine.xml
index 737cacd85..7613bd4ef 100644
--- a/devices/pc/machine/5170/ega/1152kb/rev3/machine.xml
+++ b/devices/pc/machine/5170/ega/1152kb/rev3/machine.xml
@@ -6,9 +6,9 @@
-
+
-
+
diff --git a/devices/pc/machine/5170/ega/640kb/rev1/machine.xml b/devices/pc/machine/5170/ega/640kb/rev1/machine.xml
index ac0cd7b21..d1c4dd4b2 100644
--- a/devices/pc/machine/5170/ega/640kb/rev1/machine.xml
+++ b/devices/pc/machine/5170/ega/640kb/rev1/machine.xml
@@ -5,9 +5,9 @@
-
+
-
+
diff --git a/devices/pc/machine/compaq/deskpro386/ega/2048kb/machine.xml b/devices/pc/machine/compaq/deskpro386/ega/2048kb/machine.xml
index c18704f22..475a14f72 100644
--- a/devices/pc/machine/compaq/deskpro386/ega/2048kb/machine.xml
+++ b/devices/pc/machine/compaq/deskpro386/ega/2048kb/machine.xml
@@ -6,9 +6,9 @@
-
+
-
+
diff --git a/devices/pc/machine/compaq/deskpro386/other/2048kb/machine.xml b/devices/pc/machine/compaq/deskpro386/other/2048kb/machine.xml
new file mode 100644
index 000000000..b9c9592b8
--- /dev/null
+++ b/devices/pc/machine/compaq/deskpro386/other/2048kb/machine.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/devices/pc/machine/compaq/deskpro386/vga/2048kb/machine.xml b/devices/pc/machine/compaq/deskpro386/vga/2048kb/machine.xml
new file mode 100644
index 000000000..3af76c866
--- /dev/null
+++ b/devices/pc/machine/compaq/deskpro386/vga/2048kb/machine.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/devices/pc/video/README.md b/devices/pc/video/README.md
deleted file mode 100644
index 9b1e37a20..000000000
--- a/devices/pc/video/README.md
+++ /dev/null
@@ -1,12 +0,0 @@
-Video ROMs
----
-
-To (re)build the JSON-encoded EGA ROM with symbols, run the following command:
-
- filedump --file=ibm-ega.rom --format=bytes --decimal
-
-The symbol information in the MAP file will be automatically converted and appended to the dump of the ROM file.
-
-The PCjs server's [Dump API](http://www.pcjs.org/api/v1/dump?file=/devices/pc/video/ibm-ega.rom&format=bytes&decimal=true) can be used as well:
-
- http://www.pcjs.org/api/v1/dump?file=/devices/pc/video/ibm-ega.rom&format=bytes&decimal=true
diff --git a/devices/pc/video/video-ega-128kb-lock.xml b/devices/pc/video/compaq/vga/compaq-vga-256kb-lock.xml
similarity index 100%
rename from devices/pc/video/video-ega-128kb-lock.xml
rename to devices/pc/video/compaq/vga/compaq-vga-256kb-lock.xml
diff --git a/devices/pc/video/video-cga-960-touch.xml b/devices/pc/video/ibm/cga/ibm-cga-960-touch.xml
similarity index 80%
rename from devices/pc/video/video-cga-960-touch.xml
rename to devices/pc/video/ibm/cga/ibm-cga-960-touch.xml
index 33587fcc0..185e5b3fe 100644
--- a/devices/pc/video/video-cga-960-touch.xml
+++ b/devices/pc/video/ibm/cga/ibm-cga-960-touch.xml
@@ -1,5 +1,5 @@
-