From 187318cebb7d8fd9fe4dd4c0be1feb29ef5f894f Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Tue, 30 Dec 2014 17:32:18 -0800 Subject: [PATCH] More BACKTRACK tweaks (no effect on compiled releases) --- modules/htmlout/lib/htmlout.js | 7 +- modules/pcjs/lib/bus.js | 118 +++++++++++++----- modules/pcjs/lib/chipset.js | 2 +- modules/pcjs/lib/cpu.js | 2 +- modules/pcjs/lib/disk.js | 5 +- pubs/pc/magazines/byte/BYTE-1975-11/README.md | 4 +- pubs/pc/magazines/msj/MSJ-1986-10/README.md | 4 +- pubs/pc/magazines/msj/MSJ-1987-05/README.md | 4 +- pubs/pc/magazines/pctj/PCTJ-1986-10/README.md | 4 +- pubs/pc/magazines/pctj/PCTJ-1986-11/README.md | 4 +- pubs/pc/magazines/pctj/PCTJ-1986-12/README.md | 4 +- pubs/pc/magazines/pctj/PCTJ-1987-01/README.md | 4 +- pubs/pc/magazines/pctj/PCTJ-1987-02/README.md | 4 +- pubs/pc/magazines/pctj/PCTJ-1987-03/README.md | 4 +- pubs/pc/magazines/pctj/PCTJ-1987-04/README.md | 4 +- pubs/pc/magazines/pctj/PCTJ-1987-05/README.md | 4 +- pubs/pc/magazines/pctj/PCTJ-1987-06/README.md | 4 +- pubs/pc/magazines/pctj/PCTJ-1987-07/README.md | 4 +- pubs/pc/magazines/pctj/PCTJ-1987-08/README.md | 4 +- pubs/pc/magazines/pctj/PCTJ-1987-09/README.md | 4 +- pubs/pc/magazines/pctj/PCTJ-1987-10/README.md | 4 +- pubs/pc/magazines/pctj/PCTJ-1987-11/README.md | 4 +- pubs/pc/magazines/pctj/PCTJ-1987-12/README.md | 4 +- pubs/pc/reference/ibm/5150/techref/README.md | 4 +- pubs/pc/reference/ibm/5160/techref/README.md | 4 +- pubs/pc/reference/ibm/5170/setup/README.md | 4 +- pubs/pc/reference/ibm/5170/techref/README.md | 4 +- pubs/pc/reference/ibm/ega/README.md | 4 +- .../reference/intel/80286/progref/README.md | 4 +- 29 files changed, 124 insertions(+), 106 deletions(-) diff --git a/modules/htmlout/lib/htmlout.js b/modules/htmlout/lib/htmlout.js index 25bab0dd8..2210afe7f 100644 --- a/modules/htmlout/lib/htmlout.js +++ b/modules/htmlout/lib/htmlout.js @@ -1654,9 +1654,12 @@ HTMLOut.prototype.getReadMe = function(sToken, sIndent, aParms, sPrevious) * it would be cleaner if this replacement could be performed by getTitle(), but unfortunately, * getTitle() is called long before any README.md is opened. */ - var match = s.match(/^\s*]*>([^<]*)<\/h\1>/); + var match = s.match(/^\s*]*>(.*?)<\/h\1>/); if (match) { - obj.sHTML = obj.sHTML.replace(/(]*>)([^\|]*)\|[^<]*(<\/title>)/, "$1$2| " + match[2] + "$3"); + var sTitle = match[2]; + match = sTitle.match(/]*>([^<]*)<\/a>/); + if (match) sTitle = match[1]; + obj.sHTML = obj.sHTML.replace(/(]*>)([^\|]*)\|[^<]*(<\/title>)/, "$1$2| " + sTitle + "$3"); } /* * We need to query the MarkOut object for any machine definitions that the current "readme" diff --git a/modules/pcjs/lib/bus.js b/modules/pcjs/lib/bus.js index 8973a1483..cae3622fb 100644 --- a/modules/pcjs/lib/bus.js +++ b/modules/pcjs/lib/bus.js @@ -50,7 +50,7 @@ if (typeof module !== 'undefined') { /** * Bus(cpu, dbg) * - * The Bus component manages "physical" memory and I/O address spaces. + * The Bus component manages physical memory and I/O address spaces. * * The Bus component has no UI elements, so it does not require an init() handler, * but it still inherits from the Component class and must be allocated like any @@ -174,6 +174,8 @@ function Bus(parmsBus, cpu, dbg) */ this.abtObjects = []; this.cbtDeletions = 0; + this.ibtLastAlloc = -1; + this.ibtLastDelete = 0; } this.setReady(); @@ -219,6 +221,9 @@ Bus.prototype.initMemory = function() Bus.prototype.reset = function() { this.setA20(true); + if (BACKTRACK) { + this.ibtLastDelete = 0; + } }; /** @@ -407,10 +412,8 @@ Bus.prototype.removeMemory = function(addr, size) /** * getByte(addr) * - * Why does the CPU use its own getByte() (which is substantially similar to ours) instead of calling us? - * - * It certainly could, but the CPU also needs to update some BACKTRACK state. There may also be a slight - * performance advantage calling its own method vs. calling through another object (ie, the Bus object). + * The CPU could use this, but the CPU also needs to update BACKTRACK states. There may also be a slight + * performance advantage calling its own getByte() method vs. calling through another object (ie, the Bus object). * * @this {Bus} * @param {number} addr is a physical (non-segmented) address @@ -438,11 +441,9 @@ Bus.prototype.getByteDirect = function(addr) /** * getWord(addr) * - * Why does the CPU use its own getWord() (which is substantially similar to ours) instead of calling us? - * - * It certainly could, but the CPU also needs to update its cycle count, along with some BACKTRACK state. - * There may also be a slight performance advantage calling its own method vs. calling through another object - * (ie, the Bus object). + * The CPU could use this, but the CPU also needs to update cycle counts, along with BACKTRACK states. + * There may also be a slight performance advantage calling its own getWord() method vs. calling through another + * object (ie, the Bus object). * * @this {Bus} * @param {number} addr is a physical (non-segmented) address @@ -480,10 +481,8 @@ Bus.prototype.getWordDirect = function(addr) /** * setByte(addr, b) * - * Why does the CPU use its own setByte() (which is substantially similar to ours) instead of calling us? - * - * It certainly could, but the CPU also needs to update some BACKTRACK state. There may also be a slight - * performance advantage calling its own method vs. calling through another object (ie, the Bus object). + * The CPU could use this, but the CPU also needs to update BACKTRACK states. There may also be a slight + * performance advantage calling its own setByte() method vs. calling through another object (ie, the Bus object). * * @this {Bus} * @param {number} addr is a physical (non-segmented) address @@ -512,11 +511,9 @@ Bus.prototype.setByteDirect = function(addr, b) /** * setWord(addr, w) * - * Why does the CPU use its own setWord() (which is substantially similar to ours) instead of calling us? - * - * It certainly could, but the CPU also needs to update its cycle count, along with some BACKTRACK state. - * There may also be a slight performance advantage calling its own method vs. calling through another object - * (ie, the Bus object). + * The CPU could use this, but the CPU also needs to update cycle counts, along with BACKTRACK states. + * There may also be a slight performance advantage calling its own setWord() method vs. calling through another + * object (ie, the Bus object). * * @this {Bus} * @param {number} addr is a physical (non-segmented) address @@ -561,13 +558,13 @@ Bus.prototype.setWordDirect = function(addr, w) * * If bto is null, then we create bto (ie, an object that wraps obj and records off). * - * If bto is NOT null, then we verify that off is within bto's range; if not, then we must - * create a new bto and return that instead. + * If bto is NOT null, then we verify that off is within the given bto's range; if not, + * then we must create a new bto and return that instead. * * @this {Bus} * @param {Object} obj * @param {Object} bto - * @param {number} off + * @param {number} off (the offset within obj that this wrapper object is relative to) * @return {Object|null} */ Bus.prototype.addBackTrackObject = function(obj, bto, off) @@ -578,24 +575,34 @@ Bus.prototype.addBackTrackObject = function(obj, bto, off) /* * Try the most recently created bto, on the off-chance it's what the caller needs */ - if (cbtObjects) bto = this.abtObjects[cbtObjects-1]; + if (this.ibtLastAlloc >= 0) bto = this.abtObjects[this.ibtLastAlloc]; } if (!bto || bto.obj != obj || off < bto.off || off >= bto.off + Bus.BACKTRACK.OFF_MAX) { - var slot; + bto = {obj: obj, off: off, slot: 0, refs: 0}; + + var slot; if (!this.cbtDeletions) { slot = cbtObjects; } else { - for (slot = 0; slot < cbtObjects; slot++) { - if (!this.abtObjects[slot]) { + for (slot = this.ibtLastDelete; slot < cbtObjects; slot++) { + var btoTest = this.abtObjects[slot]; + if (!btoTest || !btoTest.refs && !this.isBackTrackWeak(slot << Bus.BACKTRACK.SLOT_SHIFT)) { + this.ibtLastDelete = slot + 1; this.cbtDeletions--; break; } } - this.assert(slot < cbtObjects); + /* + * There's no longer any guarantee that simply because cbtDeletions was non-zero that there WILL + * be an available (existing) slot, because cbtDeletions also counts weak references that may still + * be weak. + * + * this.assert(slot < cbtObjects); + */ } this.assert(slot < Bus.BACKTRACK.SLOT_MAX); - bto.slot = slot; + this.ibtLastAlloc = bto.slot = slot; if (slot == cbtObjects) { this.abtObjects.push(bto); } else { @@ -682,7 +689,33 @@ Bus.prototype.writeBackTrack = function(addr, bti) this.dbg.message("writeBackTrack(%" + str.toHex(addr) + ',' + str.toHex(bti) + "): previous index (" + str.toHex(btiPrev) + ") refers to object with bad ref count (" + btoPrev.refs + ")"); } } else if (!--btoPrev.refs) { - this.abtObjects[slotPrev] = null; + /* + * We used to just slam a null into the previous slot and consider it gone, but there may still + * be "weak references" to that slot (ie, it may still be associated with a register bti). + * + * The easiest way to handle weak references is to leave the slot allocated, with the object's ref + * count sitting at zero, and change addBackTrackObject() to look for both empty slots AND non-empty + * slots with a ref count of zero; in the latter case, it should again check for weak references, + * after which we can re-use the slot if all its weak references are now gone. + */ + if (!this.isBackTrackWeak(btiPrev)) this.abtObjects[slotPrev] = null; + /* + * TODO: Consider what the appropriate trigger should be for resetting ibtLastDelete to zero; + * if we don't OCCASIONALLY set it to zero, we may never clear out obsolete weak references, + * whereas if we ALWAYS set it to zero, we may be forcing addBackTrackObject() to scan the entire + * table too often. + * + * I'd prefer to do something like this: + * + * if (this.ibtLastDelete > slotPrev) this.ibtLastDelete = slotPrev; + * + * or even this: + * + * if (this.ibtLastDelete > slotPrev) this.ibtLastDelete = 0; + * + * But neither one of those guarantees that we will at least occasionally scan the entire table. + */ + this.ibtLastDelete = 0; this.cbtDeletions++; } } @@ -697,6 +730,33 @@ Bus.prototype.writeBackTrack = function(addr, bti) } }; +/** + * isBackTrackWeak(bti) + * + * @param {number} bti + * @returns {boolean} true if the given bti is still referenced by a register, false if not + */ +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 + ); +}; + /** * saveMemory() * diff --git a/modules/pcjs/lib/chipset.js b/modules/pcjs/lib/chipset.js index 108dbd61b..ba5bf211f 100644 --- a/modules/pcjs/lib/chipset.js +++ b/modules/pcjs/lib/chipset.js @@ -532,7 +532,7 @@ ChipSet.TIMER1 = { ChipSet.TIMER2 = { INDEX: 2, - PORT: 0x42 // used speaker tone generation + PORT: 0x42 // used for speaker tone generation }; ChipSet.TIMER_CTRL = { diff --git a/modules/pcjs/lib/cpu.js b/modules/pcjs/lib/cpu.js index 40d6abd77..051c5a41a 100644 --- a/modules/pcjs/lib/cpu.js +++ b/modules/pcjs/lib/cpu.js @@ -849,7 +849,7 @@ CPU.prototype.calcStartTime = function() * * This also won't do anything about other internal delays; for example, Debugger message() calls. * By the time the message() function has called yieldCPU(), the cost of the message has already been - * incurred, so it will be end up being charged against the instruction(s) that triggered them. + * incurred, so it will be end up being charged against the instruction(s) that triggered it. * * TODO: Consider calling yieldCPU() sooner from message(), so that it can arrange for the msEndThisRun * "snapshot" to occur sooner; it's unclear, however, whether that will really improve the CPU's ability diff --git a/modules/pcjs/lib/disk.js b/modules/pcjs/lib/disk.js index ba429eb7b..1b19cd4f6 100644 --- a/modules/pcjs/lib/disk.js +++ b/modules/pcjs/lib/disk.js @@ -1154,7 +1154,10 @@ Disk.prototype.convertClusterToSectors = function(dir) var iCluster = dir.iCluster; if (iCluster) { do { - this.assert(iCluster >= DiskAPI.FAT12.CLUSNUM_MIN); + if (iCluster < DiskAPI.FAT12.CLUSNUM_MIN) { + this.assert(false); + break; + } var lba = dir.lbaData + ((iCluster - DiskAPI.FAT12.CLUSNUM_MIN) * dir.nClusterSecs); for (var i = 0; i < dir.nClusterSecs; i++) { apba.push(dir.pbaVolume + lba++); diff --git a/pubs/pc/magazines/byte/BYTE-1975-11/README.md b/pubs/pc/magazines/byte/BYTE-1975-11/README.md index e5b1daf0d..6a15444cb 100644 --- a/pubs/pc/magazines/byte/BYTE-1975-11/README.md +++ b/pubs/pc/magazines/byte/BYTE-1975-11/README.md @@ -1,4 +1,4 @@ -Byte #3, November 1975 +[Byte #3, November 1975](../static/BYTE-1975-11/BYTE-1975-11.pdf) --- ![Page 1](../static/BYTE-1975-11/thumbs/BYTE-1975-11 1.jpeg "link:../static/BYTE-1975-11/pages/BYTE-1975-11 1.pdf:200:260") @@ -99,5 +99,3 @@ Byte #3, November 1975 ![Page 96](../static/BYTE-1975-11/thumbs/BYTE-1975-11 96.jpeg "link:../static/BYTE-1975-11/pages/BYTE-1975-11 96.pdf:200:260") ![Page 97](../static/BYTE-1975-11/thumbs/BYTE-1975-11 97.jpeg "link:../static/BYTE-1975-11/pages/BYTE-1975-11 97.pdf:200:260") ![Page 98](../static/BYTE-1975-11/thumbs/BYTE-1975-11 98.jpeg "link:../static/BYTE-1975-11/pages/BYTE-1975-11 98.pdf:200:260") - -[[Full PDF](../static/BYTE-1975-11/BYTE-1975-11.pdf)] diff --git a/pubs/pc/magazines/msj/MSJ-1986-10/README.md b/pubs/pc/magazines/msj/MSJ-1986-10/README.md index eaf43e7d8..d0e4c28a9 100644 --- a/pubs/pc/magazines/msj/MSJ-1986-10/README.md +++ b/pubs/pc/magazines/msj/MSJ-1986-10/README.md @@ -1,4 +1,4 @@ -Microsoft Systems Journal, October 1986 +[Microsoft Systems Journal, October 1986](../static/MSJ-1986-10/MSJ-1986-10.pdf) --- ![Page 1](../static/MSJ-1986-10/thumbs/MSJ-1986-10 1.jpeg "link:../static/MSJ-1986-10/pages/MSJ-1986-10 1.pdf:200:260") @@ -35,5 +35,3 @@ Microsoft Systems Journal, October 1986 ![Page 32](../static/MSJ-1986-10/thumbs/MSJ-1986-10 32.jpeg "link:../static/MSJ-1986-10/pages/MSJ-1986-10 32.pdf:200:260") ![Page 33](../static/MSJ-1986-10/thumbs/MSJ-1986-10 33.jpeg "link:../static/MSJ-1986-10/pages/MSJ-1986-10 33.pdf:200:260") ![Page 34](../static/MSJ-1986-10/thumbs/MSJ-1986-10 34.jpeg "link:../static/MSJ-1986-10/pages/MSJ-1986-10 34.pdf:200:260") - -[[Full PDF](../static/MSJ-1986-10/MSJ-1986-10.pdf)] diff --git a/pubs/pc/magazines/msj/MSJ-1987-05/README.md b/pubs/pc/magazines/msj/MSJ-1987-05/README.md index b8116758b..23789100c 100644 --- a/pubs/pc/magazines/msj/MSJ-1987-05/README.md +++ b/pubs/pc/magazines/msj/MSJ-1987-05/README.md @@ -1,4 +1,4 @@ -Microsoft Systems Journal, May 1987 +[Microsoft Systems Journal, May 1987](../static/MSJ-1987-05/MSJ-1987-05.pdf) --- ![Page 1](../static/MSJ-1987-05/thumbs/MSJ-1987-05 1.jpeg "link:../static/MSJ-1987-05/pages/MSJ-1987-05 1.pdf:200:260") @@ -91,5 +91,3 @@ Microsoft Systems Journal, May 1987 ![Page 88](../static/MSJ-1987-05/thumbs/MSJ-1987-05 88.jpeg "link:../static/MSJ-1987-05/pages/MSJ-1987-05 88.pdf:200:260") ![Page 89](../static/MSJ-1987-05/thumbs/MSJ-1987-05 89.jpeg "link:../static/MSJ-1987-05/pages/MSJ-1987-05 89.pdf:200:260") ![Page 90](../static/MSJ-1987-05/thumbs/MSJ-1987-05 90.jpeg "link:../static/MSJ-1987-05/pages/MSJ-1987-05 90.pdf:200:260") - -[[Full PDF](../static/MSJ-1987-05/MSJ-1987-05.pdf)] diff --git a/pubs/pc/magazines/pctj/PCTJ-1986-10/README.md b/pubs/pc/magazines/pctj/PCTJ-1986-10/README.md index e40fd28be..e0b375581 100644 --- a/pubs/pc/magazines/pctj/PCTJ-1986-10/README.md +++ b/pubs/pc/magazines/pctj/PCTJ-1986-10/README.md @@ -1,4 +1,4 @@ -PC Tech Journal, October 1986 +[PC Tech Journal, October 1986](../static/PCTJ-1986-10/PCTJ-1986-10.pdf) --- ![Page 1](../static/PCTJ-1986-10/thumbs/PCTJ-1986-10 1.jpeg "link:../static/PCTJ-1986-10/pages/PCTJ-1986-10 1.pdf:200:260") @@ -229,5 +229,3 @@ PC Tech Journal, October 1986 ![Page 226](../static/PCTJ-1986-10/thumbs/PCTJ-1986-10 226.jpeg "link:../static/PCTJ-1986-10/pages/PCTJ-1986-10 226.pdf:200:260") ![Page 227](../static/PCTJ-1986-10/thumbs/PCTJ-1986-10 227.jpeg "link:../static/PCTJ-1986-10/pages/PCTJ-1986-10 227.pdf:200:260") ![Page 228](../static/PCTJ-1986-10/thumbs/PCTJ-1986-10 228.jpeg "link:../static/PCTJ-1986-10/pages/PCTJ-1986-10 228.pdf:200:260") - -[[Full PDF](../static/PCTJ-1986-10/PCTJ-1986-10.pdf)] diff --git a/pubs/pc/magazines/pctj/PCTJ-1986-11/README.md b/pubs/pc/magazines/pctj/PCTJ-1986-11/README.md index ed8296853..b43c643b0 100644 --- a/pubs/pc/magazines/pctj/PCTJ-1986-11/README.md +++ b/pubs/pc/magazines/pctj/PCTJ-1986-11/README.md @@ -1,4 +1,4 @@ -PC Tech Journal, November 1986 +[PC Tech Journal, November 1986](../static/PCTJ-1986-11/PCTJ-1986-11.pdf) --- ![Page 1](../static/PCTJ-1986-11/thumbs/PCTJ-1986-11 1.jpeg "link:../static/PCTJ-1986-11/pages/PCTJ-1986-11 1.pdf:200:260") @@ -229,5 +229,3 @@ PC Tech Journal, November 1986 ![Page 226](../static/PCTJ-1986-11/thumbs/PCTJ-1986-11 226.jpeg "link:../static/PCTJ-1986-11/pages/PCTJ-1986-11 226.pdf:200:260") ![Page 227](../static/PCTJ-1986-11/thumbs/PCTJ-1986-11 227.jpeg "link:../static/PCTJ-1986-11/pages/PCTJ-1986-11 227.pdf:200:260") ![Page 228](../static/PCTJ-1986-11/thumbs/PCTJ-1986-11 228.jpeg "link:../static/PCTJ-1986-11/pages/PCTJ-1986-11 228.pdf:200:260") - -[[Full PDF](../static/PCTJ-1986-11/PCTJ-1986-11.pdf)] diff --git a/pubs/pc/magazines/pctj/PCTJ-1986-12/README.md b/pubs/pc/magazines/pctj/PCTJ-1986-12/README.md index 2c8ec0722..7ce3bf067 100644 --- a/pubs/pc/magazines/pctj/PCTJ-1986-12/README.md +++ b/pubs/pc/magazines/pctj/PCTJ-1986-12/README.md @@ -1,4 +1,4 @@ -PC Tech Journal, December 1986 +[PC Tech Journal, December 1986](../static/PCTJ-1986-12/PCTJ-1986-12.pdf) --- ![Page 1](../static/PCTJ-1986-12/thumbs/PCTJ-1986-12 1.jpeg "link:../static/PCTJ-1986-12/pages/PCTJ-1986-12 1.pdf:200:260") @@ -233,5 +233,3 @@ PC Tech Journal, December 1986 ![Page 230](../static/PCTJ-1986-12/thumbs/PCTJ-1986-12 230.jpeg "link:../static/PCTJ-1986-12/pages/PCTJ-1986-12 230.pdf:200:260") ![Page 231](../static/PCTJ-1986-12/thumbs/PCTJ-1986-12 231.jpeg "link:../static/PCTJ-1986-12/pages/PCTJ-1986-12 231.pdf:200:260") ![Page 232](../static/PCTJ-1986-12/thumbs/PCTJ-1986-12 232.jpeg "link:../static/PCTJ-1986-12/pages/PCTJ-1986-12 232.pdf:200:260") - -[[Full PDF](../static/PCTJ-1986-12/PCTJ-1986-12.pdf)] diff --git a/pubs/pc/magazines/pctj/PCTJ-1987-01/README.md b/pubs/pc/magazines/pctj/PCTJ-1987-01/README.md index 5c288a5f8..a88f25a29 100644 --- a/pubs/pc/magazines/pctj/PCTJ-1987-01/README.md +++ b/pubs/pc/magazines/pctj/PCTJ-1987-01/README.md @@ -1,4 +1,4 @@ -PC Tech Journal, January 1987 +[PC Tech Journal, January 1987](../static/PCTJ-1987-01/PCTJ-1987-01.pdf) --- ![Page 1](../static/PCTJ-1987-01/thumbs/PCTJ-1987-01 1.jpeg "link:../static/PCTJ-1987-01/pages/PCTJ-1987-01 1.pdf:200:260") @@ -217,5 +217,3 @@ PC Tech Journal, January 1987 ![Page 214](../static/PCTJ-1987-01/thumbs/PCTJ-1987-01 214.jpeg "link:../static/PCTJ-1987-01/pages/PCTJ-1987-01 214.pdf:200:260") ![Page 215](../static/PCTJ-1987-01/thumbs/PCTJ-1987-01 215.jpeg "link:../static/PCTJ-1987-01/pages/PCTJ-1987-01 215.pdf:200:260") ![Page 216](../static/PCTJ-1987-01/thumbs/PCTJ-1987-01 216.jpeg "link:../static/PCTJ-1987-01/pages/PCTJ-1987-01 216.pdf:200:260") - -[[Full PDF](../static/PCTJ-1987-01/PCTJ-1987-01.pdf)] diff --git a/pubs/pc/magazines/pctj/PCTJ-1987-02/README.md b/pubs/pc/magazines/pctj/PCTJ-1987-02/README.md index 5483a9056..92ff46853 100644 --- a/pubs/pc/magazines/pctj/PCTJ-1987-02/README.md +++ b/pubs/pc/magazines/pctj/PCTJ-1987-02/README.md @@ -1,4 +1,4 @@ -PC Tech Journal, February 1987 +[PC Tech Journal, February 1987](../static/PCTJ-1987-02/PCTJ-1987-02.pdf) --- ![Page 1](../static/PCTJ-1987-02/thumbs/PCTJ-1987-02 1.jpeg "link:../static/PCTJ-1987-02/pages/PCTJ-1987-02 1.pdf:200:260") @@ -223,5 +223,3 @@ PC Tech Journal, February 1987 ![Page 220](../static/PCTJ-1987-02/thumbs/PCTJ-1987-02 220.jpeg "link:../static/PCTJ-1987-02/pages/PCTJ-1987-02 220.pdf:200:260") ![Page 221](../static/PCTJ-1987-02/thumbs/PCTJ-1987-02 221.jpeg "link:../static/PCTJ-1987-02/pages/PCTJ-1987-02 221.pdf:200:260") ![Page 222](../static/PCTJ-1987-02/thumbs/PCTJ-1987-02 222.jpeg "link:../static/PCTJ-1987-02/pages/PCTJ-1987-02 222.pdf:200:260") - -[[Full PDF](../static/PCTJ-1987-02/PCTJ-1987-02.pdf)] diff --git a/pubs/pc/magazines/pctj/PCTJ-1987-03/README.md b/pubs/pc/magazines/pctj/PCTJ-1987-03/README.md index f1b376474..1f830338a 100644 --- a/pubs/pc/magazines/pctj/PCTJ-1987-03/README.md +++ b/pubs/pc/magazines/pctj/PCTJ-1987-03/README.md @@ -1,4 +1,4 @@ -PC Tech Journal, March 1987 +[PC Tech Journal, March 1987](../static/PCTJ-1987-03/PCTJ-1987-03.pdf) --- ![Page 1](../static/PCTJ-1987-03/thumbs/PCTJ-1987-03 1.jpeg "link:../static/PCTJ-1987-03/pages/PCTJ-1987-03 1.pdf:200:260") @@ -215,5 +215,3 @@ PC Tech Journal, March 1987 ![Page 212](../static/PCTJ-1987-03/thumbs/PCTJ-1987-03 212.jpeg "link:../static/PCTJ-1987-03/pages/PCTJ-1987-03 212.pdf:200:260") ![Page 213](../static/PCTJ-1987-03/thumbs/PCTJ-1987-03 213.jpeg "link:../static/PCTJ-1987-03/pages/PCTJ-1987-03 213.pdf:200:260") ![Page 214](../static/PCTJ-1987-03/thumbs/PCTJ-1987-03 214.jpeg "link:../static/PCTJ-1987-03/pages/PCTJ-1987-03 214.pdf:200:260") - -[[Full PDF](../static/PCTJ-1987-03/PCTJ-1987-03.pdf)] diff --git a/pubs/pc/magazines/pctj/PCTJ-1987-04/README.md b/pubs/pc/magazines/pctj/PCTJ-1987-04/README.md index 283edbc0b..5d95b39de 100644 --- a/pubs/pc/magazines/pctj/PCTJ-1987-04/README.md +++ b/pubs/pc/magazines/pctj/PCTJ-1987-04/README.md @@ -1,4 +1,4 @@ -PC Tech Journal, April 1987 +[PC Tech Journal, April 1987](../static/PCTJ-1987-04/PCTJ-1987-04.pdf) --- ![Page 1](../static/PCTJ-1987-04/thumbs/PCTJ-1987-04 1.jpeg "link:../static/PCTJ-1987-04/pages/PCTJ-1987-04 1.pdf:200:260") @@ -219,5 +219,3 @@ PC Tech Journal, April 1987 ![Page 216](../static/PCTJ-1987-04/thumbs/PCTJ-1987-04 216.jpeg "link:../static/PCTJ-1987-04/pages/PCTJ-1987-04 216.pdf:200:260") ![Page 217](../static/PCTJ-1987-04/thumbs/PCTJ-1987-04 217.jpeg "link:../static/PCTJ-1987-04/pages/PCTJ-1987-04 217.pdf:200:260") ![Page 218](../static/PCTJ-1987-04/thumbs/PCTJ-1987-04 218.jpeg "link:../static/PCTJ-1987-04/pages/PCTJ-1987-04 218.pdf:200:260") - -[[Full PDF](../static/PCTJ-1987-04/PCTJ-1987-04.pdf)] diff --git a/pubs/pc/magazines/pctj/PCTJ-1987-05/README.md b/pubs/pc/magazines/pctj/PCTJ-1987-05/README.md index 764cd146a..649102fdc 100644 --- a/pubs/pc/magazines/pctj/PCTJ-1987-05/README.md +++ b/pubs/pc/magazines/pctj/PCTJ-1987-05/README.md @@ -1,4 +1,4 @@ -PC Tech Journal, May 1987 +[PC Tech Journal, May 1987](../static/PCTJ-1987-05/PCTJ-1987-05.pdf) --- ![Page 1](../static/PCTJ-1987-05/thumbs/PCTJ-1987-05 1.jpeg "link:../static/PCTJ-1987-05/pages/PCTJ-1987-05 1.pdf:200:260") @@ -241,5 +241,3 @@ PC Tech Journal, May 1987 ![Page 238](../static/PCTJ-1987-05/thumbs/PCTJ-1987-05 238.jpeg "link:../static/PCTJ-1987-05/pages/PCTJ-1987-05 238.pdf:200:260") ![Page 239](../static/PCTJ-1987-05/thumbs/PCTJ-1987-05 239.jpeg "link:../static/PCTJ-1987-05/pages/PCTJ-1987-05 239.pdf:200:260") ![Page 240](../static/PCTJ-1987-05/thumbs/PCTJ-1987-05 240.jpeg "link:../static/PCTJ-1987-05/pages/PCTJ-1987-05 240.pdf:200:260") - -[[Full PDF](../static/PCTJ-1987-05/PCTJ-1987-05.pdf)] diff --git a/pubs/pc/magazines/pctj/PCTJ-1987-06/README.md b/pubs/pc/magazines/pctj/PCTJ-1987-06/README.md index ea84e7481..1d15aee3e 100644 --- a/pubs/pc/magazines/pctj/PCTJ-1987-06/README.md +++ b/pubs/pc/magazines/pctj/PCTJ-1987-06/README.md @@ -1,4 +1,4 @@ -PC Tech Journal, June 1987 +[PC Tech Journal, June 1987](../static/PCTJ-1987-06/PCTJ-1987-06.pdf) --- ![Page 1](../static/PCTJ-1987-06/thumbs/PCTJ-1987-06 1.jpeg "link:../static/PCTJ-1987-06/pages/PCTJ-1987-06 1.pdf:200:260") @@ -237,5 +237,3 @@ PC Tech Journal, June 1987 ![Page 234](../static/PCTJ-1987-06/thumbs/PCTJ-1987-06 234.jpeg "link:../static/PCTJ-1987-06/pages/PCTJ-1987-06 234.pdf:200:260") ![Page 235](../static/PCTJ-1987-06/thumbs/PCTJ-1987-06 235.jpeg "link:../static/PCTJ-1987-06/pages/PCTJ-1987-06 235.pdf:200:260") ![Page 236](../static/PCTJ-1987-06/thumbs/PCTJ-1987-06 236.jpeg "link:../static/PCTJ-1987-06/pages/PCTJ-1987-06 236.pdf:200:260") - -[[Full PDF](../static/PCTJ-1987-06/PCTJ-1987-06.pdf)] diff --git a/pubs/pc/magazines/pctj/PCTJ-1987-07/README.md b/pubs/pc/magazines/pctj/PCTJ-1987-07/README.md index d3c809a9e..a46262574 100644 --- a/pubs/pc/magazines/pctj/PCTJ-1987-07/README.md +++ b/pubs/pc/magazines/pctj/PCTJ-1987-07/README.md @@ -1,4 +1,4 @@ -PC Tech Journal, July 1987 +[PC Tech Journal, July 1987](../static/PCTJ-1987-07/PCTJ-1987-07.pdf) --- ![Page 1](../static/PCTJ-1987-07/thumbs/PCTJ-1987-07 1.jpeg "link:../static/PCTJ-1987-07/pages/PCTJ-1987-07 1.pdf:200:260") @@ -231,5 +231,3 @@ PC Tech Journal, July 1987 ![Page 228](../static/PCTJ-1987-07/thumbs/PCTJ-1987-07 228.jpeg "link:../static/PCTJ-1987-07/pages/PCTJ-1987-07 228.pdf:200:260") ![Page 229](../static/PCTJ-1987-07/thumbs/PCTJ-1987-07 229.jpeg "link:../static/PCTJ-1987-07/pages/PCTJ-1987-07 229.pdf:200:260") ![Page 230](../static/PCTJ-1987-07/thumbs/PCTJ-1987-07 230.jpeg "link:../static/PCTJ-1987-07/pages/PCTJ-1987-07 230.pdf:200:260") - -[[Full PDF](../static/PCTJ-1987-07/PCTJ-1987-07.pdf)] diff --git a/pubs/pc/magazines/pctj/PCTJ-1987-08/README.md b/pubs/pc/magazines/pctj/PCTJ-1987-08/README.md index 9077bcdfb..ce46cd41c 100644 --- a/pubs/pc/magazines/pctj/PCTJ-1987-08/README.md +++ b/pubs/pc/magazines/pctj/PCTJ-1987-08/README.md @@ -1,4 +1,4 @@ -PC Tech Journal, August 1987 +[PC Tech Journal, August 1987](../static/PCTJ-1987-08/PCTJ-1987-08.pdf) --- ![Page 1](../static/PCTJ-1987-08/thumbs/PCTJ-1987-08 1.jpeg "link:../static/PCTJ-1987-08/pages/PCTJ-1987-08 1.pdf:200:260") @@ -251,5 +251,3 @@ PC Tech Journal, August 1987 ![Page 248](../static/PCTJ-1987-08/thumbs/PCTJ-1987-08 248.jpeg "link:../static/PCTJ-1987-08/pages/PCTJ-1987-08 248.pdf:200:260") ![Page 249](../static/PCTJ-1987-08/thumbs/PCTJ-1987-08 249.jpeg "link:../static/PCTJ-1987-08/pages/PCTJ-1987-08 249.pdf:200:260") ![Page 250](../static/PCTJ-1987-08/thumbs/PCTJ-1987-08 250.jpeg "link:../static/PCTJ-1987-08/pages/PCTJ-1987-08 250.pdf:200:260") - -[[Full PDF](../static/PCTJ-1987-08/PCTJ-1987-08.pdf)] diff --git a/pubs/pc/magazines/pctj/PCTJ-1987-09/README.md b/pubs/pc/magazines/pctj/PCTJ-1987-09/README.md index 1528913be..b938b2c1f 100644 --- a/pubs/pc/magazines/pctj/PCTJ-1987-09/README.md +++ b/pubs/pc/magazines/pctj/PCTJ-1987-09/README.md @@ -1,4 +1,4 @@ -PC Tech Journal, September 1987 +[PC Tech Journal, September 1987](../static/PCTJ-1987-09/PCTJ-1987-09.pdf) --- ![Page 1](../static/PCTJ-1987-09/thumbs/PCTJ-1987-09 1.jpeg "link:../static/PCTJ-1987-09/pages/PCTJ-1987-09 1.pdf:200:260") @@ -253,5 +253,3 @@ PC Tech Journal, September 1987 ![Page 250](../static/PCTJ-1987-09/thumbs/PCTJ-1987-09 250.jpeg "link:../static/PCTJ-1987-09/pages/PCTJ-1987-09 250.pdf:200:260") ![Page 251](../static/PCTJ-1987-09/thumbs/PCTJ-1987-09 251.jpeg "link:../static/PCTJ-1987-09/pages/PCTJ-1987-09 251.pdf:200:260") ![Page 252](../static/PCTJ-1987-09/thumbs/PCTJ-1987-09 252.jpeg "link:../static/PCTJ-1987-09/pages/PCTJ-1987-09 252.pdf:200:260") - -[[Full PDF](../static/PCTJ-1987-09/PCTJ-1987-09.pdf)] diff --git a/pubs/pc/magazines/pctj/PCTJ-1987-10/README.md b/pubs/pc/magazines/pctj/PCTJ-1987-10/README.md index d6e60b610..8b63e39cb 100644 --- a/pubs/pc/magazines/pctj/PCTJ-1987-10/README.md +++ b/pubs/pc/magazines/pctj/PCTJ-1987-10/README.md @@ -1,4 +1,4 @@ -PC Tech Journal, October 1987 +[PC Tech Journal, October 1987](../static/PCTJ-1987-10/PCTJ-1987-10.pdf) --- ![Page 1](../static/PCTJ-1987-10/thumbs/PCTJ-1987-10 1.jpeg "link:../static/PCTJ-1987-10/pages/PCTJ-1987-10 1.pdf:200:260") @@ -232,5 +232,3 @@ PC Tech Journal, October 1987 ![Page 229](../static/PCTJ-1987-10/thumbs/PCTJ-1987-10 229.jpeg "link:../static/PCTJ-1987-10/pages/PCTJ-1987-10 229.pdf:200:260") ![Page 230](../static/PCTJ-1987-10/thumbs/PCTJ-1987-10 230.jpeg "link:../static/PCTJ-1987-10/pages/PCTJ-1987-10 230.pdf:200:260") ![Page 231](../static/PCTJ-1987-10/thumbs/PCTJ-1987-10 231.jpeg "link:../static/PCTJ-1987-10/pages/PCTJ-1987-10 231.pdf:200:260") - -[[Full PDF](../static/PCTJ-1987-10/PCTJ-1987-10.pdf)] diff --git a/pubs/pc/magazines/pctj/PCTJ-1987-11/README.md b/pubs/pc/magazines/pctj/PCTJ-1987-11/README.md index bf95eb242..df520e48c 100644 --- a/pubs/pc/magazines/pctj/PCTJ-1987-11/README.md +++ b/pubs/pc/magazines/pctj/PCTJ-1987-11/README.md @@ -1,4 +1,4 @@ -PC Tech Journal, November 1987 +[PC Tech Journal, November 1987](../static/PCTJ-1987-11/PCTJ-1987-11.pdf) --- ![Page 1](../static/PCTJ-1987-11/thumbs/PCTJ-1987-11 1.jpeg "link:../static/PCTJ-1987-11/pages/PCTJ-1987-11 1.pdf:200:260") @@ -264,5 +264,3 @@ PC Tech Journal, November 1987 ![Page 261](../static/PCTJ-1987-11/thumbs/PCTJ-1987-11 261.jpeg "link:../static/PCTJ-1987-11/pages/PCTJ-1987-11 261.pdf:200:260") ![Page 262](../static/PCTJ-1987-11/thumbs/PCTJ-1987-11 262.jpeg "link:../static/PCTJ-1987-11/pages/PCTJ-1987-11 262.pdf:200:260") ![Page 263](../static/PCTJ-1987-11/thumbs/PCTJ-1987-11 263.jpeg "link:../static/PCTJ-1987-11/pages/PCTJ-1987-11 263.pdf:200:260") - -[[Full PDF](../static/PCTJ-1987-11/PCTJ-1987-11.pdf)] diff --git a/pubs/pc/magazines/pctj/PCTJ-1987-12/README.md b/pubs/pc/magazines/pctj/PCTJ-1987-12/README.md index 302b0d015..d7020ce03 100644 --- a/pubs/pc/magazines/pctj/PCTJ-1987-12/README.md +++ b/pubs/pc/magazines/pctj/PCTJ-1987-12/README.md @@ -1,4 +1,4 @@ -PC Tech Journal, December 1987 +[PC Tech Journal, December 1987](../static/PCTJ-1987-12/PCTJ-1987-12.pdf) --- ![Page 1](../static/PCTJ-1987-12/thumbs/PCTJ-1987-12 1.jpeg "link:../static/PCTJ-1987-12/pages/PCTJ-1987-12 1.pdf:200:260") @@ -243,5 +243,3 @@ PC Tech Journal, December 1987 ![Page 240](../static/PCTJ-1987-12/thumbs/PCTJ-1987-12 240.jpeg "link:../static/PCTJ-1987-12/pages/PCTJ-1987-12 240.pdf:200:260") ![Page 241](../static/PCTJ-1987-12/thumbs/PCTJ-1987-12 241.jpeg "link:../static/PCTJ-1987-12/pages/PCTJ-1987-12 241.pdf:200:260") ![Page 242](../static/PCTJ-1987-12/thumbs/PCTJ-1987-12 242.jpeg "link:../static/PCTJ-1987-12/pages/PCTJ-1987-12 242.pdf:200:260") - -[[Full PDF](../static/PCTJ-1987-12/PCTJ-1987-12.pdf)] diff --git a/pubs/pc/reference/ibm/5150/techref/README.md b/pubs/pc/reference/ibm/5150/techref/README.md index c4892d0e9..93318397e 100644 --- a/pubs/pc/reference/ibm/5150/techref/README.md +++ b/pubs/pc/reference/ibm/5150/techref/README.md @@ -1,4 +1,4 @@ -IBM 5150 Technical Reference, August 1981 +[IBM 5150 Technical Reference, August 1981](http://minuszerodegrees.net/manuals/IBM_5150_Technical_Reference_6025005_AUG81.pdf) --- ![Page 1](../../static/5150/techref/1981-08/thumbs/IBM-5150-TECHREF 1.jpeg "link:../../static/5150/techref/1981-08/pages/IBM-5150-TECHREF 1.pdf:200:260") @@ -395,5 +395,3 @@ IBM 5150 Technical Reference, August 1981 ![Page 392](../../static/5150/techref/1981-08/thumbs/IBM-5150-TECHREF 392.jpeg "link:../../static/5150/techref/1981-08/pages/IBM-5150-TECHREF 392.pdf:200:260") ![Page 393](../../static/5150/techref/1981-08/thumbs/IBM-5150-TECHREF 393.jpeg "link:../../static/5150/techref/1981-08/pages/IBM-5150-TECHREF 393.pdf:200:260") ![Page 394](../../static/5150/techref/1981-08/thumbs/IBM-5150-TECHREF 394.jpeg "link:../../static/5150/techref/1981-08/pages/IBM-5150-TECHREF 394.pdf:200:260") - -[[Full PDF](http://minuszerodegrees.net/manuals/IBM_5150_Technical_Reference_6025005_AUG81.pdf)] diff --git a/pubs/pc/reference/ibm/5160/techref/README.md b/pubs/pc/reference/ibm/5160/techref/README.md index 242f0806c..4a2bc0c2d 100644 --- a/pubs/pc/reference/ibm/5160/techref/README.md +++ b/pubs/pc/reference/ibm/5160/techref/README.md @@ -1,4 +1,4 @@ -IBM 5160 Technical Reference, April 1983 +[IBM 5160 Technical Reference, April 1983](http://retroarchive.org/dos/docs/ibm5160techref.pdf) --- ![Page 1](../../static/5160/techref/1983-04/thumbs/IBM-5160-TECHREF 1.jpeg "link:../../static/5160/techref/1983-04/pages/IBM-5160-TECHREF 1.pdf:200:260") @@ -624,5 +624,3 @@ IBM 5160 Technical Reference, April 1983 ![Page 621](../../static/5160/techref/1983-04/thumbs/IBM-5160-TECHREF 621.jpeg "link:../../static/5160/techref/1983-04/pages/IBM-5160-TECHREF 621.pdf:200:260") ![Page 622](../../static/5160/techref/1983-04/thumbs/IBM-5160-TECHREF 622.jpeg "link:../../static/5160/techref/1983-04/pages/IBM-5160-TECHREF 622.pdf:200:260") ![Page 623](../../static/5160/techref/1983-04/thumbs/IBM-5160-TECHREF 623.jpeg "link:../../static/5160/techref/1983-04/pages/IBM-5160-TECHREF 623.pdf:200:260") - -[[Full PDF](http://retroarchive.org/dos/docs/ibm5160techref.pdf)] diff --git a/pubs/pc/reference/ibm/5170/setup/README.md b/pubs/pc/reference/ibm/5170/setup/README.md index 6d4c74875..f9e9b87c2 100644 --- a/pubs/pc/reference/ibm/5170/setup/README.md +++ b/pubs/pc/reference/ibm/5170/setup/README.md @@ -1,4 +1,4 @@ -IBM 5170 Installation and Setup, March 1984 +[IBM 5170 Installation and Setup, March 1984](http://minuszerodegrees.net/manuals/IBM_5170_Installation_and_Setup_1502491_MAR84.pdf) --- ![Page 1](../../static/5170/setup/thumbs/IBM-5170-SETUP 1.jpeg "link:../../static/5170/setup/pages/IBM-5170-SETUP 1.pdf:200:260") @@ -287,5 +287,3 @@ IBM 5170 Installation and Setup, March 1984 ![Page 284](../../static/5170/setup/thumbs/IBM-5170-SETUP 284.jpeg "link:../../static/5170/setup/pages/IBM-5170-SETUP 284.pdf:200:260") ![Page 285](../../static/5170/setup/thumbs/IBM-5170-SETUP 285.jpeg "link:../../static/5170/setup/pages/IBM-5170-SETUP 285.pdf:200:260") ![Page 286](../../static/5170/setup/thumbs/IBM-5170-SETUP 286.jpeg "link:../../static/5170/setup/pages/IBM-5170-SETUP 286.pdf:200:260") - -[[Full PDF](http://minuszerodegrees.net/manuals/IBM_5170_Installation_and_Setup_1502491_MAR84.pdf)] diff --git a/pubs/pc/reference/ibm/5170/techref/README.md b/pubs/pc/reference/ibm/5170/techref/README.md index 534f4f983..fba143979 100644 --- a/pubs/pc/reference/ibm/5170/techref/README.md +++ b/pubs/pc/reference/ibm/5170/techref/README.md @@ -1,4 +1,4 @@ -IBM 5170 Technical Reference, March 1984 +[IBM 5170 Technical Reference, March 1984](http://minuszerodegrees.net/manuals/IBM_5170_Technical_Reference_1502243_MAR84.pdf) --- ![Page 1](../../static/5170/techref/1984-03/thumbs/IBM-5170-TECHREF 1.jpeg "link:../../static/5170/techref/1984-03/pages/IBM-5170-TECHREF 1.pdf:200:260") @@ -463,5 +463,3 @@ IBM 5170 Technical Reference, March 1984 ![Page 460](../../static/5170/techref/1984-03/thumbs/IBM-5170-TECHREF 460.jpeg "link:../../static/5170/techref/1984-03/pages/IBM-5170-TECHREF 460.pdf:200:260") ![Page 461](../../static/5170/techref/1984-03/thumbs/IBM-5170-TECHREF 461.jpeg "link:../../static/5170/techref/1984-03/pages/IBM-5170-TECHREF 461.pdf:200:260") ![Page 462](../../static/5170/techref/1984-03/thumbs/IBM-5170-TECHREF 462.jpeg "link:../../static/5170/techref/1984-03/pages/IBM-5170-TECHREF 462.pdf:200:260") - -[[Full PDF](http://minuszerodegrees.net/manuals/IBM_5170_Technical_Reference_1502243_MAR84.pdf)] diff --git a/pubs/pc/reference/ibm/ega/README.md b/pubs/pc/reference/ibm/ega/README.md index d76f6d005..63e49552a 100644 --- a/pubs/pc/reference/ibm/ega/README.md +++ b/pubs/pc/reference/ibm/ega/README.md @@ -1,4 +1,4 @@ -IBM Enhanced Graphics Adapter +[IBM Enhanced Graphics Adapter](http://minuszerodegrees.net/oa/OA - IBM Enhanced Graphics Adapter.pdf) --- ![Page 1](../static/ega/thumbs/IBM-EGA 1.jpeg "link:../static/ega/pages/IBM-EGA 1.pdf:200:260") @@ -175,5 +175,3 @@ IBM Enhanced Graphics Adapter ![Page 172](../static/ega/thumbs/IBM-EGA 172.jpeg "link:../static/ega/pages/IBM-EGA 172.pdf:200:260") ![Page 173](../static/ega/thumbs/IBM-EGA 173.jpeg "link:../static/ega/pages/IBM-EGA 173.pdf:200:260") ![Page 174](../static/ega/thumbs/IBM-EGA 174.jpeg "link:../static/ega/pages/IBM-EGA 174.pdf:200:260") - -[[Full PDF](http://minuszerodegrees.net/oa/OA - IBM Enhanced Graphics Adapter.pdf)] diff --git a/pubs/pc/reference/intel/80286/progref/README.md b/pubs/pc/reference/intel/80286/progref/README.md index afecbdaf3..3e85bd91a 100644 --- a/pubs/pc/reference/intel/80286/progref/README.md +++ b/pubs/pc/reference/intel/80286/progref/README.md @@ -1,4 +1,4 @@ -80286 and 80287 Programmer's Reference Manual +[80286 and 80287 Programmer's Reference Manual](../../static/80286/progref/80286_and_80287_Programmers_Reference_Manual_1987.pdf) --- ![Page 1](../../static/80286/progref/thumbs/80286_and_80287_Programmers_Reference_Manual_1987 1.jpeg "link:../../static/80286/progref/pages/80286_and_80287_Programmers_Reference_Manual_1987 1.pdf:200:260") @@ -516,5 +516,3 @@ ![Page 513](../../static/80286/progref/thumbs/80286_and_80287_Programmers_Reference_Manual_1987 513.jpeg "link:../../static/80286/progref/pages/80286_and_80287_Programmers_Reference_Manual_1987 513.pdf:200:260") ![Page 514](../../static/80286/progref/thumbs/80286_and_80287_Programmers_Reference_Manual_1987 514.jpeg "link:../../static/80286/progref/pages/80286_and_80287_Programmers_Reference_Manual_1987 514.pdf:200:260") ![Page 515](../../static/80286/progref/thumbs/80286_and_80287_Programmers_Reference_Manual_1987 515.jpeg "link:../../static/80286/progref/pages/80286_and_80287_Programmers_Reference_Manual_1987 515.pdf:200:260") - -[[Full PDF](../../static/80286/progref/80286_and_80287_Programmers_Reference_Manual_1987.pdf)]