Fixed spurious faults in RL11

This commit is contained in:
Jeff 2016-11-18 13:51:53 -08:00 committed by Jeff Parsons
commit 7ac9bfe282
4 changed files with 177 additions and 173 deletions

View file

@ -46,7 +46,8 @@ var MessagesPDP11 = {
KEYS: 0x00020000,
PAPER: 0x00100000,
DISK: 0x00400000,
SERIAL: 0x00800000,
RL11: 0x00800000,
SERIAL: 0x01000000,
SPEAKER: 0x02000000,
COMPUTER: 0x04000000,
LOG: 0x10000000,
@ -83,6 +84,7 @@ MessagesPDP11.CATEGORIES = {
"key": MessagesPDP11.KEYS, // using "key" instead of "keys", since the latter is a method on JavasScript objects
"paper": MessagesPDP11.PAPER,
"disk": MessagesPDP11.DISK,
"rl11": MessagesPDP11.RL11,
"serial": MessagesPDP11.SERIAL,
"speaker": MessagesPDP11.SPEAKER,
"computer": MessagesPDP11.COMPUTER,

View file

@ -52,7 +52,7 @@ if (NODE) {
*/
function RL11(parms)
{
Component.call(this, "RL11", parms, RL11, MessagesPDP11.DISK);
Component.call(this, "RL11", parms, RL11, MessagesPDP11.RL11);
/*
* We record any 'autoMount' object now, but we no longer parse it until initBus(),
@ -963,6 +963,8 @@ RL11.prototype.processCommand = function()
}
};
/**
* endReadWrite(err, iCylinder, iHead, iSector, nWords, addr)
*
@ -1027,7 +1029,7 @@ RL11.prototype.readData = function(drive, iCylinder, iHead, iSector, nWords, add
err = PDP11.RL11.ERRC.HNF;
break;
}
var data = this.bus.setWord(addr, b0 | (b1 << 8));
var data = this.bus.setWordDirect(addr, b0 | (b1 << 8));
if (this.bus.checkFault()) {
err = PDP11.RL11.ERRC.NXM;
break;
@ -1075,7 +1077,7 @@ RL11.prototype.writeData = function(drive, iCylinder, iHead, iSector, nWords, ad
}
while (nWords--) {
var data = this.bus.getWord(addr);
var data = this.bus.getWordDirect(addr);
if (this.bus.checkFault()) {
err = PDP11.RL11.ERRC.NXM;
break;