Minimal infrastructure for instantiating a PDP-10 test machine
This commit is contained in:
parent
0aa88da301
commit
c25ad00c41
15 changed files with 181 additions and 13 deletions
14
devices/pdp10/README.md
Normal file
14
devices/pdp10/README.md
Normal file
|
|
@ -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/).
|
||||||
12
devices/pdp10/machine/README.md
Normal file
12
devices/pdp10/machine/README.md
Normal file
|
|
@ -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/)
|
||||||
12
devices/pdp10/machine/ka10/README.md
Normal file
12
devices/pdp10/machine/ka10/README.md
Normal file
|
|
@ -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/))
|
||||||
15
devices/pdp10/machine/ka10/test/README.md
Normal file
15
devices/pdp10/machine/ka10/test/README.md
Normal file
|
|
@ -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" %}
|
||||||
16
devices/pdp10/machine/ka10/test/debugger/README.md
Normal file
16
devices/pdp10/machine/ka10/test/debugger/README.md
Normal file
|
|
@ -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" %}
|
||||||
12
devices/pdp10/machine/ka10/test/debugger/machine.xml
Normal file
12
devices/pdp10/machine/ka10/test/debugger/machine.xml
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<?xml-stylesheet type="text/xsl" href="/versions/pdpjs/1.34.0/machine.xsl"?>
|
||||||
|
<machine id="ka10test" type="pdp10" border="1" pos="center" background="#FAEBD7">
|
||||||
|
<name pos="center">PDP-10 Test Machine with Debugger</name>
|
||||||
|
<computer id="computer" busWidth="18"/>
|
||||||
|
<cpu id="cpu" model="1001" cycles="1000000"/>
|
||||||
|
<ram id="ram" addr="0x0000" size="0x4000"/>
|
||||||
|
<device id="default" type="default"/>
|
||||||
|
<serial id="serial" adapter="0" binding="print" upperCase="true"/>
|
||||||
|
<panel ref="/devices/pdp10/panel/test/debugger/terminal.xml"/>
|
||||||
|
<debugger id="debugger" base="8" messages="" commands=""/>
|
||||||
|
</machine>
|
||||||
11
devices/pdp10/machine/ka10/test/machine.xml
Normal file
11
devices/pdp10/machine/ka10/test/machine.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<?xml-stylesheet type="text/xsl" href="/versions/pdpjs/1.34.0/machine.xsl"?>
|
||||||
|
<machine id="ka10test" type="pdp10" border="1" pos="center" background="#FAEBD7">
|
||||||
|
<name pos="center">PDP-10 Test Machine</name>
|
||||||
|
<computer id="computer" busWidth="18"/>
|
||||||
|
<cpu id="cpu" model="1001" cycles="1000000"/>
|
||||||
|
<ram id="ram" addr="0x0000" size="0x4000"/>
|
||||||
|
<device id="default" type="default"/>
|
||||||
|
<serial id="serial" adapter="0" binding="print" upperCase="true"/>
|
||||||
|
<panel ref="/devices/pdp10/panel/test/debugger/terminal.xml"/>
|
||||||
|
</machine>
|
||||||
10
devices/pdp10/panel/README.md
Normal file
10
devices/pdp10/panel/README.md
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
layout: page
|
||||||
|
title: PDP-10 Control Panels
|
||||||
|
permalink: /devices/pdp11/panel/
|
||||||
|
---
|
||||||
|
|
||||||
|
PDP-10 Control Panels
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
* [Terminal Test Panels](test/)
|
||||||
10
devices/pdp10/panel/test/README.md
Normal file
10
devices/pdp10/panel/test/README.md
Normal file
|
|
@ -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))
|
||||||
10
devices/pdp10/panel/test/debugger/README.md
Normal file
10
devices/pdp10/panel/test/debugger/README.md
Normal file
|
|
@ -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)
|
||||||
23
devices/pdp10/panel/test/debugger/terminal.xml
Normal file
23
devices/pdp10/panel/test/debugger/terminal.xml
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<panel id="panel" width="100%" padding="8px">
|
||||||
|
<name>Control Panel</name>
|
||||||
|
<control type="container" class="pcjs-textarea" width="60%" padBottom="8px">
|
||||||
|
<control type="textarea" binding="print" width="100%" height="340px" padRight="8px" pos="relative" style="resize:vertical;"/>
|
||||||
|
<control type="container" width="100%">
|
||||||
|
<control type="text" binding="debugInput" width="auto"/>
|
||||||
|
<control type="button" binding="debugEnter">Enter</control>
|
||||||
|
<control type="button" binding="clear">Clear</control>
|
||||||
|
</control>
|
||||||
|
</control>
|
||||||
|
<control type="container" class="pcjs-registers" width="35%" padLeft="8px">
|
||||||
|
<name>Registers</name>
|
||||||
|
<control type="register" label="PC" binding="PC" pos="left" width="60px" padRight="8px" padBottom="8px">000000</control>
|
||||||
|
</control>
|
||||||
|
<control type="container" class="pcjs-registers" width="35%" padLeft="8px" padBottom="8px">
|
||||||
|
<control type="button" binding="run">Run</control>
|
||||||
|
<control type="button" binding="step">Step</control>
|
||||||
|
<control type="button" binding="reset">Reset</control>
|
||||||
|
<control type="button" binding="setSpeed">Fast</control>
|
||||||
|
<control type="description" binding="speed" pos="default">Stopped</control>
|
||||||
|
</control>
|
||||||
|
</panel>
|
||||||
17
devices/pdp10/panel/test/terminal.xml
Normal file
17
devices/pdp10/panel/test/terminal.xml
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<panel id="panel" width="100%" padding="8px">
|
||||||
|
<name>Control Panel</name>
|
||||||
|
<control type="container" class="pcjs-textarea" width="60%" padBottom="8px">
|
||||||
|
<control type="textarea" binding="print" width="100%" height="340px" padRight="8px" pos="relative" style="resize:vertical;"/>
|
||||||
|
</control>
|
||||||
|
<control type="container" class="pcjs-registers" width="35%" padLeft="8px">
|
||||||
|
<name>Registers</name>
|
||||||
|
<control type="register" label="PC" binding="PC" pos="left" width="60px" padRight="8px" padBottom="8px">000000</control>
|
||||||
|
</control>
|
||||||
|
<control type="container" class="pcjs-registers" width="35%" padLeft="8px" padBottom="8px">
|
||||||
|
<control type="button" binding="run">Run</control>
|
||||||
|
<control type="button" binding="reset">Reset</control>
|
||||||
|
<control type="button" binding="setSpeed">Fast</control>
|
||||||
|
<control type="description" binding="speed" pos="default">Stopped</control>
|
||||||
|
</control>
|
||||||
|
</panel>
|
||||||
|
|
@ -54,6 +54,7 @@ var usr = require("../../shared/lib/usrlib");
|
||||||
* @property {Array.<string>} pcCSSFiles
|
* @property {Array.<string>} pcCSSFiles
|
||||||
* @property {Array.<string>} pcX86Files
|
* @property {Array.<string>} pcX86Files
|
||||||
* @property {Array.<string>} pc8080Files
|
* @property {Array.<string>} pc8080Files
|
||||||
|
* @property {Array.<string>} pdp10Files
|
||||||
* @property {Array.<string>} pdp11Files
|
* @property {Array.<string>} pdp11Files
|
||||||
*/
|
*/
|
||||||
var pkg = require("../../../package.json");
|
var pkg = require("../../../package.json");
|
||||||
|
|
@ -169,6 +170,7 @@ var aMachineFiles = {
|
||||||
'PC': pkg.pcCSSFiles.concat(pkg.pcX86Files), // deprecated (same as PCx86)
|
'PC': pkg.pcCSSFiles.concat(pkg.pcX86Files), // deprecated (same as PCx86)
|
||||||
'PCx86': pkg.pcCSSFiles.concat(pkg.pcX86Files),
|
'PCx86': pkg.pcCSSFiles.concat(pkg.pcX86Files),
|
||||||
'PC8080': pkg.pcCSSFiles.concat(pkg.pc8080Files),
|
'PC8080': pkg.pcCSSFiles.concat(pkg.pc8080Files),
|
||||||
|
'PDP10': pkg.pcCSSFiles.concat(pkg.pdp10Files),
|
||||||
'PDP11': pkg.pcCSSFiles.concat(pkg.pdp11Files)
|
'PDP11': pkg.pcCSSFiles.concat(pkg.pdp11Files)
|
||||||
};
|
};
|
||||||
var aMachineFileTypes = {
|
var aMachineFileTypes = {
|
||||||
|
|
@ -1872,7 +1874,7 @@ HTMLOut.prototype.getRandomString = function(sIndent)
|
||||||
*
|
*
|
||||||
* At a minimum, each machine object should contain the following properties:
|
* 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)
|
* 'version' (eg, "1.10", "*" to select the current version, or "uncompiled"; "*" is the default)
|
||||||
* 'debugger' (eg, true or false; false is the default)
|
* 'debugger' (eg, true or false; false is the default)
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -75,18 +75,6 @@ var PDP10 = {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* CPU model numbers (supported)
|
* 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,
|
MODEL_KA10: 1001,
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -579,6 +579,21 @@ function embedPC8080(idMachine, sXMLFile, sXSLFile, sParms)
|
||||||
return embedMachine("PC8080", "pc8080", APPVERSION, 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)
|
* embedPDP11(idMachine, sXMLFile, sXSLFile, sParms)
|
||||||
*
|
*
|
||||||
|
|
@ -635,6 +650,7 @@ if (APPNAME == "PC8080") {
|
||||||
window['embedPC8080'] = embedPC8080;
|
window['embedPC8080'] = embedPC8080;
|
||||||
}
|
}
|
||||||
if (APPNAME == "PDPjs") {
|
if (APPNAME == "PDPjs") {
|
||||||
|
window['embedPDP10'] = embedPDP10;
|
||||||
window['embedPDP11'] = embedPDP11;
|
window['embedPDP11'] = embedPDP11;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue