diff --git a/modules/pcjs/lib/chipset.js b/modules/pcjs/lib/chipset.js index 5f74489d8..eed74e76b 100644 --- a/modules/pcjs/lib/chipset.js +++ b/modules/pcjs/lib/chipset.js @@ -1024,13 +1024,14 @@ ChipSet.prototype.powerUp = function(data, fRepower) }; /** - * powerDown(fSave) + * powerDown(fSave, fShutdown) * * @this {ChipSet} * @param {boolean} fSave - * @return {Object|boolean} + * @param {boolean} [fShutdown] + * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure */ -ChipSet.prototype.powerDown = function(fSave) +ChipSet.prototype.powerDown = function(fSave, fShutdown) { return fSave && this.save? this.save() : true; }; diff --git a/modules/pcjs/lib/cpu.js b/modules/pcjs/lib/cpu.js index e68f58f5f..bfa765a92 100644 --- a/modules/pcjs/lib/cpu.js +++ b/modules/pcjs/lib/cpu.js @@ -277,13 +277,14 @@ CPU.prototype.powerUp = function(data, fRepower) }; /** - * powerDown(fSave) + * powerDown(fSave, fShutdown) * * @this {CPU} * @param {boolean} fSave - * @return {Object|boolean} + * @param {boolean} [fShutdown] + * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure */ -CPU.prototype.powerDown = function(fSave) +CPU.prototype.powerDown = function(fSave, fShutdown) { /* * The Computer component (which is responsible for all powerDown and powerUp notifications) diff --git a/modules/pcjs/lib/debugger.js b/modules/pcjs/lib/debugger.js index 637b01e60..37afb2d29 100644 --- a/modules/pcjs/lib/debugger.js +++ b/modules/pcjs/lib/debugger.js @@ -41,6 +41,7 @@ if (DEBUGGER) { var Interrupts = require("./interrupts"); var Messages = require("./messages"); var Bus = require("./bus"); + var Keyboard = require("./keyboard"); var State = require("./state"); var CPU = require("./cpu"); var X86 = require("./x86"); diff --git a/modules/pcjs/lib/fdc.js b/modules/pcjs/lib/fdc.js index f0da299a1..150fc378a 100644 --- a/modules/pcjs/lib/fdc.js +++ b/modules/pcjs/lib/fdc.js @@ -606,13 +606,14 @@ FDC.prototype.powerUp = function(data, fRepower) }; /** - * powerDown(fSave) + * powerDown(fSave, fShutdown) * * @this {FDC} * @param {boolean} fSave - * @return {Object|boolean} + * @param {boolean} [fShutdown] + * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure */ -FDC.prototype.powerDown = function(fSave) +FDC.prototype.powerDown = function(fSave, fShutdown) { return fSave && this.save? this.save() : true; }; diff --git a/modules/pcjs/lib/keyboard.js b/modules/pcjs/lib/keyboard.js index f83c43fce..4965c051e 100644 --- a/modules/pcjs/lib/keyboard.js +++ b/modules/pcjs/lib/keyboard.js @@ -1357,13 +1357,14 @@ Keyboard.prototype.powerUp = function(data, fRepower) }; /** - * powerDown(fSave) + * powerDown(fSave, fShutdown) * * @this {Keyboard} * @param {boolean} fSave - * @return {Object|boolean} + * @param {boolean} [fShutdown] + * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure */ -Keyboard.prototype.powerDown = function(fSave) +Keyboard.prototype.powerDown = function(fSave, fShutdown) { return fSave && this.save? this.save() : true; }; diff --git a/modules/pcjs/lib/mouse.js b/modules/pcjs/lib/mouse.js index c27b8647d..3cbebbf63 100644 --- a/modules/pcjs/lib/mouse.js +++ b/modules/pcjs/lib/mouse.js @@ -263,7 +263,7 @@ Mouse.prototype.powerUp = function(data, fRepower) }; /** - * powerDown(fSave) + * powerDown(fSave, fShutdown) * * @this {Mouse} * @param {boolean} fSave diff --git a/modules/pcjs/lib/panel.js b/modules/pcjs/lib/panel.js index b3ca2d2bf..f87d47dde 100644 --- a/modules/pcjs/lib/panel.js +++ b/modules/pcjs/lib/panel.js @@ -38,6 +38,7 @@ if (typeof module !== 'undefined') { var Component = require("../../shared/lib/component"); var Bus = require("./bus"); var Memory = require("./memory"); + var X86 = require("./x86"); } /** @@ -364,13 +365,14 @@ Panel.prototype.powerUp = function(data, fRepower) }; /** - * powerDown(fSave) + * powerDown(fSave, fShutdown) * * @this {Panel} * @param {boolean} fSave - * @return {Object|boolean} + * @param {boolean} [fShutdown] + * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure */ -Panel.prototype.powerDown = function(fSave) +Panel.prototype.powerDown = function(fSave, fShutdown) { return true; }; diff --git a/modules/pcjs/lib/ram.js b/modules/pcjs/lib/ram.js index 5e99da428..76d2e8b4b 100644 --- a/modules/pcjs/lib/ram.js +++ b/modules/pcjs/lib/ram.js @@ -113,13 +113,14 @@ RAM.prototype.powerUp = function(data, fRepower) }; /** - * powerDown(fSave) + * powerDown(fSave, fShutdown) * * @this {RAM} * @param {boolean} fSave - * @return {Object|boolean} + * @param {boolean} [fShutdown] + * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure */ -RAM.prototype.powerDown = function(fSave) +RAM.prototype.powerDown = function(fSave, fShutdown) { /* * The Computer powers down the CPU first, at which point the X86 state is saved, diff --git a/modules/pcjs/lib/rom.js b/modules/pcjs/lib/rom.js index 11470df58..c75a802fa 100644 --- a/modules/pcjs/lib/rom.js +++ b/modules/pcjs/lib/rom.js @@ -174,7 +174,7 @@ ROM.prototype.powerUp = function(data, fRepower) }; /** - * powerDown(fSave) + * powerDown(fSave, fShutdown) * * Since we have nothing to do on powerDown(), and no state to return, we could simply omit * this function. But it doesn't hurt anything, and maybe we'll use our state to save something @@ -183,9 +183,10 @@ ROM.prototype.powerUp = function(data, fRepower) * * @this {ROM} * @param {boolean} fSave - * @return {Object|boolean} + * @param {boolean} [fShutdown] + * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure */ -ROM.prototype.powerDown = function(fSave) +ROM.prototype.powerDown = function(fSave, fShutdown) { return true; }; diff --git a/modules/pcjs/lib/serialport.js b/modules/pcjs/lib/serialport.js index 78ca438b1..d3eeb682b 100644 --- a/modules/pcjs/lib/serialport.js +++ b/modules/pcjs/lib/serialport.js @@ -401,13 +401,14 @@ SerialPort.prototype.powerUp = function(data, fRepower) }; /** - * powerDown(fSave) + * powerDown(fSave, fShutdown) * * @this {SerialPort} * @param {boolean} fSave - * @return {Object|boolean} + * @param {boolean} [fShutdown] + * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure */ -SerialPort.prototype.powerDown = function(fSave) +SerialPort.prototype.powerDown = function(fSave, fShutdown) { return fSave && this.save ? this.save() : true; }; diff --git a/modules/pcjs/lib/video.js b/modules/pcjs/lib/video.js index c141c0768..020a0a067 100644 --- a/modules/pcjs/lib/video.js +++ b/modules/pcjs/lib/video.js @@ -2451,16 +2451,17 @@ Video.prototype.powerUp = function(data, fRepower) }; /** - * powerDown(fSave) + * powerDown(fSave, fShutdown) * * This is where we might add some method of blanking the display, without the disturbing the video * buffer contents, and blocking all further updates to the display. * * @this {Video} * @param {boolean} fSave - * @return {Object|boolean} + * @param {boolean} [fShutdown] + * @return {Object|boolean} component state if fSave; otherwise, true if successful, false if failure */ -Video.prototype.powerDown = function(fSave) +Video.prototype.powerDown = function(fSave, fShutdown) { return fSave && this.save? this.save() : true; }; diff --git a/modules/pcjs/lib/x86cpu.js b/modules/pcjs/lib/x86cpu.js index bd92fc0c7..0147fab88 100644 --- a/modules/pcjs/lib/x86cpu.js +++ b/modules/pcjs/lib/x86cpu.js @@ -1344,7 +1344,7 @@ X86CPU.prototype.restoreProtMode = function(a) * UPDATES: The current speed multiplier from getSpeed() is now saved in group #3, so that your speed is preserved. * * @this {X86CPU} - * @return {Object} + * @return {Object|null} */ X86CPU.prototype.save = function() {