Fixed PC-DOS 7.00 CPU detection logic (see SGDT)
This commit is contained in:
parent
3bbbd4e9b1
commit
0173492ef2
12 changed files with 198 additions and 93 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
disks/pc/dos/ibm/7.00/PCDOS700.json
Normal file
1
disks/pc/dos/ibm/7.00/PCDOS700.json
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -6,19 +6,22 @@
|
|||
<type>DOS</type>
|
||||
<category>Operating System</category>
|
||||
<author>IBM</author>
|
||||
<disk id="disk00" size="1474560" chs="80:2:18" img="private/PCDOS700.img" href="/disks/pc/dos/ibm/7.00/PCDOS700.json" md5="72f453733c6d4a102fdad4366a7daf1f" md5json="fcbc9523367a18ee0efa0dccace722c2">
|
||||
<name>PC-DOS 7.00 (Boot Disk)</name>
|
||||
</disk>
|
||||
<disk id="disk01" size="1474560" chs="80:2:18" img="private/PCDOS700-DISK1.img" href="/disks/pc/dos/ibm/7.00/PCDOS700-DISK1.json" md5="2a3736d2acbb7730965b7cb6d3f16d00" md5json="97fc896b5679dabbadfa13ed6a1dc681">
|
||||
<name>PC-DOS 7.00 (Disk 1)</name>
|
||||
<name>PC-DOS 7.00 (SETUP Disk 1)</name>
|
||||
</disk>
|
||||
<disk id="disk02" size="1884160" chs="80:2:23" img="private/PCDOS700-DISK2.xdf" href="/disks/pc/dos/ibm/7.00/PCDOS700-DISK2.json" md5="b21b98aca8fafbdd1a7b9db77e7dc60d" md5json="e01a29ace42aef1c65e7f9794271e6d8">
|
||||
<name>PC-DOS 7.00 (XDF Disk 2)</name>
|
||||
<disk id="disk02" size="1884160" chs="80:2:23" img="private/PCDOS700-DISK2.xdf" href="/disks/pc/dos/ibm/7.00/PCDOS700-DISK2.json" md5="b21b98aca8fafbdd1a7b9db77e7dc60d" md5json="95b075274808e24f6e67fc05d999ff01">
|
||||
<name>PC-DOS 7.00 (SETUP Disk 2)</name>
|
||||
</disk>
|
||||
<disk id="disk03" size="1884160" chs="80:2:23" img="private/PCDOS700-DISK3.xdf" href="/disks/pc/dos/ibm/7.00/PCDOS700-DISK3.json" md5="e45111515901b951dc5ff33434b47a0a" md5json="b439c1f270e35afa4597bec59d80e1d2">
|
||||
<name>PC-DOS 7.00 (XDF Disk 3)</name>
|
||||
<disk id="disk03" size="1884160" chs="80:2:23" img="private/PCDOS700-DISK3.xdf" href="/disks/pc/dos/ibm/7.00/PCDOS700-DISK3.json" md5="e45111515901b951dc5ff33434b47a0a" md5json="7bae36688f85046d2564b0240b931117">
|
||||
<name>PC-DOS 7.00 (SETUP Disk 3)</name>
|
||||
</disk>
|
||||
<disk id="disk04" size="1884160" chs="80:2:23" img="private/PCDOS700-DISK4.xdf" href="/disks/pc/dos/ibm/7.00/PCDOS700-DISK4.json" md5="1ea1b92938a40cbb5089c30c86165c7a" md5json="e8d58a70a5849ce180c2ef00afc7143b">
|
||||
<name>PC-DOS 7.00 (XDF Disk 4)</name>
|
||||
<disk id="disk04" size="1884160" chs="80:2:23" img="private/PCDOS700-DISK4.xdf" href="/disks/pc/dos/ibm/7.00/PCDOS700-DISK4.json" md5="1ea1b92938a40cbb5089c30c86165c7a" md5json="ecf1eb5628c30f0c766c44395ce38c0d">
|
||||
<name>PC-DOS 7.00 (SETUP Disk 4)</name>
|
||||
</disk>
|
||||
<disk id="disk05" size="1884160" chs="80:2:23" img="private/PCDOS700-DISK5.xdf" href="/disks/pc/dos/ibm/7.00/PCDOS700-DISK5.json" md5="e613544f161d0857fc3adf6a13eb9371" md5json="83f094d61b5d52ea8bd315de15f14f48">
|
||||
<name>PC-DOS 7.00 (XDF Disk 5)</name>
|
||||
<disk id="disk05" size="1884160" chs="80:2:23" img="private/PCDOS700-DISK5.xdf" href="/disks/pc/dos/ibm/7.00/PCDOS700-DISK5.json" md5="e613544f161d0857fc3adf6a13eb9371" md5json="aaf6eca0bf684565e935f3121e8ff705">
|
||||
<name>PC-DOS 7.00 (SETUP Disk 5)</name>
|
||||
</disk>
|
||||
</manifest>
|
||||
|
|
|
|||
|
|
@ -778,7 +778,7 @@ DiskDump.prototype.isExcluded = function(sName)
|
|||
DiskDump.prototype.loadFile = function(done)
|
||||
{
|
||||
/*
|
||||
* When the 'encoding' property of the 'options' object is null (or when the 'options'
|
||||
* When the 'encoding' property of the 'options' object is null (or the 'options'
|
||||
* object is omitted altogether), the callback's 2nd parameter will be a Buffer object
|
||||
* rather than a String.
|
||||
*/
|
||||
|
|
@ -2128,10 +2128,11 @@ DiskDump.prototype.convertToJSON = function()
|
|||
nHeads = nHeadsBPB;
|
||||
nCylinders = Math.floor(nSectorsTotalBPB / nSectorsPerCylinderBPB);
|
||||
nSectorsPerTrack = nSectorsPerTrackBPB;
|
||||
|
||||
/*
|
||||
* OK, great, the disk appears to contain a valid BPB. But so do XDF disk images, which are
|
||||
* diskette images with tracks containing:
|
||||
*
|
||||
*
|
||||
* 1 8Kb sector (equivalent of 16 512-byte sectors)
|
||||
* 1 2Kb sector (equivalent of 4 512-byte sectors)
|
||||
* 1 1Kb sector (equivalent of 2 512-byte sectors)
|
||||
|
|
@ -2140,19 +2141,19 @@ DiskDump.prototype.convertToJSON = function()
|
|||
* for a total of the equivalent of 23 512-byte sectors, or 11776 (0x2E00) bytes per track.
|
||||
* For an 80-track diskette with 2 sides, that works out to a total of 3680 512-byte sectors,
|
||||
* or 1884160 bytes, or 1.84Mb, which is the exact size of the (only) XDF diskette images we
|
||||
* currently support.
|
||||
*
|
||||
* Moreover, the first two tracks (ie, the first cylinder) contain only 19 sectors, rather than
|
||||
* 23, but the XDF format still pads those tracks with 4 unused sectors.
|
||||
*
|
||||
* currently (try to) support.
|
||||
*
|
||||
* Moreover, the first two tracks (ie, the first cylinder) contain only 19 sectors each,
|
||||
* rather than 23, but the XDF format still pads those tracks with 4 unused sectors.
|
||||
*
|
||||
* So, data for the first track contains 1 boot sector ending at 512 (0x200), 11 FAT sectors
|
||||
* ending at 6144 (0x1800), and 7 "micro-disk" sectors ending at 9728 (0x2600). Then there's
|
||||
* 4 sectors (probably of "garbage") that end at 11776 (0x2E00).
|
||||
*
|
||||
* 4 sectors (presumably of "garbage") that end at 11776 (0x2E00).
|
||||
*
|
||||
* Data for the second track contains 7 root directory sectors ending at 15360 (0x3C00), followed
|
||||
* by disk data.
|
||||
*
|
||||
* For more details, check out this very helpful article: http://www.os2museum.com/wp/the-xdf-diskette-format/
|
||||
*
|
||||
* For more details, check out this helpful article: http://www.os2museum.com/wp/the-xdf-diskette-format/
|
||||
*/
|
||||
if (nSectorsTotalBPB == 3680) fXDF = true;
|
||||
}
|
||||
|
|
@ -2248,27 +2249,78 @@ DiskDump.prototype.convertToJSON = function()
|
|||
json += this.dumpLine(2, "[", "head:" + this.sJSONWhitespace + iHead + ", track:" + this.sJSONWhitespace + iCylinder);
|
||||
}
|
||||
|
||||
/*
|
||||
* For most disks, the size of every sector and the number of sectors/track are consistent, and the
|
||||
* sector number encoded in every sector (nSector) matches the 1-based sector index (iSector) we use
|
||||
* to "track" our progress through the current track. However, for XDF disk images, the above is
|
||||
* NOT true beyond cylinder 0, which is why we have all these *ThisTrack variables, which would otherwise
|
||||
* be unnecessary.
|
||||
*/
|
||||
var cbSectorThisTrack = cbSector;
|
||||
var nSectorsThisTrack = nSectorsPerTrack;
|
||||
|
||||
/*
|
||||
* Notes regarding XDF track layouts, from http://forum.kryoflux.com/viewtopic.php?f=3&t=234:
|
||||
*
|
||||
* Track 0, side 0: 19x512 bytes per sector, with standard numbering for the first 8 sectors, then custom numbering
|
||||
* Track 0, side 1: 19x512 bytes per sector, with interleaved sector numbering 0x81...0x93
|
||||
*
|
||||
* Track 1 and up, side 0, 4 sectors per track:
|
||||
* 1x1024, 1x512, 1x2048, 1x8192 bytes per sector (0x83, 0x82, 084, 0x86 as sector numbers)
|
||||
*
|
||||
* Track 1 and up, side 1, 4 sectors per track:
|
||||
* 1x2048, 1x512, 1x1024, 1x8192 bytes per sector (0x84, 0x82, 083, 0x86 as sector numbers)
|
||||
*
|
||||
* Notes regarding the order in which XDF sectors are read (from http://mail.netbridge.at/cgi-bin/info2www?(fdutils)XDF),
|
||||
* where each position column represents a (roughly) 128-byte section of the track:
|
||||
*
|
||||
* 1 2 3 4
|
||||
* 1234567890123456789012345678901234567890 (position)
|
||||
* ----------------------------------------
|
||||
* 6633332244444446666666666666666666666666 (side 0)
|
||||
* 6666444444422333366666666666666666666666 (side 1)
|
||||
*
|
||||
* where 2's contain a 512-byte sector, 3's contain a 1Kb sector, 4's contains a 2Kb sector, and 6's contain an 8Kb sector.
|
||||
*
|
||||
* Reading all the data on an XDF cylinder occurs in the following order, from the specified start to end positions:
|
||||
*
|
||||
* sector head start end
|
||||
* 3 0 3 7
|
||||
* 4 0 9 16
|
||||
* 6 1 18 5 (1st wrap around)
|
||||
* 2 0 7 9
|
||||
* 2 1 12 14
|
||||
* 6 0 16 3 (2nd wrap around)
|
||||
* 4 1 5 12
|
||||
* 3 1 14 18
|
||||
*/
|
||||
if (fXDF) nSectorsThisTrack = (iCylinder? 4 : 19);
|
||||
|
||||
|
||||
for (var iSector=1, offSector=0; iSector <= nSectorsThisTrack && offSector < cbTrack; iSector++, offSector += cbSectorThisTrack) {
|
||||
|
||||
var sector = {};
|
||||
|
||||
if (fXDF && iCylinder) cbSectorThisTrack = (iSector == 1? 8192 : (iSector == 2? 2048 : (iSector == 3? 1024 : 512)));
|
||||
|
||||
var nSector = iSector;
|
||||
|
||||
if (fXDF && iCylinder) {
|
||||
if (!iHead) {
|
||||
cbSectorThisTrack = (iSector == 1? 1024 : (iSector == 2? 512 : (iSector == 3? 2048 : 8192)));
|
||||
} else {
|
||||
cbSectorThisTrack = (iSector == 1? 8192 : (iSector == 2? 2048 : (iSector == 3? 1024 : 512)));
|
||||
}
|
||||
nSector = (cbSectorThisTrack == 512? 2 : (cbSectorThisTrack == 1024? 3 : (cbSectorThisTrack == 2048? 4 : 6)));
|
||||
}
|
||||
|
||||
bufSector = bufTrack.slice(offSector, offSector + cbSectorThisTrack);
|
||||
|
||||
|
||||
if (this.fJSONNative) {
|
||||
sector['sector'] = iSector;
|
||||
sector['sector'] = nSector;
|
||||
sector['length'] = cbSectorThisTrack;
|
||||
} else {
|
||||
json += (iSector == 1? this.dumpLine(2, "{") : "");
|
||||
json += this.dumpLine(0, '"sector":' + this.sJSONWhitespace + iSector + ",");
|
||||
json += this.dumpLine(0, '"sector":' + this.sJSONWhitespace + nSector + ",");
|
||||
json += this.dumpLine(0, '"length":' + this.sJSONWhitespace + cbSectorThisTrack + ",");
|
||||
}
|
||||
|
||||
|
||||
var aTrim = this.trimSector(bufSector, cbSectorThisTrack);
|
||||
var dwPattern = aTrim[0];
|
||||
var cbBuffer = cbSectorThisTrack;
|
||||
|
|
@ -2280,7 +2332,7 @@ DiskDump.prototype.convertToJSON = function()
|
|||
json += this.dumpLine(0, '"pattern":' + this.sJSONWhitespace + dwPattern + ",");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (this.fJSONNative) {
|
||||
var dataSector = [];
|
||||
sector['data'] = dataSector;
|
||||
|
|
@ -2307,12 +2359,14 @@ DiskDump.prototype.convertToJSON = function()
|
|||
offTrack += offHead; // end of cylinder {iCylinder}
|
||||
}
|
||||
/*
|
||||
* Here's where we could output the following comment:
|
||||
* Here's where I used to output the following comment:
|
||||
*
|
||||
* // write-protected
|
||||
*
|
||||
* as the first line of the JSON stream if the disk was marked write-protected (ie, if (bByte0 & 0x1) != 0).
|
||||
* But I'd rather folks just name their JSON disk images with a "-readonly" suffix (another, better, work-around).
|
||||
*
|
||||
* But since that makes JSON.parse() sad, the preferred solution is to name read-only JSON disk images with a
|
||||
* "-readonly" suffix.
|
||||
*/
|
||||
if (this.fJSONNative) {
|
||||
json = JSON.stringify(this.dataDisk);
|
||||
|
|
@ -2338,7 +2392,7 @@ DiskDump.prototype.convertToJSON = function()
|
|||
* like so:
|
||||
*
|
||||
* [ [ {
|
||||
* trackSig:'CW',
|
||||
* trackSig:"CW",
|
||||
* trackNum:0x01,
|
||||
* trackType:0x58,
|
||||
* trackLoad:0xnnnn,
|
||||
|
|
@ -2346,21 +2400,21 @@ DiskDump.prototype.convertToJSON = function()
|
|||
* { sectorSig:0x76,
|
||||
* sectorNum:0x01,
|
||||
* sectorPages:0x01,
|
||||
* sectorEndSig:'GS',
|
||||
* sectorEndSig:"GS",
|
||||
* sectorData: [0x52,0x41,0x43,0x4b,...]
|
||||
* },...
|
||||
* ]
|
||||
* },
|
||||
* {
|
||||
* trackSig:'CW',
|
||||
* trackSig:"CW",
|
||||
* ...
|
||||
* }
|
||||
* ] ]
|
||||
*
|
||||
* TODO: If we ever add support for OSI drives/disk images with more than one head, we should change the disk image
|
||||
* format to match that used by DOS disk images and PCjs; ie, an array of cylinders, each containing an array of heads,
|
||||
* each containing an array of tracks. It's largely just a matter of reversing the meaning of the two outermost array
|
||||
* elements, here and in the C1Pjs disk module.
|
||||
* each containing an array of tracks. It's largely just a matter of swapping the two outermost array elements, both
|
||||
* here and in the C1Pjs disk module.
|
||||
*
|
||||
* @this {DiskDump}
|
||||
* @return {string|null} containing a JSON representation of the disk image, or null if unrecognized/malformed
|
||||
|
|
|
|||
|
|
@ -1346,7 +1346,7 @@ Disk.prototype.save = function()
|
|||
for (var iHead = 0; iHead < aDiskData[iCylinder].length; iHead++) {
|
||||
for (var iSector = 0; iSector < aDiskData[iCylinder][iHead].length; iSector++) {
|
||||
var sector = aDiskData[iCylinder][iHead][iSector];
|
||||
if (sector.cModify) {
|
||||
if (sector && sector.cModify) {
|
||||
var mods = [], n = 0;
|
||||
var iModify = sector.iModify, iModifyLimit = sector.iModify + sector.cModify;
|
||||
while (iModify < iModifyLimit) {
|
||||
|
|
@ -1443,6 +1443,7 @@ Disk.prototype.restore = function(deltas)
|
|||
var mods = mod[m++];
|
||||
var iModifyLimit = iModify + mods.length;
|
||||
var sector = this.aDiskData[iCylinder][iHead][iSector];
|
||||
if (!sector) continue;
|
||||
/*
|
||||
* Since write() now deals with empty/partial sectors, we no longer need to completely "inflate" the sector prior
|
||||
* to applying modifications. So let's just make sure that the sector is "inflated" up to iModify.
|
||||
|
|
|
|||
|
|
@ -812,7 +812,10 @@ X86CPU.prototype.resetRegs = function()
|
|||
* at both 0x0F0000 and 0xFF0000; see the ROM component's "alias" parameter).
|
||||
*/
|
||||
if (this.model >= X86.MODEL_80286) {
|
||||
this.addrGDT = this.addrGDTLimit = 0; // GDTR
|
||||
/*
|
||||
* TODO: Verify what the 80286 actually sets addrGDT and addrGDTLimit to on reset (or if it leaves them alone).
|
||||
*/
|
||||
this.addrGDT = 0; this.addrGDTLimit = 0xFFFF; // GDTR
|
||||
this.segLDT = new X86Seg(this, "LDT", true); // LDTR
|
||||
this.segTSS = new X86Seg(this, "TSS", true); // TR
|
||||
this.segVER = new X86Seg(this, "VER", true); // a scratch segment register for VERR and VERW instructions
|
||||
|
|
|
|||
|
|
@ -210,9 +210,44 @@ var X86Op0F = {
|
|||
if (this.regEA < 0) {
|
||||
X86Help.opInvalid.call(this);
|
||||
} else {
|
||||
this.setWord(this.regEA + 2, this.addrGDT);
|
||||
this.setByte(this.regEA + 4, this.addrGDT >> 16);
|
||||
/*
|
||||
* We don't need to setWord() the first word of the operand, because the ModRM group decoder that calls
|
||||
* us does that automatically with the value we return (dst).
|
||||
*/
|
||||
dst = this.addrGDTLimit - this.addrGDT;
|
||||
this.setWord(this.regEA + 2, this.addrGDT);
|
||||
/*
|
||||
* We previously left the 6th byte of the target operand "undefined". But it turns out we have to set
|
||||
* it to *something*, because there's processor detection in PC-DOS 7.0 (at least in the SETUP portion)
|
||||
* that looks like this:
|
||||
*
|
||||
* 145E:4B84 9C PUSHF
|
||||
* 145E:4B85 55 PUSH BP
|
||||
* 145E:4B86 8BEC MOV BP,SP
|
||||
* 145E:4B88 B80000 MOV AX,0000
|
||||
* 145E:4B8B 50 PUSH AX
|
||||
* 145E:4B8C 9D POPF
|
||||
* 145E:4B8D 9C PUSHF
|
||||
* 145E:4B8E 58 POP AX
|
||||
* 145E:4B8F 2500F0 AND AX,F000
|
||||
* 145E:4B92 3D00F0 CMP AX,F000
|
||||
* 145E:4B95 7511 JNZ 4BA8
|
||||
* 145E:4BA8 C8060000 ENTER 0006,00
|
||||
* 145E:4BAC 0F0146FA SGDT [BP-06]
|
||||
* 145E:4BB0 807EFFFF CMP [BP-01],FF
|
||||
* 145E:4BB4 C9 LEAVE
|
||||
* 145E:4BB5 BA8603 MOV DX,0386
|
||||
* 145E:4BB8 7503 JNZ 4BBD
|
||||
* 145E:4BBA BA8602 MOV DX,0286
|
||||
* 145E:4BBD 89163004 MOV [0430],DX
|
||||
* 145E:4BC1 5D POP BP
|
||||
* 145E:4BC2 9D POPF
|
||||
* 145E:4BC3 CB RETF
|
||||
*
|
||||
* This code is expecting SGDT on an 80286 to set the 6th "undefined" byte to 0xFF. So we use setWord()
|
||||
* instead of setByte() and force the upper byte to 0xFF. TODO: Remove the 0xFF00 on post-80286 processors.
|
||||
*/
|
||||
this.setWord(this.regEA + 4, 0xFF00 | (this.addrGDT >> 16));
|
||||
this.nStepCycles -= 11;
|
||||
}
|
||||
return dst;
|
||||
|
|
@ -227,9 +262,17 @@ var X86Op0F = {
|
|||
if (this.regEA < 0) {
|
||||
X86Help.opInvalid.call(this);
|
||||
} else {
|
||||
this.setWord(this.regEA + 2, this.addrIDT);
|
||||
this.setByte(this.regEA + 4, this.addrIDT >> 16);
|
||||
/*
|
||||
* We don't need to setWord() the first word of the operand, because the ModRM group decoder that calls
|
||||
* us does that automatically with the value we return (dst).
|
||||
*/
|
||||
dst = this.addrIDTLimit - this.addrIDT;
|
||||
this.setWord(this.regEA + 2, this.addrIDT);
|
||||
/*
|
||||
* As with SGDT, the 6th byte is technically "undefined" on an 80286, but given that SGDT now sets it to 0xFF,
|
||||
* we mimic SGDT.
|
||||
*/
|
||||
this.setWord(this.regEA + 4, 0xFF00 | (this.addrIDT >> 16));
|
||||
this.nStepCycles -= 12;
|
||||
}
|
||||
return dst;
|
||||
|
|
|
|||
|
|
@ -31,13 +31,13 @@ Xa.prototype={Mh:function(a){D(this.X,this.X.Hg)&&!a&&this.X.message("attempt to
|
|||
null:this.ra},restore:function(a){return this.ia?null===a:this.Cm==a.length<<2?(this.ra=a,this.lb=!0):!1},Qe:function(a,b){a||(a=[]);void 0===b&&(b=!0);sb(this,a,b);tb(this,a,b)},Vd:function(a,b){b?0===this.tk++&&tb(this,ub):0===this.sk++&&sb(this,ub)}};function wb(a,b){b?0===--a.tk&&(a.Dc=a.oh?a.yf:a.Cg,a.lm=a.oh?a.yf:a.ak):0===--a.sk&&(a.sc=a.ug,a.Zl=a.Sj)}function Wa(a,b,c,d,e){a.S=b;a.X=c;a.Wd=d;a.sk=a.tk=0;a.X&&xb(a.X,d,e)}
|
||||
function tb(a,b,c){a.Dc=b[2]&&!a.oh?b[2]:a.yf;a.lm=b[3]&&!a.oh?b[3]:a.yf;c&&(a.Cg=b[2]?b[2]:a.yf,a.ak=b[3]?b[3]:a.yf)}function sb(a,b,c){a.sc=b[0]?b[0]:a.Mh;a.Zl=b[1]?b[1]:a.Mh;c&&(a.ug=b[0]?b[0]:a.Mh,a.Sj=b[1]?b[1]:a.Mh)}var pb=[Xa.prototype.ip,Xa.prototype.kp,Xa.prototype.sp,Xa.prototype.up],ub=[Xa.prototype.jp,Xa.prototype.lp,Xa.prototype.tp,Xa.prototype.vp];
|
||||
function yb(a,b){x.call(this,"CPU",a,yb);var c=a.multiplier||1;this.Hd=a.cycles||b;this.Gd=c;this.yh=Math.round(this.Hd/1E4)/100;this.He=this.yh*this.Gd;this.Ob=this.Nb=!1;this.xi=a.autoStart;c=Fa.autostart;void 0!==c&&(this.xi="true"==c?!0:"false"==c?!1:null);this.df=!1;this.eg=this.nf=0;this.gg=a.csStart;this.mf=a.csInterval;this.of=a.csStop;var d=this;this.mo=function(){d.Oe()};this.Ta()}y(x,yb);k=yb.prototype;
|
||||
k.oc=function(a,b,c,d){this.na=b;this.X=d;this.Da=a;var e=C(a,"Video");e&&(this.si=function(){zb(e)},this.Md=function(){e.Md()});this.ka=C(a,"ChipSet");this.Ta()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.ac=function(a,b){if(!b){if(a&&this.restore){Ab(this);if(!this.restore(a))return!1;Bb(this)}else this.reset();this.X?this.X.On():this.ca("No debugger detected")}this.Nb=!0;!Cb(this)&&this.X&&Db(this.X);Eb(this);return!0};
|
||||
k.Wb=function(a){this.Nb=!1;return a&&this.save?this.save():!0};function Cb(a){return!0===a.xi||null===a.xi&&!a.X&&void 0===a.sa.run?(a.Oe(),!0):!1}k.Md=function(){};k.Gk=function(){return 0};function Bb(a){void 0===a.gg&&(a.gg=0);void 0===a.mf&&(a.mf=-1);void 0===a.of&&(a.of=-1);a.df=0<=a.gg&&0<a.mf;a.df&&(a.eg=0,a.nf=a.gg-a.Le)}
|
||||
k.oc=function(a,b,c,d){this.na=b;this.X=d;this.Da=a;var e=C(a,"Video");e&&(this.si=function(){zb(e)},this.Nd=function(){e.Nd()});this.ka=C(a,"ChipSet");this.Ta()};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};k.ac=function(a,b){if(!b){if(a&&this.restore){Ab(this);if(!this.restore(a))return!1;Bb(this)}else this.reset();this.X?this.X.On():this.ca("No debugger detected")}this.Nb=!0;!Cb(this)&&this.X&&Db(this.X);Eb(this);return!0};
|
||||
k.Wb=function(a){this.Nb=!1;return a&&this.save?this.save():!0};function Cb(a){return!0===a.xi||null===a.xi&&!a.X&&void 0===a.sa.run?(a.Oe(),!0):!1}k.Nd=function(){};k.Gk=function(){return 0};function Bb(a){void 0===a.gg&&(a.gg=0);void 0===a.mf&&(a.mf=-1);void 0===a.of&&(a.of=-1);a.df=0<=a.gg&&0<a.mf;a.df&&(a.eg=0,a.nf=a.gg-a.Le)}
|
||||
function Fb(a,b){if(a.df){var c=!1;a.eg=a.eg+a.Gk()|0;a.nf-=b;0>=a.nf&&(a.nf+=a.mf,c=!0);0<=a.of&&a.of<=F(a)&&(a.mf=a.of=-1,Bb(a),a.Ab(),c=!0);c&&a.ca(F(a)+" cycles: checksum="+p(a.eg))}}function G(a,b,c,d){void 0!==a.sa[b]&&(void 0===d&&(d=4),void 0===c&&(Sa(a,"Register "+b+" is invalid"),a.Ab()),c=p(c,d),a.sa[b].innerHTML!=c&&(a.sa[b].innerHTML=c))}k.gh=function(){};k.si=function(){};
|
||||
k.xb=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.sa[c]=d;d.onclick=function(){e.Ob?e.Ab(!0):e.Oe(!0)};a=!0;break;case "reset":this.sa[c]=d;d.onclick=function(){e.Da&&Gb(e.Da)};a=!0;break;case "speed":this.sa[c]=d;a=!0;break;case "setSpeed":this.sa[c]=d,d.onclick=function(){Hb(e,e.Gd<<1,!0)},d.innerHTML=this.He.toFixed(2)+"Mhz",a=!0}return a};function Ib(a,b,c){a.Le+=b;c&&(a.Oc=a.A=0)}
|
||||
function Jb(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.Gd&&a.ld&&(d=a.ld/a.yh);a.Nk=Math.round(1E3/30);a.co=Math.floor(a.Hd/c*d);a.Vi=Math.floor(a.Hd/30*d);a.Rk=Math.floor(a.Hd/60*d);a.Qk=Math.floor(a.Hd/2*d);b||(a.pf=a.Vi,a.ig=a.Rk,a.hg=a.Qk);a.Lj=0}function F(a,b){var c=a.Le+a.ke+a.Oc-a.A;b&&1<a.Gd&&a.ld>a.yh&&(c=Math.round(c/a.Gd));return c}function Ab(a){a.ld=0;a.Bh=1;a.Le=a.ke=a.Oc=a.A=0;Bb(a);Hb(a,1)}
|
||||
function Hb(a,b,c){void 0!==b&&(0.8>a.ld/a.He&&(b=1),a.Gd=b,b=a.yh*a.Gd,a.He!=b&&(a.He=b,b=a.He.toFixed(2)+"Mhz",a.sa.setSpeed&&(a.sa.setSpeed.innerHTML=b),a.ca("target speed: "+b)),c&&a.Md());Ib(a,a.ke);a.ke=0;a.lf=oa();a.Ie=0;Jb(a)}
|
||||
k.Oe=function(a){if(Pa(this,!0)){this.Ob||(Hb(this),this.Da&&this.Da.start(this.lf,F(this)),this.Ob=!0,this.ka&&Kb(this.ka),this.sa.run&&(this.sa.run.innerHTML="Halt"),a&&this.Md());this.Lj>=this.Hd&&Jb(this,!0);this.jg=0;this.zh=oa();this.Ie&&(a=this.zh-this.Ie,a>this.Nk&&(this.lf+=a,this.lf>this.zh&&(this.lf=this.zh)));try{do{this.xf(this.df?1:Math.round(this.co/this.Bh));var b=this.Oc-this.A;this.ke+=b;this.jg+=b;Ib(this,0,!0);Fb(this,b);this.ig-=b;0>=this.ig&&(this.ig+=this.Rk,this.si());this.hg-=
|
||||
function Hb(a,b,c){void 0!==b&&(0.8>a.ld/a.He&&(b=1),a.Gd=b,b=a.yh*a.Gd,a.He!=b&&(a.He=b,b=a.He.toFixed(2)+"Mhz",a.sa.setSpeed&&(a.sa.setSpeed.innerHTML=b),a.ca("target speed: "+b)),c&&a.Nd());Ib(a,a.ke);a.ke=0;a.lf=oa();a.Ie=0;Jb(a)}
|
||||
k.Oe=function(a){if(Pa(this,!0)){this.Ob||(Hb(this),this.Da&&this.Da.start(this.lf,F(this)),this.Ob=!0,this.ka&&Kb(this.ka),this.sa.run&&(this.sa.run.innerHTML="Halt"),a&&this.Nd());this.Lj>=this.Hd&&Jb(this,!0);this.jg=0;this.zh=oa();this.Ie&&(a=this.zh-this.Ie,a>this.Nk&&(this.lf+=a,this.lf>this.zh&&(this.lf=this.zh)));try{do{this.xf(this.df?1:Math.round(this.co/this.Bh));var b=this.Oc-this.A;this.ke+=b;this.jg+=b;Ib(this,0,!0);Fb(this,b);this.ig-=b;0>=this.ig&&(this.ig+=this.Rk,this.si());this.hg-=
|
||||
b;0>=this.hg&&(this.hg+=this.Qk,this.gh());this.pf-=b;if(0>=this.pf){this.pf+=this.Vi;break}}while(this.Ob)}catch(c){this.Ab();Eb(this);this.Da&&this.Da.stop(oa(),F(this));Pa(this,!1);Sa(this,c.message);return}b=setTimeout;a=this.mo;this.Ie=oa();var d=this.Nk;this.jg&&(d=Math.round(d*this.jg/this.Vi));var d=d-(this.Ie-this.zh),e=this.Ie-this.lf;e&&(this.ld=Math.round(this.ke/(10*e))/100,864E5<=e&&(this.Le=0,this.ka&&Lb(this.ka,!0),Hb(this)));if(0>d||this.ld<this.He)d=0;this.Lj+=this.jg;this.Ie+=d;
|
||||
b(a,d)}else Eb(this),this.Da&&this.Da.stop(oa(),F(this))};k.Ab=function(a){Qa(this,!0);this.Oc-=this.A;this.A=0;Ib(this,this.ke);this.ke=0;this.Ob&&(this.Ob=!1,this.ka&&Kb(this.ka),this.sa.run&&(this.sa.run.innerHTML="Run"));this.mh=a};k.xf=function(){return 0};function Eb(a){a.si();a.gh()}
|
||||
var Mb=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,
|
||||
|
|
@ -52,7 +52,7 @@ bc,this.Sa[97]=cc,this.Sa[98]=dc,this.Sa[99]=ac,this.Sa[100]=ac,this.Sa[101]=ac,
|
|||
14,this.Uk=16,this.Tb=2,this.hc=this.sb=7,this.Gh=0,this.Yk=7,this.$k=13,this.bl=7,this.al=11,this.Zk=16,this.Wk=3,this.ej=6,this.Xk=2,this.Vk=13,this.fj=this.gj=5,this.ng=2,this.mg=7,this.pl=23,this.ql=0,this.rl=1,this.sl=3,this.ol=17,this.hj=7,this.ul=11,this.Ub=7,this.Vb=3,this.wl=7,this.vl=11,this.tl=15,this.Cb=2,this.xl=3,this.ij=7,this.zl=this.nj=this.yl=8,this.oj=this.mj=4,this.El=2,this.Dl=3,this.Bl=5,this.Cl=2,this.Al=3,this.pj=5,this.qj=3,this.dl=14,this.fl=22,this.cl=17,this.el=25,this.hl=
|
||||
17,this.jl=25,this.gl=20,this.il=28,this.Gl=13,this.Il=21,this.Fl=16,this.Hl=24,this.ll=13,this.nl=21,this.kl=16,this.ml=24,this.pg=2,this.og=7,this.uj=this.vj=5,this.Jl=19,this.Kl=this.ic=5,this.Ll=17,this.pc=3,this.Ml=5,this.qg=3,this.Pb=0,this.bj=8,this.cj=5,this.dj=9,this.kj=this.jj=5,this.lj=4,this.sj=this.rj=5,this.tj=4,this.wj=7,this.xj=5,this.yj=8,this.Cj=3,this.Dj=4,this.Ej=3,this.Ql=this.Nl=11,this.Pl=this.Ol=15,this.Rl=7,this.Aj=5,this.zj=8,this.Bj=0,this.Hj=2,this.rg=6,this.Gj=3,this.Fj=
|
||||
6,this.Jj=3,this.Sl=this.Ij=5));this.Ng=[];this.Og=[];this.Oc=this.dh=0;this.mh=this.Bi=!1;this.Aa=[];this.ve=this.Ib=this.rb=this.eb=this.ze=0;this.T=this.Mm;this.U=this.Nm;this.N=this.Un;this.O=this.Vn;this.Q=this.qp;this.R=this.rp;xc(this)}y(yb,Zb);k=Zb.prototype;k.Oi=function(a,b,c,d,e){this.Aa=a;this.ve=this.Ib=b;this.rb=c;this.eb=d;this.ze=e};k.reset=function(){this.Ob&&this.Ab();xc(this);Ab(this);this.jd=!1};
|
||||
function xc(a){a.G=0;a.B=0;a.I=0;a.J=0;a.Y=0;a.H=0;a.F=0;a.D=0;a.ad=65520;a.dd=0;a.ue=1023;a.Jc={Nj:0,oa:0,ab:0,xh:-1};a.ua=new Nb(a,"CS");a.Eb=new Nb(a,"DS");a.wb=new Nb(a,"SS");a.Za=new Nb(a,"ES");a.im=new Nb(a,"ZERO");yc(a,0,65535);80286<=a.Fa&&(a.Sc=a.Ze=0,a.Ld=new Nb(a,"LDT",!0),a.Bg=new Nb(a,"TSS",!0),a.Qb=new Nb(a,"VER",!0),yc(a,65520,61440),a.ua.Ua=16711680);zc(a,0);Ac(a);a.mb=0;a.Db=a.vg=-1;a.Wg=0;a.ha=a.Ka=-1;a.C=a.Eb;a.M=a.wb;a.$=a.wa=0}
|
||||
function xc(a){a.G=0;a.B=0;a.I=0;a.J=0;a.Y=0;a.H=0;a.F=0;a.D=0;a.ad=65520;a.dd=0;a.ue=1023;a.Jc={Nj:0,oa:0,ab:0,xh:-1};a.ua=new Nb(a,"CS");a.Eb=new Nb(a,"DS");a.wb=new Nb(a,"SS");a.Za=new Nb(a,"ES");a.im=new Nb(a,"ZERO");yc(a,0,65535);80286<=a.Fa&&(a.Sc=0,a.Ze=65535,a.Ld=new Nb(a,"LDT",!0),a.Bg=new Nb(a,"TSS",!0),a.Qb=new Nb(a,"VER",!0),yc(a,65520,61440),a.ua.Ua=16711680);zc(a,0);Ac(a);a.mb=0;a.Db=a.vg=-1;a.Wg=0;a.ha=a.Ka=-1;a.C=a.Eb;a.M=a.wb;a.$=a.wa=0}
|
||||
k.Gk=function(){var a=this.G+this.B+this.I+this.J+this.Y+this.H+this.F+this.D|0;return a=a+this.qa+this.ua.oa+this.Eb.oa+this.wb.oa+this.Za.oa+Bc(this)|0};function Cc(a,b,c,d){void 0!==d&&(void 0===a.Ng[b]&&(a.Ng[b]=[]),a.Ng[b].push([c,d]))}function Dc(a,b){var c=a.Ng[b];if(void 0!==c)for(var d=0;d<c.length;d++){if(!c[d][1].call(c[d][0],a.Ba))return!1}else a.Bi&&D(a.X,a.X.Gg)&&(Ec(a.X,b,a.Ba),Fc(a,a.Ba,function(a,c){return function(d){Gc(a.X,b,d,F(a)-c)}}(a,F(a))));return!0}
|
||||
function Fc(a,b,c){void 0!==c&&(null==a.Og[b]&&a.dh++,a.Og[b]=c)}function Hc(a,b){var c=a.Og[b];null!=c&&(c(--a.dh),delete a.Og[b])}function Ac(a,b){void 0===b&&(b=!!(a.ad&1));Ic=b?Jc:Kc;Ob(a.ua,b);Ob(a.Eb,b);Ob(a.wb,b);Ob(a.Za,b)}
|
||||
k.save=function(){var a=new H(this);a.set(0,[this.G,this.B,this.I,this.J,this.Y,this.H,this.F,this.D]);a.set(1,[this.qa,this.ua.save(),this.Eb.save(),this.wb.save(),this.Za.save(),Bc(this),null!=this.Sc?[this.ad,this.Sc,this.Ze,this.dd,this.ue,this.Ld.save(),this.Bg.save()]:null]);a.set(2,[this.C.yg,this.M.yg,this.$,this.wa,this.mb,this.ha,this.Ka]);a.set(3,[this.Bh,this.Le,this.Gd]);a.set(4,fb(this.na));return a.data()};
|
||||
|
|
@ -63,9 +63,9 @@ function Nc(a,b){a.Ba=a.ua.load(b)+a.qa;a.$|=a.Lg}function Oc(a,b){a.Eb.load(b);
|
|||
function Zc(a){return(a.ja^a.ma^a.ja>>1)&a.da>>1?2048:0}function $c(a){a.Z&=~a.da}function ad(a){a.ma=a.ja&16|a.ma&-17}function bd(a){a.Z|=a.da-1}function cd(a){Yc(a)&&(a.ja^=a.da>>1|a.da>>2,a.ma^=32896)}function dd(a){a.ja&=~a.da;a.ma=a.ja&32896|a.ma&-32897}function ed(a){a.Z|=a.da}function fd(a){a.ma=~(a.ja&16)&16|a.ma&-17}function gd(a){a.Z&=~(a.da-1)}function hd(a){Yc(a)||(a.ja^=a.da>>1|a.da>>2,a.ma^=32896)}function id(a){a.ja|=a.da;a.ma=a.ja&32896|a.ma&-32897}
|
||||
function Bc(a){return a.xa&-2262|Uc(a)|Vc(a)|Wc(a)|Xc(a)|Yc(a)|Zc(a)}function zc(a,b){a.da=256;a.Z=a.ja=a.ma=0;b&1&&ed(a);b&4||(a.ja|=1);b&16&&(a.ma|=16);b&64||bd(a);b&128&&hd(a);b&2048&&id(a);a.xa=a.xa&-1793|b&1792|a.gk;a.xa&256&&(a.mb|=2,a.$|=4)}
|
||||
k.xb=function(a,b,c,d){var e=!1;switch(c){case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "CS":case "DS":case "SS":case "ES":case "IP":case "PC":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "O":this.sa[c]=d;e=!0;break;default:e=yb.prototype.xb.call(this,a,b,c,d)}return e};k.ub=function(a){return this.Aa[(a&this.Ib)>>this.rb].sc(a&this.eb)};
|
||||
k.Ia=function(a){var b=a&this.eb;a=(a&this.Ib)>>this.rb;this.A-=this.Mj;return b!=this.eb?this.Aa[a].Zl(b):this.Aa[a++].sc(b)|this.Aa[a&this.ze].sc(0)<<8};k.bd=function(a,b){this.Aa[(a&this.Ib)>>this.rb].Dc(a&this.eb,b&255)};k.Nd=function(a,b){var c=a&this.eb,d=(a&this.Ib)>>this.rb;this.A-=this.Mj;c!=this.eb?this.Aa[d].lm(c,b&65535):(this.Aa[d++].Dc(c,b&255),this.Aa[d&this.ze].Dc(0,b>>8&255))};k.Mm=function(a,b){this.Ag=a;this.ha=a.Wc(this.sg=b,0);return this.$&1?0:this.ub(this.ha)};
|
||||
k.Nm=function(a,b){this.Ag=a;this.ha=a.Wc(this.sg=b,1);return this.$&1?0:this.Ia(this.ha)};k.Un=function(a,b){this.Ag=a;this.Ka=this.ha=a.Wc(this.sg=b,0);return this.$&1?0:this.ub(this.ha)};k.Vn=function(a,b){this.Ag=a;this.Ka=this.ha=a.Wc(this.sg=b,1);return this.$&1?0:this.Ia(this.ha)};k.qp=function(a){this.$&2||this.bd(this.Ag.Yb(this.sg,1),a)};k.rp=function(a){this.$&2||this.Nd(this.Ag.Yb(this.sg,2),a)};k.ea=function(){var a=this.ub(this.Ba);this.Ba=this.ua.Ua+(this.qa=this.qa+1&65535);return a};
|
||||
k.L=function(){var a=this.ub(this.Ba)<<24>>24;this.Ba=this.ua.Ua+(this.qa=this.qa+1&65535);return a&65535};k.K=function(){var a=this.Ia(this.Ba);this.Ba=this.ua.Ua+(this.qa=this.qa+2&65535);return a};k.Ja=function(){var a=this.Y;this.Y=this.Y+2&65535;return this.Ia(this.wb.Wc(a,1))};function K(a,b){var c=a.Y=a.Y-2&65535;a.Nd(a.wb.Yb(c,1),b)}
|
||||
k.Ia=function(a){var b=a&this.eb;a=(a&this.Ib)>>this.rb;this.A-=this.Mj;return b!=this.eb?this.Aa[a].Zl(b):this.Aa[a++].sc(b)|this.Aa[a&this.ze].sc(0)<<8};k.Md=function(a,b){this.Aa[(a&this.Ib)>>this.rb].Dc(a&this.eb,b&255)};k.bd=function(a,b){var c=a&this.eb,d=(a&this.Ib)>>this.rb;this.A-=this.Mj;c!=this.eb?this.Aa[d].lm(c,b&65535):(this.Aa[d++].Dc(c,b&255),this.Aa[d&this.ze].Dc(0,b>>8&255))};k.Mm=function(a,b){this.Ag=a;this.ha=a.Wc(this.sg=b,0);return this.$&1?0:this.ub(this.ha)};
|
||||
k.Nm=function(a,b){this.Ag=a;this.ha=a.Wc(this.sg=b,1);return this.$&1?0:this.Ia(this.ha)};k.Un=function(a,b){this.Ag=a;this.Ka=this.ha=a.Wc(this.sg=b,0);return this.$&1?0:this.ub(this.ha)};k.Vn=function(a,b){this.Ag=a;this.Ka=this.ha=a.Wc(this.sg=b,1);return this.$&1?0:this.Ia(this.ha)};k.qp=function(a){this.$&2||this.Md(this.Ag.Yb(this.sg,1),a)};k.rp=function(a){this.$&2||this.bd(this.Ag.Yb(this.sg,2),a)};k.ea=function(){var a=this.ub(this.Ba);this.Ba=this.ua.Ua+(this.qa=this.qa+1&65535);return a};
|
||||
k.L=function(){var a=this.ub(this.Ba)<<24>>24;this.Ba=this.ua.Ua+(this.qa=this.qa+1&65535);return a&65535};k.K=function(){var a=this.Ia(this.Ba);this.Ba=this.ua.Ua+(this.qa=this.qa+2&65535);return a};k.Ja=function(){var a=this.Y;this.Y=this.Y+2&65535;return this.Ia(this.wb.Wc(a,1))};function K(a,b){var c=a.Y=a.Y-2&65535;a.bd(a.wb.Yb(c,1),b)}
|
||||
k.gh=function(){G(this,"AX",this.G);G(this,"BX",this.B);G(this,"CX",this.I);G(this,"DX",this.J);G(this,"SP",this.Y);G(this,"BP",this.H);G(this,"SI",this.F);G(this,"DI",this.D);G(this,"CS",this.ua.oa);G(this,"DS",this.Eb.oa);G(this,"SS",this.wb.oa);G(this,"ES",this.Za.oa);G(this,"IP",this.qa);var a=Bc(this);G(this,"PS",a);G(this,"C",a&1?1:0,1);G(this,"P",a&4?1:0,1);G(this,"A",a&16?1:0,1);G(this,"Z",a&64?1:0,1);G(this,"S",a&128?1:0,1);G(this,"T",a&256?1:0,1);G(this,"I",a&512?1:0,1);G(this,"D",a&1024?
|
||||
1:0,1);G(this,"O",a&2048?1:0,1);this.sa.speed&&(this.sa.speed.innerHTML=this.Ob&&this.ld?this.ld.toFixed(2)+"Mhz":"Stopped")};
|
||||
k.xf=function(a){this.mh=!0;this.Bi=a&&this.X&&jd(this.X);this.Oc=this.A=a;this.ka&&Lb(this.ka);a||!this.X||D(this.X,this.X.Ue)||(this.$|=4);do{var b=this.$&240;if(b)this.wa|=b;else if(this.Jh=this.Ba,this.ha=this.Ka=-1,this.C=this.Eb,this.M=this.wb,this.wa=this.$&256,this.mb){a:{if(!(this.$&4))if(this.mb&1&&this.xa&512){if(b=kd(this.ka),-1<=b&&(this.mb&=-2,0<=b)){this.mb&=-5;ld.call(this,b,null,11);b=!0;break a}}else if(this.mb&2){this.mb&=-3;ld.call(this,1,null,11);b=!0;break a}if(b=this.mb&8){for(var b=
|
||||
|
|
@ -373,11 +373,11 @@ b.call(this))},function(a,b){this.B=a[6].call(this,this.B,b.call(this))},functio
|
|||
b){this.B=a[7].call(this,this.B,b.call(this))},function(a,b){this.Y=a[7].call(this,this.Y,b.call(this))},function(a,b){this.H=a[7].call(this,this.H,b.call(this))},function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}],dh=[function(){var a=this.ea();16>(a&56)&&(this.$|=1);bh[a].call(this,Ic,Wd)},function(){var a=this.ea();a&16||(this.$|=1);bh[a].call(this,ch,Wd)},function(){N[this.ea()].call(this,xe)},function(){N[this.ea()].call(this,ye)},
|
||||
M,M,M,M,M,M,M,ac,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,
|
||||
M,M],Jc=[function(){this.A-=2+(0>this.ha?0:1);return this.Ld.oa},function(){this.A-=2+(0>this.ha?0:1);return this.Bg.oa},function(a){this.$|=2;this.Ld.load(a);this.A-=17+(0>this.ha?0:2);return a},function(a){this.$|=2;this.Bg.load(a);this.A-=17+(0>this.ha?0:2);return a},function(a){this.$|=2;this.A-=14+(0>this.ha?0:2);if(0<=this.Qb.load(a,!0)&&2048!=(this.Qb.ab&2560)&&(3072==(this.Qb.ab&3072)||this.Qb.Mc>=(this.ua.oa&3)&&this.Qb.Mc>=(a&3)))return gd(this),a;bd(this);return a},function(a){this.$|=
|
||||
2;this.A-=14+(0>this.ha?0:2);if(0<=this.Qb.load(a,!0)&&512==(this.Qb.ab&2560)&&this.Qb.Mc>=(this.ua.oa&3)&&this.Qb.Mc>=(a&3))return gd(this),a;bd(this);return a},L,L],Kc=[sc,sc,sc,sc,sc,sc,L,L],Ic=Kc,ch=[function(a){0>this.ha?ac.call(this):(this.Nd(this.ha+2,this.Sc),this.bd(this.ha+4,this.Sc>>16),a=this.Ze-this.Sc,this.A-=11);return a},function(a){0>this.ha?ac.call(this):(this.Nd(this.ha+2,this.dd),this.bd(this.ha+4,this.dd>>16),a=this.ue-this.dd,this.A-=12);return a},function(a){0>this.ha?ac.call(this):
|
||||
(this.Sc=this.Ia(this.ha+2)|this.ub(this.ha+4)<<16,this.Ze=this.Sc+a,this.$|=2,this.A-=11);return a},function(a){0>this.ha?ac.call(this):(this.dd=this.Ia(this.ha+2)|this.ub(this.ha+4)<<16,this.ue=this.dd+a,this.$|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ha?0:1);return this.ad},L,function(a){this.ad=this.ad&65520|a&-65521;this.A-=3+(0>this.ha?0:3);this.ad&1&&Ac(this,!0);this.$|=2;return a},L];function uc(){dh[this.ea()].call(this)}function wc(){K(this,this.Y);this.A-=this.pc}
|
||||
function bc(){var a=this.Y;K(this,this.G);K(this,this.I);K(this,this.J);K(this,this.B);K(this,a);K(this,this.H);K(this,this.F);K(this,this.D);this.A-=this.Ll}function cc(){this.D=this.Ja();this.F=this.Ja();this.H=this.Ja();this.Y+=2;this.B=this.Ja();this.J=this.Ja();this.I=this.Ja();this.G=this.Ja();this.A-=this.Jl}function dc(){N[this.ea()].call(this,ve)}function vc(){Zg[this.ea()].call(this,we)}function ec(){K(this,this.K());this.A-=this.pc}function fc(){N[this.ea()].call(this,qe)}
|
||||
function gc(){K(this,this.ea());this.A-=this.pc}function hc(){N[this.ea()].call(this,pe)}function ic(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(a--){var d=jb(this.na,this.J,this.Ba-b-1);this.bd(this.Za.Yb(this.D,0),d);this.D=this.D+(this.xa&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}}
|
||||
function jc(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(a--){var d=this.Ba-b-1,d=jb(this.na,this.J,d)|jb(this.na,this.J,d)<<8;this.Nd(this.Za.Yb(this.D,1),d);this.D=this.D+(this.xa&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}}
|
||||
2;this.A-=14+(0>this.ha?0:2);if(0<=this.Qb.load(a,!0)&&512==(this.Qb.ab&2560)&&this.Qb.Mc>=(this.ua.oa&3)&&this.Qb.Mc>=(a&3))return gd(this),a;bd(this);return a},L,L],Kc=[sc,sc,sc,sc,sc,sc,L,L],Ic=Kc,ch=[function(a){0>this.ha?ac.call(this):(a=this.Ze-this.Sc,this.bd(this.ha+2,this.Sc),this.bd(this.ha+4,65280|this.Sc>>16),this.A-=11);return a},function(a){0>this.ha?ac.call(this):(a=this.ue-this.dd,this.bd(this.ha+2,this.dd),this.bd(this.ha+4,65280|this.dd>>16),this.A-=12);return a},function(a){0>this.ha?
|
||||
ac.call(this):(this.Sc=this.Ia(this.ha+2)|this.ub(this.ha+4)<<16,this.Ze=this.Sc+a,this.$|=2,this.A-=11);return a},function(a){0>this.ha?ac.call(this):(this.dd=this.Ia(this.ha+2)|this.ub(this.ha+4)<<16,this.ue=this.dd+a,this.$|=2,this.A-=12);return a},function(){this.A-=2+(0>this.ha?0:1);return this.ad},L,function(a){this.ad=this.ad&65520|a&-65521;this.A-=3+(0>this.ha?0:3);this.ad&1&&Ac(this,!0);this.$|=2;return a},L];function uc(){dh[this.ea()].call(this)}
|
||||
function wc(){K(this,this.Y);this.A-=this.pc}function bc(){var a=this.Y;K(this,this.G);K(this,this.I);K(this,this.J);K(this,this.B);K(this,a);K(this,this.H);K(this,this.F);K(this,this.D);this.A-=this.Ll}function cc(){this.D=this.Ja();this.F=this.Ja();this.H=this.Ja();this.Y+=2;this.B=this.Ja();this.J=this.Ja();this.I=this.Ja();this.G=this.Ja();this.A-=this.Jl}function dc(){N[this.ea()].call(this,ve)}function vc(){Zg[this.ea()].call(this,we)}function ec(){K(this,this.K());this.A-=this.pc}
|
||||
function fc(){N[this.ea()].call(this,qe)}function gc(){K(this,this.ea());this.A-=this.pc}function hc(){N[this.ea()].call(this,pe)}function ic(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(a--){var d=jb(this.na,this.J,this.Ba-b-1);this.Md(this.Za.Yb(this.D,0),d);this.D=this.D+(this.xa&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}}
|
||||
function jc(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(a--){var d=this.Ba-b-1,d=jb(this.na,this.J,d)|jb(this.na,this.J,d)<<8;this.bd(this.Za.Yb(this.D,1),d);this.D=this.D+(this.xa&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}}
|
||||
function kc(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(a--){var d=this.ub(this.Eb.Wc(this.F,0));this.F=this.F+(this.xa&1024?-1:1)&65535;this.A-=c;this.I-=b;nb(this.na,this.J,d,this.Ba-b-1);a&&(J(this,-2),this.$|=256)}}
|
||||
function lc(){var a=1,b=0,c=5;this.wa&192&&(a=this.I,b=1,this.wa&256&&(c=4));if(a--){var d=this.Ia(this.Eb.Wc(this.F,1));this.F=this.F+(this.xa&1024?-2:2)&65535;this.A-=c;this.I-=b;b=this.Ba-b-1;nb(this.na,this.J,d&255,b);nb(this.na,this.J,d>>8,b);a&&(J(this,-2),this.$|=256)}}function eh(){var a=this.L();Zc(this)?(I(this,this.qa+a),this.A-=this.Ub):this.A-=this.Vb}function fh(){var a=this.L();Zc(this)?this.A-=this.Vb:(I(this,this.qa+a),this.A-=this.Ub)}
|
||||
function gh(){var a=this.L();Uc(this)?(I(this,this.qa+a),this.A-=this.Ub):this.A-=this.Vb}function hh(){var a=this.L();Uc(this)?this.A-=this.Vb:(I(this,this.qa+a),this.A-=this.Ub)}function ih(){var a=this.L();Xc(this)?(I(this,this.qa+a),this.A-=this.Ub):this.A-=this.Vb}function jh(){var a=this.L();Xc(this)?this.A-=this.Vb:(I(this,this.qa+a),this.A-=this.Ub)}function kh(){var a=this.L();Uc(this)||Xc(this)?(I(this,this.qa+a),this.A-=this.Ub):this.A-=this.Vb}
|
||||
|
|
@ -404,11 +404,11 @@ be,this.K);this.A-=0>this.Ka?1:this.Gh},uh,function(){bh[this.ea()].call(this,be
|
|||
break;case 6:a=this.F;break;case 7:a=this.D}}N[b].call(this,le);switch(c){case 0:Tc(this,this.G);this.G=a;break;case 1:Nc(this,this.I);this.I=a;break;case 2:Pc(this,this.J);this.J=a;break;case 3:Oc(this,this.B);this.B=a;break;case 4:Tc(this,this.Y);this.Y=a;break;case 5:Nc(this,this.H);this.H=a;break;case 6:Pc(this,this.F);this.F=a;break;case 7:Oc(this,this.D),this.D=a}},function(){this.$|=1;bh[this.ea()].call(this,ce,this.Ja)},function(){this.A-=3},function(){var a=this.G;this.G=this.I;this.I=a;
|
||||
this.A-=3},function(){var a=this.G;this.G=this.J;this.J=a;this.A-=3},function(){var a=this.G;this.G=this.B;this.B=a;this.A-=3},function(){var a=this.G;this.G=this.Y;this.Y=a;this.A-=3},function(){var a=this.G;this.G=this.H;this.H=a;this.A-=3},function(){var a=this.G;this.G=this.F;this.F=a;this.A-=3},function(){var a=this.G;this.G=this.D;this.D=a;this.A-=3},function(){this.G=this.G<<24>>24&65535;this.A-=2},function(){this.J=this.G&32768?65535:0;this.A-=this.Xk},function(){var a=this.K(),b=this.K();
|
||||
K(this,this.ua.oa);K(this,this.qa);yc(this,a,b);this.A-=this.$k},function(){M.call(this)},function(){K(this,Bc(this));this.A-=this.pc},function(){zc(this,this.Ja());this.A-=this.ic},function(){var a=this.G>>8;a&1?ed(this):$c(this);a&4?Vc(this)||(this.ja^=1):Vc(this)&&(this.ja^=1);a&16?fd(this):ad(this);a&64?gd(this):bd(this);a&128?hd(this):cd(this);this.A-=this.Cb},function(){this.G=this.G&255|(Bc(this)&213)<<8;this.A-=this.Cb},function(){this.G=this.G&-256|this.T(this.C,this.K());this.A-=this.pj},
|
||||
function(){this.G=this.U(this.C,this.K());this.A-=this.pj},function(){var a=this.K(),b=this.G;this.bd(this.C.Yb(a,0),b);this.A-=this.qj},function(){var a=this.K(),b=this.G;this.Nd(this.C.Yb(a,1),b);this.A-=this.qj},function(){var a=1,b=0,c=this.rj;this.wa&192&&(a=this.I,b=1,c=this.tj,this.wa&256||(this.A-=this.sj));if(a--){var d=this.xa&1024?-1:1,e=this.T(this.C,this.F);this.bd(this.Za.Yb(this.D,0),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(J(this,this.wa&16?-3:-2),this.$|=
|
||||
256)}},function(){var a=1,b=0,c=this.rj;this.wa&192&&(a=this.I,b=1,c=this.tj,this.wa&256||(this.A-=this.sj));if(a--){var d=this.xa&1024?-2:2,e=this.U(this.C,this.F);this.Nd(this.Za.Yb(this.D,1),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(J(this,this.wa&16?-3:-2),this.$|=256)}},function(){var a=1,b=0,c=this.bj;this.wa&192&&(a=this.I,b=1,c=this.dj,this.wa&256||(this.A-=this.cj));if(a--){var d=this.xa&1024?-1:1,e=this.T(this.C,this.F),f=this.N(this.Za,this.D);vd.call(this,
|
||||
function(){this.G=this.U(this.C,this.K());this.A-=this.pj},function(){var a=this.K(),b=this.G;this.Md(this.C.Yb(a,0),b);this.A-=this.qj},function(){var a=this.K(),b=this.G;this.bd(this.C.Yb(a,1),b);this.A-=this.qj},function(){var a=1,b=0,c=this.rj;this.wa&192&&(a=this.I,b=1,c=this.tj,this.wa&256||(this.A-=this.sj));if(a--){var d=this.xa&1024?-1:1,e=this.T(this.C,this.F);this.Md(this.Za.Yb(this.D,0),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(J(this,this.wa&16?-3:-2),this.$|=
|
||||
256)}},function(){var a=1,b=0,c=this.rj;this.wa&192&&(a=this.I,b=1,c=this.tj,this.wa&256||(this.A-=this.sj));if(a--){var d=this.xa&1024?-2:2,e=this.U(this.C,this.F);this.bd(this.Za.Yb(this.D,1),e);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c;this.I-=b;a&&(J(this,this.wa&16?-3:-2),this.$|=256)}},function(){var a=1,b=0,c=this.bj;this.wa&192&&(a=this.I,b=1,c=this.dj,this.wa&256||(this.A-=this.cj));if(a--){var d=this.xa&1024?-1:1,e=this.T(this.C,this.F),f=this.N(this.Za,this.D);vd.call(this,
|
||||
e,f);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c-this.sb;this.I-=b;a&&Xc(this)==(this.wa&64)&&(J(this,this.wa&16?-3:-2),this.$|=256)}},function(){var a=1,b=0,c=this.bj;this.wa&192&&(a=this.I,b=1,c=this.dj,this.wa&256||(this.A-=this.cj));if(a--){var d=this.xa&1024?-2:2,e=this.U(this.C,this.F),f=this.O(this.Za,this.D);Dd.call(this,e,f);this.F=this.F+d&65535;this.D=this.D+d&65535;this.A-=c-this.sb;this.I-=b;a&&Xc(this)==(this.wa&64)&&(J(this,this.wa&16?-3:-2),this.$|=256)}},function(){this.Z=
|
||||
this.ja=this.ma=this.G&255&this.ea();this.da=256;this.A-=this.Je},function(){this.Z=this.ja=this.ma=this.G&this.K();this.da=65536;this.A-=this.Je},function(){var a=1,b=0,c=this.Cj;this.wa&192&&(a=this.I,b=1,c=this.Ej,this.wa&256||(this.A-=this.Dj));if(a--){var d=this.G;this.bd(this.Za.Yb(this.D,0),d);this.D=this.D+(this.xa&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}},function(){var a=1,b=0,c=this.Cj;this.wa&192&&(a=this.I,b=1,c=this.Ej,this.wa&256||(this.A-=this.Dj));if(a--){var d=
|
||||
this.G;this.Nd(this.Za.Yb(this.D,1),d);this.D=this.D+(this.xa&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}},function(){var a=1,b=0,c=this.jj;this.wa&192&&(a=this.I,b=1,c=this.lj,this.wa&256||(this.A-=this.kj));a--&&(this.G=this.G&-256|this.T(this.C,this.F),this.F=this.F+(this.xa&1024?-1:1)&65535,this.A-=c,this.I-=b,a&&(J(this,this.wa&16?-3:-2),this.$|=256))},function(){var a=1,b=0,c=this.jj;this.wa&192&&(a=this.I,b=1,c=this.lj,this.wa&256||(this.A-=this.kj));a--&&(this.G=this.U(this.C,
|
||||
this.ja=this.ma=this.G&255&this.ea();this.da=256;this.A-=this.Je},function(){this.Z=this.ja=this.ma=this.G&this.K();this.da=65536;this.A-=this.Je},function(){var a=1,b=0,c=this.Cj;this.wa&192&&(a=this.I,b=1,c=this.Ej,this.wa&256||(this.A-=this.Dj));if(a--){var d=this.G;this.Md(this.Za.Yb(this.D,0),d);this.D=this.D+(this.xa&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}},function(){var a=1,b=0,c=this.Cj;this.wa&192&&(a=this.I,b=1,c=this.Ej,this.wa&256||(this.A-=this.Dj));if(a--){var d=
|
||||
this.G;this.bd(this.Za.Yb(this.D,1),d);this.D=this.D+(this.xa&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.$|=256)}},function(){var a=1,b=0,c=this.jj;this.wa&192&&(a=this.I,b=1,c=this.lj,this.wa&256||(this.A-=this.kj));a--&&(this.G=this.G&-256|this.T(this.C,this.F),this.F=this.F+(this.xa&1024?-1:1)&65535,this.A-=c,this.I-=b,a&&(J(this,this.wa&16?-3:-2),this.$|=256))},function(){var a=1,b=0,c=this.jj;this.wa&192&&(a=this.I,b=1,c=this.lj,this.wa&256||(this.A-=this.kj));a--&&(this.G=this.U(this.C,
|
||||
this.F),this.F=this.F+(this.xa&1024?-2:2)&65535,this.A-=c,this.I-=b,a&&(J(this,this.wa&16?-3:-2),this.$|=256))},function(){var a=1,b=0,c=this.wj;this.wa&192&&(a=this.I,b=1,c=this.yj,this.wa&256||(this.A-=this.xj));a--&&(vd.call(this,this.G&255,this.N(this.Za,this.D)),this.D=this.D+(this.xa&1024?-1:1)&65535,this.A-=c-this.sb,this.I-=b,a&&Xc(this)==(this.wa&64)&&(J(this,-2),this.$|=256))},function(){var a=1,b=0,c=this.wj;this.wa&192&&(a=this.I,b=1,c=this.yj,this.wa&256||(this.A-=this.xj));a--&&(Dd.call(this,
|
||||
this.G,this.O(this.Za,this.D)),this.D=this.D+(this.xa&1024?-2:2)&65535,this.A-=c-this.sb,this.I-=b,a&&Xc(this)==(this.wa&64)&&(J(this,-2),this.$|=256))},function(){this.G=this.G&-256|this.ea();this.A-=this.Cb},function(){this.I=this.I&-256|this.ea();this.A-=this.Cb},function(){this.J=this.J&-256|this.ea();this.A-=this.Cb},function(){this.B=this.B&-256|this.ea();this.A-=this.Cb},function(){this.G=this.G&255|this.ea()<<8;this.A-=this.Cb},function(){this.I=this.I&255|this.ea()<<8;this.A-=this.Cb},function(){this.J=
|
||||
this.J&255|this.ea()<<8;this.A-=this.Cb},function(){this.B=this.B&255|this.ea()<<8;this.A-=this.Cb},function(){this.G=this.K();this.A-=this.Cb},function(){this.I=this.K();this.A-=this.Cb},function(){this.J=this.K();this.A-=this.Cb},function(){this.B=this.K();this.A-=this.Cb},function(){this.Y=this.K();this.A-=this.Cb},function(){this.H=this.K();this.A-=this.Cb},function(){this.F=this.K();this.A-=this.Cb},function(){this.D=this.K();this.A-=this.Cb},vh,wh,vh,wh,function(){N[this.ea()].call(this,ue)},
|
||||
|
|
@ -481,7 +481,7 @@ var Yi={esc:1,1:2,2:3,3:4,4:5,5:6,6:7,7:8,8:9,9:10,0:11,"-":12,"=":13,backspace:
|
|||
P[55]=8;P[38]=61448;P[56]=9;P[42]=61449;P[57]=10;P[40]=61450;P[48]=11;P[41]=61451;P[45]=12;P[95]=61452;P[61]=13;P[43]=61453;P[113]=16;P[81]=61456;P[119]=17;P[87]=61457;P[101]=18;P[69]=61458;P[114]=19;P[82]=61459;P[116]=20;P[84]=61460;P[121]=21;P[89]=61461;P[117]=22;P[85]=61462;P[105]=23;P[73]=61463;P[111]=24;P[79]=61464;P[112]=25;P[80]=61465;P[91]=26;P[123]=61466;P[93]=27;P[125]=61467;P[97]=30;P[65]=61470;P[115]=31;P[83]=61471;P[100]=32;P[68]=61472;P[102]=33;P[70]=61473;P[103]=34;P[71]=61474;
|
||||
P[104]=35;P[72]=61475;P[106]=36;P[74]=61476;P[107]=37;P[75]=61477;P[108]=38;P[76]=61478;P[59]=39;P[58]=61479;P[39]=40;P[34]=61480;P[96]=41;P[126]=61481;P[92]=43;P[124]=61483;P[122]=44;P[90]=61484;P[120]=45;P[88]=61485;P[99]=46;P[67]=61486;P[118]=47;P[86]=61487;P[98]=48;P[66]=61488;P[110]=49;P[78]=61489;P[109]=50;P[77]=61490;P[44]=51;P[60]=61491;P[46]=52;P[62]=61492;P[47]=53;P[63]=61493;P[8]=14;P[9]=15;P[13]=28;P[27]=1;P[240]=42;P[224]=54;P[241]=29;P[242]=56;P[244]=58;P[336]=59;P[337]=60;P[338]=61;
|
||||
P[339]=62;P[340]=63;P[341]=64;P[342]=65;P[343]=66;P[344]=67;P[345]=68;P[261]=75;P[262]=72;P[263]=77;P[264]=80;P[254]=61766;P[255]=15921491;k=Xi.prototype;
|
||||
k.xb=function(a,b,c,d){var e=this;a=b+"-"+c;if(void 0===this.sa[a])switch(c){case "kbd":return this.sa[a]=d,d.onkeydown=function(a){return $i(e,a,!0)},d.onkeypress=function(a){var b=!0;a=a||window.event;a=a.which||a.keyCode;8==a||9==a?b=!1:e.Ea&32?e.Ea&=-33:b=e.Ea&12?!1:!aj(e,a);return b},d.onkeyup=function(a){return $i(e,a,!1)},!0;default:if(void 0!==Zi[c]&&"button"==b)return this.sa[a]=d,d.onclick=function(a,b,c){return function(){a.S&&a.S.Md();return!aj(a,c)}}(this,c,Zi[c]),!0;if(void 0!==Yi[c])return this.sa[a]=
|
||||
k.xb=function(a,b,c,d){var e=this;a=b+"-"+c;if(void 0===this.sa[a])switch(c){case "kbd":return this.sa[a]=d,d.onkeydown=function(a){return $i(e,a,!0)},d.onkeypress=function(a){var b=!0;a=a||window.event;a=a.which||a.keyCode;8==a||9==a?b=!1:e.Ea&32?e.Ea&=-33:b=e.Ea&12?!1:!aj(e,a);return b},d.onkeyup=function(a){return $i(e,a,!1)},!0;default:if(void 0!==Zi[c]&&"button"==b)return this.sa[a]=d,d.onclick=function(a,b,c){return function(){a.S&&a.S.Nd();return!aj(a,c)}}(this,c,Zi[c]),!0;if(void 0!==Yi[c])return this.sa[a]=
|
||||
d,b=function(a,b,c){return function(){bj(a,c)}}(this,c,Yi[c]),c=function(a,b,c){return function(){bj(a,c)}}(this,c,Yi[c]|128),"ontouchstart"in window?(d.ontouchstart=b,d.ontouchend=c):(d.onmousedown=b,d.onmouseup=d.onmouseout=c),!0}return!1};k.oc=function(a,b,c,d){this.na=b;this.S=c;this.X=d;this.Da=a;this.ka=C(a,"ChipSet")};k.Ta=function(){this.Bk=(this.Rm=va("iOS"))||va("Android");this.Qa("mobile keyboard support: "+(this.Bk?"true":"false"));return x.prototype.Ta.call(this)};
|
||||
function Li(a){a.Qa("keyboard reset",!0);a.zc=[170];a.ka&&zi(a.ka,1,4)}function Hi(a,b,c){var d=!1;a.Ai!==c&&(a.Ai=a.Gi=c);a.nh!==b&&(a.nh=b)&&!a.Gi&&Mi(a);a.nh&&a.Gi&&(Li(a),a.Gi=!1,d=!0);return d}function Fi(a,b){var c=0;a.zc.length&&(c=a.zc[0],a.Qa("scan code "+r(c)+" delivered"),b&&Mi(a));return c}function Mi(a,b){0<a.zc.length&&(b?a.zc=[]:(a.zc.shift(),0<a.zc.length&&a.ka&&zi(a.ka,1)))}k.ac=function(a,b){return!b&&(this.reset(),a&&this.restore&&!this.restore(a))?!1:!0};
|
||||
k.Wb=function(a){return a&&this.save?this.save():!0};k.reset=function(){this.ie();this.Ea=0;this.zc=[];if(this.qd)for(var a in this.qd)ba(a)||this.qd[a]&&clearTimeout(this.qd[a]);this.qd=[];this.Yl=this.Ne=0};k.save=function(){var a=new H(this);a.set(0,this.Zj());return a.data()};k.restore=function(a){return this.ie(a[0])};k.ie=function(a){var b=0;void 0===a&&(a=[]);this.Ai=a[b++];this.nh=a[b];return!0};k.Zj=function(){var a=0,b=[];b[a++]=this.Ai;b[a]=this.nh;return b};
|
||||
|
|
@ -513,7 +513,7 @@ a.Kj;c[17]=a.gb;c[18]=a.md;c[19]=a.nb;c[20]=a.Hh;c[21]=a.le;c[22]=a.Ke;c[23]=a.S
|
|||
oj.prototype.Rh=function(a){if(null!=a&&a!=this.Ah){var b=a&255,c=U[b];c||b&1&&(c=U[1]);var b=a&65280,d=U[b];d||b&256&&(d=U[256]);this.Kf||(this.Kf=[null,xj,null,yj]);this.Kf[0]=c;this.Kf[2]=d;this.Ah=a}};var pj=[,["MDA",948,720896,4096,0,3],,["CGA",980,753664,16384,0,2],,["EGA",980,753664,16384,65536,4]];k=Q.prototype;
|
||||
k.oc=function(a,b,c,d){this.na=b;this.S=c;this.X=d;ib(b,this,Bj);mb(b,this,Cj);"ega"==this.Fa&&(ib(b,this,Dj),mb(b,this,Ej));if(d){var e=this;Cc(this.S,16,this,this.Rn);Qh(d,d.Jg,function(a){if(e.Ca)if(a){var b=e.Ca;if(b.ed){a=ca(a);a=void 0!==a?a-b.cb:b.hp||0;0>a&&(a=0);for(var c="",d=0;8>d;d++){for(var n=p(b.cb+a)+":",q=0;8>q&&a<b.ed.length;q++)var t=b.ed[a++],n=n+(" "+p(t));c&&(c+="\n");c+=n}c&&b.X.message(c);b.hp=a}else b.X.message("no buffer")}else{e.X.message("BIOSMODE: "+r(e.Jd));b=e.Ca;Aj(b,
|
||||
"CRTC",b.nc,b.cc,b.Sg);if(1==b.he||3==b.he)Aj(b," MODEREG",b.Bc),Aj(b," STATUS1",b.wf);3==b.he&&Aj(b," COLOR",b.af);5==b.he&&(b.X.message(" ATCDATA: "+b.hd),Aj(b," ATC",b.Bd,b.Rd,b.fi),Aj(b," GRC",b.Cd,b.te,b.gi),Aj(b," SEQ",b.Dd,b.Gf,b.hi),Aj(b," FEAT",b.sh),Aj(b," MISC",b.cg),Aj(b," STATUS0",b.Uh),Aj(b," LATCHES",b.vb),b.X.message(" ACCESS: "+u(b.Ah)),b.X.message("Use 'dump video buffer' to dump video memory"))}else e.X.message("no active video card")})}(this.bb=C(a,"Keyboard"))&&this.Lb&&
|
||||
this.bb.xb("input",this.km?"textarea":"canvas","kbd",this.km||this.Lb);this.Ug=9;(this.ka=C(a,"ChipSet"))&&this.fm&&(this.Ug=Ch(this.fm,this.Ug));this.bb&&this.Km&&Fj(this)};k.Rn=function(a){this.X&&D(this.X,this.X.Jg)&&(Ec(this.X,16,a),Fc(this.S,a,function(a,c){return function(d){Gc(a.X,16,d,F(a.S)-c)}}(this,F(this.S))));return!0};k.xb=function(a,b,c,d){var e=this;switch(c){case "refresh":return this.sa[c]=d,d.onclick=function(){zb(e,!0)},!0}return!1};k.Md=function(){this.Lb&&this.Lb.focus()};
|
||||
this.bb.xb("input",this.km?"textarea":"canvas","kbd",this.km||this.Lb);this.Ug=9;(this.ka=C(a,"ChipSet"))&&this.fm&&(this.Ug=Ch(this.fm,this.Ug));this.bb&&this.Km&&Fj(this)};k.Rn=function(a){this.X&&D(this.X,this.X.Jg)&&(Ec(this.X,16,a),Fc(this.S,a,function(a,c){return function(d){Gc(a.X,16,d,F(a.S)-c)}}(this,F(this.S))));return!0};k.xb=function(a,b,c,d){var e=this;switch(c){case "refresh":return this.sa[c]=d,d.onclick=function(){zb(e,!0)},!0}return!1};k.Nd=function(){this.Lb&&this.Lb.focus()};
|
||||
function Fj(a){var b=a.Lb;b&&!a.zi&&(b.addEventListener("touchstart",function(b){Gj(a,b)},!1),b.addEventListener("touchmove",function(b){Gj(a,b)},!0),b.addEventListener("touchend",function(){},!1),a.zi=!0)}
|
||||
function Gj(a,b){a.Ci&&b.preventDefault();var c=0,d=0,e=a.Lb;do isNaN(e.offsetLeft)||(c+=e.offsetLeft,d+=e.offsetTop);while(e=e.offsetParent);c=a.xd/a.Lb.offsetWidth*(b.targetTouches[0].pageX-c)/(a.xd/3)|0;d=a.fe/a.Lb.offsetHeight*(b.targetTouches[0].pageY-d)/(a.fe/3)|0;1!=d?d?aj(a.bb,264,!0):aj(a.bb,262,!0):1!=c&&(c?aj(a.bb,263,!0):aj(a.bb,261,!0))}k.ac=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||
k.Wb=function(a){return a&&this.save?this.save():!0};
|
||||
|
|
@ -580,9 +580,9 @@ function sk(a){a=JSON.stringify(a.pb);a=a.replace(/,"length":512/gm,"").replace(
|
|||
k.seek=function(a,b,c,d,e){var f=null,g=this.Pa,h=this.pb[a];if(h){var m=h[b];if(!m&&g.Mf&&b<g.$b)for(m=h[b]=Array(g.$d),h=0;h<m.length;h++)m[h]=nk(null,a,b,h+1,g.Wa,0);if(m){for(h=0;h<m.length;h++)if(m[h]&&m[h].sector==c){f=m[h];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++h<m.length;)null===m[h].pattern&&d++;ok(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&g.Mf&&9==g.Na&&(f=m[h]=nk(null,a,b,g.Na,g.Wa,0))}}e&&e(f,!1);return f};
|
||||
k.fill=function(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e};function rk(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var g=f<e.length?e[f]:a;c[d++]=g&255;c[d++]=g>>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}function tk(a,b){var c=-1;if(b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c}
|
||||
k.write=function(a,b,c){if(this.gf)return!1;if(b<a.length){if(c!=tk(a,b)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Hc?f<a.Zc?(a.Hc+=a.Zc-f,a.Zc=f):f>=a.Zc+a.Hc&&(a.Hc+=f-(a.Zc+a.Hc)+1):(a.Zc=f,a.Hc=1);d[f]=d[f]&~(255<<b)|c<<b;this.Ad&&pk(this,a,!0)}return!0}return null};
|
||||
k.save=function(){var a=0,b=[];b[a++]=[this.uf,this.ih];if(!this.Ad&&!this.gf)for(var c=this.pb,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g.Hc){for(var h=[],m=0,n=g.Zc,q=g.Zc+g.Hc;n<q;)h[m++]=g.data[n++];b[a++]=[d,e,f,g.Zc,h]}}return b};
|
||||
k.save=function(){var a=0,b=[];b[a++]=[this.uf,this.ih];if(!this.Ad&&!this.gf)for(var c=this.pb,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Hc){for(var h=[],m=0,n=g.Zc,q=g.Zc+g.Hc;n<q;)h[m++]=g.data[n++];b[a++]=[d,e,f,g.Zc,h]}}return b};
|
||||
k.restore=function(a){var b=0,c="unsupported restore format";if(this.pb.length&&a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&e[1]!=this.ih&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.ih+")",b=-1);for(;d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],m=g[f++],n=g[f++];if(h>=this.pb.length||m>=this.pb[h].length||n>=this.pb[h][m].length){c="sector "+h+":"+m+":"+n+" out of range ("+b+" changes applied)";b=-1;break}if(this.gf){c="unable to modify write-protected disk";b=-1;break}e=
|
||||
g[f++];f=g[f++];g=e+f.length;h=this.pb[h][m][n];for(m=h.data.length;m<e;)h.data[m++]=h.pattern;m=0;h.Zc=e;for(h.Hc=f.length;e<g;)h.data[e++]=f[m++];b++}}0>b&&this.Ga("unable to restore disk '"+this.Kd+": "+c);return b};k.Qa=function(a){this.X&&D(this.X,this.X.rm)&&this.X.message(a)};
|
||||
g[f++];f=g[f++];g=e+f.length;if(h=this.pb[h][m][n]){for(m=h.data.length;m<e;)h.data[m++]=h.pattern;m=0;h.Zc=e;for(h.Hc=f.length;e<g;)h.data[e++]=f[m++];b++}}}0>b&&this.Ga("unable to restore disk '"+this.Kd+": "+c);return b};k.Qa=function(a){this.X&&D(this.X,this.X.rm)&&this.X.message(a)};
|
||||
function uk(a){x.call(this,"FDC",a,uk);this.dmaRead=this.ti;this.dmaWrite=this.ui;this.dmaFormat=this.Dm;this.Me=null;if(a.autoMount&&(this.Me=a.autoMount,"string"==typeof this.Me))try{this.Me=eval("("+a.autoMount+")")}catch(b){w("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.Me=null}this.wc=[]}y(x,uk);l={};aa={};
|
||||
var vk={3:{wd:3,be:0,name:aa.Mp},4:{wd:2,be:1,name:aa.Kp},5:{wd:9,be:7,name:aa.Vp},6:{wd:9,be:7,name:aa.Fp},7:{wd:2,be:0,name:aa.Hp},8:{wd:1,be:2,name:aa.Lp},10:{wd:2,be:7,name:aa.Gp},13:{wd:6,be:7,name:aa.Ap},15:{wd:3,be:0,name:aa.Jp}};k=uk.prototype;
|
||||
k.xb=function(a,b,c,d){switch(c){case "listDisks":return this.sa[c]=d,a=window.document.createElement("option"),a.value="?",a.innerHTML="User-defined URL...",d.appendChild(a),d.onchange=function(a,b){return function(){var c=a.sa.descDisk;if(c){var d=b.options[b.selectedIndex];if(d){var m={};if(d=d.getAttribute("data-value"))try{m=eval("({"+d+"})")}catch(n){w("FDC option error: "+(n.message||n))}d=m.desc;void 0===d&&(d="");m=m.href;void 0!==m&&(d='<a href="'+m+'" target="_blank">'+d+"</a>");c.innerHTML=
|
||||
|
|
@ -662,7 +662,7 @@ Ma:"state"},vm:{La:131072,Ma:"mouse"},pm:{La:262144,Ma:"computer"},qm:{La:524288
|
|||
89:"get extended error information",90:"create temporary file DS:DX with attributes CX",91:"create file DS:DX with attributes CX",92:"lock(0)/unlock(1) file BX region CX:DX length SI:DI (AL)"}};k=Qk.prototype;
|
||||
k.oc=function(a,b,c){this.na=b;this.S=c;this.Da=a;this.Lm=C(a,"FDC");this.Hk=C(a,"HDC");this.Hf=Xk;80186<=this.S.Fa&&(this.Hf=Xk.slice(),this.Hf[15]=Z,80286<=this.S.Fa&&(this.Hf[15]=Wk));Cc(this.S,33,this,this.Sn);this.Ta();if(this.Vj){a=al(this,this.Vj);delete this.Vj;for(var d in a)bl(this,a[d])}};
|
||||
k.xb=function(a,b,c,d){var e=this;switch(c){case "debugInput":return this.Uf=this.sa[c]=d,d.onkeypress=function(a){if(13==a.keyCode){var b=d.value;d.value="";var c=al(e,b,!0);for(b in c)bl(e,c[b]);a.preventDefault&&a.preventDefault()}},!0;case "debugEnter":return this.sa[c]=d,xa(d,function(){if(e.Uf){var a=e.Uf.value;e.Uf.value="";var b=al(e,a,!0);for(a in b)bl(e,b[a]);return!0}return!1}),!0;case "step":return this.sa[c]=d,xa(d,function(a){var b=!1;Qa(e,!0)||(Pa(e,!0),b=e.xf(a?1:0),Pa(e,!1));return b}),
|
||||
!0}return!1};k.Md=function(){this.Uf&&this.Uf.focus()};function Ph(a,b,c,d){d&&(a.ei=[]);d=0;c=al(a,c);for(var e in Y)b[e]=Y[e].La,0<=c.indexOf(Y[e].Ma)&&(d|=Y[e].La,a.ca(Y[e].Ma+" messages enabled"));void 0===a.ec&&(a.ec=0);a.ec|=d}function Qh(a,b,c){for(var d in Y)if(b==Y[d].La){a.ei[d]=c;break}}function D(a,b){return(a.ec&b)===b}
|
||||
!0}return!1};k.Nd=function(){this.Uf&&this.Uf.focus()};function Ph(a,b,c,d){d&&(a.ei=[]);d=0;c=al(a,c);for(var e in Y)b[e]=Y[e].La,0<=c.indexOf(Y[e].Ma)&&(d|=Y[e].La,a.ca(Y[e].Ma+" messages enabled"));void 0===a.ec&&(a.ec=0);a.ec|=d}function Qh(a,b,c){for(var d in Y)if(b==Y[d].La){a.ei[d]=c;break}}function D(a,b){return(a.ec&b)===b}
|
||||
function Ec(a,b,c){if(32>b&&16!=b&&21!=b&&22!=b&&26!=b&&28!=b){var d=a.S.G>>8,e=$k[b];if(e=e&&e[d]||""){var f=a.S;a.ib[X[0]]=r(f.G&255);a.ib[X[1]]=r(f.I&255);a.ib[X[2]]=r(f.J&255);a.ib[X[3]]=r(f.B&255);a.ib[X[4]]=r(f.G>>8);a.ib[X[5]]=r(f.I>>8);a.ib[X[6]]=r(f.J>>8);a.ib[X[7]]=r(f.B>>8);a.ib[X[8]]=u(f.G);a.ib[X[9]]=u(f.I);a.ib[X[10]]=u(f.J);a.ib[X[11]]=u(f.B);a.ib[X[12]]=u(f.Y);a.ib[X[13]]=u(f.H);a.ib[X[14]]=u(f.F);a.ib[X[15]]=u(f.D);a.ib[X[16]]=u(f.Za.oa);a.ib[X[17]]=u(f.ua.oa);a.ib[X[18]]=u(f.wb.oa);
|
||||
a.ib[X[19]]=u(f.Eb.oa);a.ib[X[20]]=u(f.qa);e=" "+ia(a.ib,e)}a.message("INT 0x"+r(b)+": AH="+r(d)+" at "+da(c-a.S.ua.Ua,a.S.ua.oa)+e)}}function Gc(a,b,c,d,e){32>b&&16!=b&&21!=b&&22!=b&&26!=b&&28!=b&&a.message("INT 0x"+r(b)+"("+c+"): C="+(Uc(a.S)?1:0)+(e||"")+" (cycles="+d+")")}
|
||||
k.ba=function(a,b,c,d,e,f,g){f||(f=0);f|=Y.ek.La;if(null==d||(this.ec&f)==f)f=null,null!=d&&(f=this.S.ua.oa,d-=this.S.ua.Ua),this.message(a.uh+"."+(null!=c?"outPort":"inPort")+"(0x"+u(b)+","+(e?e:"unknown")+(null!=c?",0x"+r(c):"")+")"+(null!=g?": 0x"+r(g):"")+(null!=d?" at "+da(d,f):""))};k.message=function(a){this.ca(a);this.S&&(this.ec&Y.tm.La&&this.S.Ab(),a=this.S,a.pf=0,a.Oc-=a.A,a.A=0,a.gh())};k.Sn=function(a){D(this,this.sm)&&Ec(this,33,a);return!0};k.On=function(){this.ca("Type ? for list of debugger commands")};
|
||||
|
|
@ -670,10 +670,10 @@ function Sk(a){var b;if(jd(a)){if(!a.Ud||!a.Ud.length){a.Ud=Array(1E4);for(b=0;b
|
|||
k.xf=function(a,b,c){if(!cl(this))return!1;this.$c=0;do{a||jd(this)&&nd(this,this.S.Ba,!0);try{var d=this.S.xf(a);0<d&&(this.$c+=d,Ib(this.S,d,!0),Fb(this.S,d),this.bh++)}catch(e){this.$c=0,Sa(this.S,e.message||e)}}while(this.S.$&240);!1!==c&&Eb(this.S);Db(this,b||!1,!1);return 0<this.$c};k.Ab=function(){this.S.Ab()};function Db(a,b,c){void 0===b&&(b=!0);void 0===c&&(c=!0);a.Ec=[a.S.qa,a.S.ua.oa,void 0];b&&1!=a.mc?dl(a,null,c):el(a)}
|
||||
function cl(a){a.S&&Ra(a.S)&&a.S.Nb&&!Qa(a.S)?(a=a.S,a.jd?(a.ca(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}k.ac=function(a,b){return!b&&(this.reset(!0),this.ca(a?"resuming":"powering up"),a&&this.restore&&!this.restore(a))?!1:!0};k.Wb=function(a,b){b&&this.ca(a?"suspending":"shutting down");return a&&this.save?this.save():!0};k.reset=function(a){Sk(this);this.$c=this.bh=0;this.Ec=[this.S.qa,this.S.ua.oa,void 0];void 0===this.Ob||a||this.ca("reset");this.Ob=!1;fl(this);a||Db(this)};
|
||||
k.save=function(){var a=new H(this);a.set(0,this.Ec);a.set(1,this.re);a.set(2,[this.Lh,this.cf,this.ec]);return a.data()};k.restore=function(a){var b=0;void 0!==a[2]&&(this.Ec=a[b++],this.re=a[b++],this.Lh=a[b][0],this.cf=a[b][1],this.ec||(this.ec=a[b][2]));return!0};k.start=function(a,b){this.mc||this.ca("running");this.Ob=!0;this.$n=a;this.eo=b};
|
||||
k.stop=function(a,b){if(this.Ob){this.Ob=!1;this.$c=b-this.eo;if(!this.mc){var c="stopped";if(this.$c){var d=a-this.$n,e=0<d?Math.round(1E3*this.$c/d):0,c=c+" (";jd(this)&&(c+=this.bh+" ops, ");c+=this.$c+" cycles, "+d+" ms, "+e+" hz)"}this.ca(c)}Db(this,!0,2!=this.mc);this.Md();fl(this,this.S.Ba)}};function jd(a){return 1<a.vc.length||D(a,a.Gg)}
|
||||
k.stop=function(a,b){if(this.Ob){this.Ob=!1;this.$c=b-this.eo;if(!this.mc){var c="stopped";if(this.$c){var d=a-this.$n,e=0<d?Math.round(1E3*this.$c/d):0,c=c+" (";jd(this)&&(c+=this.bh+" ops, ");c+=this.$c+" cycles, "+d+" ms, "+e+" hz)"}this.ca(c)}Db(this,!0,2!=this.mc);this.Nd();fl(this,this.S.Ba)}};function jd(a){return 1<a.vc.length||D(a,a.Gg)}
|
||||
function nd(a,b,c){if(!c&&gl(a,b,a.vc))return!0;a.Rc.length&&(a.bh++,c=bb(a.na,b),a.Rc[c][1]++,c=a.Ud[a.kf],c[0]=a.S.qa,c[1]=a.S.ua.oa,c[2]=b,++a.kf==a.Ud.length&&(a.kf=0));return!1}function qb(a,b){return gl(a,b,a.Sd)?(a.S.Ab(!0),!0):!1}function rb(a,b){return gl(a,b,a.Qc)?(a.S.Ab(!0),!0):!1}function kb(a,b,c){a.ca("break on input from port "+u(b)+": "+r(c));a.S.Ab(!0)}function ob(a,b,c){a.ca("break on output to port "+u(b)+": "+r(c));a.S.Ab(!0)}
|
||||
function hl(a,b){if(b==a.S.ua.oa)return a.S.ua;if(b==a.S.Eb.oa)return a.S.Eb;if(b==a.S.Za.oa)return a.S.Za;if(b==a.S.wb.oa)return a.S.wb;var c=new Nb(a.S);c.load(b,!0);return c}function il(a,b,c,d){var e=b[2];null==e&&(a=hl(a,b[1]),e=c?a.Yb(b[0],d||0,!0):a.Wc(b[0],d||0,!0));16711680==(e&16711680)&&(e&=1048575);return e}k.ub=function(a,b){var c=255,d=il(this,a,!1,0);0<=d&&(c=bb(this.na,d),void 0!==b&&jl(a,b));return c};
|
||||
k.Ia=function(a,b){var c=65535,d=il(this,a,!1,1);0<=d&&(c=cb(this.na,d),void 0!==b&&jl(a,b));return c};k.bd=function(a,b,c){var d=il(this,a,!0,0);0<=d&&(db(this.na,d,b),void 0!==c&&jl(a,c),Eb(this.S))};k.Nd=function(a,b,c){var d=il(this,a,!0,1);0<=d&&(eb(this.na,d,b),void 0!==c&&jl(a,c),Eb(this.S))};function $(a){return null==a[1]?"%"+p(a[2]):da(a[0],a[1])}function jl(a,b){b=void 0===b?1:b;null!=a[2]&&(a[2]+=b);null!=a[1]&&(a[0]+=b,a[0]!=(a[0]&65535)&&(a[0]&=65535,a[2]=null))}
|
||||
k.Ia=function(a,b){var c=65535,d=il(this,a,!1,1);0<=d&&(c=cb(this.na,d),void 0!==b&&jl(a,b));return c};k.Md=function(a,b,c){var d=il(this,a,!0,0);0<=d&&(db(this.na,d,b),void 0!==c&&jl(a,c),Eb(this.S))};k.bd=function(a,b,c){var d=il(this,a,!0,1);0<=d&&(eb(this.na,d,b),void 0!==c&&jl(a,c),Eb(this.S))};function $(a){return null==a[1]?"%"+p(a[2]):da(a[0],a[1])}function jl(a,b){b=void 0===b?1:b;null!=a[2]&&(a[2]+=b);null!=a[1]&&(a[0]+=b,a[0]!=(a[0]&65535)&&(a[0]&=65535,a[2]=null))}
|
||||
function Rk(a){var b;a.vc=["exec"];if(void 0!==a.Sd)for(b=1;b<a.Sd.length;b++){var c=a.na,d=il(a,a.Sd[b]);wb(c.Aa[d>>c.rb],!1)}a.Sd=["read"];if(void 0!==a.Qc)for(b=1;b<a.Qc.length;b++)c=a.na,d=il(a,a.Qc[b]),wb(c.Aa[d>>c.rb],!0);a.Qc=["write"]}k.Vd=function(a,b,c){if(!kl(this,a,b)){b[2]=il(this,b);b[3]=c;a.push(b);if(a!=this.vc){var d=this.na,e=il(this,b);d.Aa[e>>d.rb].Vd(e&d.eb,a==this.Qc)}c||this.ca("breakpoint enabled: "+$(b)+" ("+a[0]+")");Sk(this);return!0}return!1};
|
||||
function kl(a,b,c,d){var e=!1;c=il(a,c);for(var f=1;f<b.length;f++){var g=b[f];if(c==il(a,g)){e=!0;if(d){b.splice(f,1);b!=a.vc&&(d=a.na,wb(d.Aa[c>>d.rb],b==a.Qc));g[3]||a.ca("breakpoint cleared: "+$(g)+" ("+b[0]+")");Sk(a);break}a.ca("breakpoint exists: "+$(g)+" ("+b[0]+")");break}}return e}function ll(a,b){for(var c=1;c<b.length;c++)a.ca("breakpoint enabled: "+$(b[c])+" ("+b[0]+")");return b.length-1}
|
||||
function xb(a,b,c,d){if(void 0===d)xb(a,b,c,a.Sd),xb(a,b,c,a.Qc);else for(var e=1;e<d.length;e++){var f=il(a,d[e]);if(f>=b&&f<b+c){var g=a.na;g.Aa[f>>g.rb].Vd(f&g.eb,d==a.Qc)}}}function fl(a,b){if(void 0!==b)gl(a,b,a.vc,!0),a.mc=0;else for(var c=1;c<a.vc.length;c++){var d=a.vc[c];if(d[3]){if(!kl(a,a.vc,d,!0))break;c=0}}}
|
||||
|
|
@ -689,7 +689,7 @@ function Pi(a,b,c,d){function e(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0}var f=[],
|
|||
function nl(a,b,c){for(var d=[],e=il(a,b),f=0;f<a.xc.length;f++){var g=a.xc[f][0],h=a.xc[f][1];if(e>=g&&e<g+h){b=ka(a.xc[f][3],[b[0]],function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0});0<=b?vl(a,f,b,d):c&&(b=~b,vl(a,f,b-1,d),vl(a,f,b,d));break}}return d}function vl(a,b,c,d){var e={},f=a.xc[b][3],g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.xc[b][2][h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
||||
function wl(a,b){if("?"==b)a.ca("\nfrequency commands:"),a.ca("\tclear\tclear all frequency counts");else{var c,d=0;if(a.Rc)if("clear"==b){for(c=0;c<a.Rc.length;c++)a.Rc[c]=[c,0];a.ca("frequency data cleared");d++}else if(void 0!==b)a.ca("unknown frequency command: "+b),d++;else{var e=a.Rc.slice();e.sort(function(a,b){return b[1]-a[1]});for(c=0;c<e.length;c++){var f=e[c][0],g=e[c][1];g&&(a.ca((Uk[a.Hf[f][0]]+" ").substr(0,5)+" ("+r(f)+"): "+g+" times"),d++)}}d||a.ca("no frequency data available")}}
|
||||
function xl(a,b){if("l"==b[0]&&void 0===b[1]||"?"==b[1])a.ca("\nlist/load commands:"),a.ca("\tl [address] [drive #] [sector #] [# sectors]"),a.ca("\tln [address] lists symbol(s) nearest to address");else{var c=[],d,e=0,f=0,g=!1;if("json"==b[1])g=!0;else if(d="ln"==b[0],c=tl(a,b[1],d?1:2),d){c=nl(a,c,!0);c.length?(c[0]&&a.ca(u(c[1])+": "+c[0]),4<c.length&&c[4]&&a.ca(u(c[5])+": "+c[4])):a.ca("no symbols");return}d=ul(a,b[2],"drive #");if(void 0!==d){if(!g){e=ul(a,b[3],"sector #");if(void 0===e)return;
|
||||
f=ul(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.Lm;2<=d&&a.Hk&&(d-=2,h=a.Hk);if(h){var m=h.wk(d);if(m)if(m.va)if(g)a.ca(sk(m.va));else if(h.hm(m,e,f)){for(var n=0,q=!1,e=$(c);!q&&0<m.Wa--;)(function(a,b){h.sc(m,function(c){0>c?(a.ca("out of data at address "+$(b)),q=!0):(a.bd(b,c,1),n++)})})(a,c);a.ca(n+" bytes read at "+e)}else a.ca("sector "+e+" request out of range");else a.ca("drive "+d+" not loaded");else a.ca("invalid drive: "+d)}else a.ca("disk controller not present")}}}
|
||||
f=ul(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.Lm;2<=d&&a.Hk&&(d-=2,h=a.Hk);if(h){var m=h.wk(d);if(m)if(m.va)if(g)a.ca(sk(m.va));else if(h.hm(m,e,f)){for(var n=0,q=!1,e=$(c);!q&&0<m.Wa--;)(function(a,b){h.sc(m,function(c){0>c?(a.ca("out of data at address "+$(b)),q=!0):(a.Md(b,c,1),n++)})})(a,c);a.ca(n+" bytes read at "+e)}else a.ca("sector "+e+" request out of range");else a.ca("drive "+d+" not loaded");else a.ca("invalid drive: "+d)}else a.ca("disk controller not present")}}}
|
||||
function dl(a,b,c){if(b&&"?"==b[1])a.ca("\nregister commands:"),a.ca("\tr\t\tdisplay all registers"),a.ca("\tr [target=#]\tmodify target register"),a.ca("supported targets:"),a.ca("\tall registers and flags V,D,I,S,Z,A,P,C");else{var d=!0,e;if(null!=b&&1<b.length){var f=b[1];if("p"==f)e=void 0!==a.S.Sc;else{var d=!1,g=null,h=f.indexOf("=");if(0<h)g=f.substr(h+1),f=f.substr(0,h);else if(2<b.length)g=b[2];else{a.ca("missing value for "+b[1]);return}b=parseInt(g,16);if(isNaN(b)){a.ca("invalid value: "+
|
||||
g);return}switch(f.toUpperCase()){case "AL":a.S.G=a.S.G&65280|b&255;break;case "AH":a.S.G=a.S.G&255|b<<8&255;break;case "AX":a.S.G=b&65535;break;case "BL":a.S.B=a.S.B&65280|b&255;break;case "BH":a.S.B=a.S.B&255|b<<8&255;break;case "BX":a.S.B=b&65535;break;case "CL":a.S.I=a.S.I&65280|b&255;break;case "CH":a.S.I=a.S.I&255|b<<8&255;break;case "CX":a.S.I=b&65535;break;case "DL":a.S.J=a.S.J&65280|b&255;break;case "DH":a.S.J=a.S.J&255|b<<8&255;break;case "DX":a.S.J=b&65535;break;case "SP":a.S.Y=b&65535;
|
||||
break;case "BP":a.S.H=b&65535;break;case "SI":a.S.F=b&65535;break;case "DI":a.S.D=b&65535;break;case "DS":Oc(a.S,b);break;case "ES":Tc(a.S,b);break;case "SS":Pc(a.S,b);break;case "CS":d=!0;Nc(a.S,b);a.Ec=[a.S.qa,a.S.ua.oa,void 0];break;case "IP":d=!0;I(a.S,b);a.Ec=[a.S.qa,a.S.ua.oa,void 0];break;case "C":b?ed(a.S):$c(a.S);break;case "P":b?(f=a.S,Vc(f)||(f.ja^=1)):(f=a.S,Vc(f)&&(f.ja^=1));break;case "A":b?fd(a.S):ad(a.S);break;case "Z":b?gd(a.S):bd(a.S);break;case "S":b?hd(a.S):cd(a.S);break;case "I":b?
|
||||
|
|
@ -698,17 +698,17 @@ break;case "BP":a.S.H=b&65535;break;case "SI":a.S.F=b&65535;break;case "DI":a.S.
|
|||
function el(a,b,c,d){b=tl(a,b,1);if(null!=b[0]){void 0===d&&(d=1);var e=[65535,b[1],a.na.ve];if(void 0!==c){e=tl(a,c,1);if(null==e[0]||e[0]<b[0])return;if(256<e[0]-b[0]){a.ca("range too large");return}e[0]++;d=-1}for(c=b[0]!=a.Ec[0];d--&&(null!=b[1]?b[0]<e[0]:b[2]<e[2]);){var f=a.ub(b),g=Qa(a,!1)||a.mc?a.$c:null;if(38==f||46==f||54==f||62==f||240==f||242==f||243==f)g=null,d||d++;var f=null!=g?"cycles":null,h=nl(a,b);if(h[0]){var m=h[0]+":";c=!1;h[2]&&(m+=" "+h[2]);a.ca(m)}c&&a.ca();h[3]&&(f=h[3],
|
||||
g=null);c=ml(a,b,f,g);a.ca(c);a.Ec=b;c=!1}}}function al(a,b,c){c&&(b?a.Lh=b:b=a.Lh);a=b?b.split(0<=b.indexOf("|")?"|":";"):[""];for(var d in a)a[d]=ja(a[d]);return a}
|
||||
function bl(a,b){!b.length&&a.cf&&(a.ca("ended assemble @"+$(a.re)),a.Ec=a.re,a.cf=!1);b=b.toLowerCase();if(Ra(a)&&!Qa(a,!0)&&0<b.length){if(a.cf)b="a "+$(a.re)+" "+b;else{var c,d,e;switch(b){case "reset":a.Da&&a.Da.reset();return;default:for(d=b.charAt(0),e=1;e<b.length;e++){c=b.charAt(e);if(" "==c)break;if("r"==d||"a">c||"z"<c){b=b.substring(0,e)+" "+b.substring(e);break}}}}c=b.split(" ");switch(c[0].charAt(0)){case "a":var f=tl(a,c[1],1);if(null!=f[0])if(a.re=f,void 0===c[2])a.ca("begin assemble @"+
|
||||
$(f)),a.cf=!0,Eb(a.S);else if(a.ca("not supported yet"),c=[],c.length){for(var g=0;g<c.length;g++)a.bd(f,c[g],1);a.ca(ml(a,a.re))}break;case "b":a:if(f=c[1],(c=c[0].charAt(1))&&"?"!=c)if("l"==c)f=0+ll(a,a.vc),f+=ll(a,a.Sd),(f+=ll(a,a.Qc))||a.ca("no breakpoints");else if(void 0===f)a.ca("missing breakpoint address");else{g=[];if("*"!=f&&(g=tl(a,f,1),null==g[0]))break a;f=null==g[0]?f:u(g[0]);"c"==c?null==g[0]?(Rk(a),a.ca("all breakpoints cleared")):kl(a,a.vc,g,!0)||kl(a,a.Sd,g,!0)||kl(a,a.Qc,g,!0)||
|
||||
$(f)),a.cf=!0,Eb(a.S);else if(a.ca("not supported yet"),c=[],c.length){for(var g=0;g<c.length;g++)a.Md(f,c[g],1);a.ca(ml(a,a.re))}break;case "b":a:if(f=c[1],(c=c[0].charAt(1))&&"?"!=c)if("l"==c)f=0+ll(a,a.vc),f+=ll(a,a.Sd),(f+=ll(a,a.Qc))||a.ca("no breakpoints");else if(void 0===f)a.ca("missing breakpoint address");else{g=[];if("*"!=f&&(g=tl(a,f,1),null==g[0]))break a;f=null==g[0]?f:u(g[0]);"c"==c?null==g[0]?(Rk(a),a.ca("all breakpoints cleared")):kl(a,a.vc,g,!0)||kl(a,a.Sd,g,!0)||kl(a,a.Qc,g,!0)||
|
||||
a.ca("breakpoint missing: "+$(g)):"i"==c?a.ca("breakpoint "+(hb(a.na,g[0])?"enabled":"cleared")+": port "+f+" (input)"):"o"==c?a.ca("breakpoint "+(lb(a.na,g[0])?"enabled":"cleared")+": port "+f+" (output)"):null!=g[0]&&("p"==c?a.Vd(a.vc,g):"r"==c?a.Vd(a.Sd,g):"w"==c?a.Vd(a.Qc,g):a.ca("unknown breakpoint command: "+c))}else a.ca("\nbreakpoint commands:"),a.ca("\tbi [p]\ttoggle break on input port [p]"),a.ca("\tbo [p]\ttoggle break on output port [p]"),a.ca("\tbp [a]\tset exec breakpoint at addr [a]"),
|
||||
a.ca("\tbr [a]\tset read breakpoint at addr [a]"),a.ca("\tbw [a]\tset write breakpoint at addr [a]"),a.ca("\tbc [a]\tclear breakpoint at addr [a]"),a.ca("\tbl\tlist all breakpoints");break;case "c":a.Vf&&(a.Vf.value="");break;case "d":a:{var h=c[0],g=c[1],m=c[2],n;if("?"==g){f="symbols";for(n in Y)a.ei[n]&&(f.length&&(f+=","),f+=Y[n].Ma);f+=",state";a.ca("\ndump commands:");a.ca("\tdb [a] [#] dump bytes at address a");a.ca("\tdw [a] [#] dump words at address a");a.ca("\tds [s] dump descriptor for selector s");
|
||||
f.length&&a.ca("dumps are also available for: "+f)}else if("state"==g)a.ca(zl(a.Da,!0));else if("symbols"==g)for(c=0;c<a.xc.length;c++)for(f in g=a.xc[c][0],h=a.xc[c][2],h)"."!=f.charAt(0)&&(m=h[f],n=m.o,void 0!==n&&(m=m.s,void 0===m&&(m=g>>>4),(d=h[f].l)&&(f=d),a.ca(da(n,m)+" "+f)));else{for(n in Y)if(g==Y[n].Ma){(f=a.ei[n])?f(m):a.ca("no dump registered for "+g);break a}f=tl(a,g,2);if(null!=f[0])if("ds"==h)if(c=hl(a,f[0]),null!=c.oa){f="selector="+u(f[0])+" limit="+u(c.Nc)+" base="+p(c.Ua);if(c.ab){f+=
|
||||
" access="+u(c.ab);if(c.ab&4096)c.ab&2048?(f=f+"code:"+(c.ab&512?"readable,":"execonly,"),f+=c.ab&1024?"conforming,":"nonconforming,"):(f+="data:",f+=c.ab&512?"writeable,":"readonly,",f+=c.ab&1024?"expand down,":"expand up,"),f+=c.ab&256?"accessed":"not accessed";else switch(f+="type:",c.ab&7936){case 256:f+="tss";break;case 512:f+="ldt";break;case 768:f+="tss(busy)";break;case 1024:f+="call";break;case 1280:f+="task";break;case 1536:f+="int";break;case 1792:f+="trap";break;default:f+="unknown"}f+=
|
||||
",dpl"+(c.ab>>13&24576);f+=c.ab&32768?",present":",not present"}a.ca(f)}else a.ca("invalid selector: "+u(f[0]));else{c=0;void 0!==m&&("l"==m.charAt(0)&&(m=m.substr(1)),c=parseInt(m,10));n="";c||(c=8);for(m=0;m<c;m++){e=d="";for(var g=$(f),q=0,t=0;16>t;t++){var s=a.ub(f,1);"dw"==h?t&1&&(d+=u(q|s<<8)+(7==t?" - ":" ")):d+=r(s)+(7==t?"-":" ");e+=32<=s&&128>s?String.fromCharCode(s):".";q=s}n&&(n+="\n");n+=g+" "+d+" "+e}n&&a.ca(n);a.hk=f}}}break;case "e":f=c[1];if(void 0===f)a.ca("missing address");else if(f=
|
||||
tl(a,f,2),null!=f[0])for(g=2;g<c.length;g++)h=parseInt(c[g],16),a.ca("setting "+$(f)+" to "+r(h)),a.bd(f,h,1);break;case "f":wl(a,c[1]);break;case "g":a:{f=c[1];if(void 0!==f){f=tl(a,f,1);if(null==f[0])break a;a.Vd(a.vc,f,!0)}a.Oe(!0)||a.ca('cpu not available, "g" command ignored')}break;case "h":m=c[1];if(a.Ob&&void 0===m)a.Ab();else{f="";c=10;g=a.kf;h=a.Ud;if(h.length)for(n=void 0===m?a.Ul:parseInt(m,10),isNaN(n)?n=c:f="more ",n>h.length&&(a.ca("note: only "+h.length+" available"),n=h.length),g-=
|
||||
tl(a,f,2),null!=f[0])for(g=2;g<c.length;g++)h=parseInt(c[g],16),a.ca("setting "+$(f)+" to "+r(h)),a.Md(f,h,1);break;case "f":wl(a,c[1]);break;case "g":a:{f=c[1];if(void 0!==f){f=tl(a,f,1);if(null==f[0])break a;a.Vd(a.vc,f,!0)}a.Oe(!0)||a.ca('cpu not available, "g" command ignored')}break;case "h":m=c[1];if(a.Ob&&void 0===m)a.Ab();else{f="";c=10;g=a.kf;h=a.Ud;if(h.length)for(n=void 0===m?a.Ul:parseInt(m,10),isNaN(n)?n=c:f="more ",n>h.length&&(a.ca("note: only "+h.length+" available"),n=h.length),g-=
|
||||
n,0>g&&(null!=h[h.length-1][1]?g+=h.length:(n=g+n,g=0)),void 0!==m&&a.ca(n+" instructions earlier:");c&&g!=a.kf;){m=h[g];if(null==m[1])break;m=[m[0],m[1],m[2]];a.ca(ml(a,m,"history",-n));++g==h.length&&(g=0);a.Ul=--n;c--}10==c&&(a.ca("no "+f+"history available"),a.Ul=void 0)}break;case "i":(f=c[1])&&"?"!=f?(f=ul(a,f),void 0!==f&&(c=jb(a.na,f),a.ca(u(f)+": "+r(c)))):(a.ca("\ninput commands:"),a.ca("\ti [p]\tread port [p]"),a.ca("warning: port accesses can affect hardware state"));break;case "l":xl(a,
|
||||
c);break;case "m":a:{f=null;h=c[1];"?"==h&&(h=void 0);if(void 0!==h){n=0;if("all"==h)n=4294967295,h=null;else if("on"==h)f=!0,h=null;else if("off"==h)f=!1,h=null;else{for(g in Y)if(h==Y[g].Ma){n=Y[g].La;f=!!(a.ec&n);break}if(!n){a.ca("unknown message category: "+h);break a}}n&&("on"==c[2]?(a.ec|=n,f=!0):"off"==c[2]&&(a.ec&=~n,f=!1))}c=0;n="";for(g in Y)if(!h||h==Y[g].Ma)if(m=!!(a.ec&Y[g].La),null===f||f==m)n&&(n+=","),++c%10||(n+="\n\t"),n+=Y[g].Ma;void 0===h&&a.ca("\nmessage commands:\n\tm [category] [on|off]\tturn categories on/off");
|
||||
a.ca((null!==f?f?"messages on: ":"messages off: ":"message categories:\n\t")+(n||"none"))}break;case "o":f=c[1];c=c[2];f&&"?"!=f?(f=ul(a,f,"port #"),c=ul(a,c),void 0!==f&&void 0!==c&&nb(a.na,f,c)):(a.ca("\noutput commands:"),a.ca("\to [p] [d]\twrite data [d] to port [p]"),a.ca("warning: port accesses can affect hardware state"));break;case "p":case "pr":f="pr"==c[0]?1:0;c=1+f;if(a.mc)a.ca("step in progress");else{h=!1;n=[a.S.qa,a.S.ua.oa,void 0];do switch(g=!1,a.ub(n)){case 38:case 46:case 54:case 62:case 240:jl(n,
|
||||
1);g=!0;break;case 204:case 206:a.mc=c;jl(n,1);break;case 205:case 224:case 225:case 226:a.mc=c;jl(n,2);break;case 232:a.mc=c;jl(n,3);break;case 154:a.mc=c;jl(n,5);break;case 255:a.mc=0<=ml(a,n).indexOf("CALL")?c:0;break;case 243:case 242:jl(n,1);h=g=!0;break;case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:h&&(a.mc=c,jl(n,1))}while(g);a.mc?(a.Vd(a.vc,n,!0),a.Oe()||(a.S.Md(),a.mc=0)):yl(a,f?"tr":"t")}break;case "r":dl(a,c);break;case "t":case "tr":yl(a,c[0],
|
||||
1);g=!0;break;case 204:case 206:a.mc=c;jl(n,1);break;case 205:case 224:case 225:case 226:a.mc=c;jl(n,2);break;case 232:a.mc=c;jl(n,3);break;case 154:a.mc=c;jl(n,5);break;case 255:a.mc=0<=ml(a,n).indexOf("CALL")?c:0;break;case 243:case 242:jl(n,1);h=g=!0;break;case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:h&&(a.mc=c,jl(n,1))}while(g);a.mc?(a.Vd(a.vc,n,!0),a.Oe()||(a.S.Nd(),a.mc=0)):yl(a,f?"tr":"t")}break;case "r":dl(a,c);break;case "t":case "tr":yl(a,c[0],
|
||||
c[1]);break;case "u":el(a,c[1],c[2],8);break;case "x":a:if(void 0===c[1]||"?"==c[1])a.ca("\nexecution options:"),a.ca("\tcs int #\tset checksum cycle interval to #"),a.ca("\tcs start #\tset checksum cycle start count to #"),a.ca("\tcs stop #\tset checksum cycle stop count to #"),a.ca("\tsp #\t\tset speed multiplier to #");else switch(c[1]){case "cs":void 0!==c[3]&&(m=parseInt(c[3],10));switch(c[2]){case "int":a.S.mf=m;break;case "start":a.S.gg=m;break;case "stop":a.S.of=m;break;default:a.ca("unknown cs option");
|
||||
break a}void 0!==m&&Bb(a.S);a.ca("checksums "+(a.S.df?"enabled":"disabled"));break;case "sp":void 0!==c[2]&&Hb(a.S,parseInt(c[2],10));a.ca("target speed: "+(a.S.He.toFixed(2)+"Mhz")+" ("+a.S.Gd+"x)");break;default:a.ca("unknown option: "+c[1])}break;case "?":f="commands:";for(h in Tk)f+="\n"+h+" ".substr(0,7-h.length)+Tk[h];jd(a)||(f+="\nnote: frequency/history disabled if no exec breakpoints");a.ca(f);break;default:a.ca("unknown command: "+b)}}}
|
||||
Ba(function(){for(var a=B(window.document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=z(c),d=new Qk(d);Oa(d,c)}});function H(a,b,c){this.id=a.id;this.key=Al(a,b,c);this.X=a.X;Bl(this,a.gp)}function Al(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}function Cl(){try{return"undefined"!==typeof window.localStorage}catch(a){return!1}}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ function ga(a){return a.replace(/[&<>"']/g,function(a){return fa[a]})}function h
|
|||
function t(a,b,c,d,e,f){b=!!b;var l=0,k=null,m=da(a),n=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");b&&(n.onreadystatechange=function(){4===n.readyState&&(n.onreadystatechange=void 0,k=n.responseText,200!=n.status&&(l=n.status||-1),d&&e&&e.call(d,m,k,l,f))});if(c){var q="",s;for(s in c)c.hasOwnProperty(s)&&(q&&(q+="&"),q+=s+"="+encodeURIComponent(c[s]));q=q.replace(/%20/g,"+");n.open("POST",a,b);n.setRequestHeader("Content-type","application/x-www-form-urlencoded");
|
||||
n.send(q)}else n.open("GET",a,b),n.send();a=[];b||(k=n.responseText,200!=n.status&&(l=n.status||-1),d&&e&&e.call(d,m,k,l,f),a=[l,k]);return a}function ka(){return"http://"+(window?window.location.host:"www.pcjs.org")}function u(a){window?window.alert(a):console.log(a)}function la(a){var b=!1;window&&(b=window.confirm(a));return b}function ma(a){if(window)try{window.localStorage.setItem("user",a)}catch(b){}}
|
||||
function na(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var oa={init:[],show:[],exit:[]},pa=!0;function qa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function v(a){oa.init.push(a)}function ra(a){if(pa)for(var b=0;b<a.length;b++)a[b]()}qa("onload",function(){ra(oa.init)});qa("onpageshow",function(){ra(oa.show)});
|
||||
qa(na("Opera")||na("iOS")?"onunload":"onbeforeunload",function(){ra(oa.exit)});function w(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.lj=b.comment;this.Bn=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.pg=this.id.substr(0,b),this.Hh=this.id.substr(b+1)):this.Hh=this.id;this[a]=c;this.Ch=null;this.Yc=this.Ab=this.Ec=this.sh=this.kg=!1;this.oa={};this.Na=null;this.pg&&this.pg.match(/\d+/);x[x.length]=this}var ta=void 0,ua={};
|
||||
if(window){ta||(ta=window.location.search.substr(1));for(var va,wa=/\+/g,xa=/([^&=]+)=?([^&]*)/g;va=xa.exec(ta);)ua[decodeURIComponent(va[1].replace(wa," "))]=decodeURIComponent(va[2].replace(wa," "))}function ya(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}function z(a,b){b.prototype=ya(a.prototype)}var x=[];
|
||||
qa(na("Opera")||na("iOS")?"onunload":"onbeforeunload",function(){ra(oa.exit)});function w(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id;this.name=b.name;this.lj=b.comment;this.Bn=b;void 0===this.id&&(this.id="");b=this.id.indexOf(".");0<b?(this.pg=this.id.substr(0,b),this.Hh=this.id.substr(b+1)):this.Hh=this.id;this[a]=c;this.Ch=null;this.Yc=this.Ab=this.Ec=this.sh=this.kg=!1;this.oa={};this.Na=null;this.pg&&this.pg.match(/\d+/);x[x.length]=this}var sa=void 0,ua={};
|
||||
if(window){sa||(sa=window.location.search.substr(1));for(var va,wa=/\+/g,xa=/([^&=]+)=?([^&]*)/g;va=xa.exec(sa);)ua[decodeURIComponent(va[1].replace(wa," "))]=decodeURIComponent(va[2].replace(wa," "))}function ya(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}function z(a,b){b.prototype=ya(a.prototype)}var x=[];
|
||||
function za(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<x.length;b++){var d=x[b];a&&d.id.indexOf(a)||c.push(d)}return c}function Aa(a,b){if(void 0!==a){var c;b&&0<(c=b.indexOf("."))&&(a=b.substr(0,c+1)+a);for(c=0;c<x.length;c++)if(x[c].id===a)return x[c]}return null}
|
||||
function Ba(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<x.length;d++)if(c)c==x[d]&&(c=null);else if(!(a!=x[d].type||b&&x[d].id.indexOf(b)))return x[d]}return null}function A(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("({"+a+"})")}catch(c){u(c.message+" ("+a+")")}return b}
|
||||
function B(a,b){var c,d;d=C(b.parentNode,"pcjs-control");for(c=0;c<d.length;c++){var e,f;f=d[c].childNodes;for(e=0;e<f.length;e++){var l=f[e];if(l.nodeType===window.document.ELEMENT_NODE){var k=l.getAttribute("class");if(k){var m,n;n=k.split(" ");for(m=0;m<n.length;m++)switch(k=n[m],k){case "pcjs-input":case "pcjs-output":(n=A(l))&&n.binding&&a.vb(k,n.type,n.binding,l),n=[]}}}}}}
|
||||
|
|
@ -25,17 +25,17 @@ null:this.la},restore:function(a){return this.ea?null===a:this.fl==a.length<<2?(
|
|||
function Ya(a,b){w.call(this,"CPU",a,Ya);var c=a.multiplier||1;this.cd=a.cycles||b;this.yd=c;this.sg=Math.round(this.cd/1E4)/100;this.xe=this.sg*this.yd;this.rc=this.Ab=!1;this.rh=a.autoStart;c=ua.autostart;void 0!==c&&(this.rh="true"==c?!0:"false"==c?!1:null);this.hg=!1;this.xg=this.ze=0;this.yg=a.csStart;this.lf=a.csInterval;this.mf=a.csStop;var d=this;this.Gm=function(){Za(d)};this.Pa()}z(w,Ya);g=Ya.prototype;
|
||||
g.ic=function(a,b,c,d){this.ma=b;this.Na=d;this.Fa=a;var e=D(a,"Video");e&&(this.ef=function(){$a(e)},this.Fe=function(){e.Fe()});this.ga=D(a,"ChipSet");this.Pa()};g.reset=function(){};g.save=function(){return null};g.restore=function(){return!1};g.Tb=function(a,b){if(!b){if(a&&this.restore){ab(this);if(!this.restore(a))return!1;bb(this)}else this.reset();this.Ub("No debugger detected")}this.Ab=!0;!cb(this)&&this.Na&&this.Na.wo();this.ef();this.df();return!0};
|
||||
g.Kb=function(a){this.Ab=!1;return a&&this.save?this.save():!0};function cb(a){return!0===a.rh||null===a.rh&&void 0===a.oa.run?(Za(a),!0):!1}g.Fe=function(){};g.vj=function(){return 0};function bb(a){void 0===a.yg&&(a.yg=0);void 0===a.lf&&(a.lf=-1);void 0===a.mf&&(a.mf=-1);a.hg=0<=a.yg&&0<a.lf;a.hg&&(a.xg=0,a.ze=a.yg-a.ce)}function E(a,b,c,d){void 0!==a.oa[b]&&(void 0===d&&(d=4),void 0===c&&(Ea(a,"Register "+b+" is invalid"),db(a)),c=p(c,d),a.oa[b].innerHTML!=c&&(a.oa[b].innerHTML=c))}g.df=function(){};
|
||||
g.ef=function(){};g.vb=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.oa[c]=d;d.onclick=function(){e.rc?db(e,!0):Za(e,!0)};a=!0;break;case "reset":this.oa[c]=d;d.onclick=function(){e.Fa&&eb(e.Fa)};a=!0;break;case "speed":this.oa[c]=d;a=!0;break;case "setSpeed":this.oa[c]=d,d.onclick=function(){fb(e,e.yd<<1,!0)},d.innerHTML=this.xe.toFixed(2)+"Mhz",a=!0}return a};function hb(a,b,c){a.ce+=b;c&&(a.Lc=a.A=0)}
|
||||
function ib(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.yd&&a.Kc&&(d=a.Kc/a.sg);a.Bj=Math.round(1E3/30);a.zm=Math.floor(a.cd/c*d);a.Qh=Math.floor(a.cd/30*d);a.Fj=Math.floor(a.cd/60*d);a.Ej=Math.floor(a.cd/2*d);b||(a.pf=a.Qh,a.of=a.Fj,a.nf=a.Ej);a.Gi=0}function jb(a,b){var c=a.ce+a.Bd+a.Lc-a.A;b&&1<a.yd&&a.Kc>a.sg&&(c=Math.round(c/a.yd));return c}function ab(a){a.Kc=0;a.vg=1;a.ce=a.Bd=a.Lc=a.A=0;bb(a);fb(a,1)}
|
||||
function fb(a,b,c){void 0!==b&&(0.8>a.Kc/a.xe&&(b=1),a.yd=b,b=a.sg*a.yd,a.xe!=b&&(a.xe=b,b=a.xe.toFixed(2)+"Mhz",a.oa.setSpeed&&(a.oa.setSpeed.innerHTML=b),a.Ub("target speed: "+b)),c&&a.Fe());hb(a,a.Bd);a.Bd=0;a.ye=ha();a.$d=0;ib(a)}
|
||||
function Za(a,b){if(Ca(a,!0)){a.rc||(fb(a),a.Fa&&a.Fa.start(a.ye,jb(a)),a.rc=!0,a.ga&&kb(a.ga),a.oa.run&&(a.oa.run.innerHTML="Halt"),b&&a.Fe());a.Gi>=a.cd&&ib(a,!0);a.qf=0;a.ug=ha();if(a.$d){var c=a.ug-a.$d;c>a.Bj&&(a.ye+=c,a.ye>a.ug&&(a.ye=a.ug))}try{do{a.Wk(a.hg?1:Math.round(a.zm/a.vg));var d=a.Lc-a.A;a.Bd+=d;a.qf+=d;hb(a,0,!0);var c=a,e=d;if(c.hg){var f=!1;c.xg=c.xg+c.vj()|0;c.ze-=e;0>=c.ze&&(c.ze+=c.lf,f=!0);0<=c.mf&&c.mf<=jb(c)&&(c.lf=c.mf=-1,bb(c),db(c),f=!0);f&&c.Ub(jb(c)+" cycles: checksum="+
|
||||
p(c.xg))}a.of-=d;0>=a.of&&(a.of+=a.Fj,a.ef());a.nf-=d;0>=a.nf&&(a.nf+=a.Ej,a.df());a.pf-=d;if(0>=a.pf){a.pf+=a.Qh;break}}while(a.rc)}catch(l){db(a);a.ef();a.df();a.Fa&&a.Fa.stop(ha(),jb(a));Ca(a,!1);Ea(a,l.message);return}d=setTimeout;c=a.Gm;a.$d=ha();e=a.Bj;a.qf&&(e=Math.round(e*a.qf/a.Qh));e-=a.$d-a.ug;if(f=a.$d-a.ye)a.Kc=Math.round(a.Bd/(10*f))/100,864E5<=f&&(a.ce=0,a.ga&&lb(a.ga,!0),fb(a));if(0>e||a.Kc<a.xe)e=0;a.Gi+=a.qf;a.$d+=e;d(c,e)}else a.ef(),a.df(),a.Fa&&a.Fa.stop(ha(),jb(a))}
|
||||
g.ef=function(){};g.vb=function(a,b,c,d){var e=this;a=!1;switch(c){case "run":this.oa[c]=d;d.onclick=function(){e.rc?db(e,!0):Za(e,!0)};a=!0;break;case "reset":this.oa[c]=d;d.onclick=function(){e.Fa&&eb(e.Fa)};a=!0;break;case "speed":this.oa[c]=d;a=!0;break;case "setSpeed":this.oa[c]=d,d.onclick=function(){gb(e,e.yd<<1,!0)},d.innerHTML=this.xe.toFixed(2)+"Mhz",a=!0}return a};function hb(a,b,c){a.ce+=b;c&&(a.Lc=a.A=0)}
|
||||
function ib(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1<a.yd&&a.Kc&&(d=a.Kc/a.sg);a.Bj=Math.round(1E3/30);a.zm=Math.floor(a.cd/c*d);a.Qh=Math.floor(a.cd/30*d);a.Fj=Math.floor(a.cd/60*d);a.Ej=Math.floor(a.cd/2*d);b||(a.pf=a.Qh,a.of=a.Fj,a.nf=a.Ej);a.Gi=0}function jb(a,b){var c=a.ce+a.Bd+a.Lc-a.A;b&&1<a.yd&&a.Kc>a.sg&&(c=Math.round(c/a.yd));return c}function ab(a){a.Kc=0;a.vg=1;a.ce=a.Bd=a.Lc=a.A=0;bb(a);gb(a,1)}
|
||||
function gb(a,b,c){void 0!==b&&(0.8>a.Kc/a.xe&&(b=1),a.yd=b,b=a.sg*a.yd,a.xe!=b&&(a.xe=b,b=a.xe.toFixed(2)+"Mhz",a.oa.setSpeed&&(a.oa.setSpeed.innerHTML=b),a.Ub("target speed: "+b)),c&&a.Fe());hb(a,a.Bd);a.Bd=0;a.ye=ha();a.$d=0;ib(a)}
|
||||
function Za(a,b){if(Ca(a,!0)){a.rc||(gb(a),a.Fa&&a.Fa.start(a.ye,jb(a)),a.rc=!0,a.ga&&kb(a.ga),a.oa.run&&(a.oa.run.innerHTML="Halt"),b&&a.Fe());a.Gi>=a.cd&&ib(a,!0);a.qf=0;a.ug=ha();if(a.$d){var c=a.ug-a.$d;c>a.Bj&&(a.ye+=c,a.ye>a.ug&&(a.ye=a.ug))}try{do{a.Wk(a.hg?1:Math.round(a.zm/a.vg));var d=a.Lc-a.A;a.Bd+=d;a.qf+=d;hb(a,0,!0);var c=a,e=d;if(c.hg){var f=!1;c.xg=c.xg+c.vj()|0;c.ze-=e;0>=c.ze&&(c.ze+=c.lf,f=!0);0<=c.mf&&c.mf<=jb(c)&&(c.lf=c.mf=-1,bb(c),db(c),f=!0);f&&c.Ub(jb(c)+" cycles: checksum="+
|
||||
p(c.xg))}a.of-=d;0>=a.of&&(a.of+=a.Fj,a.ef());a.nf-=d;0>=a.nf&&(a.nf+=a.Ej,a.df());a.pf-=d;if(0>=a.pf){a.pf+=a.Qh;break}}while(a.rc)}catch(l){db(a);a.ef();a.df();a.Fa&&a.Fa.stop(ha(),jb(a));Ca(a,!1);Ea(a,l.message);return}d=setTimeout;c=a.Gm;a.$d=ha();e=a.Bj;a.qf&&(e=Math.round(e*a.qf/a.Qh));e-=a.$d-a.ug;if(f=a.$d-a.ye)a.Kc=Math.round(a.Bd/(10*f))/100,864E5<=f&&(a.ce=0,a.ga&&lb(a.ga,!0),gb(a));if(0>e||a.Kc<a.xe)e=0;a.Gi+=a.qf;a.$d+=e;d(c,e)}else a.ef(),a.df(),a.Fa&&a.Fa.stop(ha(),jb(a))}
|
||||
function db(a,b){a.Ec&&(a.sh=!0);a.Lc-=a.A;a.A=0;hb(a,a.Bd);a.Bd=0;a.rc&&(a.rc=!1,a.ga&&kb(a.ga),a.oa.run&&(a.oa.run.innerHTML="Run"));a.ig=b}g.Wk=function(){return 0};
|
||||
var mb=[1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,
|
||||
0,0,1,1,0,1,0,0,1];function nb(a,b,c){this.ia=a;this.hb=this.ua=0;this.ad=65535;this.uc=this.lc=0;this.Lg=b;ob(this,c)}function pb(a){this.ua=a;this.ad=65535;return this.hb=a<<4}
|
||||
function qb(a){var b,c;a&4?(b=this.ia.Ee.hb,c=this.ia.Ee.ad):(b=this.ia.Rc,c=this.ia.Oe);b+=a&65528;if(b+7<=c){this.Ic=rb;this.Ob=tb;this.ia.A-=15;c=F(this.ia,b+0);var d=F(this.ia,b+4),e=F(this.ia,b+2)|(d&255)<<16;F(this.ia,b+6);b=d&7936;if(b&4096){2048==(b&2560)&&(this.Ob=ub);if(b&2048||!(b&512))this.Ob=vb;this.ua=a;this.ad=c;this.lc=d;this.uc=(d&24576)>>13;return this.hb=e}if(b&&768>=b)return this.ua=a,this.ad=c,this.lc=d,this.uc=(d&24576)>>13,this.hb=e}return-1}
|
||||
function wb(a){return this.hb+a}function xb(a){return this.hb+a}function rb(a,b,c){return a+b<=this.ad?this.hb+a:ub.call(this,0,0,c)}function ub(a,b,c){c||yb.call(this.ia,13,0);return-1}function tb(a,b,c){return a+b<=this.ad?this.hb+a:vb.call(this,0,0,c)}function vb(a,b,c){c||yb.call(this.ia,13,0);return-1}nb.prototype.save=function(){return[this.ua,this.hb,this.ad,this.lc,this.uc,this.Lg]};
|
||||
nb.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ua=a[0],this.hb=a[1],this.ad=a[2],this.lc=a[3],this.uc=a[4],this.Lg=a[5])};function ob(a,b){void 0===b&&(b=!!(a.ia.ed&1));b?(a.load=qb,a.Ic=rb,a.Ob=tb):(a.load=pb,a.Ic=wb,a.Ob=xb)}
|
||||
function qb(a){var b,c;a&4?(b=this.ia.Ee.hb,c=this.ia.Ee.ad):(b=this.ia.Rc,c=this.ia.Oe);b+=a&65528;if(b+7<=c){this.Ic=sb;this.Ob=tb;this.ia.A-=15;c=F(this.ia,b+0);var d=F(this.ia,b+4),e=F(this.ia,b+2)|(d&255)<<16;F(this.ia,b+6);b=d&7936;if(b&4096){2048==(b&2560)&&(this.Ob=ub);if(b&2048||!(b&512))this.Ob=vb;this.ua=a;this.ad=c;this.lc=d;this.uc=(d&24576)>>13;return this.hb=e}if(b&&768>=b)return this.ua=a,this.ad=c,this.lc=d,this.uc=(d&24576)>>13,this.hb=e}return-1}
|
||||
function wb(a){return this.hb+a}function xb(a){return this.hb+a}function sb(a,b,c){return a+b<=this.ad?this.hb+a:ub.call(this,0,0,c)}function ub(a,b,c){c||yb.call(this.ia,13,0);return-1}function tb(a,b,c){return a+b<=this.ad?this.hb+a:vb.call(this,0,0,c)}function vb(a,b,c){c||yb.call(this.ia,13,0);return-1}nb.prototype.save=function(){return[this.ua,this.hb,this.ad,this.lc,this.uc,this.Lg]};
|
||||
nb.prototype.restore=function(a){"number"==typeof a?this.load(a):(this.ua=a[0],this.hb=a[1],this.ad=a[2],this.lc=a[3],this.uc=a[4],this.Lg=a[5])};function ob(a,b){void 0===b&&(b=!!(a.ia.ed&1));b?(a.load=qb,a.Ic=sb,a.Ob=tb):(a.load=pb,a.Ic=wb,a.Ob=xb)}
|
||||
function zb(a){this.Ca=a.model||8088;var b=0;switch(this.Ca){default:case 8088:b=4772727;break;case 80286:b=6E6}Ya.call(this,a,b);this.Zi=61442;this.Lf=4;this.Ae=255;this.Hi=4;this.Z=5;this.na=6;this.ba=7;this.ca=8;this.P=9;this.U=11;this.V=12;this.ae=4;this.Hj=60;this.Ij=83;this.Cb=3;this.fb=9;this.Rb=16;this.Cg=1;this.Mj=19;this.Oj=28;this.Qj=16;this.Pj=21;this.Nj=37;this.Kj=2;this.$h=9;this.Lj=5;this.Jj=33;this.bi=10;this.ai=8;this.uf=3;this.tf=15;this.dk=51;this.ek=1;this.fk=2;this.gk=4;this.ck=
|
||||
32;this.ik=this.ci=15;this.Db=16;this.Eb=4;this.kk=11;this.jk=18;this.hk=24;this.nb=4;this.lk=2;this.di=16;this.mk=17;this.ii=18;this.nk=19;this.hi=5;this.ji=6;this.sk=2;this.rk=8;this.pk=9;this.li=this.ki=this.ok=this.qk=10;this.Sj=80;this.Uj=144;this.Rj=86;this.Tj=154;this.Wj=101;this.Yj=165;this.Vj=107;this.Xj=171;this.uk=70;this.wk=113;this.tk=76;this.vk=124;this.$j=80;this.bk=128;this.Zj=86;this.ak=134;this.wf=3;this.vf=16;this.qi=10;this.pi=8;this.xk=51;this.Sb=8;this.yk=17;this.zk=36;this.$b=
|
||||
11;this.Ak=16;this.xf=10;this.tb=2;this.Xh=18;this.Yh=9-this.tb;this.Zh=17-this.tb;this.ei=12;this.fi=9-this.tb;this.gi=13-this.tb;this.mi=18;this.ni=9-this.tb;this.oi=17-this.tb;this.ri=15;this.si=9-this.tb;this.ti=15-this.tb;this.xi=11;this.yi=9-this.tb;this.zi=10-this.tb;this.Bk=8;this.Ek=12;this.Ck=18;this.Dk=17;this.Fk=15;this.vi=8;this.ui=20;this.wi=2;this.Ci=3;this.yf=9;this.Bi=5;this.Ai=11;this.Ei=4;this.Di=17;this.Gk=11;this.Ma=Ab.slice();80186<=this.Ca&&(this.Ae=31,this.Ma[15]=G,this.Ma[96]=
|
||||
|
|
@ -43,11 +43,11 @@ Bb,this.Ma[97]=Cb,this.Ma[98]=Db,this.Ma[99]=G,this.Ma[100]=G,this.Ma[101]=G,thi
|
|||
16,this.Cb=2,this.Rb=this.fb=7,this.Cg=0,this.Mj=7,this.Oj=13,this.Qj=7,this.Pj=11,this.Nj=16,this.Kj=3,this.$h=6,this.Lj=2,this.Jj=13,this.ai=this.bi=5,this.uf=2,this.tf=7,this.dk=23,this.ek=0,this.fk=1,this.gk=3,this.ck=17,this.ci=7,this.ik=11,this.Db=7,this.Eb=3,this.kk=7,this.jk=11,this.hk=15,this.nb=2,this.lk=3,this.di=7,this.nk=this.ii=this.mk=8,this.ji=this.hi=4,this.sk=2,this.rk=3,this.pk=5,this.qk=2,this.ok=3,this.ki=5,this.li=3,this.Sj=14,this.Uj=22,this.Rj=17,this.Tj=25,this.Wj=17,this.Yj=
|
||||
25,this.Vj=20,this.Xj=28,this.uk=13,this.wk=21,this.tk=16,this.vk=24,this.$j=13,this.bk=21,this.Zj=16,this.ak=24,this.wf=2,this.vf=7,this.pi=this.qi=5,this.xk=19,this.yk=this.Sb=5,this.zk=17,this.$b=3,this.Ak=5,this.xf=3,this.tb=0,this.Xh=8,this.Yh=5,this.Zh=9,this.fi=this.ei=5,this.gi=4,this.ni=this.mi=5,this.oi=4,this.ri=7,this.si=5,this.ti=8,this.xi=3,this.yi=4,this.zi=3,this.Ek=this.Bk=11,this.Dk=this.Ck=15,this.Fk=7,this.vi=5,this.ui=8,this.wi=0,this.Ci=2,this.yf=6,this.Bi=3,this.Ai=6,this.Ei=
|
||||
3,this.Gk=this.Di=5));this.bl=[];this.$i=[];this.Lc=this.gh=0;this.ig=!1;this.ya=[];this.Pe=this.xb=this.Ib=this.eb=this.Qd=0;this.S=this.pl;this.T=this.ql;this.N=this.rm;this.O=this.sm;this.Q=this.Kn;this.R=this.Ln;Xb(this)}z(Ya,zb);g=zb.prototype;g.Jh=function(a,b,c,d,e){this.ya=a;this.Pe=this.xb=b;this.Ib=c;this.eb=d;this.Qd=e};g.reset=function(){this.rc&&db(this);Xb(this);ab(this);this.Yc=!1};
|
||||
function Xb(a){a.G=0;a.B=0;a.I=0;a.J=0;a.X=0;a.H=0;a.F=0;a.D=0;a.ed=65520;a.Sc=0;a.ne=1023;a.qc={Ii:0,ua:0,lc:0,rg:-1};a.Ia=new nb(a,"CS");a.cc=new nb(a,"DS");a.Vb=new nb(a,"SS");a.jb=new nb(a,"ES");a.Uk=new nb(a,"ZERO");Yb(a,0,65535);80286<=a.Ca&&(a.Rc=a.Oe=0,a.Ee=new nb(a,"LDT",!0),a.Ng=new nb(a,"TSS",!0),a.ub=new nb(a,"VER",!0),Yb(a,65520,61440),a.Ia.hb=16711680);Zb(a,0);$b(a);a.Ya=0;a.ob=a.Cf=-1;a.Wf=0;a.da=a.Ba=-1;a.C=a.cc;a.M=a.Vb;a.Y=a.pa=0}
|
||||
function Xb(a){a.G=0;a.B=0;a.I=0;a.J=0;a.X=0;a.H=0;a.F=0;a.D=0;a.ed=65520;a.Sc=0;a.ne=1023;a.qc={Ii:0,ua:0,lc:0,rg:-1};a.Ia=new nb(a,"CS");a.cc=new nb(a,"DS");a.Vb=new nb(a,"SS");a.jb=new nb(a,"ES");a.Uk=new nb(a,"ZERO");Yb(a,0,65535);80286<=a.Ca&&(a.Rc=0,a.Oe=65535,a.Ee=new nb(a,"LDT",!0),a.Ng=new nb(a,"TSS",!0),a.ub=new nb(a,"VER",!0),Yb(a,65520,61440),a.Ia.hb=16711680);Zb(a,0);$b(a);a.Ya=0;a.ob=a.Cf=-1;a.Wf=0;a.da=a.Ba=-1;a.C=a.cc;a.M=a.Vb;a.Y=a.pa=0}
|
||||
g.vj=function(){var a=this.G+this.B+this.I+this.J+this.X+this.H+this.F+this.D|0;return a=a+this.qa+this.Ia.ua+this.cc.ua+this.Vb.ua+this.jb.ua+ac(this)|0};function bc(a,b){var c=a.$i[b];null!=c&&(c(--a.gh),delete a.$i[b])}function $b(a,b){void 0===b&&(b=!!(a.ed&1));cc=b?dc:ec;ob(a.Ia,b);ob(a.cc,b);ob(a.Vb,b);ob(a.jb,b)}
|
||||
g.save=function(){var a=new H(this);a.set(0,[this.G,this.B,this.I,this.J,this.X,this.H,this.F,this.D]);a.set(1,[this.qa,this.Ia.save(),this.cc.save(),this.Vb.save(),this.jb.save(),ac(this),null!=this.Rc?[this.ed,this.Rc,this.Oe,this.Sc,this.ne,this.Ee.save(),this.Ng.save()]:null]);a.set(2,[this.C.Lg,this.M.Lg,this.Y,this.pa,this.Ya,this.da,this.Ba]);a.set(3,[this.vg,this.ce,this.yd]);a.set(4,Sa(this.ma));return a.data()};
|
||||
g.restore=function(a){var b;b=a[0];this.G=b[0];this.B=b[1];this.I=b[2];this.J=b[3];this.X=b[4];this.H=b[5];this.F=b[6];this.D=b[7];b=a[1];this.Ia.restore(b[1]);this.cc.restore(b[2]);this.Vb.restore(b[3]);this.jb.restore(b[4]);Zb(this,b[5]);var c=b[6];c&&c.length&&(this.ed=c[0],this.Rc=c[1],this.Oe=c[2],this.Sc=c[3],this.ne=c[4],this.Ee.restore(c[5]),this.Ng.restore(c[6]),$b(this));I(this,b[0]);b=a[2];this.C=fc(this,b[0]);this.M=fc(this,b[1]);this.Y=b[2];this.pa=b[3];this.Ya=b[4];this.da=b[5];this.Ba=
|
||||
b[6];b=a[3];this.vg=b[0];this.ce=b[1];fb(this,b[2]);a:{b=this.ma;a=a[4];for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.jj){for(var f=0,l=Array(b.jj),k=0;k<e.length-1;)for(var m=e[k++],n=e[k++];m--;)l[f++]=n;e=l}f=b.ya[d];if(!f||!f.restore(e)){u("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&Ja(b,a[c]);b=!0}return b};
|
||||
b[6];b=a[3];this.vg=b[0];this.ce=b[1];gb(this,b[2]);a:{b=this.ma;a=a[4];for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.jj){for(var f=0,l=Array(b.jj),k=0;k<e.length-1;)for(var m=e[k++],n=e[k++];m--;)l[f++]=n;e=l}f=b.ya[d];if(!f||!f.restore(e)){u("Unable to restore memory block "+d);b=!1;break a}}void 0!==a[c]&&Ja(b,a[c]);b=!0}return b};
|
||||
function fc(a,b){switch(b){case "CS":return a.Ia;case "DS":return a.cc;case "SS":return a.Vb;case "ES":return a.jb;case "ZERO":return a.Uk;default:return[0,b,0,0,""]}}function gc(a,b){var c;if(a.ed&1){if(c=a.Sc+(b<<3),c+7<=a.ne){a.qc.Ii=F(a,c);a.qc.ua=F(a,c+2);a.qc.lc=F(a,c+4);switch(a.qc.lc&7936){case 1536:a.qc.rg=-17153;break;case 1792:a.qc.rg=-16641;break;default:return!1}return!0}}else if(c=a.Sc+(b<<2),c+7<=a.ne)return a.qc.Ii=F(a,c),a.qc.ua=F(a,c+2),a.qc.rg=-769,!0;return!1}
|
||||
function hc(a,b){a.Da=a.Ia.load(b)+a.qa;a.Y|=a.Lf}function ic(a,b){a.cc.load(b);a.Y|=a.Lf}function jc(a,b){a.Vb.load(b);a.Y|=4}function kc(a,b){a.jb.load(b);a.Y|=a.Lf}function I(a,b){a.Da=a.Ia.hb+(a.qa=b&65535)}function Yb(a,b,c){a.Da=a.Ia.load(c)+(a.qa=b)}function J(a,b){a.Da=a.Ia.hb+(a.qa=a.qa+b&65535)}function oc(a){return a.W&a.$?1:0}function pc(a){return mb[a.fa&255]?4:0}function qc(a){return(a.fa^a.ha)&16?16:0}function rc(a){return a.W&a.$-1?0:64}function sc(a){return a.fa&a.$>>1?128:0}
|
||||
function tc(a){return(a.fa^a.ha^a.fa>>1)&a.$>>1?2048:0}function uc(a){a.W&=~a.$}function vc(a){a.ha=a.fa&16|a.ha&-17}function wc(a){a.W|=a.$-1}function xc(a){a.fa&=~a.$;a.ha=a.fa&32896|a.ha&-32897}function yc(a){a.W|=a.$}function zc(a){a.ha=~(a.fa&16)&16|a.ha&-17}function Ac(a){a.W&=~(a.$-1)}function Bc(a){sc(a)||(a.fa^=a.$>>1|a.$>>2,a.ha^=32896)}function Cc(a){a.fa|=a.$;a.ha=a.fa&32896|a.ha&-32897}function ac(a){return a.Ha&-2262|oc(a)|pc(a)|qc(a)|rc(a)|sc(a)|tc(a)}
|
||||
|
|
@ -361,8 +361,8 @@ b){this.H=a[6].call(this,this.H,b.call(this))},function(a,b){this.F=a[6].call(th
|
|||
function(a,b){this.F=a[7].call(this,this.F,b.call(this))},function(a,b){this.D=a[7].call(this,this.D,b.call(this))}],xg=[function(){var a=this.aa();16>(a&56)&&(this.Y|=1);vg[a].call(this,cc,td)},function(){var a=this.aa();a&16||(this.Y|=1);vg[a].call(this,wg,td)},function(){P[this.aa()].call(this,Sd)},function(){P[this.aa()].call(this,Td)},N,N,N,N,N,N,N,G,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,
|
||||
N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N,N],dc=[function(){this.A-=2+(0>this.da?0:1);return this.Ee.ua},function(){this.A-=2+(0>this.da?0:1);return this.Ng.ua},function(a){this.Y|=2;this.Ee.load(a);this.A-=
|
||||
17+(0>this.da?0:2);return a},function(a){this.Y|=2;this.Ng.load(a);this.A-=17+(0>this.da?0:2);return a},function(a){this.Y|=2;this.A-=14+(0>this.da?0:2);if(0<=this.ub.load(a,!0)&&2048!=(this.ub.lc&2560)&&(3072==(this.ub.lc&3072)||this.ub.uc>=(this.Ia.ua&3)&&this.ub.uc>=(a&3)))return Ac(this),a;wc(this);return a},function(a){this.Y|=2;this.A-=14+(0>this.da?0:2);if(0<=this.ub.load(a,!0)&&512==(this.ub.lc&2560)&&this.ub.uc>=(this.Ia.ua&3)&&this.ub.uc>=(a&3))return Ac(this),a;wc(this);return a},L,L],
|
||||
ec=[Sb,Sb,Sb,Sb,Sb,Sb,L,L],cc=ec,wg=[function(a){0>this.da?G.call(this):(Fc(this,this.da+2,this.Rc),Ec(this,this.da+4,this.Rc>>16),a=this.Oe-this.Rc,this.A-=11);return a},function(a){0>this.da?G.call(this):(Fc(this,this.da+2,this.Sc),Ec(this,this.da+4,this.Sc>>16),a=this.ne-this.Sc,this.A-=12);return a},function(a){0>this.da?G.call(this):(this.Rc=F(this,this.da+2)|Dc(this,this.da+4)<<16,this.Oe=this.Rc+a,this.Y|=2,this.A-=11);return a},function(a){0>this.da?G.call(this):(this.Sc=F(this,this.da+2)|
|
||||
Dc(this,this.da+4)<<16,this.ne=this.Sc+a,this.Y|=2,this.A-=12);return a},function(){this.A-=2+(0>this.da?0:1);return this.ed},L,function(a){this.ed=this.ed&65520|a&-65521;this.A-=3+(0>this.da?0:3);this.ed&1&&$b(this,!0);this.Y|=2;return a},L];function Ub(){xg[this.aa()].call(this)}function Wb(){K(this,this.X);this.A-=this.$b}function Bb(){var a=this.X;K(this,this.G);K(this,this.I);K(this,this.J);K(this,this.B);K(this,a);K(this,this.H);K(this,this.F);K(this,this.D);this.A-=this.zk}
|
||||
ec=[Sb,Sb,Sb,Sb,Sb,Sb,L,L],cc=ec,wg=[function(a){0>this.da?G.call(this):(a=this.Oe-this.Rc,Fc(this,this.da+2,this.Rc),Fc(this,this.da+4,65280|this.Rc>>16),this.A-=11);return a},function(a){0>this.da?G.call(this):(a=this.ne-this.Sc,Fc(this,this.da+2,this.Sc),Fc(this,this.da+4,65280|this.Sc>>16),this.A-=12);return a},function(a){0>this.da?G.call(this):(this.Rc=F(this,this.da+2)|Dc(this,this.da+4)<<16,this.Oe=this.Rc+a,this.Y|=2,this.A-=11);return a},function(a){0>this.da?G.call(this):(this.Sc=F(this,
|
||||
this.da+2)|Dc(this,this.da+4)<<16,this.ne=this.Sc+a,this.Y|=2,this.A-=12);return a},function(){this.A-=2+(0>this.da?0:1);return this.ed},L,function(a){this.ed=this.ed&65520|a&-65521;this.A-=3+(0>this.da?0:3);this.ed&1&&$b(this,!0);this.Y|=2;return a},L];function Ub(){xg[this.aa()].call(this)}function Wb(){K(this,this.X);this.A-=this.$b}function Bb(){var a=this.X;K(this,this.G);K(this,this.I);K(this,this.J);K(this,this.B);K(this,a);K(this,this.H);K(this,this.F);K(this,this.D);this.A-=this.zk}
|
||||
function Cb(){this.D=this.Aa();this.F=this.Aa();this.H=this.Aa();this.X+=2;this.B=this.Aa();this.J=this.Aa();this.I=this.Aa();this.G=this.Aa();this.A-=this.xk}function Db(){P[this.aa()].call(this,Qd)}function Vb(){O[this.aa()].call(this,Rd)}function Eb(){K(this,this.K());this.A-=this.$b}function Fb(){P[this.aa()].call(this,Ld)}function Gb(){K(this,this.aa());this.A-=this.$b}function Hb(){P[this.aa()].call(this,Kd)}
|
||||
function Ib(){var a=1,b=0,c=5;this.pa&192&&(a=this.I,b=1,this.pa&256&&(c=4));if(a--){var d=Ua(this.ma,this.J,this.Da-b-1);Ec(this,this.jb.Ob(this.D,0),d);this.D=this.D+(this.Ha&1024?-1:1)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.Y|=256)}}
|
||||
function Jb(){var a=1,b=0,c=5;this.pa&192&&(a=this.I,b=1,this.pa&256&&(c=4));if(a--){var d=this.Da-b-1,d=Ua(this.ma,this.J,d)|Ua(this.ma,this.J,d)<<8;Fc(this,this.jb.Ob(this.D,1),d);this.D=this.D+(this.Ha&1024?-2:2)&65535;this.A-=c;this.I-=b;a&&(J(this,-2),this.Y|=256)}}
|
||||
|
|
@ -497,8 +497,8 @@ g.restore=function(a){var b=a[2];this.Ad=b[0];this.Nc=b[1];this.zd=b[2];this.za=
|
|||
g.Em=function(a,b,c){if(c)this.xa("Unable to load font ROM image (error "+c+")");else{try{var d=eval("("+b+")");if(!d.length){u("Empty font ROM image: "+a);return}if(1==d.length){u(d[0]);return}if(8192==d.length)ei(this,d,[0,6144]);else{this.xa("Unrecognized font data length ("+d.length+")");return}}catch(e){this.xa("Font ROM data error: "+e.message);return}this.Pa()}};
|
||||
function Qi(a,b){if(1==b)return a.Qc[0]=W[0],a.Qc[1]=W[7],a.Qc;if(2==b){var c=a.za.Ze;if(a.za===a.ja){var d=a.ja.Jd[0],c=d&7;d&16&&(c|=8);18!=a.ja.Jd[1]&&(c|=32)}a.Qc[0]=W[c&15];c=c&32?vi:ui;for(d=0;d<c.length;d++)a.Qc[d+1]=W[c[d]];return a.Qc}if(a.Nb===a.ag)return W;c=null!=a.ja.Jd[15]?a.ja.Jd:wi;for(d=0;d<a.Qc.length;d++){var e=c[d]||0;a.Qc[d]=[(e&4?170:0)|(e&32?85:0),(e&2?170:0)|(e&16?85:0),(e&1?170:0)|(e&8?85:0),255]}return a.Qc}function ei(a,b,c,d){a.Qf=b;a.Yg=c;a.Wd=d}
|
||||
function Mi(a){var b=!1;if(window&&a.Qf){var c=a.Wd?0:2048,d=a.Wd?a.Wd:9;Ri(a,1,a.Yg[0],c,d,14,a.Qf,si,ti)&&(b=!0);c=Qi(a);d=a.Wd?a.Wd:8;Ri(a,3,a.Yg[1],0,d,8,a.Qf,c)&&(b=!0);a.Wd&&Ri(a,5,a.Yg[0],0,a.Wd,14,a.Qf,c)&&(b=!0)}return b}function Ri(a,b,c,d,e,f,l,k,m){var n=!1;Si(a,b,c,d,e,f,l,k,m)&&(n=!0);a.jl&&Si(a,b<<1,c,d,e,f,l,k,m)&&(n=!0);return n}
|
||||
function Si(a,b,c,d,e,f,l,k,m){var n=!1,q=b&1?0:1,s=a.jd[b];s||(s={Xb:e<<q,Yb:f<<q,je:Array(k.length),aj:k.slice(),Me:m,Wg:Array(k.length)});for(m=0;m<k.length;m++){var r=k[m],y=s.je[m]?s.aj[m]:[];if(r[0]!==y[0]||r[1]!==y[1]||r[2]!==y[2]){var n=s,y=m,M=q,V=c,aa=d,ba=e,gb=f,lc=l,jd=[0,0,0,0],mc=window.document.createElement("canvas");mc.width=n.Xb<<4;mc.height=n.Yb<<4;for(var Qh=mc.getContext("2d"),sa=void 0,sb=void 0,Ra=void 0,nc=8>gb||!aa?gb:8,kd=Qh.createImageData(n.Xb,n.Yb),sa=0;256>sa;sa++){for(Ra=
|
||||
0;Ra<gb;Ra++)for(var Rj=n.Me&&y&1&&Ra>=gb-2,Sj=lc[Ra<nc?V+sa*nc+Ra:aa+sa*nc+Ra-nc],ld=0;ld<=M;ld++)for(sb=0;sb<ba;sb++){var Rh=sb<<M,Sh=(Ra<<M)+ld,Th=Rj||Sj&128>>(8<=sb&&176<=sa&&223>=sa?7:sb)?r:jd;Ti(kd,Rh,Sh,Th);M&&Ti(kd,Rh+1,Sh,Th)}Qh.putImageData(kd,(sa&15)*n.Xb,(sa>>4)*n.Yb)}n.je[y]="#"+p(r[0],2)+p(r[1],2)+p(r[2],2);n.aj[y]=r;n.Wg[y]=mc;n=!0}}a.jd[b]=s;return n}function Ui(a){0<a.Sd||0<=a.tc?0>a.Td&&(a.Td=0):a.Td=-1}
|
||||
function Si(a,b,c,d,e,f,l,k,m){var n=!1,q=b&1?0:1,s=a.jd[b];s||(s={Xb:e<<q,Yb:f<<q,je:Array(k.length),aj:k.slice(),Me:m,Wg:Array(k.length)});for(m=0;m<k.length;m++){var r=k[m],y=s.je[m]?s.aj[m]:[];if(r[0]!==y[0]||r[1]!==y[1]||r[2]!==y[2]){var n=s,y=m,M=q,V=c,aa=d,ba=e,fb=f,lc=l,jd=[0,0,0,0],mc=window.document.createElement("canvas");mc.width=n.Xb<<4;mc.height=n.Yb<<4;for(var Qh=mc.getContext("2d"),ta=void 0,rb=void 0,Ra=void 0,nc=8>fb||!aa?fb:8,kd=Qh.createImageData(n.Xb,n.Yb),ta=0;256>ta;ta++){for(Ra=
|
||||
0;Ra<fb;Ra++)for(var Rj=n.Me&&y&1&&Ra>=fb-2,Sj=lc[Ra<nc?V+ta*nc+Ra:aa+ta*nc+Ra-nc],ld=0;ld<=M;ld++)for(rb=0;rb<ba;rb++){var Rh=rb<<M,Sh=(Ra<<M)+ld,Th=Rj||Sj&128>>(8<=rb&&176<=ta&&223>=ta?7:rb)?r:jd;Ti(kd,Rh,Sh,Th);M&&Ti(kd,Rh+1,Sh,Th)}Qh.putImageData(kd,(ta&15)*n.Xb,(ta>>4)*n.Yb)}n.je[y]="#"+p(r[0],2)+p(r[1],2)+p(r[2],2);n.aj[y]=r;n.Wg[y]=mc;n=!0}}a.jd[b]=s;return n}function Ui(a){0<a.Sd||0<=a.tc?0>a.Td&&(a.Td=0):a.Td=-1}
|
||||
function Pi(a){if(a.Bb){for(var b=10;15>=b;b++)if(null==a.za.Wb[b])return;var c=a.za.Wb[10],b=c&31,d=a.za.Wb[11]&31,e=a.za.Wb[9]&31,f=!1;a.za===a.ja&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Vi(a);else{c=a.za.Wb[15]+((a.za.Wb[14]&63)<<8);a.tc!=c&&(Vi(a),a.tc=c);d=d-b+1;if(a.Zk!=b||a.mj!=d)a.Zk=b,a.mj=d;a.td=e+1;Ui(a)}}}
|
||||
function Vi(a){if(0<=a.tc){if(void 0!==a.Mb){var b=a.Mb[a.tc];if(b&131072){var b=b&-131073,c=a.tc%a.mb,d=Math.floor(a.tc/a.mb);a.Bb&&a.jd[a.Bb]&&(a.qe&&Wi(a,c,d,b,a.qe),Wi(a,c,d,b));a.Mb[a.tc]=b}}a.tc=-1}}
|
||||
function Xi(a){var b;a=a.za;var c=a.ke[5];if(null!=c){b=2;var d=512,e=a.ke[3]&31;switch(c&3){case 0:if(e){d=1024;switch(e&24){case 8:d=1536;break;case 16:d=2560;break;case 24:d=3584}a.Mc=e&7}break;case 1:d=4096;break;case 2:switch(e&24){default:d=8192;break;case 8:d=24576;break;case 16:d=40960;break;case 24:d=57344}}c&8&&(b=16);c&16&&(b|=1,d|=256);b|=d}return b}g.ge=function(a){var b=this.za;null!=a&&b&&a!=b.Kh&&(b.Og(a),this.ma.Og(b.ab,b.dc,b.Re))};
|
||||
|
|
@ -511,7 +511,7 @@ function Wi(a,b,c,d,e){var f=d&255,l=d>>8;d=l&15;var k=a.jd[a.Bb];k.Me&&(d=k.Me[
|
|||
e.fillStyle=k.je[d],e.fillRect(b,c+f,k.Xb,l)):(a.td&&a.td!==a.Xc&&(f=Math.floor(f*a.Xc/a.td),l=Math.floor(l*a.Xc/a.td)),a.Cc.fillStyle=k.je[d],a.Cc.fillRect(b,c+f,a.Wc,l)))}
|
||||
function $a(a,b){if(a.Ab){var c=!1;a.za&&(a.za===a.ja?a.ja.Zd&32&&(c=!0):a.za.jc&8&&(c=!0));if(c||b){if(b)Yi(a,!0);else if(void 0===a.Mb)return;var d=!1;!(b||++a.el&15)&&0<=a.Td&&(a.Td++,d=!0);var e=0,f=a.Dj,c=a.za.ab,l=c+a.za.dc,k=(a.za.Wb[12]<<8)+a.za.Wb[13];a.Bb&&(k<<=1);var c=c+k,m=a.ih;c+m>l&&(m=l-c,0>m&&(m=0));l=c+m;if(k=!b){for(var k=a.ma,n=!0,q=c>>k.Ib;0<m&&q<k.ya.length;)k.ya[q].Xa&&(k.ya[q].Xa=n=!1,k.ya[q].oj=!0),m-=k.nc,q++;k=n}if(k){if(!d)return;if(!a.Sd){if(0>a.tc)return;e=a.tc;f=e+1}}if(a.Bb){if(a.jd[a.Bb]){d=
|
||||
0;k=a.Sd=0;m=1048575;a.za.jc&32&&(k=32768,m&=~k,a.Td&2||(m&=-65537));for(c+=e<<1;c<l&&e<f;)n=Oa(a.ma,c),n|=65536,n&k&&(a.Sd++,n&=m),e==a.tc&&(n|=a.Td&1?131072:0),q=a.Mb[e],q!=n&&(Wi(a,e%a.mb,Math.floor(e/a.mb),n,a.qe),a.Mb[e]=n,d++),c+=2,e++;d&&a.qe&&a.Cc.drawImage(a.pe,0,0,a.bf,a.cf,a.Xi,a.Yi,a.lh,a.mh);Ui(a)}}else if(a.kj){for(var f=l,s,r,e=c,l=a.Sd=0,d=a.Mh,k=16==d?65536:196608,m=16==d?1:2,n=Qi(a,m),y=q=0,M=a.mb,V=0,aa=a.ac,ba=0;e<f;){s=Oa(a.ma,e);r=a.Mb[l];if(r===s)q+=d;else{a.Mb[l]=s;s=s>>8|
|
||||
(s&255)<<8;r=k;var gb=16;q<M&&(M=q);for(var lc=0;lc<d;lc++){var jd=(s&(r>>=m))>>(gb-=m);Ti(a.qg,q++,y,n[jd])}q>V&&(V=q);y<aa&&(aa=y);y>=ba&&(ba=y+1)}e+=2;l++;if(q>=a.mb){q=0;y+=2;if(y>a.ac)break;y==a.ac&&(y=1,e=c+a.kj)}}M<a.mb&&(a.qe.putImageData(a.qg,0,0,M,aa,V-M,ba-aa),a.Cc.drawImage(a.pe,0,0,a.mb,a.ac,0,0,a.Vc,a.ud))}else{f=l;e=a.Sd=0;l=Qi(a);d=a.za.Md;m=k=0;n=a.mb;q=0;y=a.ac;for(M=0;c<f;){V=c++-a.ab;V=d[V];aa=a.Mb[e];if(aa===V)k+=8;else{a.Mb[e]=V;k<n&&(n=k);for(aa=0;8>aa;aa++)ba=V&2155905152,
|
||||
(s&255)<<8;r=k;var fb=16;q<M&&(M=q);for(var lc=0;lc<d;lc++){var jd=(s&(r>>=m))>>(fb-=m);Ti(a.qg,q++,y,n[jd])}q>V&&(V=q);y<aa&&(aa=y);y>=ba&&(ba=y+1)}e+=2;l++;if(q>=a.mb){q=0;y+=2;if(y>a.ac)break;y==a.ac&&(y=1,e=c+a.kj)}}M<a.mb&&(a.qe.putImageData(a.qg,0,0,M,aa,V-M,ba-aa),a.Cc.drawImage(a.pe,0,0,a.mb,a.ac,0,0,a.Vc,a.ud))}else{f=l;e=a.Sd=0;l=Qi(a);d=a.za.Md;m=k=0;n=a.mb;q=0;y=a.ac;for(M=0;c<f;){V=c++-a.ab;V=d[V];aa=a.Mb[e];if(aa===V)k+=8;else{a.Mb[e]=V;k<n&&(n=k);for(aa=0;8>aa;aa++)ba=V&2155905152,
|
||||
0>ba&&(ba=-ba),ba=X[ba]||0,Ti(a.qg,k++,m,l[ba]),V<<=1;k>q&&(q=k);m<y&&(y=m);m>=M&&(M=m+1)}e++;if(k>=a.mb&&(k=0,++m>a.ac))break}n<a.mb&&(a.qe.putImageData(a.qg,0,0,n,y,q-n,M-y),a.Cc.drawImage(a.pe,0,0,a.mb,a.ac,0,0,a.Vc,a.ud))}}}}g.$l=function(){return this.Ac.sc};g.kn=function(a,b){var c=this.Ac;c.ng=c.sc;c.sc=b&31};g.Zl=function(){return Zi(this.Ac)};g.jn=function(a,b){$i(this,this.Ac,b)};g.am=function(){return this.Ac.jc};g.ln=function(a,b){this.Ac.jc=b;Oi(this,!1)};
|
||||
g.bm=function(){return aj(this,this.Ac)};g.Jk=function(a,b){this.ja.Bh=this.ja.Bh&-4|b&3};g.zj=function(){var a=this.ja.vd?this.ja.Jd[this.ja.Zd&31]:this.ja.Zd;this.ja.vd=!this.ja.vd;return a};g.Ik=function(a,b){var c=this.ja.Zd&32;if(this.ja.vd){var d=this.ja.Zd&31;if(16<=d||!c)this.ja.Jd[d]=b;this.ja.vd=!1}else this.ja.Zd=b,this.ja.vd=!0,b&32&&!c&&Mi(this)&&$a(this,!0)};g.lm=function(){var a=3-((this.ja.tg&12)>>2),a=this.ja.Ui&-17|(this.Tf&1<<a)<<4-a;return this.ja.Ui=a};
|
||||
g.nn=function(a,b){this.ja.tg=b;Li(this)};g.km=function(){return this.ja.we};g.un=function(a,b){this.ja.we=b};g.jm=function(){return this.ja.Pf[this.ja.we]};g.tn=function(a,b){this.ja.Pf[this.ja.we]=b;2==this.ja.we&&(this.ja.Ua=xi[b&15])};g.Sl=function(){return this.ja.Eh};g.dn=function(a,b){this.ja.Eh=b};g.Tl=function(){return this.ja.Fh};g.en=function(a,b){this.ja.Fh=b};g.Rl=function(){return this.ja.ve};g.cn=function(a,b){this.ja.ve=b};g.Ql=function(){return this.ja.ke[this.ja.ve]};
|
||||
|
|
@ -549,9 +549,9 @@ g.Hm=function(a,b,c,d){a=d[0];b=d[1];var e=d[2],f=d[3];d=d[4];this.Ah=!1;if(0<=a
|
|||
g.seek=function(a,b,c,d,e){var f=null,l=this.Oa,k=this.gb[a];if(k){var m=k[b];if(!m&&l.Te&&b<l.Jb)for(m=k[b]=Array(l.od),k=0;k<m.length;k++)m[k]=oj(null,a,b,k+1,l.$a,0);if(m){for(k=0;k<m.length;k++)if(m[k]&&m[k].sector==c){f=m[k];if(null===f.pattern)if(d)f.pattern=0;else if(e){for(d=1;++k<m.length;)null===m[k].pattern&&d++;pj(this,a,b,c,d,function(a,b){a&&(f=null);e(f,b)});return null}break}!f&&l.Te&&9==l.Ka&&(f=m[k]=oj(null,a,b,l.Ka,l.$a,0))}}e&&e(f,!1);return f};
|
||||
g.fill=function(a,b,c){for(var d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e};function sj(a){var b=a.length,c=Array(b),d=0,b=b>>2,e=a.data;a=a.pattern;for(var f=0;f<b;f++){var l=f<e.length?e[f]:a;c[d++]=l&255;c[d++]=l>>8&255;c[d++]=l>>16&255;c[d++]=l>>24&255}return c}function tj(a,b){var c=-1;if(b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c}
|
||||
g.write=function(a,b,c){if(this.te)return!1;if(b<a.length){if(c!=tj(a,b)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var l=d.length;l<=f;l++)d[l]=e;a.oc?f<a.Fc?(a.oc+=a.Fc-f,a.Fc=f):f>=a.Fc+a.oc&&(a.oc+=f-(a.Fc+a.oc)+1):(a.Fc=f,a.oc=1);d[f]=d[f]&~(255<<b)|c<<b;this.Zc&&qj(this,a,!0)}return!0}return null};
|
||||
g.save=function(){var a=0,b=[];b[a++]=[this.De,this.dg];if(!this.Zc&&!this.te)for(var c=this.gb,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var l=c[d][e][f];if(l.oc){for(var k=[],m=0,n=l.Fc,q=l.Fc+l.oc;n<q;)k[m++]=l.data[n++];b[a++]=[d,e,f,l.Fc,k]}}return b};
|
||||
g.save=function(){var a=0,b=[];b[a++]=[this.De,this.dg];if(!this.Zc&&!this.te)for(var c=this.gb,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var l=c[d][e][f];if(l&&l.oc){for(var k=[],m=0,n=l.Fc,q=l.Fc+l.oc;n<q;)k[m++]=l.data[n++];b[a++]=[d,e,f,l.Fc,k]}}return b};
|
||||
g.restore=function(a){var b=0,c="unsupported restore format";if(this.gb.length&&a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&e[1]!=this.dg&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.dg+")",b=-1);for(;d<a.length&&0<=b;){var f=0,l=a[d++],k=l[f++],m=l[f++],n=l[f++];if(k>=this.gb.length||m>=this.gb[k].length||n>=this.gb[k][m].length){c="sector "+k+":"+m+":"+n+" out of range ("+b+" changes applied)";b=-1;break}if(this.te){c="unable to modify write-protected disk";b=-1;break}e=
|
||||
l[f++];f=l[f++];l=e+f.length;k=this.gb[k][m][n];for(m=k.data.length;m<e;)k.data[m++]=k.pattern;m=0;k.Fc=e;for(k.oc=f.length;e<l;)k.data[e++]=f[m++];b++}}0>b&&this.xa("unable to restore disk '"+this.fd+": "+c);return b};
|
||||
l[f++];f=l[f++];l=e+f.length;if(k=this.gb[k][m][n]){for(m=k.data.length;m<e;)k.data[m++]=k.pattern;m=0;k.Fc=e;for(k.oc=f.length;e<l;)k.data[e++]=f[m++];b++}}}0>b&&this.xa("unable to restore disk '"+this.fd+": "+c);return b};
|
||||
function uj(a){w.call(this,"FDC",a,uj);this.dmaRead=this.nh;this.dmaWrite=this.oh;this.dmaFormat=this.gl;this.de=null;if(a.autoMount&&(this.de=a.autoMount,"string"==typeof this.de))try{this.de=eval("("+a.autoMount+")")}catch(b){u("FDC auto-mount error: "+b.message+" ("+a.autoMount+")"),this.de=null}this.ec=[]}z(w,uj);h={};ca={};
|
||||
var vj={3:{Uc:3,qd:0,name:ca.io},4:{Uc:2,qd:1,name:ca.fo},5:{Uc:9,qd:7,name:ca.ro},6:{Uc:9,qd:7,name:ca.$n},7:{Uc:2,qd:0,name:ca.bo},8:{Uc:1,qd:2,name:ca.ho},10:{Uc:2,qd:7,name:ca.ao},13:{Uc:6,qd:7,name:ca.Un},15:{Uc:3,qd:0,name:ca.eo}};g=uj.prototype;
|
||||
g.vb=function(a,b,c,d){switch(c){case "listDisks":return this.oa[c]=d,a=window.document.createElement("option"),a.value="?",a.innerHTML="User-defined URL...",d.appendChild(a),d.onchange=function(a,b){return function(){var c=a.oa.descDisk;if(c){var d=b.options[b.selectedIndex];if(d){var m={};if(d=d.getAttribute("data-value"))try{m=eval("({"+d+"})")}catch(n){u("FDC option error: "+(n.message||n))}d=m.desc;void 0===d&&(d="");m=m.href;void 0!==m&&(d='<a href="'+m+'" target="_blank">'+d+"</a>");c.innerHTML=
|
||||
|
|
|
|||
Loading…
Reference in a new issue