diff --git a/devices/pdp10/README.md b/devices/pdp10/README.md new file mode 100644 index 000000000..4a0fdc9f5 --- /dev/null +++ b/devices/pdp10/README.md @@ -0,0 +1,14 @@ +--- +layout: page +title: PDP-10 Device Configurations +permalink: /devices/pdp10/ +--- + +PDP-10 Device Configurations +---------------------------- + +[PDP-10 Machines](/devices/pdp10/machine/) rely on a variety of machine configuration files and resources, including: + +* [Control Panels](panel/) + +Test machines include a [PDP-10 (Model KA10) with Debugger](/devices/pdp11/machine/ka10/panel/debugger/). diff --git a/devices/pdp10/machine/README.md b/devices/pdp10/machine/README.md new file mode 100644 index 000000000..77a799cc5 --- /dev/null +++ b/devices/pdp10/machine/README.md @@ -0,0 +1,12 @@ +--- +layout: page +title: PDP-10 Machine Configurations +permalink: /devices/pdp10/machine/ +--- + +PDP-10 Machine Configurations +----------------------------- + +PDPjs supports the following PDP-10 machine configurations: + +* [PDP-10 Model KA10](/devices/pdp10/machine/ka10/) diff --git a/devices/pdp10/machine/ka10/README.md b/devices/pdp10/machine/ka10/README.md new file mode 100644 index 000000000..60e0c79b5 --- /dev/null +++ b/devices/pdp10/machine/ka10/README.md @@ -0,0 +1,12 @@ +--- +layout: page +title: PDP-10 (Model KA10) Machine Configurations +permalink: /devices/pdp10/machine/ka10/ +--- + +PDP-10 (Model KA10) Machine Configurations +------------------------------------------ + +PDPjs supports the following PDP-10 Model KA10 machine configurations: + +* [PDP-10 Model KA10 Test Machine](/devices/pdp10/machine/ka10/test/) (with [Debugger](/devices/pdp10/machine/ka10/test/debugger/)) diff --git a/devices/pdp10/machine/ka10/test/README.md b/devices/pdp10/machine/ka10/test/README.md new file mode 100644 index 000000000..afe4379af --- /dev/null +++ b/devices/pdp10/machine/ka10/test/README.md @@ -0,0 +1,15 @@ +--- +layout: page +title: PDP-10 (Model KA10) Test Machine +permalink: /devices/pdp10/machine/ka10/test/ +machines: + - id: ka10test + type: pdp10 +--- + +PDP-10 Test Machine +------------------- + +A PDP-10 (Model KA10) is simulated below. + +{% include machine.html id="ka10test" %} diff --git a/devices/pdp10/machine/ka10/test/debugger/README.md b/devices/pdp10/machine/ka10/test/debugger/README.md new file mode 100644 index 000000000..acc87c29c --- /dev/null +++ b/devices/pdp10/machine/ka10/test/debugger/README.md @@ -0,0 +1,16 @@ +--- +layout: page +title: PDP-10 (Model KA10) Test Machine with Debugger +permalink: /devices/pdp10/machine/ka10/test/debugger/ +machines: + - id: ka10test + type: pdp10 + debugger: true +--- + +PDP-10 Test Machine with Debugger +--------------------------------- + +A PDP-10 (Model KA10) is simulated below. + +{% include machine.html id="ka10test" %} diff --git a/devices/pdp10/machine/ka10/test/debugger/machine.xml b/devices/pdp10/machine/ka10/test/debugger/machine.xml new file mode 100644 index 000000000..470a11fec --- /dev/null +++ b/devices/pdp10/machine/ka10/test/debugger/machine.xml @@ -0,0 +1,12 @@ + + + + PDP-10 Test Machine with Debugger + + + + + + + + diff --git a/devices/pdp10/machine/ka10/test/machine.xml b/devices/pdp10/machine/ka10/test/machine.xml new file mode 100644 index 000000000..2a951bf8d --- /dev/null +++ b/devices/pdp10/machine/ka10/test/machine.xml @@ -0,0 +1,11 @@ + + + + PDP-10 Test Machine + + + + + + + diff --git a/devices/pdp10/panel/README.md b/devices/pdp10/panel/README.md new file mode 100644 index 000000000..b6cea17fc --- /dev/null +++ b/devices/pdp10/panel/README.md @@ -0,0 +1,10 @@ +--- +layout: page +title: PDP-10 Control Panels +permalink: /devices/pdp11/panel/ +--- + +PDP-10 Control Panels +--------------------- + +* [Terminal Test Panels](test/) diff --git a/devices/pdp10/panel/test/README.md b/devices/pdp10/panel/test/README.md new file mode 100644 index 000000000..ed5fee625 --- /dev/null +++ b/devices/pdp10/panel/test/README.md @@ -0,0 +1,10 @@ +--- +layout: page +title: PDP-10 Test Panels +permalink: /devices/pdp10/panel/test/ +--- + +PDP-10 Test Panels +------------------ + +* [Terminal Test Panel](terminal.xml) (with [Debugger](debugger/terminal.xml)) diff --git a/devices/pdp10/panel/test/debugger/README.md b/devices/pdp10/panel/test/debugger/README.md new file mode 100644 index 000000000..a13c0ad2a --- /dev/null +++ b/devices/pdp10/panel/test/debugger/README.md @@ -0,0 +1,10 @@ +--- +layout: page +title: PDP-10 Test Panel with Debugger +permalink: /devices/pdp10/panel/test/debugger/ +--- + +PDP-10 Test Panel with Debugger +------------------------------- + +* [Terminal Test Panel with Debugger](terminal.xml) diff --git a/devices/pdp10/panel/test/debugger/terminal.xml b/devices/pdp10/panel/test/debugger/terminal.xml new file mode 100644 index 000000000..1bd1dae7b --- /dev/null +++ b/devices/pdp10/panel/test/debugger/terminal.xml @@ -0,0 +1,23 @@ + + + Control Panel + + + + + Enter + Clear + + + + Registers + 000000 + + + Run + Step + Reset + Fast + Stopped + + diff --git a/devices/pdp10/panel/test/terminal.xml b/devices/pdp10/panel/test/terminal.xml new file mode 100644 index 000000000..2439fcde5 --- /dev/null +++ b/devices/pdp10/panel/test/terminal.xml @@ -0,0 +1,17 @@ + + + Control Panel + + + + + Registers + 000000 + + + Run + Reset + Fast + Stopped + + diff --git a/modules/htmlout/lib/htmlout.js b/modules/htmlout/lib/htmlout.js index 694974570..9c79e296b 100644 --- a/modules/htmlout/lib/htmlout.js +++ b/modules/htmlout/lib/htmlout.js @@ -54,6 +54,7 @@ var usr = require("../../shared/lib/usrlib"); * @property {Array.} pcCSSFiles * @property {Array.} pcX86Files * @property {Array.} pc8080Files + * @property {Array.} pdp10Files * @property {Array.} pdp11Files */ var pkg = require("../../../package.json"); @@ -169,6 +170,7 @@ var aMachineFiles = { 'PC': pkg.pcCSSFiles.concat(pkg.pcX86Files), // deprecated (same as PCx86) 'PCx86': pkg.pcCSSFiles.concat(pkg.pcX86Files), 'PC8080': pkg.pcCSSFiles.concat(pkg.pc8080Files), + 'PDP10': pkg.pcCSSFiles.concat(pkg.pdp10Files), 'PDP11': pkg.pcCSSFiles.concat(pkg.pdp11Files) }; var aMachineFileTypes = { @@ -1872,7 +1874,7 @@ HTMLOut.prototype.getRandomString = function(sIndent) * * At a minimum, each machine object should contain the following properties: * - * 'type' (eg, a machine type, such as "C1P", "PCx86", "PC8080", or "PDP11") + * 'type' (eg, a machine type, such as "C1P", "PCx86", "PC8080", "PDP10", or "PDP11") * 'version' (eg, "1.10", "*" to select the current version, or "uncompiled"; "*" is the default) * 'debugger' (eg, true or false; false is the default) * diff --git a/modules/pdp10/lib/defines.js b/modules/pdp10/lib/defines.js index 2560419e3..3c4749612 100644 --- a/modules/pdp10/lib/defines.js +++ b/modules/pdp10/lib/defines.js @@ -75,18 +75,6 @@ var PDP10 = { /* * CPU model numbers (supported) - * - * The 11/20 includes the 11/10, which is not identified separately because there was - * nothing functionally different about it. - * - * The 11/40 added the MODE bits to the PSW (but only KERNEL=00 and USER=11) and 18-bit - * addressing via an MMU; there was still only one register set. - * - * The 11/45 added REGSET bit to the PSW (to support a second register set), SUPER=01 - * mode to the existing KERNEL=00 and USER=11 modes, separate I/D spaces, and other MMU - * extensions (eg, MMR1 and MMR3). - * - * The 11/70 added 22-bit addressing and corresponding extensions to the MMU. */ MODEL_KA10: 1001, diff --git a/modules/shared/lib/embed.js b/modules/shared/lib/embed.js index 65ac2e2cd..4a0f930c7 100644 --- a/modules/shared/lib/embed.js +++ b/modules/shared/lib/embed.js @@ -579,6 +579,21 @@ function embedPC8080(idMachine, sXMLFile, sXSLFile, sParms) return embedMachine("PC8080", "pc8080", APPVERSION, idMachine, sXMLFile, sXSLFile, sParms); } +/** + * embedPDP10(idMachine, sXMLFile, sXSLFile, sParms) + * + * @param {string} idMachine + * @param {string} sXMLFile + * @param {string} sXSLFile + * @param {string} [sParms] + * @return {boolean} true if successful, false if error + */ +function embedPDP10(idMachine, sXMLFile, sXSLFile, sParms) +{ + if (fAsync) Web.enablePageEvents(false); + return embedMachine("PDPjs", "pdp10", APPVERSION, idMachine, sXMLFile, sXSLFile, sParms); +} + /** * embedPDP11(idMachine, sXMLFile, sXSLFile, sParms) * @@ -635,6 +650,7 @@ if (APPNAME == "PC8080") { window['embedPC8080'] = embedPC8080; } if (APPNAME == "PDPjs") { + window['embedPDP10'] = embedPDP10; window['embedPDP11'] = embedPDP11; }