diff --git a/modules/pcx86/lib/debugger.js b/modules/pcx86/lib/debugger.js index db5f28480..7f907788a 100644 --- a/modules/pcx86/lib/debugger.js +++ b/modules/pcx86/lib/debugger.js @@ -1719,21 +1719,21 @@ if (DEBUGGER) { case Interrupts.WINDBG.KRNLVARS: // 0x005A /* - * BX = version number of this data (0x3A0) - * DX:CX points to: - * WORD hGlobalHeap **** - * WORD pGlobalHeap **** - * WORD hExeHead **** - * WORD hExeSweep - * WORD topPDB - * WORD headPDB - * WORD topsizePDB - * WORD headTDB **** - * WORD curTDB **** - * WORD loadTDB - * WORD LockTDB - * WORD SelTableLen **** - * DWORD SelTableStart **** + * BX = version number of this data (0x3A0) + * DX:CX points to: + * WORD hGlobalHeap **** + * WORD pGlobalHeap **** + * WORD hExeHead **** + * WORD hExeSweep + * WORD topPDB + * WORD headPDB + * WORD topsizePDB + * WORD headTDB **** + * WORD curTDB **** + * WORD loadTDB + * WORD LockTDB + * WORD SelTableLen **** + * DWORD SelTableStart **** */ break; @@ -1955,7 +1955,7 @@ if (DEBUGGER) { /* * AL == segment type: * 0x80 device driver code seg - * 0x81 device driver data seg + * 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); diff --git a/modules/pcx86/lib/video.js b/modules/pcx86/lib/video.js index e30da5fa1..a55cabb99 100644 --- a/modules/pcx86/lib/video.js +++ b/modules/pcx86/lib/video.js @@ -497,16 +497,16 @@ Video.TRAPALL = true; // monitor all I/O by default (not just deltas) * * Also, for quick reference, IBM VGA register values for the standard VGA modes (from http://www.pcjs.org/blog/2015/06/01/): * - * INT 0x10 Mode Requested: 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x0D 0x0E 0x10 0x12 0x13 + * INT 0x10 Mode Requested: 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x0D 0x0E 0x10 0x12 0x13 * * BIOSMODE: 0x01 0x01 0x03 0x03 0x04 0x04 0x06 0x0D 0x0E 0x10 0x12 0x13 - * CRTC[0x00]: HTOTAL 0x2D 0x2D 0x5F 0x5F 0x2D 0x2D 0x5F 0x2D 0x5F 0x5F 0x5F 0x5F - * CRTC[0x01]: HDISP_END 0x27 0x27 0x4F 0x4F 0x27 0x27 0x4F 0x27 0x4F 0x4F 0x4F 0x4F - * CRTC[0x02]: HBLANK_START 0x28 0x28 0x50 0x50 0x28 0x28 0x50 0x28 0x50 0x50 0x50 0x50 - * CRTC[0x03]: HBLANK_END 0x90 0x90 0x82 0x82 0x90 0x90 0x82 0x90 0x82 0x82 0x82 0x82 - * CRTC[0x04]: HRETRACE_START 0x2B 0x2B 0x55 0x55 0x2B 0x2B 0x54 0x2B 0x54 0x54 0x54 0x54 - * CRTC[0x05]: HRETRACE_END 0xA0 0xA0 0x81 0x81 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 - * CRTC[0x06]: VTOTAL 0xBF 0xBF 0xBF 0xBF 0xBF 0xBF 0xBF 0xBF 0xBF 0xBF 0x0B 0xBF + * CRTC[0x00]: HTOTAL 0x2D 0x2D 0x5F 0x5F 0x2D 0x2D 0x5F 0x2D 0x5F 0x5F 0x5F 0x5F + * CRTC[0x01]: HDISP_END 0x27 0x27 0x4F 0x4F 0x27 0x27 0x4F 0x27 0x4F 0x4F 0x4F 0x4F + * CRTC[0x02]: HBLANK_START 0x28 0x28 0x50 0x50 0x28 0x28 0x50 0x28 0x50 0x50 0x50 0x50 + * CRTC[0x03]: HBLANK_END 0x90 0x90 0x82 0x82 0x90 0x90 0x82 0x90 0x82 0x82 0x82 0x82 + * CRTC[0x04]: HRETRACE_START 0x2B 0x2B 0x55 0x55 0x2B 0x2B 0x54 0x2B 0x54 0x54 0x54 0x54 + * CRTC[0x05]: HRETRACE_END 0xA0 0xA0 0x81 0x81 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 + * CRTC[0x06]: VTOTAL 0xBF 0xBF 0xBF 0xBF 0xBF 0xBF 0xBF 0xBF 0xBF 0xBF 0x0B 0xBF * CRTC[0x07]: OVERFLOW 0x1F 0x1F 0x1F 0x1F 0x1F 0x1F 0x1F 0x1F 0x1F 0x1F 0x3E 0x1F * CRTC[0x08]: PRESET_ROW 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 * CRTC[0x09]: MAX_SCAN 0x4F 0x4F 0x4F 0x4F 0xC1 0xC1 0xC1 0xC0 0xC0 0x40 0x40 0x41 @@ -516,13 +516,13 @@ Video.TRAPALL = true; // monitor all I/O by default (not just deltas) * CRTC[0x0D]: START_ADDR_LO 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 * CRTC[0x0E]: CURSOR_ADDR_HI 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x00 * CRTC[0x0F]: CURSOR_ADDR_LO 0x19 0x19 0x41 0x41 0x19 0x19 0x41 0x19 0x41 0x41 0xE1 0xA2 - * CRTC[0x10]: VRETRACE_START 0x9C 0x9C 0x9C 0x9C 0x9C 0x9C 0x9C 0x9C 0x9C 0x83 0xEA 0x9C - * CRTC[0x11]: VRETRACE_END 0x8E 0x8E 0x8E 0x8E 0x8E 0x8E 0x8E 0x8E 0x8E 0x85 0x8C 0x8E - * CRTC[0x12]: VDISP_END 0x8F 0x8F 0x8F 0x8F 0x8F 0x8F 0x8F 0x8F 0x8F 0x5D 0xDF 0x8F + * CRTC[0x10]: VRETRACE_START 0x9C 0x9C 0x9C 0x9C 0x9C 0x9C 0x9C 0x9C 0x9C 0x83 0xEA 0x9C + * CRTC[0x11]: VRETRACE_END 0x8E 0x8E 0x8E 0x8E 0x8E 0x8E 0x8E 0x8E 0x8E 0x85 0x8C 0x8E + * CRTC[0x12]: VDISP_END 0x8F 0x8F 0x8F 0x8F 0x8F 0x8F 0x8F 0x8F 0x8F 0x5D 0xDF 0x8F * CRTC[0x13]: OFFSET 0x14 0x14 0x28 0x28 0x14 0x14 0x28 0x14 0x28 0x28 0x28 0x28 * CRTC[0x14]: UNDERLINE 0x1F 0x1F 0x1F 0x1F 0x00 0x00 0x00 0x00 0x00 0x0F 0x00 0x40 - * CRTC[0x15]: VBLANK_START 0x96 0x96 0x96 0x96 0x96 0x96 0x96 0x96 0x96 0x63 0xE7 0x96 - * CRTC[0x16]: VBLANK_END 0xB9 0xB9 0xB9 0xB9 0xB9 0xB9 0xB9 0xB9 0xB9 0xBA 0x04 0xB9 + * CRTC[0x15]: VBLANK_START 0x96 0x96 0x96 0x96 0x96 0x96 0x96 0x96 0x96 0x63 0xE7 0x96 + * CRTC[0x16]: VBLANK_END 0xB9 0xB9 0xB9 0xB9 0xB9 0xB9 0xB9 0xB9 0xB9 0xBA 0x04 0xB9 * CRTC[0x17]: MODE_CTRL 0xA3 0xA3 0xA3 0xA3 0xA2 0xA2 0xC2 0xE3 0xE3 0xE3 0xE3 0xA3 * CRTC[0x18]: LINE_COMPARE 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF * GRC[0x00]: SRESET 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 @@ -558,7 +558,7 @@ Video.TRAPALL = true; // monitor all I/O by default (not just deltas) * ATC[0x10]: MODE 0x0C 0x0C 0x0C 0x0C 0x01 0x01 0x01 0x01 0x01 0x01 0x01 0x41 * ATC[0x11]: OVERSCAN 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 * ATC[0x12]: PLANES 0x0F 0x0F 0x0F 0x0F 0x03 0x03 0x01 0x0F 0x0F 0x0F 0x0F 0x0F - * ATC[0x13]: HPAN 0x08 0x08 0x08 0x08 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 + * ATC[0x13]: HPAN 0x08 0x08 0x08 0x08 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 * * TODO: Build a similar table for the IBM EGA, and then work on rationalizing the mode detection logic in checkMode(). */ @@ -6305,22 +6305,22 @@ Video.prototype.inStatus0 = function(port, addrFrom) * thing again with 5 more arrays, expecting the 4th byte in all 5 arrays to match SWSENSE, and being * very unhappy if they don't: * - * db 0x14,0x14,0x14,0x10 - * db 0x2D,0x14,0x14,0x00 - * db 0x14,0x2D,0x14,0x00 - * db 0x14,0x14,0x2D,0x00 - * db 0x2D,0x2D,0x2D,0x00 + * db 0x14,0x14,0x14,0x10 + * db 0x2D,0x14,0x14,0x00 + * db 0x14,0x2D,0x14,0x00 + * db 0x14,0x14,0x2D,0x00 + * db 0x2D,0x2D,0x2D,0x00 * * I ensure much happiness by setting SWSENSE unless any of the three 6-bit DAC values contain 0x2D. * * This hard-coded behavior assumes a color monitor. If you really want to simulate a monochrome monitor, * then the 1st array (above) must mismatch, and a different set of arrays must all match: * - * db 0x04,0x12,0x04,0x10 - * db 0x1E,0x12,0x04,0x00 - * db 0x04,0x2D,0x04,0x00 - * db 0x04,0x16,0x15,0x00 - * db 0x00,0x00,0x00,0x10 + * db 0x04,0x12,0x04,0x10 + * db 0x1E,0x12,0x04,0x00 + * db 0x04,0x2D,0x04,0x00 + * db 0x04,0x16,0x15,0x00 + * db 0x00,0x00,0x00,0x10 * * In other words, for a monochrome monitor, set SWSENSE only when DAC register #0 matches the first and last * sets of values.