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>} pcX86Files
|
||||
* @property {Array.<string>} pc8080Files
|
||||
* @property {Array.<string>} pdp10Files
|
||||
* @property {Array.<string>} 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)
|
||||
*
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue