PDP-11 command-line (Node-based) operation is finally working
This commit is contained in:
parent
ded8f15e86
commit
4b345bb3d2
19 changed files with 552 additions and 438 deletions
|
|
@ -46,8 +46,9 @@ class PanelPDP11 extends Component {
|
|||
* The PanelPDP11 component has no required (parmsPanel) properties.
|
||||
*
|
||||
* @param {Object} parmsPanel
|
||||
* @param {boolean} fBindings (true if panel may have bindings, otherwise not)
|
||||
*/
|
||||
constructor(parmsPanel)
|
||||
constructor(parmsPanel, fBindings)
|
||||
{
|
||||
super("Panel", parmsPanel, PanelPDP11, MessagesPDP11.PANEL);
|
||||
|
||||
|
|
@ -59,6 +60,7 @@ class PanelPDP11 extends Component {
|
|||
this.nDisplayCount = 0;
|
||||
this.nDisplayLimit = 60;
|
||||
this.fDisplayLiveRegs = true;
|
||||
this.fBindings = fBindings;
|
||||
|
||||
/*
|
||||
* regSwitches contains the Front Panel (aka Console) SWITCH register, which is also available
|
||||
|
|
@ -145,6 +147,8 @@ class PanelPDP11 extends Component {
|
|||
|
||||
/** @type {DebuggerPDP11} */
|
||||
this.dbg = null;
|
||||
|
||||
this.setReady();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -386,9 +390,10 @@ class PanelPDP11 extends Component {
|
|||
/*
|
||||
* As noted in init(), our powerUp() method gives us a second opportunity to notify any
|
||||
* components that that might care (eg, CPU, Keyboard, and Debugger) that we have some controls
|
||||
* they might want to use.
|
||||
* (ie, bindings) they might want to use.
|
||||
*/
|
||||
PanelPDP11.init();
|
||||
if (this.fBindings) PanelPDP11.init();
|
||||
|
||||
/*
|
||||
* TODO: Until we implement a restore() function, all we can do is reset()
|
||||
*/
|
||||
|
|
@ -1089,18 +1094,13 @@ class PanelPDP11 extends Component {
|
|||
*/
|
||||
static init()
|
||||
{
|
||||
var fReady = false;
|
||||
var aePanels = Component.getElementsByClass(document, PDP11.APPCLASS, "panel");
|
||||
for (var iPanel=0; iPanel < aePanels.length; iPanel++) {
|
||||
var ePanel = aePanels[iPanel];
|
||||
var parmsPanel = Component.getComponentParms(ePanel);
|
||||
var panel = Component.getComponentByID(parmsPanel['id']);
|
||||
if (!panel) {
|
||||
fReady = true;
|
||||
panel = new PanelPDP11(parmsPanel);
|
||||
}
|
||||
if (!panel) panel = new PanelPDP11(parmsPanel, true);
|
||||
Component.bindComponentControls(panel, ePanel, PDP11.APPCLASS);
|
||||
if (fReady) panel.setReady();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue