Documentation updates to accommodate the PDP-10 work that's starting now

This commit is contained in:
Jeff Parsons 2017-02-23 15:14:51 -08:00 • committed by Jeff Parsons
commit 8320f58d44
20 changed files with 172 additions and 69 deletions

View file

@ -119,6 +119,9 @@ class BusPDP10 extends Component {
this.nBlockMask = this.nBlockTotal - 1;
this.assert(this.nBlockMask <= BlockInfoPDP10.num.mask);
this.nDisableFaults = 0;
this.fFault = false;
/*
* Define all the properties to be initialized by initMemory()
*/
@ -524,7 +527,9 @@ class BusPDP10 extends Component {
var w;
var off = addr & this.nBlockLimit;
var block = this.getBlockDirect(addr);
this.nDisableFaults++;
w = block.readWordDirect(off, addr);
this.nDisableFaults--;
return w;
}
@ -541,7 +546,9 @@ class BusPDP10 extends Component {
{
var off = addr & this.nBlockLimit;
var block = this.getBlockDirect(addr);
this.nDisableFaults++;
block.writeWordDirect(off, w & 0xffff, addr);
this.nDisableFaults--;
}
/**
@ -683,6 +690,42 @@ class BusPDP10 extends Component {
return addr;
}
/**
* fault(addr, err, access)
*
* Bus interface for signaling alignment errors, invalid memory, etc.
*
* @this {BusPDP10}
* @param {number} addr
* @param {number} [err]
* @param {number} [access] (for diagnostic purposes only)
*/
fault(addr, err, access)
{
this.fFault = true;
if (!this.nDisableFaults) {
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP10.FAULT)) {
this.dbg.printMessage("memory fault on " + this.dbg.toStrBase(addr), true, true);
this.dbg.stopCPU();
}
}
}
/**
* checkFault()
*
* This also serves as a clearFault() function.
*
* @this {BusPDP10}
* @return {boolean}
*/
checkFault()
{
var f = this.fFault;
this.fFault = false;
return f;
}
/**
* reportError(errNum, addr, size, fQuiet)
*