diff --git a/modules/pcjs/lib/.jshintrc b/modules/pcjs/lib/.jshintrc index 98431dbe8..591b009d8 100644 --- a/modules/pcjs/lib/.jshintrc +++ b/modules/pcjs/lib/.jshintrc @@ -47,6 +47,8 @@ "X86Op0F": true, "X86ModB": true, "X86ModW": true, + "X86ModB16": true, + "X86ModW16": true, "X86ModB32": true, "X86ModW32": true, "X86ModSIB": true, diff --git a/modules/pcjs/lib/bus.js b/modules/pcjs/lib/bus.js index de8ce45e0..892b2011c 100644 --- a/modules/pcjs/lib/bus.js +++ b/modules/pcjs/lib/bus.js @@ -234,7 +234,7 @@ if (BACKTRACK) { * * Bit 9 is reserved for now. */ - Bus.BACKTRACK = { + Bus.BTINFO = { SLOT_MAX: 32768, SLOT_SHIFT: 16, TYPE_DATA: 0x8000, @@ -962,7 +962,7 @@ Bus.prototype.addBackTrackObject = function(obj, bto, off) */ if (this.ibtLastAlloc >= 0) bto = this.abtObjects[this.ibtLastAlloc]; } - if (!bto || bto.obj != obj || off < bto.off || off >= bto.off + Bus.BACKTRACK.OFF_MAX) { + if (!bto || bto.obj != obj || off < bto.off || off >= bto.off + Bus.BTINFO.OFF_MAX) { bto = {obj: obj, off: off, slot: 0, refs: 0}; @@ -972,7 +972,7 @@ Bus.prototype.addBackTrackObject = function(obj, bto, off) } else { for (slot = this.ibtLastDelete; slot < cbtObjects; slot++) { var btoTest = this.abtObjects[slot]; - if (!btoTest || !btoTest.refs && !this.isBackTrackWeak(slot << Bus.BACKTRACK.SLOT_SHIFT)) { + if (!btoTest || !btoTest.refs && !this.isBackTrackWeak(slot << Bus.BTINFO.SLOT_SHIFT)) { this.ibtLastDelete = slot + 1; this.cbtDeletions--; break; @@ -1004,7 +1004,7 @@ Bus.prototype.addBackTrackObject = function(obj, bto, off) * TODO: Investigate. For now, BACKTRACK is completely disabled (in part because it also needs * to be revamped for machines with paging enabled). */ - this.assert(slot < Bus.BACKTRACK.SLOT_MAX); + this.assert(slot < Bus.BTINFO.SLOT_MAX); this.ibtLastAlloc = slot; bto.slot = slot + 1; if (slot == cbtObjects) { @@ -1030,7 +1030,7 @@ Bus.prototype.getBackTrackIndex = function(bto, off) { var bti = 0; if (BACKTRACK && bto) { - bti = (bto.slot << Bus.BACKTRACK.SLOT_SHIFT) | Bus.BACKTRACK.TYPE_DATA | (off - bto.off); + bti = (bto.slot << Bus.BTINFO.SLOT_SHIFT) | Bus.BTINFO.TYPE_DATA | (off - bto.off); } return bti; }; @@ -1046,8 +1046,8 @@ Bus.prototype.getBackTrackIndex = function(bto, off) Bus.prototype.writeBackTrackObject = function(addr, bto, off) { if (BACKTRACK && bto) { - this.assert(off - bto.off >= 0 && off - bto.off < Bus.BACKTRACK.OFF_MAX); - var bti = (bto.slot << Bus.BACKTRACK.SLOT_SHIFT) | Bus.BACKTRACK.TYPE_DATA | (off - bto.off); + this.assert(off - bto.off >= 0 && off - bto.off < Bus.BTINFO.OFF_MAX); + var bti = (bto.slot << Bus.BTINFO.SLOT_SHIFT) | Bus.BTINFO.TYPE_DATA | (off - bto.off); this.writeBackTrack(addr, bti); } }; @@ -1077,10 +1077,10 @@ Bus.prototype.readBackTrack = function(addr) Bus.prototype.writeBackTrack = function(addr, bti) { if (BACKTRACK) { - var slot = bti >>> Bus.BACKTRACK.SLOT_SHIFT; + var slot = bti >>> Bus.BTINFO.SLOT_SHIFT; var iBlock = (addr & this.nBusMask) >>> this.nBlockShift; var btiPrev = this.aMemBlocks[iBlock].writeBackTrack(addr & this.nBlockLimit, bti); - var slotPrev = btiPrev >>> Bus.BACKTRACK.SLOT_SHIFT; + var slotPrev = btiPrev >>> Bus.BTINFO.SLOT_SHIFT; if (slot != slotPrev) { this.aMemBlocks[iBlock].modBackTrack(true); if (btiPrev && slotPrev) { @@ -1145,21 +1145,21 @@ Bus.prototype.writeBackTrack = function(addr, bti) Bus.prototype.isBackTrackWeak = function(bti) { var bt = this.cpu.backTrack; - var slot = bti >> Bus.BACKTRACK.SLOT_SHIFT; - return (bt.btiAL >> Bus.BACKTRACK.SLOT_SHIFT == slot || - bt.btiAH >> Bus.BACKTRACK.SLOT_SHIFT == slot || - bt.btiBL >> Bus.BACKTRACK.SLOT_SHIFT == slot || - bt.btiBH >> Bus.BACKTRACK.SLOT_SHIFT == slot || - bt.btiCL >> Bus.BACKTRACK.SLOT_SHIFT == slot || - bt.btiCH >> Bus.BACKTRACK.SLOT_SHIFT == slot || - bt.btiDL >> Bus.BACKTRACK.SLOT_SHIFT == slot || - bt.btiDH >> Bus.BACKTRACK.SLOT_SHIFT == slot || - bt.btiBPLo >> Bus.BACKTRACK.SLOT_SHIFT == slot || - bt.btiBPHi >> Bus.BACKTRACK.SLOT_SHIFT == slot || - bt.btiSILo >> Bus.BACKTRACK.SLOT_SHIFT == slot || - bt.btiSIHi >> Bus.BACKTRACK.SLOT_SHIFT == slot || - bt.btiDILo >> Bus.BACKTRACK.SLOT_SHIFT == slot || - bt.btiDIHi >> Bus.BACKTRACK.SLOT_SHIFT == slot + var slot = bti >> Bus.BTINFO.SLOT_SHIFT; + return (bt.btiAL >> Bus.BTINFO.SLOT_SHIFT == slot || + bt.btiAH >> Bus.BTINFO.SLOT_SHIFT == slot || + bt.btiBL >> Bus.BTINFO.SLOT_SHIFT == slot || + bt.btiBH >> Bus.BTINFO.SLOT_SHIFT == slot || + bt.btiCL >> Bus.BTINFO.SLOT_SHIFT == slot || + bt.btiCH >> Bus.BTINFO.SLOT_SHIFT == slot || + bt.btiDL >> Bus.BTINFO.SLOT_SHIFT == slot || + bt.btiDH >> Bus.BTINFO.SLOT_SHIFT == slot || + bt.btiBPLo >> Bus.BTINFO.SLOT_SHIFT == slot || + bt.btiBPHi >> Bus.BTINFO.SLOT_SHIFT == slot || + bt.btiSILo >> Bus.BTINFO.SLOT_SHIFT == slot || + bt.btiSIHi >> Bus.BTINFO.SLOT_SHIFT == slot || + bt.btiDILo >> Bus.BTINFO.SLOT_SHIFT == slot || + bt.btiDIHi >> Bus.BTINFO.SLOT_SHIFT == slot ); }; @@ -1173,10 +1173,10 @@ Bus.prototype.isBackTrackWeak = function(bti) Bus.prototype.updateBackTrackCode = function(addr, bti) { if (BACKTRACK) { - if (bti & Bus.BACKTRACK.TYPE_DATA) { - bti = (bti & ~Bus.BACKTRACK.TYPE_MASK) | Bus.BACKTRACK.TYPE_COUNT_INC; - } else if ((bti & Bus.BACKTRACK.TYPE_MASK) < Bus.BACKTRACK.TYPE_COUNT_MAX) { - bti += Bus.BACKTRACK.TYPE_COUNT_INC; + if (bti & Bus.BTINFO.TYPE_DATA) { + bti = (bti & ~Bus.BTINFO.TYPE_MASK) | Bus.BTINFO.TYPE_COUNT_INC; + } else if ((bti & Bus.BTINFO.TYPE_MASK) < Bus.BTINFO.TYPE_COUNT_MAX) { + bti += Bus.BTINFO.TYPE_COUNT_INC; } else { return; } @@ -1194,7 +1194,7 @@ Bus.prototype.updateBackTrackCode = function(addr, bti) Bus.prototype.getBackTrackObject = function(bti) { if (BACKTRACK) { - var slot = bti >>> Bus.BACKTRACK.SLOT_SHIFT; + var slot = bti >>> Bus.BTINFO.SLOT_SHIFT; if (slot) return this.abtObjects[slot-1]; } return null; @@ -1226,7 +1226,7 @@ Bus.prototype.getBackTrackInfo = function(bti, fSymbol, fNearest) if (BACKTRACK) { var bto = this.getBackTrackObject(bti); if (bto) { - var off = bti & Bus.BACKTRACK.OFF_MASK; + var off = bti & Bus.BTINFO.OFF_MASK; var file = bto.obj.file; if (file) { this.assert(!bto.off); diff --git a/modules/pcjs/lib/debugger.js b/modules/pcjs/lib/debugger.js index 8f6abf81f..1882272d2 100644 --- a/modules/pcjs/lib/debugger.js +++ b/modules/pcjs/lib/debugger.js @@ -59,6 +59,8 @@ if (DEBUGGER) { * type one of the Debugger.ADDRTYPE values * fData32 true if 32-bit operand size in effect * fAddr32 true if 32-bit address size in effect + * fData32Orig original fData32 value, if any + * fAddr32Orig original fAddr32 value, if any * cOverrides non-zero if any overrides were processed with this address * fComplete true if a complete instruction was processed with this address * fTempBreak true if this is a temporary breakpoint address @@ -72,6 +74,8 @@ if (DEBUGGER) { * type:(number|undefined), * fData32:(boolean|undefined), * fAddr32:(boolean|undefined), + * fData32Orig:(boolean|undefined), + * fAddr32Orig:(boolean|undefined), * cOverrides:(number|undefined), * fComplete:(boolean|undefined), * fTempBreak:(boolean|undefined), @@ -1416,7 +1420,7 @@ if (DEBUGGER) { * 0x1 data selector * DX:EBX -> D386_Device_Params structure (see addSectionInfo() for details) */ - this.addSectionInfo(this.newAddr(cpu.regEBX, DX), !SI, this.fWinDbg); + this.addSectionInfo(this.newAddr(cpu.regEBX, DX), !SI, !!this.fWinDbg); break; } } @@ -1491,7 +1495,7 @@ if (DEBUGGER) { break; case Interrupts.WINDBG.LOADSEG: // 0x0050 - this.addSegmentInfo(this.newAddr(DI, ES), BX+1, CX, !(SI & 0x1), this.fWinDbg); + this.addSegmentInfo(this.newAddr(DI, ES), BX+1, CX, !(SI & 0x1), !!this.fWinDbg); break; case Interrupts.WINDBG.FREESEG: // 0x0052 @@ -1580,7 +1584,7 @@ if (DEBUGGER) { * 0x1 data selector * DX:EBX -> D386_Device_Params structure (see addSectionInfo() for details) */ - this.addSectionInfo(this.newAddr(cpu.regEBX, DX), !SI, this.fWinDbg); + this.addSectionInfo(this.newAddr(cpu.regEBX, DX), !SI, !!this.fWinDbg); break; case Interrupts.WINDBG.FREESEG32: // 0x0152 @@ -1715,7 +1719,7 @@ if (DEBUGGER) { * CX == paragraph * ES:DI -> module name */ - this.addSegmentInfo(this.newAddr(DI, ES), 0, CX, true, this.fWinDbgRM); + this.addSegmentInfo(this.newAddr(DI, ES), 0, CX, true, !!this.fWinDbgRM); } else if (AL < 0x80) { /* @@ -1731,7 +1735,7 @@ if (DEBUGGER) { * DX == actual selector (if 0x40 or 0x41) * ES:DI -> module name */ - this.addSegmentInfo(this.newAddr(DI, ES), BX+1, (AL & 0x40)? DX : CX, !(AL & 0x1), this.fWinDbgRM); + this.addSegmentInfo(this.newAddr(DI, ES), BX+1, (AL & 0x40)? DX : CX, !(AL & 0x1), !!this.fWinDbgRM); } else { /* @@ -1740,7 +1744,7 @@ if (DEBUGGER) { * 0x81 device driver data seg * ES:DI -> D386_Device_Params structure (see addSectionInfo() for details) */ - this.addSectionInfo(this.newAddr(DI, ES), !(AL & 0x1), this.fWinDbgRM); + this.addSectionInfo(this.newAddr(DI, ES), !(AL & 0x1), !!this.fWinDbgRM); } if (this.fWinDbgRM) { cpu.regEAX = (cpu.regEAX & ~0xff) | 0x01; @@ -5281,12 +5285,12 @@ if (DEBUGGER) { Debugger.prototype.parseReference = function(sValue) { var a; - while (a = sValue.match(/\{(.*?)\}/)) { + while (a = sValue.match(/\{(.*?)}/)) { if (a[1].indexOf('{') >= 0) break; // unsupported nested brace(s) var value = this.parseExpression(a[1]); sValue = sValue.replace('{' + a[1] + '}', value != null? str.toHex(value) : "undefined"); } - while (a = sValue.match(/\[(.*?)\]/)) { + while (a = sValue.match(/\[(.*?)]/)) { if (a[1].indexOf('[') >= 0) break; // unsupported nested bracket(s) var dbgAddr = this.parseAddr(a[1]); sValue = sValue.replace('[' + a[1] + ']', dbgAddr? str.toHex(this.getWord(dbgAddr), dbgAddr.fData32? 8 : 4) : "undefined"); diff --git a/modules/pcjs/lib/fdc.js b/modules/pcjs/lib/fdc.js index 17bbe824d..b7d83bbd5 100644 --- a/modules/pcjs/lib/fdc.js +++ b/modules/pcjs/lib/fdc.js @@ -1960,7 +1960,9 @@ FDC.prototype.doCmd = function() break; } - if (this.regDataTotal > 0) this.regStatus |= (FDC.REG_STATUS.READ_DATA | FDC.REG_STATUS.BUSY); + if (this.regDataTotal > 0) { + this.regStatus |= (FDC.REG_STATUS.READ_DATA | FDC.REG_STATUS.BUSY); + } /* * After the Execution Phase (eg, DMA Terminal Count has occurred, or the EOT sector has been read/written), @@ -2035,7 +2037,7 @@ FDC.prototype.popCmd = function(name) if (DEBUG && this.messageEnabled(Messages.PORT | Messages.FDC)) { var bCmdMasked = bCmd & FDC.REG_DATA.CMD.MASK; if (!name && !this.regDataIndex && FDC.aCmdInfo[bCmdMasked]) name = FDC.aCmdInfo[bCmdMasked].name; - this.printMessage("FDC.CMD[" + (name || this.regDataIndex) + "]: " + str.toHexByte(bCmd), true); + this.printMessage(this.id + ".popCmd(" + (name || this.regDataIndex) + "): " + str.toHexByte(bCmd), true); } this.regDataIndex++; return bCmd; @@ -2087,7 +2089,7 @@ FDC.prototype.beginResult = function() FDC.prototype.pushResult = function(bResult, name) { if (DEBUG && this.messageEnabled(Messages.PORT | Messages.FDC)) { - this.printMessage("FDC.RES[" + (name || this.regDataTotal) + "]: " + str.toHexByte(bResult), true); + this.printMessage(this.id + ".pushResult(" + (name || this.regDataTotal) + "): " + str.toHexByte(bResult), true); } this.assert(!(bResult & ~0xff)); this.regDataArray[this.regDataTotal++] = bResult; @@ -2154,7 +2156,7 @@ FDC.prototype.dmaRead = function(drive, b, done) /* * The DMA controller should be ASKING for data, not GIVING us data; this suggests an internal DMA miscommunication */ - if (DEBUG) this.printMessage("dmaRead(): invalid DMA acknowledgement"); + if (DEBUG) this.printMessage(this.id + ".dmaRead(): invalid DMA acknowledgement"); done(-1, false); }; @@ -2173,7 +2175,7 @@ FDC.prototype.dmaWrite = function(drive, b) /* * The DMA controller should be GIVING us data, not ASKING for data; this suggests an internal DMA miscommunication */ - if (DEBUG) this.printMessage("dmaWrite(): invalid DMA acknowledgement"); + if (DEBUG) this.printMessage(this.id + ".dmaWrite(): invalid DMA acknowledgement"); return -1; }; @@ -2192,7 +2194,7 @@ FDC.prototype.dmaFormat = function(drive, b) /* * The DMA controller should be GIVING us data, not ASKING for data; this suggests an internal DMA miscommunication */ - if (DEBUG) this.printMessage("dmaFormat(): invalid DMA acknowledgement"); + if (DEBUG) this.printMessage(this.id + ".dmaFormat(): invalid DMA acknowledgement"); return -1; }; @@ -2213,7 +2215,7 @@ FDC.prototype.doRead = function(drive) if (drive.disk) { if (DEBUG && this.messageEnabled()) { - this.printMessage("FDC.doRead(CHS=" + drive.bCylinder + ':' + drive.bHead + ':' + drive.bSector + ",PBA=" + (drive.bCylinder * (drive.disk.nHeads * drive.disk.nSectors) + drive.bHead * drive.disk.nSectors + drive.bSector-1) + ')'); + this.printMessage(this.id + ".doRead(CHS=" + drive.bCylinder + ':' + drive.bHead + ':' + drive.bSector + ",PBA=" + (drive.bCylinder * (drive.disk.nHeads * drive.disk.nSectors) + drive.bHead * drive.disk.nSectors + drive.bSector-1) + ')'); } drive.sector = null; drive.resCode = FDC.REG_DATA.RES.NONE; @@ -2236,7 +2238,7 @@ FDC.prototype.doWrite = function(drive) if (drive.disk) { if (DEBUG && this.messageEnabled()) { - this.printMessage("FDC.doWrite(CHS=" + drive.bCylinder + ':' + drive.bHead + ':' + drive.bSector + ",PBA=" + (drive.bCylinder * (drive.disk.nHeads * drive.disk.nSectors) + drive.bHead * drive.disk.nSectors + drive.bSector-1) + ')'); + this.printMessage(this.id + ".doWrite(CHS=" + drive.bCylinder + ':' + drive.bHead + ':' + drive.bSector + ",PBA=" + (drive.bCylinder * (drive.disk.nHeads * drive.disk.nSectors) + drive.bHead * drive.disk.nSectors + drive.bSector-1) + ')'); } if (drive.disk.fWriteProtected) { drive.resCode = FDC.REG_DATA.RES.NOT_WRITABLE | FDC.REG_DATA.RES.INCOMPLETE; @@ -2439,7 +2441,7 @@ FDC.prototype.writeFormat = function(drive, b) drive.nBytes = 128 << drive.abFormat[3];// N (0 => 128, 1 => 256, 2 => 512, 3 => 1024) drive.cbFormat = 0; if (DEBUG && this.messageEnabled()) { - this.printMessage("writeFormat(head=" + str.toHexByte(drive.bHead) + ",cyl=" + str.toHexByte(drive.bCylinder) + ",sec=" + str.toHexByte(drive.bSector) + ",len=" + str.toHexWord(drive.nBytes) + ")"); + this.printMessage(this.id + ".writeFormat(head=" + str.toHexByte(drive.bHead) + ",cyl=" + str.toHexByte(drive.bCylinder) + ",sec=" + str.toHexByte(drive.bSector) + ",len=" + str.toHexWord(drive.nBytes) + ")"); } for (var i = 0; i < drive.nBytes; i++) { if (this.writeData(drive, drive.bFiller) < 0) { diff --git a/modules/pcjs/lib/hdc.js b/modules/pcjs/lib/hdc.js index bf17f4e60..f7951d20d 100644 --- a/modules/pcjs/lib/hdc.js +++ b/modules/pcjs/lib/hdc.js @@ -1459,7 +1459,7 @@ HDC.prototype.inATCByte = function(port, addrFrom) */ hdc.regStatus = HDC.ATC.STATUS.ERROR; hdc.regError = HDC.ATC.ERROR.NO_CHS; - if (DEBUG) hdc.printMessage("HDC.inATCByte(): read failed"); + if (DEBUG) hdc.printMessage(this.id + ".inATCByte(): read failed"); } }, false); } else { @@ -1507,7 +1507,7 @@ HDC.prototype.outATCByte = function(port, bOut, addrFrom) this.regStatus = HDC.ATC.STATUS.ERROR; this.regError = HDC.ATC.ERROR.NO_CHS; if (DEBUG && this.messageEnabled()) { - this.printMessage("HDC.outATCByte(" + str.toHexByte(bOut) + "): write failed"); + this.printMessage(this.id + ".outATCByte(" + str.toHexByte(bOut) + "): write failed"); } } else if (this.drive.ibSector == 1 || this.drive.ibSector == this.drive.cbSector) { @@ -1539,7 +1539,7 @@ HDC.prototype.outATCByte = function(port, bOut, addrFrom) * TODO: What to do about unexpected writes? The number of bytes has exceeded what the command specified. */ if (DEBUG && this.messageEnabled()) { - this.printMessage("HDC.outATCByte(" + str.toHexByte(bOut) + "): write exceeds count (" + this.drive.nBytes + ")"); + this.printMessage(this.id + ".outATCByte(" + str.toHexByte(bOut) + "): write exceeds count (" + this.drive.nBytes + ")"); } } } else { @@ -1547,7 +1547,7 @@ HDC.prototype.outATCByte = function(port, bOut, addrFrom) * TODO: What to do about unexpected writes? No command was specified. */ if (DEBUG && this.messageEnabled()) { - this.printMessage("HDC.outATCByte(" + str.toHexByte(bOut) + "): write without command"); + this.printMessage(this.id + ".outATCByte(" + str.toHexByte(bOut) + "): write without command"); } } }; @@ -1890,7 +1890,7 @@ HDC.prototype.doATC = function() } if (DEBUG && this.messageEnabled(Messages.HDC)) { - this.printMessage("HDC.doATC(" + str.toHexByte(bCmd) + "): " + HDC.aATCCommands[bCmd], true); + this.printMessage(this.id + ".doATC(" + str.toHexByte(bCmd) + "): " + HDC.aATCCommands[bCmd], true); } switch (bCmd & HDC.ATC.COMMAND.MASK) { @@ -1904,7 +1904,7 @@ HDC.prototype.doATC = function() case HDC.ATC.COMMAND.READ_DATA: // 0x20 if (DEBUG && this.messageEnabled(Messages.HDC)) { - this.printMessage("HDC.doRead(" + iDrive + ',' + drive.wCylinder + ':' + drive.bHead + ':' + drive.bSector + ',' + nSectors + ")", true); + this.printMessage(this.id + ".doRead(" + iDrive + ',' + drive.wCylinder + ':' + drive.bHead + ':' + drive.bSector + ',' + nSectors + ")", true); } /* * We're using a call to readData() that disables auto-increment, so that once we've got the first @@ -1936,7 +1936,7 @@ HDC.prototype.doATC = function() case HDC.ATC.COMMAND.WRITE_DATA: // 0x30 if (DEBUG && this.messageEnabled(Messages.HDC)) { - this.printMessage("HDC.doWrite(" + iDrive + ',' + drive.wCylinder + ':' + drive.bHead + ':' + drive.bSector + ',' + nSectors + ")", true); + this.printMessage(this.id + ".doWrite(" + iDrive + ',' + drive.wCylinder + ':' + drive.bHead + ':' + drive.bSector + ',' + nSectors + ")", true); } this.regStatus = HDC.ATC.STATUS.DATA_REQ; break; @@ -1987,7 +1987,7 @@ HDC.prototype.doATC = function() default: if (DEBUG && this.messageEnabled()) { - this.printMessage("HDC.doATC(" + str.toHexByte(this.regCommand) + "): " + (bCmd < 0? ("invalid drive (" + iDrive + ")") : "unsupported operation")); + this.printMessage(this.id + ".doATC(" + str.toHexByte(this.regCommand) + "): " + (bCmd < 0? ("invalid drive (" + iDrive + ")") : "unsupported operation")); if (MAXDEBUG && bCmd >= 0) this.dbg.stopCPU(); } break; @@ -2031,9 +2031,9 @@ HDC.prototype.setATCIRR = function(fWrite) * has a low tolerance for fast controller interrupts during multi-sector operations. */ this.chipset.setIRR(ChipSet.IRQ.ATC, 120); - if (DEBUG) this.printMessage("HDC.setATCIRR(): enabled", Messages.PIC | Messages.HDC); + if (DEBUG) this.printMessage(this.id + ".setATCIRR(): enabled", Messages.PIC | Messages.HDC); } else { - if (DEBUG) this.printMessage("HDC.setATCIRR(): disabled", Messages.PIC | Messages.HDC); + if (DEBUG) this.printMessage(this.id + ".setATCIRR(): disabled", Messages.PIC | Messages.HDC); } } }; @@ -2115,7 +2115,7 @@ HDC.prototype.doXTC = function() bDataStatus = HDC.XTC.DATA.STATUS.OK; if (!drive && this.iDriveAllowFail == iDrive) { this.iDriveAllowFail = -1; - if (DEBUG) this.printMessage("HDC.doXTC(): fake failure triggered"); + if (DEBUG) this.printMessage(this.id + ".doXTC(): fake failure triggered"); bDataStatus = HDC.XTC.DATA.STATUS.ERROR; } this.beginResult(bDataStatus | bDrive); @@ -2152,7 +2152,7 @@ HDC.prototype.doXTC = function() case HDC.XTC.DATA.CMD.RECALIBRATE: // 0x01 drive.bControl = bControl; if (DEBUG && this.messageEnabled()) { - this.printMessage("HDC.doXTC(): drive " + iDrive + " control byte: " + str.toHexByte(bControl)); + this.printMessage(this.id + ".doXTC(): drive " + iDrive + " control byte: " + str.toHexByte(bControl)); } this.beginResult(HDC.XTC.DATA.STATUS.OK | bDrive); break; @@ -2190,7 +2190,7 @@ HDC.prototype.doXTC = function() default: this.beginResult(HDC.XTC.DATA.STATUS.ERROR | bDrive); if (DEBUG && this.messageEnabled()) { - this.printMessage("HDC.doXTC(" + str.toHexByte(bCmdOrig) + "): " + (bCmd < 0? ("invalid drive (" + iDrive + ")") : "unsupported operation")); + this.printMessage(this.id + ".doXTC(" + str.toHexByte(bCmdOrig) + "): " + (bCmd < 0? ("invalid drive (" + iDrive + ")") : "unsupported operation")); if (MAXDEBUG && bCmd >= 0) this.dbg.stopCPU(); } break; @@ -2211,7 +2211,7 @@ HDC.prototype.popCmd = function() if (bCmdIndex < this.regDataTotal) { bCmd = this.regDataArray[this.regDataIndex++]; if (DEBUG && this.messageEnabled((bCmdIndex > 0? Messages.PORT : 0) | Messages.HDC)) { - this.printMessage("HDC.CMD[" + bCmdIndex + "]: " + str.toHexByte(bCmd) + (!bCmdIndex && HDC.aXTCCommands[bCmd]? (" (" + HDC.aXTCCommands[bCmd] + ")") : ""), true); + this.printMessage(this.id + ".popCmd(" + bCmdIndex + "): " + str.toHexByte(bCmd) + (!bCmdIndex && HDC.aXTCCommands[bCmd]? (" (" + HDC.aXTCCommands[bCmd] + ")") : ""), true); } } return bCmd; @@ -2229,7 +2229,7 @@ HDC.prototype.beginResult = function(bResult) if (bResult !== undefined) { if (DEBUG && this.messageEnabled()) { - this.printMessage("HDC.beginResult(" + str.toHexByte(bResult) + ")"); + this.printMessage(this.id + ".beginResult(" + str.toHexByte(bResult) + ")"); } this.pushResult(bResult); } @@ -2251,7 +2251,7 @@ HDC.prototype.beginResult = function(bResult) HDC.prototype.pushResult = function(bResult) { if (DEBUG && this.messageEnabled((this.regDataTotal > 0? Messages.PORT : 0) | Messages.HDC)) { - this.printMessage("HDC.RES[" + this.regDataTotal + "]: " + str.toHexByte(bResult), true); + this.printMessage(this.id + ".pushResult(" + this.regDataTotal + "): " + str.toHexByte(bResult), true); } this.regDataArray[this.regDataTotal++] = bResult; }; @@ -2273,7 +2273,7 @@ HDC.prototype.dmaRead = function(drive, b, done) /* * The DMA controller should be ASKING for data, not GIVING us data; this suggests an internal DMA miscommunication */ - if (DEBUG) this.printMessage("dmaRead(): invalid DMA acknowledgement"); + if (DEBUG) this.printMessage(this.id + ".dmaRead(): invalid DMA acknowledgement"); done(-1, false); }; @@ -2292,7 +2292,7 @@ HDC.prototype.dmaWrite = function(drive, b) /* * The DMA controller should be GIVING us data, not ASKING for data; this suggests an internal DMA miscommunication */ - if (DEBUG) this.printMessage("dmaWrite(): invalid DMA acknowledgement"); + if (DEBUG) this.printMessage(this.id + ".dmaWrite(): invalid DMA acknowledgement"); return -1; }; @@ -2311,7 +2311,7 @@ HDC.prototype.dmaWriteBuffer = function(drive, b) /* * The DMA controller should be GIVING us data, not ASKING for data; this suggests an internal DMA miscommunication */ - if (DEBUG) this.printMessage("dmaWriteBuffer(): invalid DMA acknowledgement"); + if (DEBUG) this.printMessage(this.id + ".dmaWriteBuffer(): invalid DMA acknowledgement"); return -1; }; @@ -2330,7 +2330,7 @@ HDC.prototype.dmaWriteFormat = function(drive, b) /* * The DMA controller should be GIVING us data, not ASKING for data; this suggests an internal DMA miscommunication */ - if (DEBUG) this.printMessage("dmaWriteFormat(): invalid DMA acknowledgement"); + if (DEBUG) this.printMessage(this.id + ".dmaWriteFormat(): invalid DMA acknowledgement"); return -1; }; @@ -2346,7 +2346,7 @@ HDC.prototype.doDMARead = function(drive, done) drive.errorCode = HDC.XTC.DATA.ERR.NOT_READY; if (DEBUG && this.messageEnabled()) { - this.printMessage("HDC.doDMARead(" + drive.iDrive + ',' + drive.wCylinder + ':' + drive.bHead + ':' + drive.bSector + ',' + ((drive.nBytes / drive.cbSector)|0) + ")"); + this.printMessage(this.id + ".doDMARead(" + drive.iDrive + ',' + drive.wCylinder + ':' + drive.bHead + ':' + drive.bSector + ',' + ((drive.nBytes / drive.cbSector)|0) + ")"); } if (drive.disk) { @@ -2390,7 +2390,7 @@ HDC.prototype.doDMAWrite = function(drive, done) drive.errorCode = HDC.XTC.DATA.ERR.NOT_READY; if (DEBUG && this.messageEnabled()) { - this.printMessage("HDC.doDMAWrite(" + drive.iDrive + ',' + drive.wCylinder + ':' + drive.bHead + ':' + drive.bSector + ',' + ((drive.nBytes / drive.cbSector)|0) + ")"); + this.printMessage(this.id + ".doDMAWrite(" + drive.iDrive + ',' + drive.wCylinder + ':' + drive.bHead + ':' + drive.bSector + ',' + ((drive.nBytes / drive.cbSector)|0) + ")"); } if (drive.disk) { @@ -2440,7 +2440,7 @@ HDC.prototype.doDMAWriteBuffer = function(drive, done) { drive.errorCode = HDC.XTC.DATA.ERR.NOT_READY; - if (DEBUG) this.printMessage("HDC.doDMAWriteBuffer()"); + if (DEBUG) this.printMessage(this.id + ".doDMAWriteBuffer()"); if (!drive.abSector || drive.abSector.length != drive.nBytes) { drive.abSector = new Array(drive.nBytes); @@ -2743,7 +2743,7 @@ HDC.prototype.writeFormat = function(drive, b) drive.cbFormat = 0; if (DEBUG && this.messageEnabled()) { - this.printMessage("HDC.writeFormat(" + drive.wCylinder + ":" + drive.bHead + ":" + drive.bSector + ":" + drive.nBytes + ")"); + this.printMessage(this.id + ".writeFormat(" + drive.wCylinder + ":" + drive.bHead + ":" + drive.bSector + ":" + drive.nBytes + ")"); } for (var i = 0; i < drive.nBytes; i++) { @@ -2828,7 +2828,7 @@ HDC.prototype.intBIOSDiskette = function(addr) { var AH = this.cpu.regEAX >> 8; if ((!AH && this.chipset && this.chipset.checkIMR(ChipSet.IRQ.FDC))) { - if (DEBUG) this.printMessage("HDC.intBIOSDiskette(): skipping useless INT 0x40 diskette reset"); + if (DEBUG) this.printMessage(this.id + ".intBIOSDiskette(): skipping useless INT 0x40 diskette reset"); return false; } return true; diff --git a/modules/pcjs/lib/x86.js b/modules/pcjs/lib/x86.js index 6442fa7cc..776512343 100644 --- a/modules/pcjs/lib/x86.js +++ b/modules/pcjs/lib/x86.js @@ -758,7 +758,7 @@ var X86 = { /* * BACKTRACK-related definitions (used only if BACKTRACK is defined) */ -X86.BACKTRACK = { +X86.BTINFO = { SP_LO: 0, SP_HI: 0 }; diff --git a/modules/pcjs/lib/x86modw.js b/modules/pcjs/lib/x86modw.js index 5928fd38e..9e09e66d1 100644 --- a/modules/pcjs/lib/x86modw.js +++ b/modules/pcjs/lib/x86modw.js @@ -2517,7 +2517,7 @@ X86ModW.aOpModReg = [ function opModRegWordC4(fn) { this.regEAX = fn.call(this, this.regEAX, this.getSP()); if (BACKTRACK) { - this.backTrack.btiAL = X86.BACKTRACK.SP_LO; this.backTrack.btiAH = X86.BACKTRACK.SP_HI; + this.backTrack.btiAL = X86.BTINFO.SP_LO; this.backTrack.btiAH = X86.BTINFO.SP_HI; } }, /** @@ -2610,7 +2610,7 @@ X86ModW.aOpModReg = [ function opModRegWordCC(fn) { this.regECX = fn.call(this, this.regECX, this.getSP()); if (BACKTRACK) { - this.backTrack.btiCL = X86.BACKTRACK.SP_LO; this.backTrack.btiCH = X86.BACKTRACK.SP_HI; + this.backTrack.btiCL = X86.BTINFO.SP_LO; this.backTrack.btiCH = X86.BTINFO.SP_HI; } }, /** @@ -2703,7 +2703,7 @@ X86ModW.aOpModReg = [ function opModRegWordD4(fn) { this.regEDX = fn.call(this, this.regEDX, this.getSP()); if (BACKTRACK) { - this.backTrack.btiDL = X86.BACKTRACK.SP_LO; this.backTrack.btiDH = X86.BACKTRACK.SP_HI; + this.backTrack.btiDL = X86.BTINFO.SP_LO; this.backTrack.btiDH = X86.BTINFO.SP_HI; } }, /** @@ -2796,7 +2796,7 @@ X86ModW.aOpModReg = [ function opModRegWordDC(fn) { this.regEBX = fn.call(this, this.regEBX, this.getSP()); if (BACKTRACK) { - this.backTrack.btiBL = X86.BACKTRACK.SP_LO; this.backTrack.btiBH = X86.BACKTRACK.SP_HI; + this.backTrack.btiBL = X86.BTINFO.SP_LO; this.backTrack.btiBH = X86.BTINFO.SP_HI; } }, /** @@ -2964,7 +2964,7 @@ X86ModW.aOpModReg = [ function opModRegWordEC(fn) { this.regEBP = fn.call(this, this.regEBP, this.getSP()); if (BACKTRACK) { - this.backTrack.btiBPLo = X86.BACKTRACK.SP_LO; this.backTrack.btiBPHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiBPLo = X86.BTINFO.SP_LO; this.backTrack.btiBPHi = X86.BTINFO.SP_HI; } }, /** @@ -3057,7 +3057,7 @@ X86ModW.aOpModReg = [ function opModRegWordF4(fn) { this.regESI = fn.call(this, this.regESI, this.getSP()); if (BACKTRACK) { - this.backTrack.btiSILo = X86.BACKTRACK.SP_LO; this.backTrack.btiSIHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiSILo = X86.BTINFO.SP_LO; this.backTrack.btiSIHi = X86.BTINFO.SP_HI; } }, /** @@ -3150,7 +3150,7 @@ X86ModW.aOpModReg = [ function opModRegWordFC(fn) { this.regEDI = fn.call(this, this.regEDI, this.getSP()); if (BACKTRACK) { - this.backTrack.btiDILo = X86.BACKTRACK.SP_LO; this.backTrack.btiDIHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiDILo = X86.BTINFO.SP_LO; this.backTrack.btiDIHi = X86.BTINFO.SP_HI; } }, /** @@ -3646,7 +3646,7 @@ X86ModW.aOpModMem = [ function opModMemWord20(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.regESI), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndex; @@ -3660,7 +3660,7 @@ X86ModW.aOpModMem = [ function opModMemWord21(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.regEDI), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexExtra; @@ -3674,7 +3674,7 @@ X86ModW.aOpModMem = [ function opModMemWord22(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regESI), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexExtra; @@ -3688,7 +3688,7 @@ X86ModW.aOpModMem = [ function opModMemWord23(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regEDI), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndex; @@ -3702,7 +3702,7 @@ X86ModW.aOpModMem = [ function opModMemWord24(fn) { var w = fn.call(this, this.modEAWordData(this.regESI), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBase; @@ -3716,7 +3716,7 @@ X86ModW.aOpModMem = [ function opModMemWord25(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBase; @@ -3730,7 +3730,7 @@ X86ModW.aOpModMem = [ function opModMemWord26(fn) { var w = fn.call(this, this.modEAWordData(this.getIPAddr()), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesDisp; @@ -3744,7 +3744,7 @@ X86ModW.aOpModMem = [ function opModMemWord27(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBase; @@ -4542,7 +4542,7 @@ X86ModW.aOpModMem = [ function opModMemWord60(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.regESI + this.getIPDisp()), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDisp; @@ -4556,7 +4556,7 @@ X86ModW.aOpModMem = [ function opModMemWord61(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.regEDI + this.getIPDisp()), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDispExtra; @@ -4570,7 +4570,7 @@ X86ModW.aOpModMem = [ function opModMemWord62(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regESI + this.getIPDisp()), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDispExtra; @@ -4584,7 +4584,7 @@ X86ModW.aOpModMem = [ function opModMemWord63(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regEDI + this.getIPDisp()), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDisp; @@ -4598,7 +4598,7 @@ X86ModW.aOpModMem = [ function opModMemWord64(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPDisp()), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp; @@ -4612,7 +4612,7 @@ X86ModW.aOpModMem = [ function opModMemWord65(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPDisp()), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp; @@ -4626,7 +4626,7 @@ X86ModW.aOpModMem = [ function opModMemWord66(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPDisp()), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp; @@ -4640,7 +4640,7 @@ X86ModW.aOpModMem = [ function opModMemWord67(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPDisp()), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp; @@ -5438,7 +5438,7 @@ X86ModW.aOpModMem = [ function opModMemWordA0(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.regESI + this.getIPAddr()), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDisp; @@ -5452,7 +5452,7 @@ X86ModW.aOpModMem = [ function opModMemWordA1(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.regEDI + this.getIPAddr()), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDispExtra; @@ -5466,7 +5466,7 @@ X86ModW.aOpModMem = [ function opModMemWordA2(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regESI + this.getIPAddr()), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDispExtra; @@ -5480,7 +5480,7 @@ X86ModW.aOpModMem = [ function opModMemWordA3(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regEDI + this.getIPAddr()), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDisp; @@ -5494,7 +5494,7 @@ X86ModW.aOpModMem = [ function opModMemWordA4(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPAddr()), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp; @@ -5508,7 +5508,7 @@ X86ModW.aOpModMem = [ function opModMemWordA5(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPAddr()), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp; @@ -5522,7 +5522,7 @@ X86ModW.aOpModMem = [ function opModMemWordA6(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPAddr()), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp; @@ -5536,7 +5536,7 @@ X86ModW.aOpModMem = [ function opModMemWordA7(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPAddr()), this.getSP()); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp; diff --git a/modules/pcjs/lib/x86modw16.js b/modules/pcjs/lib/x86modw16.js index 9c01a53c4..ce6cf0330 100644 --- a/modules/pcjs/lib/x86modw16.js +++ b/modules/pcjs/lib/x86modw16.js @@ -2714,7 +2714,7 @@ X86ModW16.aOpModReg = [ var w = fn.call(this, this.regEAX & this.maskData, this.getSP() & this.maskData); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { - this.backTrack.btiAL = X86.BACKTRACK.SP_LO; this.backTrack.btiAH = X86.BACKTRACK.SP_HI; + this.backTrack.btiAL = X86.BTINFO.SP_LO; this.backTrack.btiAH = X86.BTINFO.SP_HI; } }, /** @@ -2815,7 +2815,7 @@ X86ModW16.aOpModReg = [ var w = fn.call(this, this.regECX & this.maskData, this.getSP() & this.maskData); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { - this.backTrack.btiCL = X86.BACKTRACK.SP_LO; this.backTrack.btiCH = X86.BACKTRACK.SP_HI; + this.backTrack.btiCL = X86.BTINFO.SP_LO; this.backTrack.btiCH = X86.BTINFO.SP_HI; } }, /** @@ -2916,7 +2916,7 @@ X86ModW16.aOpModReg = [ var w = fn.call(this, this.regEDX & this.maskData, this.getSP() & this.maskData); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { - this.backTrack.btiDL = X86.BACKTRACK.SP_LO; this.backTrack.btiDH = X86.BACKTRACK.SP_HI; + this.backTrack.btiDL = X86.BTINFO.SP_LO; this.backTrack.btiDH = X86.BTINFO.SP_HI; } }, /** @@ -3017,7 +3017,7 @@ X86ModW16.aOpModReg = [ var w = fn.call(this, this.regEBX & this.maskData, this.getSP() & this.maskData); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { - this.backTrack.btiBL = X86.BACKTRACK.SP_LO; this.backTrack.btiBH = X86.BACKTRACK.SP_HI; + this.backTrack.btiBL = X86.BTINFO.SP_LO; this.backTrack.btiBH = X86.BTINFO.SP_HI; } }, /** @@ -3201,7 +3201,7 @@ X86ModW16.aOpModReg = [ var w = fn.call(this, this.regEBP & this.maskData, this.getSP() & this.maskData); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { - this.backTrack.btiBPLo = X86.BACKTRACK.SP_LO; this.backTrack.btiBPHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiBPLo = X86.BTINFO.SP_LO; this.backTrack.btiBPHi = X86.BTINFO.SP_HI; } }, /** @@ -3302,7 +3302,7 @@ X86ModW16.aOpModReg = [ var w = fn.call(this, this.regESI & this.maskData, this.getSP() & this.maskData); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { - this.backTrack.btiSILo = X86.BACKTRACK.SP_LO; this.backTrack.btiSIHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiSILo = X86.BTINFO.SP_LO; this.backTrack.btiSIHi = X86.BTINFO.SP_HI; } }, /** @@ -3403,7 +3403,7 @@ X86ModW16.aOpModReg = [ var w = fn.call(this, this.regEDI & this.maskData, this.getSP() & this.maskData); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { - this.backTrack.btiDILo = X86.BACKTRACK.SP_LO; this.backTrack.btiDIHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiDILo = X86.BTINFO.SP_LO; this.backTrack.btiDIHi = X86.BTINFO.SP_HI; } }, /** @@ -3902,7 +3902,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWord20(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.regESI), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndex; @@ -3916,7 +3916,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWord21(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.regEDI), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexExtra; @@ -3930,7 +3930,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWord22(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regESI), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexExtra; @@ -3944,7 +3944,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWord23(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regEDI), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndex; @@ -3958,7 +3958,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWord24(fn) { var w = fn.call(this, this.modEAWordData(this.regESI), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBase; @@ -3972,7 +3972,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWord25(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBase; @@ -3986,7 +3986,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWord26(fn) { var w = fn.call(this, this.modEAWordData(this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesDisp; @@ -4000,7 +4000,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWord27(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBase; @@ -4798,7 +4798,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWord60(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.regESI + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDisp; @@ -4812,7 +4812,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWord61(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.regEDI + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDispExtra; @@ -4826,7 +4826,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWord62(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regESI + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDispExtra; @@ -4840,7 +4840,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWord63(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regEDI + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDisp; @@ -4854,7 +4854,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWord64(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp; @@ -4868,7 +4868,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWord65(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp; @@ -4882,7 +4882,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWord66(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp; @@ -4896,7 +4896,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWord67(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp; @@ -5694,7 +5694,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWordA0(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.regESI + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDisp; @@ -5708,7 +5708,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWordA1(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.regEDI + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDispExtra; @@ -5722,7 +5722,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWordA2(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regESI + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDispExtra; @@ -5736,7 +5736,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWordA3(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.regEDI + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseIndexDisp; @@ -5750,7 +5750,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWordA4(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp; @@ -5764,7 +5764,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWordA5(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp; @@ -5778,7 +5778,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWordA6(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp; @@ -5792,7 +5792,7 @@ X86ModW16.aOpModMem = [ function opMod16MemWordA7(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); this.nStepCycles -= this.cycleCounts.nEACyclesBaseDisp; diff --git a/modules/pcjs/lib/x86modw32.js b/modules/pcjs/lib/x86modw32.js index c3e32fd23..7e69b3748 100644 --- a/modules/pcjs/lib/x86modw32.js +++ b/modules/pcjs/lib/x86modw32.js @@ -2522,7 +2522,7 @@ X86ModW32.aOpModReg = [ var w = fn.call(this, this.regEAX & this.maskData, this.getSP() & this.maskData); this.regEAX = (this.regEAX & ~this.maskData) | w; if (BACKTRACK) { - this.backTrack.btiAL = X86.BACKTRACK.SP_LO; this.backTrack.btiAH = X86.BACKTRACK.SP_HI; + this.backTrack.btiAL = X86.BTINFO.SP_LO; this.backTrack.btiAH = X86.BTINFO.SP_HI; } }, /** @@ -2623,7 +2623,7 @@ X86ModW32.aOpModReg = [ var w = fn.call(this, this.regECX & this.maskData, this.getSP() & this.maskData); this.regECX = (this.regECX & ~this.maskData) | w; if (BACKTRACK) { - this.backTrack.btiCL = X86.BACKTRACK.SP_LO; this.backTrack.btiCH = X86.BACKTRACK.SP_HI; + this.backTrack.btiCL = X86.BTINFO.SP_LO; this.backTrack.btiCH = X86.BTINFO.SP_HI; } }, /** @@ -2724,7 +2724,7 @@ X86ModW32.aOpModReg = [ var w = fn.call(this, this.regEDX & this.maskData, this.getSP() & this.maskData); this.regEDX = (this.regEDX & ~this.maskData) | w; if (BACKTRACK) { - this.backTrack.btiDL = X86.BACKTRACK.SP_LO; this.backTrack.btiDH = X86.BACKTRACK.SP_HI; + this.backTrack.btiDL = X86.BTINFO.SP_LO; this.backTrack.btiDH = X86.BTINFO.SP_HI; } }, /** @@ -2825,7 +2825,7 @@ X86ModW32.aOpModReg = [ var w = fn.call(this, this.regEBX & this.maskData, this.getSP() & this.maskData); this.regEBX = (this.regEBX & ~this.maskData) | w; if (BACKTRACK) { - this.backTrack.btiBL = X86.BACKTRACK.SP_LO; this.backTrack.btiBH = X86.BACKTRACK.SP_HI; + this.backTrack.btiBL = X86.BTINFO.SP_LO; this.backTrack.btiBH = X86.BTINFO.SP_HI; } }, /** @@ -3009,7 +3009,7 @@ X86ModW32.aOpModReg = [ var w = fn.call(this, this.regEBP & this.maskData, this.getSP() & this.maskData); this.regEBP = (this.regEBP & ~this.maskData) | w; if (BACKTRACK) { - this.backTrack.btiBPLo = X86.BACKTRACK.SP_LO; this.backTrack.btiBPHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiBPLo = X86.BTINFO.SP_LO; this.backTrack.btiBPHi = X86.BTINFO.SP_HI; } }, /** @@ -3110,7 +3110,7 @@ X86ModW32.aOpModReg = [ var w = fn.call(this, this.regESI & this.maskData, this.getSP() & this.maskData); this.regESI = (this.regESI & ~this.maskData) | w; if (BACKTRACK) { - this.backTrack.btiSILo = X86.BACKTRACK.SP_LO; this.backTrack.btiSIHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiSILo = X86.BTINFO.SP_LO; this.backTrack.btiSIHi = X86.BTINFO.SP_HI; } }, /** @@ -3211,7 +3211,7 @@ X86ModW32.aOpModReg = [ var w = fn.call(this, this.regEDI & this.maskData, this.getSP() & this.maskData); this.regEDI = (this.regEDI & ~this.maskData) | w; if (BACKTRACK) { - this.backTrack.btiDILo = X86.BACKTRACK.SP_LO; this.backTrack.btiDIHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiDILo = X86.BTINFO.SP_LO; this.backTrack.btiDIHi = X86.BTINFO.SP_HI; } }, /** @@ -3678,7 +3678,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWord20(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -3691,7 +3691,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWord21(fn) { var w = fn.call(this, this.modEAWordData(this.regECX), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -3704,7 +3704,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWord22(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -3717,7 +3717,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWord23(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -3730,7 +3730,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWord24(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(0)), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -3743,7 +3743,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWord25(fn) { var w = fn.call(this, this.modEAWordData(this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -3756,7 +3756,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWord26(fn) { var w = fn.call(this, this.modEAWordData(this.regESI), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -3769,7 +3769,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWord27(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -4510,7 +4510,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWord60(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -4523,7 +4523,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWord61(fn) { var w = fn.call(this, this.modEAWordData(this.regECX + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -4536,7 +4536,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWord62(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -4549,7 +4549,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWord63(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -4562,7 +4562,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWord64(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(1) + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -4575,7 +4575,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWord65(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -4588,7 +4588,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWord66(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -4601,7 +4601,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWord67(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPDisp()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -5342,7 +5342,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWordA0(fn) { var w = fn.call(this, this.modEAWordData(this.regEAX + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -5355,7 +5355,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWordA1(fn) { var w = fn.call(this, this.modEAWordData(this.regECX + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -5368,7 +5368,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWordA2(fn) { var w = fn.call(this, this.modEAWordData(this.regEDX + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -5381,7 +5381,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWordA3(fn) { var w = fn.call(this, this.modEAWordData(this.regEBX + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -5394,7 +5394,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWordA4(fn) { var w = fn.call(this, this.modEAWordData(this.getSIBAddr(2) + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -5407,7 +5407,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWordA5(fn) { var w = fn.call(this, this.modEAWordStack(this.regEBP + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -5420,7 +5420,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWordA6(fn) { var w = fn.call(this, this.modEAWordData(this.regESI + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); }, @@ -5433,7 +5433,7 @@ X86ModW32.aOpModMem = [ function opMod32MemWordA7(fn) { var w = fn.call(this, this.modEAWordData(this.regEDI + this.getIPAddr()), this.getSP() & this.maskData); if (BACKTRACK) { - this.backTrack.btiEALo = X86.BACKTRACK.SP_LO; this.backTrack.btiEAHi = X86.BACKTRACK.SP_HI; + this.backTrack.btiEALo = X86.BTINFO.SP_LO; this.backTrack.btiEAHi = X86.BTINFO.SP_HI; } this.setEAWord(w); },