Minimal infrastructure for instantiating a PDP-10 test machine

This commit is contained in:
Jeff Parsons 2017-02-23 11:34:19 -08:00 committed by Jeff Parsons
commit c25ad00c41
15 changed files with 181 additions and 13 deletions

View file

@ -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)
*

View file

@ -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,

View file

@ -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;
}