Added "Adventures in Math (1983)" along with some notes about the failure to properly archive files

This commit is contained in:
Jeff Parsons 2017-06-14 09:48:51 -07:00 committed by Jeff Parsons
commit 36bf15561f
19 changed files with 619 additions and 379 deletions

10
apps/pcx86/1983/README.md Normal file
View file

@ -0,0 +1,10 @@
---
layout: page
title: IBM PC Applications (1983)
permalink: /apps/pcx86/1983/
---
IBM PC Applications (1983)
---
* [Adventures in Math (1983)](adventmath/)

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,144 @@
---
layout: page
title: "Adventures in Math (1983)"
permalink: /apps/pcx86/1983/adventmath/
machines:
- type: pcx86
id: ibm5150
config: /devices/pcx86/machine/5150/cga/64kb/machine.xml
autoMount:
B:
path: /apps/pcx86/1983/adventmath/ADVENTMATH100.json
---
Adventures in Math (1983)
-------------------------
{% include machine.html id="ibm5150" %}
This game is available from the [Internet Archive](https://archive.org/details/msdos_Adventures_in_Math_1983);
the contents of their ZIP archive contains:
-rwxr-xr-x@ 1 Jeff staff 18688 Dec 24 1996 Adventur.bas
-rwxr-xr-x@ 1 Jeff staff 0 Dec 24 1996 Adventures in Math (1983).ba1
-rwxr-xr-x@ 1 Jeff staff 54277 Dec 24 1996 Basica.exe
-rwxr-xr-x@ 1 Jeff staff 11904 Dec 24 1996 Castle.bas
-rwxr-xr-x@ 1 Jeff staff 6400 Dec 24 1996 Exit.bas
-rwxr-xr-x@ 1 Jeff staff 4992 Dec 24 1996 Help.bas
-rwxr-xr-x@ 1 Jeff staff 1418 Dec 24 1996 Maze1
-rwxr-xr-x@ 1 Jeff staff 2179 Dec 24 1996 Maze2
-rwxr-xr-x@ 1 Jeff staff 3892 Dec 24 1996 Maze3
-rwxr-xr-x@ 1 Jeff staff 10496 Dec 24 1996 Monocode.000
-rwxr-xr-x@ 1 Jeff staff 15 Dec 24 1996 Run.bat
-rwxr-xr-x@ 1 Jeff staff 13 Dec 24 1996 Sn
-rwxr-xr-x@ 1 Jeff staff 369 Dec 24 1996 Topten
What's a little disturbing about the above archive is that all the files are dated "Dec 24 1996".
However, if you dig around a bit more on the Internet Archive, you discover that
[A Large Collection of DOS Collections](https://archive.org/details/large_dos_collection_2013_08) contains:
- DOS Collection v0.7/DVD1/Adventures In Math (1983)(Ibm).zip
- main torrent/1983/Adventures in Math (1983)(IBM) [Educational].zip
In the first ZIP file:
-rw-r--r--@ 1 Jeff staff 18688 Dec 24 1996 adventur.bas
-rw-r--r--@ 1 Jeff staff 16 Dec 24 1996 autoexec.bat
-rw-r--r--@ 1 Jeff staff 54277 Dec 24 1996 basica.exe
-rw-r--r--@ 1 Jeff staff 11904 Dec 24 1996 castle.bas
-rw-r--r--@ 1 Jeff staff 4964 Dec 24 1996 command.com
-rw-r--r--@ 1 Jeff staff 6400 Dec 24 1996 exit.bas
-rw-r--r--@ 1 Jeff staff 4992 Dec 24 1996 help.bas
-rw-r--r--@ 1 Jeff staff 1418 Dec 24 1996 maze1
-rw-r--r--@ 1 Jeff staff 2179 Dec 24 1996 maze2
-rw-r--r--@ 1 Jeff staff 3892 Dec 24 1996 maze3
-rw-r--r--@ 1 Jeff staff 10496 Dec 24 1996 monocode.000
-rw-r--r--@ 1 Jeff staff 13 Dec 24 1996 sn
-rw-r--r--@ 1 Jeff staff 369 Dec 24 1996 topten
And in the second ZIP file:
-rw-r--r--@ 1 Jeff staff 18688 Aug 11 1983 Adventur.bas
-rw-r--r--@ 1 Jeff staff 54277 Sep 17 1999 Basica.exe
-rw-r--r--@ 1 Jeff staff 11904 Aug 11 1983 Castle.bas
-rw-r--r--@ 1 Jeff staff 6400 Aug 11 1983 Exit.bas
-rw-r--r--@ 1 Jeff staff 4992 Aug 11 1983 Help.bas
-rw-r--r--@ 1 Jeff staff 1418 Aug 11 1983 Maze1
-rw-r--r--@ 1 Jeff staff 2179 Aug 11 1983 Maze2
-rw-r--r--@ 1 Jeff staff 3892 Aug 11 1983 Maze3
-rw-r--r--@ 1 Jeff staff 10496 Dec 19 1985 Monocode.000
-rw-r--r--@ 1 Jeff staff 15 Jan 4 2003 Run.bat
-rw-r--r--@ 1 Jeff staff 13 Aug 11 1983 Sn
-rw-r--r--@ 1 Jeff staff 369 Sep 17 1999 Topten
-rw-r--r--@ 1 Jeff staff 170 Jan 22 2011 file_id.diz
So we're going to start with the second ZIP file. One oddity common to *all* these archives is the file
"MONOCODE.000". Dumping that file reveals:
00000c60 20 4d 4f 4e 4f 50 4f 4c 59 20 69 73 20 61 20 72 | MONOPOLY is a r|
00000c70 65 67 69 73 74 65 72 65 64 20 74 72 61 64 65 6d |egistered tradem|
00000c80 61 72 6b 20 6f 66 20 50 61 72 6b 65 72 20 42 72 |ark of Parker Br|
00000c90 6f 74 68 65 72 73 2c 20 49 6e 63 2e e8 f7 7d e8 |others, Inc...}.|
00000ca0 a1 64 e8 d4 79 e8 d6 7d 3c 20 20 20 20 20 20 20 |.d..y..}< |
00000cb0 20 20 20 20 20 20 4d 53 2d 44 4f 53 20 61 64 61 | MS-DOS ada|
00000cc0 70 74 61 74 69 6f 6e 20 28 43 29 20 31 39 38 35 |ptation (C) 1985|
00000cd0 20 44 6f 6e 20 50 68 69 6c 6c 69 70 20 47 69 62 | Don Phillip Gib|
00000ce0 73 6f 6e 20 5b e8 96 7d 03 35 2e 31 b8 5d 00 50 |son [..}.5.1.].P|
so it seems pretty clear that whoever created this disk had copied other unrelated (eg, MONOPOLY) game files to it,
and if/when someone tried to clean it up later, they missed this file. I've deleted it.
Another oddity is "BASICA.EXE" (54277 bytes) from 1999. It seems unlikely that IBM would have distributed *any*
BASIC binary with this game, because DOS was a prerequisite, and all versions of DOS included BASIC. IBM's PC-DOS
shipped with "BASICA.COM", and OEM versions of DOS shipped with either "GWBASIC.EXE" or "BASIC.EXE".
The closest binary I'd seen up to this point was "BASICA.EXE" from COMPAQ DOS 1.12 (54304 bytes). And sure enough,
this "BASICA.EXE" is a close relative, since it contains the strings:
The COMPAQ Personal Computer BASIC
Version 1.13
(C) Copyright COMPAQ Computer Corp. 1983
It's unlikely that IBM would have distributed a COMPAQ binary; if they had distributed any BASIC binary with this
game at all, it would have been their own "BASICA.COM", and since that binary also requires IBM's ROM BASIC, a more
generic BASIC binary was desirable.
I've deleted "BASICA.EXE". The proper thing to do -- and what any purchaser of this game would have to do -- is
boot a machine with a disk containing some version of BASIC and use that.
Finally, there was "FILE_ID.DIZ":
Adventures in Math (1983)(IBM) [Educational].zip
Name:Adventures in Math
Version:1.0
Language/Country:English
Flags:
Year:1983
Publisher:IBM
Genre(s):Educational
and "RUN.BAT":
basica castle
and "TOPTEN":
The Ultimate One,83519,LARGE,07-15-81
MathsWhiz,78613,LARGE,01-01-80
[z],70946,LARGE,07-13-81
[z],56728,LARGE,04-24-80
[z],56727,LARGE,07-25-81
[z], 56277,LARGE,07-28-81
[z],56157,LARGE,07-24-81
[z],55677,LARGE,07-24-81
[z],55197,LARGE,07-23-81
[z],54792,LARGE,07-23-81
^Z,07-28-81
[z],56157,LARGE,07-24-81
Z[z],55677,LARGE,07-24-81
[z],55197,LARGE,07-23-81
Those files have been deleted as well, leaving 8 files dated "Aug 11 1983". I created a disk image from the
directory containing those files:
diskdump --dir=archive --format=json --output=ADVENTMATH100.json --manifest

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcx86/1.35.0/manifest.xsl"?>
<manifest type="software">
<title>Adventures in Math</title>
<version>1.0</version>
<type>Game</type>
<category>Educational</category>
<author>Scott A. Harris</author>
<publisher>IBM</publisher>
<releaseDate>1983</releaseDate>
<machine href="/devices/pcx86/machine/5150/cga/64kb/debugger/machine.xml" state=""/>
<disk id="disk01" chs="40:2:9" dir="archive" href="/apps/pcx86/1983/adventmath/ADVENTMATH100.json" md5="d0a170815f29dc663bdb0dd7977efdb3" md5json="1ebcf9c7819f4516677722913d80b589">
<name>Adventures in Math (1983)</name>
<file size="17928" time="1983-08-11 12:00:12" attr="0x20" md5="0a60a8d64ce3d5013525a26a3347308d">ADVENTUR.BAS</file>
<file size="11445" time="1983-08-11 12:00:14" attr="0x20" md5="5ab9b1ea1455581fce8918b5bc37f439">CASTLE.BAS</file>
<file size="6131" time="1983-08-11 12:00:14" attr="0x20" md5="f2a8c7ab5ee4b365db1a60cfe931f25b">EXIT.BAS</file>
<file size="4819" time="1983-08-11 12:00:12" attr="0x20" md5="9e0c5b895390089def38a036c4ccc1f2">HELP.BAS</file>
<file size="1418" time="1983-08-11 12:00:16" attr="0x20" md5="523b0102729670e4ebec91ef4d9a90fb">MAZE1</file>
<file size="2179" time="1983-08-11 12:00:16" attr="0x20" md5="ca44b503f5507906dfeab5929eeaca30">MAZE2</file>
<file size="3892" time="1983-08-11 12:00:18" attr="0x20" md5="3889b95cf4a069dc6a552aa5286028b7">MAZE3</file>
<file size="13" time="1983-08-11 12:00:22" attr="0x20" md5="18f3875160f3d1ad66f54b36d7459278">SN</file>
</disk>
</manifest>

View file

@ -11,6 +11,7 @@ Below are selected [PCx86](/docs/about/pcx86/) demos of classic IBM PC applicati
* [VisiCalc (1981)](1981/visicalc/)
* [Executive Suite (1982)](1982/esuite/)
* [Adventures in Math (1983)](1983/adventmath/)
* [Rogue (1985)](1985/rogue/)
* [ThinkTank (1987)](1987/thinktank/)
* [The Dungeons of Moria (1992)](1992/moria/)

View file

@ -11,6 +11,8 @@ IBM PC with Color Graphics (CGA) Display
All our 64Kb configurations of the IBM PC Model 5150 w/CGA are located here, including:
* [IBM PC (64Kb) with Color Display](/devices/pcx86/machine/5150/cga/64kb/donkey/)
* [IBM PC (64Kb) with Color Display and Debugger](/devices/pcx86/machine/5150/cga/64kb/donkey/debugger/)
* [IBM PC (64Kb) with Color Display](/devices/pcx86/machine/5150/cga/64kb/)
* [IBM PC (64Kb) with Color Display and Debugger](/devices/pcx86/machine/5150/cga/64kb/debugger/)
* [IBM PC (64Kb) with Color Display and Soft Keyboard](/devices/pcx86/machine/5150/cga/64kb/softkbd/)
* [IBM PC (64Kb) running DONKEY.BAS](/devices/pcx86/machine/5150/cga/64kb/donkey/)
* [IBM PC (64Kb) running DONKEY.BAS with Debugger](/devices/pcx86/machine/5150/cga/64kb/donkey/debugger/)

View file

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcx86/1.35.0/machine.xsl"?>
<machine id="ibm5150" type="pcx86" border="1" width="980px" pos="center" background="#FAEBD7">
<name pos="center">IBM PC (Model 5150), CGA, 64K</name>
<computer id="pc-cga-64k" name="IBM PC"/>
<ram id="ramLow" addr="0x00000"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pcx86/rom/5150/basic/BASIC100.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pcx86/rom/5150/1981-04-24/PCBIOS-REV1.json"/>
<video ref="/devices/pcx86/video/ibm/cga/ibm-cga.xml"/>
<fdc ref="/disks/pcx86/compiled/samples.xml"/>
<cpu id="cpu8088" model="8088" autostart="true"/>
<keyboard ref="/devices/pcx86/keyboard/us83-buttons-minimal.xml"/>
<debugger id="debugger"/>
<panel ref="/devices/pcx86/panel/wide.xml"/>
<chipset ref="/devices/pcx86/chipset/5150-cga-max.xml"/>
</machine>

View file

@ -1,6 +1,6 @@
---
layout: page
title: IBM PC (Model 5150, 64Kb, Color Display) running Donkey 1.00
title: IBM PC (Model 5150, 64Kb, Color Display) running DONKEY.BAS
permalink: /devices/pcx86/machine/5150/cga/64kb/donkey/
redirect_from:
- /configs/pc/machines/5150/cga/64kb/donkey/
@ -12,7 +12,7 @@ machines:
id: ibm5150
---
IBM PC Running Donkey 1.00
IBM PC Running DONKEY.BAS
---
{% include machine.html id="ibm5150" %}

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="/versions/pcx86/1.35.0/machine.xsl"?>
<machine id="ibm5150" type="pcx86" border="1" width="980px" pos="center" background="#FAEBD7">
<name pos="center">IBM PC (Model 5150), CGA, 64K</name>
<computer id="pc-cga-64k" name="IBM PC"/>
<ram id="ramLow" addr="0x00000"/>
<rom id="romBASIC" addr="0xf6000" size="0x8000" file="/devices/pcx86/rom/5150/basic/BASIC100.json"/>
<rom id="romBIOS" addr="0xfe000" size="0x2000" file="/devices/pcx86/rom/5150/1981-04-24/PCBIOS-REV1.json"/>
<video ref="/devices/pcx86/video/ibm/cga/ibm-cga.xml"/>
<fdc ref="/disks/pcx86/compiled/samples.xml"/>
<cpu id="cpu8088" model="8088" autostart="true" pos="left" padLeft="8px" padBottom="8px">
<control type="button" binding="run">Run</control>
<control type="button" binding="reset">Reset</control>
</cpu>
<keyboard ref="/devices/pcx86/keyboard/us83-buttons-minimal.xml"/>
<chipset id="chipset" model="5150" sw1="01001001" sw2="11111000"/>
</machine>

View file

@ -12,7 +12,8 @@ IBM PC with Color Graphics (CGA) Display
All our Color Graphics (CGA) configurations of the IBM PC Model 5150 are located here, including:
* [IBM PC (64Kb) with Color Display](/devices/pcx86/machine/5150/cga/64kb/donkey/) ([Debugger](/devices/pcx86/machine/5150/cga/64kb/donkey/debugger/))
* [IBM PC (64Kb) with Color Display](/devices/pcx86/machine/5150/cga/64kb/) ([Debugger](/devices/pcx86/machine/5150/cga/64kb/debugger/))
* [IBM PC (64Kb) with Color Display and Soft Keyboard (Debugger)](/devices/pcx86/machine/5150/cga/64kb/softkbd/)
* [IBM PC (64Kb) running DONKEY.BAS](/devices/pcx86/machine/5150/cga/64kb/donkey/) ([Debugger](/devices/pcx86/machine/5150/cga/64kb/donkey/debugger/))
* [IBM PC (256Kb) with Color Display](/devices/pcx86/machine/5150/cga/256kb/) ([Debugger](/devices/pcx86/machine/5150/cga/256kb/debugger/))
* [IBM PC (384Kb) with Color Display and Soft Keyboard (Debugger)](/devices/pcx86/machine/5150/cga/384kb/softkbd/)

View file

@ -511,6 +511,7 @@
<disk path="/disks/pcx86/games/microsoft/flightsim/1984/FLIGHTSIM-1984.json">MS Flight Simulator (1984)</disk>
<disk path="/apps/pcx86/1981/visicalc/disk.json">VisiCalc (1981)</disk>
<disk path="/apps/pcx86/1982/esuite/disk.json">Executive Suite (1982)</disk>
<disk path="/apps/pcx86/1983/adventmath/ADVENTMATH100.json">Adventures in Math (1983)</disk>
<disk path="/apps/pcx86/1985/rogue/disk.json">Rogue (1985)</disk>
<disk path="/apps/pcx86/1987/thinktank/disk.json">ThinkTank (1987)</disk>
<disk path="/apps/pcx86/1992/moria/disk.json">Moria 5.5 (1992)</disk>

View file

@ -8,6 +8,7 @@
<disk path="/disks/pcx86/dos/ibm/2.00/PCDOS200-DISK2.json">PC-DOS 2.00 (Disk 2)</disk>
<disk path="/disks/pcx86/games/microsoft/adventure/ADVENTURE-1981.json">Microsoft Adventure</disk>
<disk path="/apps/pcx86/1981/visicalc/disk.json">VisiCalc (1981)</disk>
<disk path="/apps/pcx86/1983/adventmath/ADVENTMATH100.json">Adventures in Math (1983)</disk>
</control>
<control type="button" binding="loadDisk">Load</control>
<control type="button" binding="saveDisk" padRight="8px">Save</control>

View file

@ -102,11 +102,12 @@
<manifest ref="/disks/pcx86/games/id/wolf3d/manifest.xml"/>
<manifest ref="/disks/pcx86/games/microsoft/flightsim/1982/manifest.xml"/>
<manifest ref="/disks/pcx86/games/microsoft/flightsim/1984/manifest.xml"/>
<manifest ref="/apps/pcx86/1981/visicalc/manifest.xml" disk="disk01"/>
<manifest ref="/apps/pcx86/1982/esuite/manifest.xml" disk="disk01"/>
<manifest ref="/apps/pcx86/1985/rogue/manifest.xml" disk="disk01"/>
<manifest ref="/apps/pcx86/1987/thinktank/manifest.xml" disk="disk01"/>
<manifest ref="/apps/pcx86/1992/moria/manifest.xml" disk="disk01"/>
<manifest ref="/apps/pcx86/1981/visicalc/manifest.xml"/>
<manifest ref="/apps/pcx86/1982/esuite/manifest.xml"/>
<manifest ref="/apps/pcx86/1983/adventmath/manifest.xml"/>
<manifest ref="/apps/pcx86/1985/rogue/manifest.xml"/>
<manifest ref="/apps/pcx86/1987/thinktank/manifest.xml"/>
<manifest ref="/apps/pcx86/1992/moria/manifest.xml"/>
<manifest ref="/pubs/pc/programming/manifest.xml"/>
<disk path="/tests/pcx86/vga/VGABIN.json">VGA Tests (Black Book)</disk>
</control>

View file

@ -7,6 +7,7 @@
<manifest ref="/disks/pcx86/dos/ibm/2.00/manifest.xml"/>
<manifest ref="/disks/pcx86/games/microsoft/adventure/manifest.xml"/>
<manifest ref="/apps/pcx86/1981/visicalc/manifest.xml"/>
<manifest ref="/apps/pcx86/1983/adventmath/manifest.xml"/>
</control>
<control type="button" binding="loadDisk">Load</control>
<control type="button" binding="saveDisk" padRight="8px">Save</control>

View file

@ -570,14 +570,14 @@ function Ns(a,b){var c,d=a.oa,e=a.C;if(e)if(e.La==os)d=Ds;else if(e.La>=aq){var
function Gs(a,b,c){if(null!=b&&(b!=a.oa||c)){a.Bd=0;a.oa=b;a.Ga=!1;b=a.C||(b==Ds?a.Y:a.K);if(b!=a.C||b.bb!=a.bb||b.Ob!=a.Ob){bt(a);if(a.bb){if(!Bc(a.ka,a.bb,a.Ob))return!1;a.C&&(a.C.rc=!1)}a.C=b;b.rc=!0;a.bb=b.bb;a.Ob=b.Ob;if(!oc(a.ka,b.bb,b.Ob,3,b===a.A?b:null))return!1}a:{a.I=0;a.F=a.Fb;a.J=a.sc;a.Ma=a.F;a.Eb=hs[Ds][2];b=0;if(c=hs[a.oa])a.F=c[0],a.J=c[1],a.Eb=c[2],b=c[3],a.I=c[4],4!=a.ga&&7!=a.ga||a.C!==a.A||a.I!=Vs||(7==(a.A.Wa[es]&31)?a.J=350>Jr(a.A,Vr)?43:50:a.I=a.La);a.Wc=a.F*a.J|0;a.Vc=a.Wc/
a.Eb|0;a.Xa=a.Vc;a.Pb=0;void 0!==b&&(a.Xa=(a.Xa<<1)+b|0,a.Pb=a.Xa+b>>1);if(a.va.length){a.qa=a.Z/a.F|0;a.ta=a.la/a.J|0;if(a.I){b=a.va[a.I];if(!b)break a;c=a.va[a.I<<1];a.Uc&&80==a.F?c&&a.qa>=3*c.Fc>>2&&(a.I<<=1,b=c):(c&&a.qa>=c.Fc&&(a.I<<=1,b=c),a.Uc||(a.qa=b.Fc,a.ta=b.Gc));a.Ya=a.eb=0;b&&(a.Ya=a.F*b.Fc,a.eb=a.J*b.Gc)}else a.qa=a.ta=1,a.Ya=a.F,a.eb=a.J;a.Ha=a.L.createImageData(a.Ya,a.eb);a.Ba=document.createElement("canvas");a.Ba.width=a.Ya;a.Ba.height=a.eb;a.Ca=a.Ba.getContext("2d");a.vc=a.zc=0;
a.Qb=a.Z;a.Rb=a.la;b=a.Z-a.F*a.qa;c=a.la-a.J*a.ta;0<b&&(a.vc=b>>1,a.Qb-=b);0<c&&(a.zc=c>>1,a.Rb-=c);if(b||c)a.L.fillStyle=a.O.style.backgroundColor,a.L.fillRect(0,0,a.Z,a.la)}}ut(a,!0);ys(a)}return!0}function $s(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function vt(a){a.xa=-1;a.ma=!1;var b=a.Vc;if(void 0===a.M||a.M.length!=b)a.M=Array(b)}function ut(a,b){b||(a.Ga=!1);vt(a)}
function dt(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.va[a.I];h.kf&&(d=h.kf[d]);var k=g>>4&15;h.kf&&(k=h.kf[k]);e?(b*=h.Fc,c*=h.Gc,e.fillStyle=h.Ce[k],e.fillRect(b,c,h.Fc,h.Gc)):(b=b*a.qa+a.vc,c=c*a.ta+a.zc,a.L.fillStyle=h.Ce[k],a.L.fillRect(b,c,a.qa,a.ta));g&Ut&&(k=(f&15)*h.Fc,f=(f>>4)*h.Gc,e?e.drawImage(h.Tg[d],k,f,h.Fc,h.Gc,b,c,h.Fc,h.Gc):a.L.drawImage(h.Tg[d],k,f,h.Fc,h.Gc,b,c,a.qa,a.ta));g&ct&&(f=a.nd,g=a.Hc,e?(a.za&&a.za!==h.Gc&&(f=f*h.Gc/a.za|0,g=g*h.Gc/a.za|0),e.fillStyle=h.Ce[d],e.fillRect(b,
function dt(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.va[a.I];h.kf&&(d=h.kf[d]);var k=g>>4&15;h.kf&&(k=h.kf[k]);e?(b*=h.Fc,c*=h.Gc,e.fillStyle=h.Ce[k],e.fillRect(b,c,h.Fc,h.Gc)):(b=b*a.qa+a.vc,c=c*a.ta+a.zc,a.L.fillStyle=h.Ce[k],a.L.fillRect(b,c,a.qa,a.ta));g&wt&&(k=(f&15)*h.Fc,f=(f>>4)*h.Gc,e?e.drawImage(h.Tg[d],k,f,h.Fc,h.Gc,b,c,h.Fc,h.Gc):a.L.drawImage(h.Tg[d],k,f,h.Fc,h.Gc,b,c,a.qa,a.ta));g&ct&&(f=a.nd,g=a.Hc,e?(a.za&&a.za!==h.Gc&&(f=f*h.Gc/a.za|0,g=g*h.Gc/a.za|0),e.fillStyle=h.Ce[d],e.fillRect(b,
c+f,h.Fc,g)):(a.za&&a.za!==a.ta&&(f=f*a.ta/a.za|0,g=g*a.ta/a.za|0),a.L.fillStyle=h.Ce[d],a.L.fillRect(b,c+f,a.qa,g)))}
function ys(a,b){if(a.ea.Yb){var c=!1,d=a.C;d&&(d!==a.A?d.Xc&8&&(c=!0):d.xd&32&&(c=!0));if(c||b){if(b)vt(a);else if(void 0===a.M)return;var e=!1;!(b||++a.Bd&15)&&0<=a.Aa&&(a.Aa++,e=!0);var f=0,g=a.Wc,h=a.bb,c=h,k=c+a.Ob;a.oa>=kt&&(h=c=655360,k=c+65536);if(Wt(a,d)&8||d.Ze&&d.Ze<d.gi){var m=(d.Wa[12]<<8)+d.Wa[13]|0;d.wd!==m&&(d.wd=m,ut(a));d.Ze=0}m=d.wd;a.I&&(m<<=1);c+=m;m=a.Xa;a.La>=aq&&d.Wa[19]&&d.Wa[19]<<1!=d.Wa[1]+1&&(a.Ma=d.Wa[19]<<(a.I?1:d.Wa[20]&64?3:4),m=(a.Ma*(a.J-1)+a.F)/a.Eb|0,a.oa<=Ds&&
(m<<=1));c+m>k&&(m=k-c,0>m&&(m=0));k=c+m;if(b=!b&&a.ma){b=a.ka;for(var p=!0,v=c>>>b.A;0<m&&v<b.aa.length;)b.aa[v].Oa&&(b.aa[v].Oa=p=!1,b.aa[v].rj=!0),m-=b.B,v++;b=p}if(b){if(!e)return;if(!a.xa){f=a.aa-d.wd;if(0>f)return;g=f+1}}if(a.I){if(a.va[a.I]){d=f;f=0;e=a.xa=0;h=Ut<<8;b=1048575;p=a.C.Xc&32;a.La>=aq&&(p=a.C.Cc[16]&8);m=a.aa-a.C.wd;p&&(e=Hs<<8,b&=~e,a.Aa&2||(b&=~h));for(c+=d<<1;c<k&&d<g;)p=Ic(a.ka,c),p|=h,p&e&&(a.xa++,p&=b),d==m&&(p|=a.Aa&1?ct<<8:0),a.ma&&p===a.M[d]||(dt(a,d%a.F,d/a.F|0,p,a.Ca),
function ys(a,b){if(a.ea.Yb){var c=!1,d=a.C;d&&(d!==a.A?d.Xc&8&&(c=!0):d.xd&32&&(c=!0));if(c||b){if(b)vt(a);else if(void 0===a.M)return;var e=!1;!(b||++a.Bd&15)&&0<=a.Aa&&(a.Aa++,e=!0);var f=0,g=a.Wc,h=a.bb,c=h,k=c+a.Ob;a.oa>=kt&&(h=c=655360,k=c+65536);if(Vt(a,d)&8||d.Ze&&d.Ze<d.gi){var m=(d.Wa[12]<<8)+d.Wa[13]|0;d.wd!==m&&(d.wd=m,ut(a));d.Ze=0}m=d.wd;a.I&&(m<<=1);c+=m;m=a.Xa;a.La>=aq&&d.Wa[19]&&d.Wa[19]<<1!=d.Wa[1]+1&&(a.Ma=d.Wa[19]<<(a.I?1:d.Wa[20]&64?3:4),m=(a.Ma*(a.J-1)+a.F)/a.Eb|0,a.oa<=Ds&&
(m<<=1));c+m>k&&(m=k-c,0>m&&(m=0));k=c+m;if(b=!b&&a.ma){b=a.ka;for(var p=!0,v=c>>>b.A;0<m&&v<b.aa.length;)b.aa[v].Oa&&(b.aa[v].Oa=p=!1,b.aa[v].rj=!0),m-=b.B,v++;b=p}if(b){if(!e)return;if(!a.xa){f=a.aa-d.wd;if(0>f)return;g=f+1}}if(a.I){if(a.va[a.I]){d=f;f=0;e=a.xa=0;h=wt<<8;b=1048575;p=a.C.Xc&32;a.La>=aq&&(p=a.C.Cc[16]&8);m=a.aa-a.C.wd;p&&(e=Hs<<8,b&=~e,a.Aa&2||(b&=~h));for(c+=d<<1;c<k&&d<g;)p=Ic(a.ka,c),p|=h,p&e&&(a.xa++,p&=b),d==m&&(p|=a.Aa&1?ct<<8:0),a.ma&&p===a.M[d]||(dt(a,d%a.F,d/a.F|0,p,a.Ca),
a.M[d]=p,f++),c+=2,d++;a.ma=!0;f&&a.Ca&&a.L.drawImage(a.Ba,0,0,a.Ya,a.eb,a.vc,a.zc,a.Qb,a.Rb);at(a)}}else if(a.Pb){var g=k,u,k=c,d=a.xa=0,f=a.Eb,e=16==f?65536:196608,h=16==f?1:2;b=Ps(a,h);for(var p=m=0,v=a.F,E=0,G=a.J,I=0;k<g;){u=Ic(a.ka,k);if(a.ma&&u===a.M[d])m+=f;else{a.M[d]=u;u=u>>8|(u&255)<<8;var J=e,T=16;m<v&&(v=m);for(var L=0;L<f;L++){var ua=(u&(J>>=h))>>(T-=h);$s(a.Ha,m++,p,b[ua])}m>E&&(E=m);p<G&&(G=p);p>=I&&(I=p+1)}k+=2;d++;if(m>=a.F){m=0;p+=2;if(p>a.J)break;p==a.J&&(p=1,k=c+a.Pb)}}a.ma=!0;
v<a.F&&(a.Ca.putImageData(a.Ha,0,0,v,G,E-v,I-G),a.L.drawImage(a.Ba,0,0,a.F,a.J,0,0,a.Z,a.la))}else if(a.Pc){g=h;f=a.xa=0;e=Ps(a,8);h=a.C.fd;m=b=0;p=a.F;v=0;E=a.J;G=0;I=a.C.ae[4]&8?4:1;u=a.C.Cc[19]&15;for(J=a.Ma>a.F?a.Ma-a.F-u>>3:0;c<k;){d=h[c-g];L=4;u||(a.ma&&d===a.M[f]?(b+=L,L=0):a.M[f]=d,f++);if(L){b<p&&(p=b);for(T=0;T<L;T++)$s(a.Ha,b++,m,e[d&255]),d>>=8;b>v&&(v=b);m<E&&(E=m);m>=G&&(G=m+1)}c+=I;if(b>=a.F){b=0;if(++m>a.J)break;c+=J}}u||(a.ma=!0);p<a.F&&(a.Ca.putImageData(a.Ha,0,0,p,E,v-p,G-E),a.L.drawImage(a.Ba,
0,0,a.F,a.J,0,0,a.Z,a.la))}else{g=h;d=a.xa=0;f=Ps(a);e=a.C.fd;b=h=0;m=a.F;p=0;v=a.J;E=0;G=a.C.Cc[19]&15;for(I=a.Ma>a.F?a.Ma-a.F-G>>3:0;c<k;){u=c++-g;u=e[u];T=8;G?h?(J=a.F-h,T>J&&(T=J)):(u<<=G,T-=G,a.ma=!1):(a.ma&&u===a.M[d]?(h+=T,T=0):a.M[d]=u,d++);if(T){h<m&&(m=h);for(J=0;J<T;J++)L=Xt[u&2155905152]||0,$s(a.Ha,h++,b,f[L]),u<<=1;h>p&&(p=h);b<v&&(v=b);b>=E&&(E=b+1)}if(h>=a.F){h=0;if(++b>a.J)break;c+=I}}G||(a.ma=!0);m<a.F&&(a.Ca.putImageData(a.Ha,0,0,m,v,p-m,E-v),a.L.drawImage(a.Ba,0,0,a.F,a.J,0,0,a.Z,
a.la))}}}}function Wt(a,b){var c=0;a=Dd(a.H)-b.xh;0>a&&(b.xh=a,a=-a|0);a%b.sh>b.nn&&(c|=1);a%b.vh>b.pn&&(c|=9);b.gi=a/b.vh|0;return c}l.Dm=function(a,b){return Yt(this,this.Y,a,b)};l.ho=function(a,b,c){var d=this.Y;d.Gg=d.ec;d.ec=b&31;w(this,a,b,c,"CRTC.INDX")};l.Cm=function(a,b){return Zt(this,this.Y,a,b)};l.fo=function(a,b,c){$t(this,this.Y,a,b,c)};l.Em=function(a,b){return au(this,this.Y,b)};l.io=function(a,b,c){a=this.Y;w(this,a.port+4,b,c,"MODE");a.Xc=b;Ns(this,!1)};
a.la))}}}}function Vt(a,b){var c=0;a=Dd(a.H)-b.xh;0>a&&(b.xh=a,a=-a|0);a%b.sh>b.nn&&(c|=1);a%b.vh>b.pn&&(c|=9);b.gi=a/b.vh|0;return c}l.Dm=function(a,b){return Yt(this,this.Y,a,b)};l.ho=function(a,b,c){var d=this.Y;d.Gg=d.ec;d.ec=b&31;w(this,a,b,c,"CRTC.INDX")};l.Cm=function(a,b){return Zt(this,this.Y,a,b)};l.fo=function(a,b,c){$t(this,this.Y,a,b,c)};l.Em=function(a,b){return au(this,this.Y,b)};l.io=function(a,b,c){a=this.Y;w(this,a.port+4,b,c,"MODE");a.Xc=b;Ns(this,!1)};
l.Fm=function(a,b){return bu(this,this.Y,b)};l.Nk=function(a,b,c){this.A.Qf=this.A.Qf&-4|b&3;w(this,a,b,c,"FEAT")};l.bm=function(a,b){a=this.A.xd;b&&!t(this)||w(this,960,null,b,"ATC.INDX",a);return a};l.sl=function(a,b){a=this.A.Cc[this.A.xd&31];b&&!t(this)||w(this,960,null,b,"ATC."+this.A.Ug[this.A.xd&31],a);return a};
l.Mk=function(a,b,c){var d=this.A,e=d.xd&32;if(d.Le){d.Le=!1;var f=d.xd&31;if(16<=f||!e)if(cu||d.Cc[f]!==b)c&&!t(this)||w(this,a,b,c,"ATC."+d.Ug[f]),d.Cc[f]=b,ut(this,!1)}else d.xd=b,w(this,a,b,c,"ATC.INDX"),d.Le=!0,b&32&&!e&&Fs(this,!0)&&ys(this,!0),a=(d.Wa[12]<<8)+d.Wa[13]|0,d.wd!=a&&(d.wd=a,ut(this)),d.Ze=0};
l.Pm=function(a,b){a=0;if(this.La==aq)a=3-((this.A.bf&12)>>2),a=(this.xb&1<<a)<<4-a;else{var c=this.A.af[0];45!=(c&63)&&2880!=(c&4032)&&184320!=(c&258048)&&(a|=16)}a|=this.A.Jg&-17;this.A.Jg=a;w(this,962,null,b,"STATUS0",a);return a};l.jo=function(a,b,c){this.A.bf=b;Es(this);w(this,962,b,c,"MISC")};l.Qm=function(a,b){a=this.A.li;w(this,963,null,b,"VGA_ENABLE",a);return a};l.ro=function(a,b,c){this.A.li=b;w(this,963,b,c,"VGA_ENABLE")};
@ -588,10 +588,10 @@ l.Rm=function(a,b){a=this.A.Qf;w(this,970,null,b,"FEAT",a);return a};l.ao=functi
l.Yn=function(a,b,c){if(cu||this.A.yd[this.A.zd]!==b)c&&!t(this)||w(this,975,b,c,"GRC."+this.A.Vg[this.A.zd]),this.A.yd[this.A.zd]=b;switch(this.A.zd){case 0:this.A.If=fs[b&15];this.A.Zd=this.A.If&~this.A.Nd;break;case 1:this.A.Nd=~fs[b&15];this.A.Zd=this.A.If&~this.A.Nd;break;case 2:this.A.qh=fs[b&15]&-2139062144;break;case 3:case 5:ft(this,et(this));break;case 4:this.A.fi=(b&3)<<3;break;case 6:Ns(this,!1);break;case 7:this.A.rh=fs[b&15]&-2139062144;break;case 8:this.A.Bb=b|b<<8|b<<16|b<<24}};
l.hm=function(a,b){return Yt(this,this.K,a,b)};l.Jn=function(a,b,c){var d=this.K;d.Gg=d.ec;d.ec=b&31;w(this,a,b,c,"CRTC.INDX")};l.gm=function(a,b){return Zt(this,this.K,a,b)};l.In=function(a,b,c){$t(this,this.K,a,b,c)};l.im=function(a,b){return au(this,this.K,b)};l.Kn=function(a,b,c){a=this.K;w(this,a.port+4,b,c,"MODE");a.Xc=b;Ns(this,!1)};l.fm=function(a,b){var c=this.K.$e;b&&!t(this)||w(this,a,null,b,this.K.type+".COLOR",c);return c};
l.Hn=function(a,b,c){c&&!t(this)||w(this,a,b,c,this.K.type+".COLOR");this.K.$e!==b&&(this.K.$e=b,ut(this,!1))};l.jm=function(a,b){return bu(this,this.K,b)};function Yt(a,b,c,d){var e;b.rc&&(e=b.ec);w(a,c,null,d,"CRTC.INDX",e);return e}function Zt(a,b,c,d){var e;b.rc&&b.ec<b.ph&&(e=b.Wa[b.ec]);d&&!t(a)||w(a,c,null,d,"CRTC."+b.hg[b.ec],e);return e}
function $t(a,b,c,d,e){if(b.ec<b.ph){if(cu||b.Wa[b.ec]!==d)e&&!t(a)||w(a,c,d,e,"CRTC."+b.hg[b.ec]),b.Wa[b.ec]=d;if(12==b.ec||13==b.ec)Wt(a,b)&1?(c=(b.Wa[12]<<8)+b.Wa[13]|0,b.wd!==c&&(b.wd=c,ut(a))):b.Ze||(b.Ze=b.gi);(9==b.ec&&8!=b.Gg||b.ec==Vr&&223==d)&&Ns(a,!0);Os(a)}}function au(a,b,c){var d=b.Xc;w(a,b.port+4,null,c,"MODE",d);return d}function bu(a,b,c){var d=Wt(a,b);b===a.A?(d|=b.fa&48^48,b.Le=!1):d=(b.fa^=9)|240;b.fa=d;w(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
function $t(a,b,c,d,e){if(b.ec<b.ph){if(cu||b.Wa[b.ec]!==d)e&&!t(a)||w(a,c,d,e,"CRTC."+b.hg[b.ec]),b.Wa[b.ec]=d;if(12==b.ec||13==b.ec)Vt(a,b)&1?(c=(b.Wa[12]<<8)+b.Wa[13]|0,b.wd!==c&&(b.wd=c,ut(a))):b.Ze||(b.Ze=b.gi);(9==b.ec&&8!=b.Gg||b.ec==Vr&&223==d)&&Ns(a,!0);Os(a)}}function au(a,b,c){var d=b.Xc;w(a,b.port+4,null,c,"MODE",d);return d}function bu(a,b,c){var d=Vt(a,b);b===a.A?(d|=b.fa&48^48,b.Le=!1):d=(b.fa^=9)|240;b.fa=d;w(a,b.port+6,null,c,b===a.A?"STATUS1":"STATUS",d);return d}
var cu=!0,tt=1,jt=2,Bs=3,st=5,rt=6,Ds=7,nt=13,ot=14,ht=15,it=16,pt=17,qt=18,kt=19,lt=20,mt=21,gt=255,Ws=1,Vs=3,os=Ws,ls=Vs,aq=5,cq=7,gs={mda:[os,Ds],cga:[ls,Bs],ega:[aq,Bs],vga:[cq,Bs]},Gr={2:{yg:15700,xg:208,Eg:85,Fg:96}};Gr[Tl]={yg:18432,xg:364,Eg:85,Fg:96};Gr[4]={yg:21850,xg:364,Eg:85,Fg:96};Gr[7]={yg:16700,xg:480,Eg:85,Fg:83};var Cs={6:[1,Tl,!0],7:[2,Tl,!0],8:[6,Tl,!0],9:[4,Tl,!0],10:[Tl,1,!0],11:[Tl,2,!0],0:[1,Tl,!1],1:[2,Tl,!1],2:[6,Tl,!1],3:[4,Tl,!1],4:[Tl,1,!1],5:[Tl,2,!1]},hs=[];
hs[tt]=[40,25,1,0,Vs];hs[Bs]=[80,25,1,0,Vs];hs[4]=[320,200,8,192];hs[rt]=[640,200,16,192];hs[Ds]=[80,25,1,0,Ws];hs[nt]=[320,200,8];hs[ot]=[640,200,8];hs[ht]=[640,350,8];hs[it]=[640,350,8];hs[pt]=[640,480,8];hs[qt]=[640,480,8];hs[kt]=[320,200,1];hs[lt]=[320,240,4];hs[mt]=[320,400,4];hs[0]=hs[tt];hs[jt]=hs[Bs];hs[st]=hs[4];
var Ks=0,Is=7,Ms=8,Js=0,Ls=112,Hs=128,Ut=256,ct=512,Xs=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],Ys=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Qs=[[0,0,0,255],[0,0,170,255],[0,170,0,255],[0,170,170,255],[170,0,0,255],[170,0,170,255],[170,85,0,255],[170,170,170,255],[85,85,85,255],[85,85,255,255],[85,255,85,255],[85,255,255,255],[255,85,85,255],[255,85,255,255],[255,255,85,255],[255,255,255,255]],Ss=[2,4,6],Rs=[3,5,Is],Ts=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],
var Ks=0,Is=7,Ms=8,Js=0,Ls=112,Hs=128,wt=256,ct=512,Xs=[[0,0,0,255],[127,192,127,255],[127,192,127,255],[127,255,127,255],[127,255,127,255]],Ys=[0,1,2,2,2,2,2,2,0,3,4,4,4,4,4,4],Qs=[[0,0,0,255],[0,0,170,255],[0,170,0,255],[0,170,170,255],[170,0,0,255],[170,0,170,255],[170,85,0,255],[170,170,170,255],[85,85,85,255],[85,85,255,255],[85,255,85,255],[85,255,255,255],[255,85,85,255],[255,85,255,255],[255,255,85,255],[255,255,255,255]],Ss=[2,4,6],Rs=[3,5,Is],Ts=[0,1,2,3,4,5,20,7,56,57,58,59,60,61,62,63],
fs=[0,255,65280,65535,16711680,16711935,16776960,16777215,-16777216,-16776961,-16711936,-16711681,-65536,-65281,-256,-1],Xt=[0];Xt[128]=1;Xt[32768]=2;Xt[32896]=3;Xt[8388608]=4;Xt[8388736]=5;Xt[8421376]=6;Xt[8421504]=7;Xt[-2147483648]=8;Xt[-2147483520]=9;Xt[-2147450880]=10;Xt[-2147450752]=11;Xt[-2139095040]=12;Xt[-2139094912]=13;Xt[-2139062272]=14;Xt[-2139062144]=15;var kr=[];kr[os]=["MDA",948,720896,4096,0,Tl];kr[ls]=["CGA",980,753664,16384,0,2];kr[aq]=["EGA",980,753664,16384,65536,4];
kr[cq]=["VGA",980,753664,16384,262144,7];
var is=0,xs=1,ws=2,ms={948:Q.prototype.Dm,949:Q.prototype.Cm,952:Q.prototype.Em,954:Q.prototype.Fm},ns={948:Q.prototype.ho,949:Q.prototype.fo,952:Q.prototype.io},ps={980:Q.prototype.hm,981:Q.prototype.gm,984:Q.prototype.im,985:Q.prototype.fm,986:Q.prototype.jm},qs={980:Q.prototype.Jn,981:Q.prototype.In,984:Q.prototype.Kn,985:Q.prototype.Hn},rs={960:Q.prototype.bm,961:Q.prototype.sl,962:Q.prototype.Pm,964:Q.prototype.Nm,965:Q.prototype.Mm,974:Q.prototype.wm,975:Q.prototype.vm},ss={954:Q.prototype.Nk,
@ -654,243 +654,243 @@ l.toJSON=function(){var a;a=0;for(var b;b=cv(this,a++);)Gv(b);a=JSON.stringify(t
function Gv(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var Tu=0;function zv(a,b,c,d,e,f){this.sa=a;this.$b=c;this.Xg=d;this.bj=e;this.ge=f}function rv(a,b,c){var d;c=c||2;var e=b&511,f=cv(a.sa,a.ge[b>>9]);if(f){if(e+c<=f.length)return dv(a.sa,f,e,c);for(e=d=0;c--;)d|=rv(a,b++,1)<<e,e+=8}return d}function gv(a,b,c){return rv(a,b[0]+(c||0),b[1])}
function vv(a,b,c){for(var d=0;!c||b<c;){var e=rv(a,b,1);if(!e)break;var f;f=a;var g=b+1,h=e,k="";for(h||(h=-1);h--;){var m=rv(f,g++,1);if(!m)break;k+=String.fromCharCode(m)}f=k;if(!f)break;b+=1+e;if(d){if(e=rv(a,b),g=a.A[e])g=g[0],a.od[g]&&a.od[g].fe[e].push(f)}else c||(a.Sf=f);b+=2;d++}}
zv.prototype.xj=function(a,b){var c=null;if(this.od)for(var d in this.od){var e=this.od[d];if(a>=e.hi&&a<=e.Jk){d=a-=e.hi;var f,g;for(g in e.fe){var h=e.fe[g],k=a-h[0];if(!k){c=this.Sf+"!"+h[1];break}b&&0<k&&k<d&&(f=h,d=k)}!c&&f&&(c=this.Sf+"!"+f[1]+"+"+sa(d));break}}return c||this.$b+"+"+q(a,8,!0)};var iv=23117,hv=[0,2],jv=[24,2],lv=[60,4],kv=64,nv=17742,mv=[0,2],sv=[4,2],tv=[6,2],ov=[28,2],xv=[32,2],pv=[34,2],uv=[38,2],wv=[44,4],qv=[50,2];
function Hv(a){mb.call(this,"FDC",a,524288);this.dmaRead=Hv.prototype.kl;this.dmaWrite=Hv.prototype.ll;this.dmaFormat=Hv.prototype.Dl;this.G=a.autoMount||null;this.L=a.sortBy||"name";"none"==this.L&&(this.L=null);this.B=[];this.M=!Ta("Mobi")&&window&&"FileReader"in window}ba(Hv,mb);l=Hv.prototype;
l.Cb=function(a,b,c){var d=this;switch(b){case "listDisks":this.na[b]=c;if(this.L){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.L?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)try{c.options[a]=b[a]}catch(e){break}}c.onchange=function(){var a=d.na.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){gb("FDC option error: "+h.message)}b=g.desc;void 0===
b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.na[b]=c,c.onchange=function(){var a=oa(c.value,10);null!=a&&Iv(d,a)},!0;case "loadDisk":return this.na[b]=c,c.onclick=function(){var a=d.na.listDisks;a&&Jv(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDisk":if(!this.M){c.parentNode.removeChild(c);break}this.na[b]=c;c.onclick=function(){var a=d.na.listDrives;a&&a.options&&d.A&&((a=d.A[oa(a.value,
10)||0])?(a=a.sa)?(a=Wa(Fv(a),"octet-stream",!0,a.Kg.replace(".json",".img")),gb(a)):d.Fa("No diskette loaded in drive."):d.Fa("No diskette drive selected."))};return!0;case "mountDisk":if(this.M)return this.na[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Jv(d,ta(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;this.pa=a;this.W=Wb(a,"ChipSet");if((this.G=yd(this.pa,"autoMount")||this.G)&&"string"==typeof this.G)try{this.G=eval("("+this.G+")")}catch(e){gb("FDC auto-mount error: "+e.message+" ("+this.G+")"),this.G=null}Kv(this);Nc(b,this,Lv);Rc(b,this,Mv);Nv(this,"None","",!0);this.M&&Nv(this,"Local Disk","?");Nv(this,"Remote Disk","??");Ov(this)||Ib(this)};
l.Xb=function(a,b){if(!b){if(!a){if(this.reset(),this.pa.O){this.B=[];for(a=0;a<this.A.length;a++)Pv(this,a,!0);Ov(this,!0)}}else if(!this.restore(a))return!1;if(a=this.na.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.N;b++){var c=document.createElement("option");c.value=b;c.text=String.fromCharCode(65+b)+":";a.appendChild(c)}0<this.N&&(a.value="0",Iv(this,0))}}return!0};l.Wb=function(a){return a?this.save():!0};l.reset=function(){Kv(this)};
l.save=function(){var a=new Wf(this);a.set(0,Qv(this));return a.data()};l.restore=function(a){return Kv(this,a[0])};
function Kv(a,b){var c=0,d,e=!0;b||(b=[0,0,Rv,Array(9),0,0,0,[]]);a.Ua=b[c++];c++;a.fa=b[c++];a.F=b[c++];a.D=b[c++];a.C=b[c++];a.J=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.B=d);void 0===a.A&&(a.N=4,a.W&&(a.N=+Sl(a.W,fl,void 0)),a.A=Array(4));for(d=0;d<a.A.length;d++){var g=a.A[d];if(void 0===g){var g=a.A[d]={},h;if(a.W)a:{h=a.W;if(d<+Sl(h,fl,void 0)){if(!h.N){h=360;break a}if(d<h.N.length){h=h.N[d];break a}}h=0}else h=0;switch(h){case 160:case 180:g.kb=1;default:g.qb=40;g.$a=9;break;case 720:g.qb=
80;g.$a=9;break;case 1200:g.qb=80;g.$a=15;break;case 1440:g.qb=80,g.$a=18}}var k=a,m=d,p=f[d],v=0;h=!0;g.Ua=m;g.Me=g.Oe=!1;p||(p=[Sv,!0,0,2,0]);"boolean"==typeof p[1]&&(p[1]=[Tv,g.qb||40,g.kb||p[3],g.$a||9,g.Na||512,p[1],g.vg,g.Bf,g.Cf]);g.rb=p[v++];var u=p[v++];g.name=u[0];g.qb=u[1];g.kb=u[2];g.$a=u[3];g.Na=u[4];g.Pe=u[5];(g.vg=u[6])?(g.Bf=u[7],g.Cf=u[8]):(g.vg=g.qb,g.Bf=g.kb,g.Cf=g.$a);g.Za=p[v++];g.Td=p[v++];g.Gb=p[v++];g.Td=100<=g.Td?g.Td-100:g.Td-g.Gb;g.mb=p[v++];g.Ud=p[v++];g.ub=p[v++];g.Sa=
p[v++];g.cb=null;g.sa||(g.ue="");var E=p[v++];102==E&&(E=!1);"boolean"==typeof E?(u=p[v++],p=p[v],E?(v=k.A[m],Pv(k,m,!0,!0),v.Oe=!0,m=new Su(k,v,"preload"),k.mj(v,m,u,p,!0)):Uv(k,m,u,p,!0)?g.sa&&p&&Vv(k,u,p,g.sa):Ib(k,!1)):void 0!==E&&g.sa&&0>g.sa.restore(E)&&(h=!1);h&&g.sa&&void 0!==g.Sa&&(g.cb=g.sa.seek(g.Gb,g.Za,g.mb));h||(e=!1)}a.I=b[c++]||0;a.Zb=b[c]||Wv;return e}
function Qv(a){var b=0,c=[];c[b++]=a.Ua;c[b++]=0;c[b++]=a.fa;c[b++]=a.F;c[b++]=a.D;c[b++]=a.C;c[b++]=a.J;for(var d=b++,e=0,f=[],g=0;g<a.A.length;g++){var h=e++,k=a.A[g],m=0,p=[];p[m++]=k.rb;p[m++]=[k.name,k.qb,k.kb,k.$a,k.Na,k.Pe,k.vg,k.Bf,k.Cf];p[m++]=k.Za;p[m++]=k.Td+100;p[m++]=k.Gb;p[m++]=k.mb;p[m++]=k.Ud;p[m++]=k.ub;p[m++]=k.Sa;p[m++]=k.Oe;p[m++]=k.$k;p[m]=k.ue;f[h]=p}c[d]=f;d=b++;for(e=0;e<a.A.length;e++)f=a.A[e],f.sa&&Xv(a,f.ue,f.sa);c[d]=a.B;c[b++]=a.I;c[b]=a.Zb;return c}
l.ij=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};l.al=function(a,b,c){if(a.sa){var d=a.sa.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Gb=Math.floor(b/f),b%=f,a.Za=Math.floor(b/e),a.mb=b%e+1,a.ub=c*d[3],a.rb=Yv,!0}return!1};
function Ov(a,b){b||(a.K=0);if(a.G)for(var c in a.G){var d=a.G[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.na.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.value==e){f=h.text;break a}}f=ta(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.A.length)){!Uv(a,g,f,e,!0)&&b&&Ib(a,!1);continue}a.Fa("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.K}
function Jv(a,b,c,d){var e,f=a.na.listDrives;if(f&&!isNaN(e=oa(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Fa('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=ta(c)}for(;0>Uv(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){var f=a,g=c,h;for(h=0;h<f.B.length;h++)if(f.B[h][1]==g){f.B.splice(h,1);break}Pv(a,e,!1,
!0)}}else Pv(a,e);else a.Fa("Unable to load the selected drive")}function Uv(a,b,c,d,e,f){var g=a.A[b];if(d&&(d=d.replace("/disks/pc/","/disks/pcx86/"),g.ue.toLowerCase()!=d.toLowerCase())){Pv(a,b,e,!0);if(g.Me)return a.Fa("Drive "+b+" busy"),0;g.Me=!0;e&&(g.le=!0,a.K++,t(a)&&Lb(a,"loading diskette '"+c+"'"));g.Oe=!!f;return(new Su(a,g,"preload")).load(c,d,f,a.mj)?1:0}return-1}
l.mj=function(a,b,c,d,e){var f;a.Me=!1;b&&(f=b.info(),b&&f[0]>a.qb||f[1]>a.kb)&&(this.Fa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Ua)),b=null);b?(a.sa=b,a.$k=c,a.ue=d,Vv(this,c,d,b),f=b.info(),this.I|=Zv,this.Fa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Ua),a.le||e),a.vg=f[0],a.Bf=f[1],a.Cf=f[2],this.pa&&this.pa.md()):a.Oe=!1;a.le&&(a.le=!1,--this.K||Ib(this));Iv(this,a.Ua)};
function Nv(a,b,c,d){if((a=a.na.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Iv(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.na.listDisks;a=a.na.listDrives;if(d&&a&&d.options&&a.options&&(a=oa(a.value,10),c=c.Oe?"?":c.ue,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Pv(a,b,c,d){var e=a.A[b];e.sa&&(Xv(a,e.ue,e.sa),e.$k="",e.ue="",e.sa=null,e.Oe=!1,a.I|=Zv,d||a.Fa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Iv(a,b))}
function Vv(a,b,c,d){var e;for(e=0;e<a.B.length;e++)if(a.B[e][1]==c){d.restore(a.B[e][2]);return}a.B[e]=[b,c,[]]}function Xv(a,b,c){var d;for(d=0;d<a.B.length;d++)if(a.B[d][1]==b){a.B[d][2]=c.save();break}}l.Vn=function(a,b,c){w(this,a,b,c,"OUTPUT");b&$v?this.J&$v||this.J&aw&&this.W&&gh(this.W,6):Kv(this);this.J=b};l.sm=function(a,b){w(this,a,null,b,"DIAG",80);return 80};l.um=function(a,b){w(this,a,null,b,"STATUS",this.fa);return this.fa};
l.rm=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.J&aw&&this.W&&eh(this.W,6);t(this)&&w(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.fa&=~(bw|cw),this.D=this.C=0);return c};
l.Un=function(a,b,c){t(this)&&w(this,a,b,c,"DATA["+this.C+"]");this.C<this.F.length&&(this.F[this.C++]=b);a=this.F[0]&dw;if(void 0!==ew[a]&&this.C>=ew[a].Jd){b=!1;this.D=0;a=fw(this);var d,e,f,g,h=a&dw;switch(h){case gw:fw(this);fw(this);hw(this);break;case iw:c=fw(this);this.Ua=c&3;d=this.A[this.Ua];hw(this);jw(this,(d.rb&kw)>>>24);break;case lw:case mw:c=fw(this);b=c>>2&1;this.Ua=c&3;d=this.A[this.Ua];d.Za=b;c=d.Gb=fw(this);e=fw(this);f=d.mb=fw(this);g=fw(this);d.ub=128<<g;d.Ud=fw(this);fw(this);
fw(this);h==mw?(h=d,h.rb=nw|ow,h.sa&&(h.cb=null,h.rb=Yv,this.W&&(In(this.W,2,this,"dmaRead",h),zn(this.W,2)))):(h=d,h.rb=nw|ow,h.sa&&(h.sa.Se?h.rb=pw|ow:(h.cb=null,h.rb=Yv,this.W&&(In(this.W,2,this,"dmaWrite",h),zn(this.W,2)))));qw(this,d,a,b,c,e,f,g);b=!0;break;case rw:c=fw(this);this.Ua=c&3;d=this.A[this.Ua];d.Gb=d.Td=0;d.rb=sw|tw;hw(this);b=!0;break;case uw:d=this.A[this.Ua];d.Za=0;hw(this);jw(this,d.Ua|d.Za<<2|d.rb&vw);jw(this,d.Gb);this.Ua=this.Ua+1&3;break;case ww:c=fw(this);b=c>>2&1;this.Ua=
c&3;d=this.A[this.Ua];c=d.Gb;e=d.Za=b;f=d.mb=1;g=0;d.rb=Yv;d.sa&&(d.cb=d.sa.seek(d.Gb,d.Za,d.mb))?g=d.cb.length>>8:d.rb=nw|ow;qw(this,d,a,b,c,e,f,g);b=!0;break;case xw:c=fw(this);b=c>>2&1;this.Ua=c&3;d=this.A[this.Ua];c=d.Gb;e=d.Za=b;f=1;g=fw(this);d.ub=128<<g;d.Ud=fw(this);fw(this);d.Xi=fw(this);h=d;h.rb=nw|ow;h.sa&&(h.cb=null,h.rb=Yv,this.W&&(h.He=0,h.$c=Array(4),h.Zg=!0,h.kg=0,In(this.W,2,this,"dmaFormat",h),zn(this.W,2),h.Zg=!1));qw(this,d,a,b,c,e,f,g);b=!0;break;case yw:c=fw(this),this.Ua=c&
3,d=this.A[this.Ua],d.Za=c>>2&1,c=fw(this),d.Gb+=c-d.Td,0>d.Gb&&(d.Gb=0),d.Gb>=d.qb&&(d.Gb=d.qb-1),d.Td=c,d.rb=sw,d.Gb||(d.rb|=tw),hw(this),b=!0}0<this.C&&(this.fa=this.fa|bw|cw);this.J&aw&&(!d||d.rb&nw||!b||this.W&&gh(this.W,6))}};l.tm=function(a,b){var c=this.I;this.I&=~Zv;w(this,a,null,b,"INPUT",c);return c};l.Tn=function(a,b,c){w(this,a,b,c,"CONTROL");this.Zb=b};
function qw(a,b,c,d,e,f,g,h){hw(a);jw(a,b.Ua|b.Za<<2|b.rb&vw);jw(a,(b.rb&zw)>>>8);jw(a,(b.rb&Aw)>>>16);var k=0;if(e!=b.Gb||f!=b.Za)k=g=1;c&Bw&&(f^=k,d||(k=0));jw(a,e+k);jw(a,f);jw(a,g);jw(a,h)}function fw(a){var b=a.F[a.D];a.D++;return b}function hw(a){a.D=a.C=0}function jw(a,b){a.F[a.C++]=b}l.kl=function(a,b,c){void 0===b||0>b?this.te(a,c):c(-1,!1)};l.ll=function(a,b){return void 0!==b&&0<=b?Cw(a,b):-1};
l.Dl=function(a,b){if(void 0!==b&&0<=b)a:if(a.rb)a=-1;else{a.$c[a.He++]=b;if(a.He==a.$c.length){a.Gb=a.$c[0];a.Za=a.$c[1];a.mb=a.$c[2];a.ub=128<<a.$c[3];for(var c=a.He=0;c<a.ub;c++)if(0>Cw(a,a.Xi)){a=-1;break a}a.kg++}a.kg>=a.Ud&&(b=-1);a=b}else a=-1;return a};l.te=function(a,b){var c=-1,d=null,e=0;if(!a.rb&&a.sa){do{if(a.cb&&(e=a.Sa,0<=(c=a.sa.read(a.cb,a.Sa++)))){d=a.cb;break}a.cb=a.sa.seek(a.Gb,a.Za,a.mb);if(!a.cb){a.rb=Dw|ow;break}a.Sa=0;Ew(a)}while(1)}b(c,!1,d,e)};
function Cw(a,b){if(a.rb||!a.sa)return-1;do{if(a.cb&&a.sa.write(a.cb,a.Sa++,b))break;a.cb=a.sa.seek(a.Gb,a.Za,a.mb);if(!a.cb){a.rb=Fw|ow;b=-1;break}a.Sa=0;Ew(a)}while(1);return b}function Ew(a){a.mb++;a.mb>=a.Cf+1&&(a.mb=1,a.Za++,a.Za>=a.Bf&&(a.Za=0,a.Gb++))}var Tv="Floppy Drive",$v=4,aw=8,cw=16,bw=64,Rv=128,gw=3,iw=4,lw=5,mw=6,rw=7,uw=8,ww=10,xw=13,yw=15,dw=31,Bw=128,Yv=0,nw=8,sw=32,ow=64,Sv=192,vw=255,pw=512,Dw=1024,Fw=8192,zw=65280,Aw=16711680,tw=268435456,kw=-16777216,Zv=128,Wv=0;aa={};
var ew={3:{Jd:3,Vd:0,name:aa.Yp},4:{Jd:2,Vd:1,name:aa.Wp},5:{Jd:9,Vd:7,name:aa.bq},6:{Jd:9,Vd:7,name:aa.Sp},7:{Jd:2,Vd:0,name:aa.Up},8:{Jd:1,Vd:2,name:aa.Xp},10:{Jd:2,Vd:7,name:aa.Tp},13:{Jd:6,Vd:7,name:aa.Pp},15:{Jd:3,Vd:0,name:aa.Vp}},Lv={1009:Hv.prototype.sm,1012:Hv.prototype.um,1013:Hv.prototype.rm,1015:Hv.prototype.tm},Mv={1010:Hv.prototype.Vn,1013:Hv.prototype.Un,1015:Hv.prototype.Tn};
$a(function(){for(var a=zb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=vb(c),d=new Hv(d);yb(d,c)}});function Gw(a){mb.call(this,"HDC",a,1048576);this.dmaRead=Gw.prototype.ml;this.dmaWrite=Gw.prototype.nl;this.dmaWriteBuffer=Gw.prototype.El;this.dmaWriteFormat=Gw.prototype.Fl;this.Z=[];this.la=a.drives;this.M="at"==a.type}ba(Gw,mb);l=Gw.prototype;
function Hv(a){mb.call(this,"FDC",a,524288);this.dmaRead=Hv.prototype.kl;this.dmaWrite=Hv.prototype.ll;this.dmaFormat=Hv.prototype.Dl;this.L=Iv(a.autoMount);this.J=a.sortBy||"name";"none"==this.J&&(this.J=null);this.B=[];this.M=!Ta("Mobi")&&window&&"FileReader"in window}ba(Hv,mb);l=Hv.prototype;
l.Cb=function(a,b,c){var d=this;switch(b){case "listDisks":this.na[b]=c;if(this.J){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.J?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)try{c.options[a]=b[a]}catch(e){break}}c.onchange=function(){var a=d.na.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){gb("FDC option error: "+h.message)}b=g.desc;void 0===
b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.na[b]=c,c.onchange=function(){var a=oa(c.value,10);null!=a&&Jv(d,a)},!0;case "loadDisk":return this.na[b]=c,c.onclick=function(){var a=d.na.listDisks;a&&Kv(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDisk":if(!this.M){c.parentNode.removeChild(c);break}this.na[b]=c;c.onclick=function(){var a=d.na.listDrives;a&&a.options&&d.A&&((a=d.A[oa(a.value,
10)||0])?(a=a.sa)?(a=Wa(Fv(a),"octet-stream",!0,a.Kg.replace(".json",".img")),gb(a)):d.Fa("No diskette loaded in drive."):d.Fa("No diskette drive selected."))};return!0;case "mountDisk":if(this.M)return this.na[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Kv(d,ta(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;this.pa=a;this.W=Wb(a,"ChipSet");Iv(yd(this.pa,"autoMount"),this.L);Lv(this);Nc(b,this,Mv);Rc(b,this,Nv);Ov(this,"None","",!0);this.M&&Ov(this,"Local Disk","?");Ov(this,"Remote Disk","??");Pv(this)||Ib(this)};function Iv(a,b){if(a){if("string"==typeof a)try{a=eval("("+a+")")}catch(d){gb("FDC auto-mount error: "+d.message+" ("+a+")"),a={}}}else a={};if(b)for(var c in a)b[c]=a[c];return a}
l.Xb=function(a,b){if(!b){if(!a){if(this.reset(),this.pa.O){this.B=[];for(a=0;a<this.A.length;a++)Qv(this,a,!0);Pv(this,!0)}}else if(!this.restore(a))return!1;if(a=this.na.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.N;b++){var c=document.createElement("option");c.value=b;c.text=String.fromCharCode(65+b)+":";a.appendChild(c)}0<this.N&&(a.value="0",Jv(this,0))}}return!0};l.Wb=function(a){return a?this.save():!0};l.reset=function(){Lv(this)};
l.save=function(){var a=new Wf(this);a.set(0,Rv(this));return a.data()};l.restore=function(a){return Lv(this,a[0])};
function Lv(a,b){var c=0,d,e=!0;b||(b=[0,0,Sv,Array(9),0,0,0,[]]);a.Ua=b[c++];c++;a.fa=b[c++];a.F=b[c++];a.D=b[c++];a.C=b[c++];a.I=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.B=d);void 0===a.A&&(a.N=4,a.W&&(a.N=+Sl(a.W,fl,void 0)),a.A=Array(4));for(d=0;d<a.A.length;d++){var g=a.A[d];if(void 0===g){var g=a.A[d]={},h;if(a.W)a:{h=a.W;if(d<+Sl(h,fl,void 0)){if(!h.N){h=360;break a}if(d<h.N.length){h=h.N[d];break a}}h=0}else h=0;switch(h){case 160:case 180:g.kb=1;default:g.qb=40;g.$a=9;break;case 720:g.qb=
80;g.$a=9;break;case 1200:g.qb=80;g.$a=15;break;case 1440:g.qb=80,g.$a=18}}var k=a,m=d,p=f[d],v=0;h=!0;g.Ua=m;g.Me=g.Oe=!1;p||(p=[Tv,!0,0,2,0]);"boolean"==typeof p[1]&&(p[1]=[Uv,g.qb||40,g.kb||p[3],g.$a||9,g.Na||512,p[1],g.vg,g.Bf,g.Cf]);g.rb=p[v++];var u=p[v++];g.name=u[0];g.qb=u[1];g.kb=u[2];g.$a=u[3];g.Na=u[4];g.Pe=u[5];(g.vg=u[6])?(g.Bf=u[7],g.Cf=u[8]):(g.vg=g.qb,g.Bf=g.kb,g.Cf=g.$a);g.Za=p[v++];g.Td=p[v++];g.Gb=p[v++];g.Td=100<=g.Td?g.Td-100:g.Td-g.Gb;g.mb=p[v++];g.Ud=p[v++];g.ub=p[v++];g.Sa=
p[v++];g.cb=null;g.sa||(g.ue="");var E=p[v++];102==E&&(E=!1);"boolean"==typeof E?(u=p[v++],p=p[v],E?(v=k.A[m],Qv(k,m,!0,!0),v.Oe=!0,m=new Su(k,v,"preload"),k.mj(v,m,u,p,!0)):Vv(k,m,u,p,!0)?g.sa&&p&&Wv(k,u,p,g.sa):Ib(k,!1)):void 0!==E&&g.sa&&0>g.sa.restore(E)&&(h=!1);h&&g.sa&&void 0!==g.Sa&&(g.cb=g.sa.seek(g.Gb,g.Za,g.mb));h||(e=!1)}a.G=b[c++]||0;a.Zb=b[c]||Xv;return e}
function Rv(a){var b=0,c=[];c[b++]=a.Ua;c[b++]=0;c[b++]=a.fa;c[b++]=a.F;c[b++]=a.D;c[b++]=a.C;c[b++]=a.I;for(var d=b++,e=0,f=[],g=0;g<a.A.length;g++){var h=e++,k=a.A[g],m=0,p=[];p[m++]=k.rb;p[m++]=[k.name,k.qb,k.kb,k.$a,k.Na,k.Pe,k.vg,k.Bf,k.Cf];p[m++]=k.Za;p[m++]=k.Td+100;p[m++]=k.Gb;p[m++]=k.mb;p[m++]=k.Ud;p[m++]=k.ub;p[m++]=k.Sa;p[m++]=k.Oe;p[m++]=k.$k;p[m]=k.ue;f[h]=p}c[d]=f;d=b++;for(e=0;e<a.A.length;e++)f=a.A[e],f.sa&&Yv(a,f.ue,f.sa);c[d]=a.B;c[b++]=a.G;c[b]=a.Zb;return c}
l.ij=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};l.al=function(a,b,c){if(a.sa){var d=a.sa.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Gb=Math.floor(b/f),b%=f,a.Za=Math.floor(b/e),a.mb=b%e+1,a.ub=c*d[3],a.rb=Zv,!0}return!1};
function Pv(a,b){b||(a.K=0);for(var c in a.L){var d=a.L[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.na.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.value==e){f=h.text;break a}}f=ta(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.A.length)){!Vv(a,g,f,e,!0)&&b&&Ib(a,!1);continue}a.Fa("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.K}
function Kv(a,b,c,d){var e,f=a.na.listDrives;if(f&&!isNaN(e=oa(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Fa('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=ta(c)}for(;0>Vv(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){var f=a,g=c,h;for(h=0;h<f.B.length;h++)if(f.B[h][1]==g){f.B.splice(h,1);break}Qv(a,e,!1,
!0)}}else Qv(a,e);else a.Fa("Unable to load the selected drive")}function Vv(a,b,c,d,e,f){var g=a.A[b];if(d&&(d=d.replace("/disks/pc/","/disks/pcx86/"),g.ue.toLowerCase()!=d.toLowerCase())){Qv(a,b,e,!0);if(g.Me)return a.Fa("Drive "+b+" busy"),0;g.Me=!0;e&&(g.le=!0,a.K++,t(a)&&Lb(a,"loading diskette '"+c+"'"));g.Oe=!!f;return(new Su(a,g,"preload")).load(c,d,f,a.mj)?1:0}return-1}
l.mj=function(a,b,c,d,e){var f;a.Me=!1;b&&(f=b.info(),b&&f[0]>a.qb||f[1]>a.kb)&&(this.Fa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Ua)),b=null);b?(a.sa=b,a.$k=c,a.ue=d,Wv(this,c,d,b),f=b.info(),this.G|=$v,this.Fa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Ua),a.le||e),a.vg=f[0],a.Bf=f[1],a.Cf=f[2],this.pa&&this.pa.md()):a.Oe=!1;a.le&&(a.le=!1,--this.K||Ib(this));Jv(this,a.Ua)};
function Ov(a,b,c,d){if((a=a.na.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function Jv(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.na.listDisks;a=a.na.listDrives;if(d&&a&&d.options&&a.options&&(a=oa(a.value,10),c=c.Oe?"?":c.ue,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Qv(a,b,c,d){var e=a.A[b];e.sa&&(Yv(a,e.ue,e.sa),e.$k="",e.ue="",e.sa=null,e.Oe=!1,a.G|=$v,d||a.Fa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||Jv(a,b))}
function Wv(a,b,c,d){var e;for(e=0;e<a.B.length;e++)if(a.B[e][1]==c){d.restore(a.B[e][2]);return}a.B[e]=[b,c,[]]}function Yv(a,b,c){var d;for(d=0;d<a.B.length;d++)if(a.B[d][1]==b){a.B[d][2]=c.save();break}}l.Vn=function(a,b,c){w(this,a,b,c,"OUTPUT");b&aw?this.I&aw||this.I&bw&&this.W&&gh(this.W,6):Lv(this);this.I=b};l.sm=function(a,b){w(this,a,null,b,"DIAG",80);return 80};l.um=function(a,b){w(this,a,null,b,"STATUS",this.fa);return this.fa};
l.rm=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.I&bw&&this.W&&eh(this.W,6);t(this)&&w(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.fa&=~(cw|dw),this.D=this.C=0);return c};
l.Un=function(a,b,c){t(this)&&w(this,a,b,c,"DATA["+this.C+"]");this.C<this.F.length&&(this.F[this.C++]=b);a=this.F[0]&ew;if(void 0!==fw[a]&&this.C>=fw[a].Jd){b=!1;this.D=0;a=gw(this);var d,e,f,g,h=a&ew;switch(h){case hw:gw(this);gw(this);iw(this);break;case jw:c=gw(this);this.Ua=c&3;d=this.A[this.Ua];iw(this);kw(this,(d.rb&lw)>>>24);break;case mw:case nw:c=gw(this);b=c>>2&1;this.Ua=c&3;d=this.A[this.Ua];d.Za=b;c=d.Gb=gw(this);e=gw(this);f=d.mb=gw(this);g=gw(this);d.ub=128<<g;d.Ud=gw(this);gw(this);
gw(this);h==nw?(h=d,h.rb=ow|pw,h.sa&&(h.cb=null,h.rb=Zv,this.W&&(In(this.W,2,this,"dmaRead",h),zn(this.W,2)))):(h=d,h.rb=ow|pw,h.sa&&(h.sa.Se?h.rb=qw|pw:(h.cb=null,h.rb=Zv,this.W&&(In(this.W,2,this,"dmaWrite",h),zn(this.W,2)))));rw(this,d,a,b,c,e,f,g);b=!0;break;case sw:c=gw(this);this.Ua=c&3;d=this.A[this.Ua];d.Gb=d.Td=0;d.rb=tw|uw;iw(this);b=!0;break;case vw:d=this.A[this.Ua];d.Za=0;iw(this);kw(this,d.Ua|d.Za<<2|d.rb&ww);kw(this,d.Gb);this.Ua=this.Ua+1&3;break;case xw:c=gw(this);b=c>>2&1;this.Ua=
c&3;d=this.A[this.Ua];c=d.Gb;e=d.Za=b;f=d.mb=1;g=0;d.rb=Zv;d.sa&&(d.cb=d.sa.seek(d.Gb,d.Za,d.mb))?g=d.cb.length>>8:d.rb=ow|pw;rw(this,d,a,b,c,e,f,g);b=!0;break;case yw:c=gw(this);b=c>>2&1;this.Ua=c&3;d=this.A[this.Ua];c=d.Gb;e=d.Za=b;f=1;g=gw(this);d.ub=128<<g;d.Ud=gw(this);gw(this);d.Xi=gw(this);h=d;h.rb=ow|pw;h.sa&&(h.cb=null,h.rb=Zv,this.W&&(h.He=0,h.$c=Array(4),h.Zg=!0,h.kg=0,In(this.W,2,this,"dmaFormat",h),zn(this.W,2),h.Zg=!1));rw(this,d,a,b,c,e,f,g);b=!0;break;case zw:c=gw(this),this.Ua=c&
3,d=this.A[this.Ua],d.Za=c>>2&1,c=gw(this),d.Gb+=c-d.Td,0>d.Gb&&(d.Gb=0),d.Gb>=d.qb&&(d.Gb=d.qb-1),d.Td=c,d.rb=tw,d.Gb||(d.rb|=uw),iw(this),b=!0}0<this.C&&(this.fa=this.fa|cw|dw);this.I&bw&&(!d||d.rb&ow||!b||this.W&&gh(this.W,6))}};l.tm=function(a,b){var c=this.G;this.G&=~$v;w(this,a,null,b,"INPUT",c);return c};l.Tn=function(a,b,c){w(this,a,b,c,"CONTROL");this.Zb=b};
function rw(a,b,c,d,e,f,g,h){iw(a);kw(a,b.Ua|b.Za<<2|b.rb&ww);kw(a,(b.rb&Aw)>>>8);kw(a,(b.rb&Bw)>>>16);var k=0;if(e!=b.Gb||f!=b.Za)k=g=1;c&Cw&&(f^=k,d||(k=0));kw(a,e+k);kw(a,f);kw(a,g);kw(a,h)}function gw(a){var b=a.F[a.D];a.D++;return b}function iw(a){a.D=a.C=0}function kw(a,b){a.F[a.C++]=b}l.kl=function(a,b,c){void 0===b||0>b?this.te(a,c):c(-1,!1)};l.ll=function(a,b){return void 0!==b&&0<=b?Dw(a,b):-1};
l.Dl=function(a,b){if(void 0!==b&&0<=b)a:if(a.rb)a=-1;else{a.$c[a.He++]=b;if(a.He==a.$c.length){a.Gb=a.$c[0];a.Za=a.$c[1];a.mb=a.$c[2];a.ub=128<<a.$c[3];for(var c=a.He=0;c<a.ub;c++)if(0>Dw(a,a.Xi)){a=-1;break a}a.kg++}a.kg>=a.Ud&&(b=-1);a=b}else a=-1;return a};l.te=function(a,b){var c=-1,d=null,e=0;if(!a.rb&&a.sa){do{if(a.cb&&(e=a.Sa,0<=(c=a.sa.read(a.cb,a.Sa++)))){d=a.cb;break}a.cb=a.sa.seek(a.Gb,a.Za,a.mb);if(!a.cb){a.rb=Ew|pw;break}a.Sa=0;Fw(a)}while(1)}b(c,!1,d,e)};
function Dw(a,b){if(a.rb||!a.sa)return-1;do{if(a.cb&&a.sa.write(a.cb,a.Sa++,b))break;a.cb=a.sa.seek(a.Gb,a.Za,a.mb);if(!a.cb){a.rb=Gw|pw;b=-1;break}a.Sa=0;Fw(a)}while(1);return b}function Fw(a){a.mb++;a.mb>=a.Cf+1&&(a.mb=1,a.Za++,a.Za>=a.Bf&&(a.Za=0,a.Gb++))}var Uv="Floppy Drive",aw=4,bw=8,dw=16,cw=64,Sv=128,hw=3,jw=4,mw=5,nw=6,sw=7,vw=8,xw=10,yw=13,zw=15,ew=31,Cw=128,Zv=0,ow=8,tw=32,pw=64,Tv=192,ww=255,qw=512,Ew=1024,Gw=8192,Aw=65280,Bw=16711680,uw=268435456,lw=-16777216,$v=128,Xv=0;aa={};
var fw={3:{Jd:3,Vd:0,name:aa.Yp},4:{Jd:2,Vd:1,name:aa.Wp},5:{Jd:9,Vd:7,name:aa.bq},6:{Jd:9,Vd:7,name:aa.Sp},7:{Jd:2,Vd:0,name:aa.Up},8:{Jd:1,Vd:2,name:aa.Xp},10:{Jd:2,Vd:7,name:aa.Tp},13:{Jd:6,Vd:7,name:aa.Pp},15:{Jd:3,Vd:0,name:aa.Vp}},Mv={1009:Hv.prototype.sm,1012:Hv.prototype.um,1013:Hv.prototype.rm,1015:Hv.prototype.tm},Nv={1010:Hv.prototype.Vn,1013:Hv.prototype.Un,1015:Hv.prototype.Tn};
$a(function(){for(var a=zb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=vb(c),d=new Hv(d);yb(d,c)}});function Hw(a){mb.call(this,"HDC",a,1048576);this.dmaRead=Hw.prototype.ml;this.dmaWrite=Hw.prototype.nl;this.dmaWriteBuffer=Hw.prototype.El;this.dmaWriteFormat=Hw.prototype.Fl;this.Z=[];this.la=a.drives;this.M="at"==a.type}ba(Hw,mb);l=Hw.prototype;
l.Cb=function(a,b,c){var d=this;switch(b){case "saveHD0":case "saveHD1":return this.na[b]=c,c.onclick=function(a){return function(){var b=d.A&&d.A[a];if(b&&b.sa){var b=b.sa,c=b.Kg||b.kd,e=c.lastIndexOf(".");0<=e&&(c=c.substr(0,e));c+=".img";b=Wa(Fv(b),"octet-stream",!0,c);gb(b)}else d.Fa("Hard drive "+a+" is not available.")}}(+b.slice(-1)),!0}return!1};
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;this.pa=a;if(d=yd(a,"drives"))this.Z=d;else if(this.la)try{this.Z=eval("("+this.la+")")}catch(e){gb("HDC drive configuration error: "+e.message+" ("+this.la+")")}this.W=Wb(a,"ChipSet");this.G=0;this.ma=3;Nc(b,this,this.M?Hw:Iw);Rc(b,this,this.M?Jw:Kw);this.M&&(this.G++,this.W&&this.W.ca==wl&&this.G++,this.ma=2,b.Y[Lw]=2,b.Z[Lw]=2);Rf(c,19,this.Wm.bind(this));Rf(c,64,this.Xm.bind(this));this.reset();Mw(this)||Ib(this)};
l.Xb=function(a,b){if(!b)if(!a)Nw(this),this.pa.O&&Mw(this,!0);else if(!this.restore(a))return!1;return!0};l.Wb=function(a){return a?this.save():!0};function Wu(a){return a.pa?a.pa.ha:""}function Xu(a){return a.pa?a.pa.B||"":""}l.reset=function(){Nw(this,null,!0)};l.save=function(){var a=new Wf(this);a.set(0,Ow(this));return a.data()};l.restore=function(a){return Nw(this,a[0])};
function Nw(a,b,c){var d=0,e=!0;a.Ua=-1;if(a.M){if(b||(b=[0,0,0,0,0,0,0,Pw,0,[0,-1]]),a.I=b[d++],a.va=b[d++],a.J=b[d++],a.ga=b[d++],a.da=b[d++],a.aa=b[d++],a.Y=b[d++],a.fa=b[d++],a.ha=b[d++],a.L=b[d++],"object"==typeof a.L){var f=a.L;a.L=f[0];a.Ua=f[1]}}else b||(b=[0,Qw,Array(14),0,0]),a.O=b[d++],a.fa=b[d++],a.F=b[d++],a.D=b[d++],a.C=b[d++],a.ta=b[d++],a.qa=b[d++],a.oa=b[d++],f=b[d++],void 0!==f?a.N=f:void 0===a.N&&(a.N=-1);void 0===a.A&&(a.A=Array(a.Z.length));b=b[d];void 0===b&&(b=[]);for(d=0;d<
a.A.length;d++){void 0===a.A[d]&&(a.A[d]={});var f=a.A[d],g=a,h=d,k=f,m=a.Z[d],p=b[d],v=c,u=0,E=!0;p||(p=[Rw,0,!1,Array(8)]);k.Ua=h;k.errorCode=p[u++];k.bl=p[u++];k.Pe=p[u++];k.Ee=p[u++];k.Fe=p[u++];k.Za=p[u++];k.kb=p[u++];k.Pd=p[u++];k.mb=p[u++];k.Ud=p[u++];k.ub=p[u++];k.jg=g.M?0:1;k.name=m.name;void 0===k.name&&(k.name=Sw);k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||Xu(g)||(k.mode="local");k.type=m.type;if(void 0===k.type||void 0===Tw[g.G][k.type])k.type=
g.ma;m=Tw[g.G][k.type];k.$a=m[2]||17;k.Na=m[3]||512;if(v&&g.W){var m=g.W,G=k.type;if(m.A){var v=null,I=m.A[18];15<G&&(v=G,G=15);h?(I=I&240|G,G=26):(I=I&15|G<<4,G=25);var J=m;J.A&&(J.A[18]=I,jm(J));null!=v&&m.A&&(m.A[G]=v,jm(m))}}void 0===k.sa&&(k.sa=null,g.Fa("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));Uw(g,k);k.Sa=p[u++];k.cb=null;k.sa&&(g=p[u],void 0!==g&&0>k.sa.restore(g)&&(E=!1),E&&void 0!==k.Sa&&(k.cb=k.sa.seek(k.Pd,k.Za,k.mb+k.jg)));E||(e=!1);null!=a.O&&1>=d&&(a.O|=(f.type&3)<<(1-d<<
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.ba=d;this.pa=a;if(d=yd(a,"drives"))this.Z=d;else if(this.la)try{this.Z=eval("("+this.la+")")}catch(e){gb("HDC drive configuration error: "+e.message+" ("+this.la+")")}this.W=Wb(a,"ChipSet");this.G=0;this.ma=3;Nc(b,this,this.M?Iw:Jw);Rc(b,this,this.M?Kw:Lw);this.M&&(this.G++,this.W&&this.W.ca==wl&&this.G++,this.ma=2,b.Y[Mw]=2,b.Z[Mw]=2);Rf(c,19,this.Wm.bind(this));Rf(c,64,this.Xm.bind(this));this.reset();Nw(this)||Ib(this)};
l.Xb=function(a,b){if(!b)if(!a)Ow(this),this.pa.O&&Nw(this,!0);else if(!this.restore(a))return!1;return!0};l.Wb=function(a){return a?this.save():!0};function Wu(a){return a.pa?a.pa.ha:""}function Xu(a){return a.pa?a.pa.B||"":""}l.reset=function(){Ow(this,null,!0)};l.save=function(){var a=new Wf(this);a.set(0,Pw(this));return a.data()};l.restore=function(a){return Ow(this,a[0])};
function Ow(a,b,c){var d=0,e=!0;a.Ua=-1;if(a.M){if(b||(b=[0,0,0,0,0,0,0,Qw,0,[0,-1]]),a.I=b[d++],a.va=b[d++],a.J=b[d++],a.ga=b[d++],a.da=b[d++],a.aa=b[d++],a.Y=b[d++],a.fa=b[d++],a.ha=b[d++],a.L=b[d++],"object"==typeof a.L){var f=a.L;a.L=f[0];a.Ua=f[1]}}else b||(b=[0,Rw,Array(14),0,0]),a.O=b[d++],a.fa=b[d++],a.F=b[d++],a.D=b[d++],a.C=b[d++],a.ta=b[d++],a.qa=b[d++],a.oa=b[d++],f=b[d++],void 0!==f?a.N=f:void 0===a.N&&(a.N=-1);void 0===a.A&&(a.A=Array(a.Z.length));b=b[d];void 0===b&&(b=[]);for(d=0;d<
a.A.length;d++){void 0===a.A[d]&&(a.A[d]={});var f=a.A[d],g=a,h=d,k=f,m=a.Z[d],p=b[d],v=c,u=0,E=!0;p||(p=[Sw,0,!1,Array(8)]);k.Ua=h;k.errorCode=p[u++];k.bl=p[u++];k.Pe=p[u++];k.Ee=p[u++];k.Fe=p[u++];k.Za=p[u++];k.kb=p[u++];k.Pd=p[u++];k.mb=p[u++];k.Ud=p[u++];k.ub=p[u++];k.jg=g.M?0:1;k.name=m.name;void 0===k.name&&(k.name=Tw);k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||Xu(g)||(k.mode="local");k.type=m.type;if(void 0===k.type||void 0===Uw[g.G][k.type])k.type=
g.ma;m=Uw[g.G][k.type];k.$a=m[2]||17;k.Na=m[3]||512;if(v&&g.W){var m=g.W,G=k.type;if(m.A){var v=null,I=m.A[18];15<G&&(v=G,G=15);h?(I=I&240|G,G=26):(I=I&15|G<<4,G=25);var J=m;J.A&&(J.A[18]=I,jm(J));null!=v&&m.A&&(m.A[G]=v,jm(m))}}void 0===k.sa&&(k.sa=null,g.Fa("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));Vw(g,k);k.Sa=p[u++];k.cb=null;k.sa&&(g=p[u],void 0!==g&&0>k.sa.restore(g)&&(E=!1),E&&void 0!==k.Sa&&(k.cb=k.sa.seek(k.Pd,k.Za,k.mb+k.jg)));E||(e=!1);null!=a.O&&1>=d&&(a.O|=(f.type&3)<<(1-d<<
1))}0<=a.Ua&&(a.B=a.A[a.Ua]);return e}
function Ow(a){var b=0,c=[];a.M?(c[b++]=a.I,c[b++]=a.va,c[b++]=a.J,c[b++]=a.ga,c[b++]=a.da,c[b++]=a.aa,c[b++]=a.Y,c[b++]=a.fa,c[b++]=a.ha,c[b++]=[a.L,a.Ua]):(c[b++]=a.O,c[b++]=a.fa,c[b++]=a.F,c[b++]=a.D,c[b++]=a.C,c[b++]=a.ta,c[b++]=a.qa,c[b++]=a.oa,c[b++]=a.N);for(var d=0,e=[],f=0;f<a.A.length;f++){var g=d++,h=a.A[f],k=0,m=[];m[k++]=h.errorCode;m[k++]=h.bl;m[k++]=h.Pe;m[k++]=h.Ee;m[k++]=h.Fe;m[k++]=h.Za;m[k++]=h.kb;m[k++]=h.Pd;m[k++]=h.mb;m[k++]=h.Ud;m[k++]=h.ub;m[k++]=h.Sa;m[k]=h.sa?h.sa.save():
null;e[g]=m}c[b]=e;return c}l.ij=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};function Uw(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Ee[2])?e=b.Ee[0]<<8|b.Ee[1]:c=b.type);null==c||d||(d=Tw[a.G][c][1],e=Tw[a.G][c][0]);d&&((c=Tw[a.G][b.type])&&e!=c[0]&&d!=c[1]&&a.Fa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.qb=e,b.kb=d,null==b.sa&&(b.sa=new Su(a,b,b.mode)))}}
l.al=function(a,b,c){if(a.sa){var d=a.sa.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.Pd=Math.floor(b/g),b%=g,a.Za=Math.floor(b/f),a.mb=b%f,a.ub=c*d[3],a.errorCode=Rw,!0}}return!1};
function Mw(a,b){b||(a.K=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];if(d.name&&d.path){if(!(b&&d.sa&&d.sa.pg)){var e;e=a;var f=d.name,d=d.path,g=e.A[c];g.Me?(e.Fa("Drive "+c+" busy"),e=!0):(g.Me=!0,g.le=!0,e.K++,t(e)&&Lb(e,"loading "+f),(g.sa||new Su(e,g,g.mode)).load(f,d,null,e.Gl),e=!1);!e&&b&&Ib(a,!1)}}else b&&void 0!==d.type&&(d.sa=null,Uw(a,d,d.type))}return!!a.K}
l.Gl=function(a,b,c){a.Me=!1;if(a.sa=b)this.Fa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Ua),a.le),b=b.info(),b[0]==a.qb&&b[1]==a.kb&&b[2]==a.$a&&b[3]==a.Na||this.Fa("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+Vw[this.G]+" drive type "+a.type+" ("+a.qb+":"+a.kb+":"+a.$a+")");a.le&&(a.le=!1,--this.K||Ib(this))};
l.Um=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.W&&eh(this.W,5);this.fa&=~Ww;w(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.D=this.C=0,this.fa&=~(Xw|Yw|Zw));return c};l.so=function(a,b,c){w(this,a,b,c,"DATA["+this.C+"]");this.C<this.F.length&&(this.F[this.C++]=b);a=this.F[0]!=$w?6:this.F.length;6==this.C&&(this.fa&=~ax);this.C>=a&&(this.fa|=Xw,this.fa&=~ax,bx(this))};l.Vm=function(a,b){var c=this.fa;w(this,a,null,b,"STATUS",c);this.D<this.C&&(this.fa|=ax);return c};
l.vo=function(a,b,c){w(this,a,b,c,"RESET");this.ta=b;this.W&&eh(this.W,5);Nw(this)};l.Tm=function(a,b){w(this,a,null,b,"CONFIG",this.O);return this.O};l.uo=function(a,b,c){w(this,a,b,c,"PULSE");this.qa=b;this.fa=ax|Yw|Zw};l.to=function(a,b,c){w(this,a,b,c,"PATTERN");this.oa=b};l.ii=function(a,b,c){w(this,a,b,c,"NOISE")};
function cx(a,b,c){var d=-1;a.B&&(d=a.te(a.B,function(){}),1==a.B.Sa||a.B.Sa==a.B.Na)&&(t(a,1048832)&&w(a,b,null,c,"DATA["+a.B.Sa+"]",d),1<a.B.Sa&&(a.B.ub-=a.B.Na,a.J=a.J-1&255,a.B.ub>=a.B.Na?(a.fa=dx,a.te(a.B,function(b){0<=b?(ex(a),a.W&&a.W.ca==wl&&(a.fa=0),a.fa=a.fa|Pw|fx|gx):(a.fa=hx,a.I=ix)},!1)):a.fa=Pw|fx));return d}l.ol=function(a,b){return cx(this,a,b)|cx(this,a,b)<<8};
function jx(a,b,c,d){if(a.B&&a.B.ub>=a.B.Na)if(0>kx(a.B,c))a.fa=hx,a.I=ix;else if(1==a.B.Sa||a.B.Sa==a.B.Na)t(a,1048832)&&w(a,b,c,d,"DATA["+a.B.Sa+"]"),1<a.B.Sa&&(a.B.ub-=a.B.Na,a.J=a.J-1&255,ex(a),a.fa=Pw|fx,a.B.ub>=a.B.Na&&(a.fa|=gx))}l.Bn=function(a,b,c){jx(this,a,b&255,c);jx(this,a,b>>8&255,c)};l.am=function(a,b){var c=this.I;w(this,a,null,b,"ERROR",c);return c};l.Gn=function(a,b,c){w(this,a,b,c,"WPREC");this.va=b};l.cm=function(a,b){var c=this.J;w(this,a,null,b,"SECCNT",c);return c};
function Pw(a){var b=0,c=[];a.M?(c[b++]=a.I,c[b++]=a.va,c[b++]=a.J,c[b++]=a.ga,c[b++]=a.da,c[b++]=a.aa,c[b++]=a.Y,c[b++]=a.fa,c[b++]=a.ha,c[b++]=[a.L,a.Ua]):(c[b++]=a.O,c[b++]=a.fa,c[b++]=a.F,c[b++]=a.D,c[b++]=a.C,c[b++]=a.ta,c[b++]=a.qa,c[b++]=a.oa,c[b++]=a.N);for(var d=0,e=[],f=0;f<a.A.length;f++){var g=d++,h=a.A[f],k=0,m=[];m[k++]=h.errorCode;m[k++]=h.bl;m[k++]=h.Pe;m[k++]=h.Ee;m[k++]=h.Fe;m[k++]=h.Za;m[k++]=h.kb;m[k++]=h.Pd;m[k++]=h.mb;m[k++]=h.Ud;m[k++]=h.ub;m[k++]=h.Sa;m[k]=h.sa?h.sa.save():
null;e[g]=m}c[b]=e;return c}l.ij=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b};function Vw(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Ee[2])?e=b.Ee[0]<<8|b.Ee[1]:c=b.type);null==c||d||(d=Uw[a.G][c][1],e=Uw[a.G][c][0]);d&&((c=Uw[a.G][b.type])&&e!=c[0]&&d!=c[1]&&a.Fa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.qb=e,b.kb=d,null==b.sa&&(b.sa=new Su(a,b,b.mode)))}}
l.al=function(a,b,c){if(a.sa){var d=a.sa.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.Pd=Math.floor(b/g),b%=g,a.Za=Math.floor(b/f),a.mb=b%f,a.ub=c*d[3],a.errorCode=Sw,!0}}return!1};
function Nw(a,b){b||(a.K=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];if(d.name&&d.path){if(!(b&&d.sa&&d.sa.pg)){var e;e=a;var f=d.name,d=d.path,g=e.A[c];g.Me?(e.Fa("Drive "+c+" busy"),e=!0):(g.Me=!0,g.le=!0,e.K++,t(e)&&Lb(e,"loading "+f),(g.sa||new Su(e,g,g.mode)).load(f,d,null,e.Gl),e=!1);!e&&b&&Ib(a,!1)}}else b&&void 0!==d.type&&(d.sa=null,Vw(a,d,d.type))}return!!a.K}
l.Gl=function(a,b,c){a.Me=!1;if(a.sa=b)this.Fa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.Ua),a.le),b=b.info(),b[0]==a.qb&&b[1]==a.kb&&b[2]==a.$a&&b[3]==a.Na||this.Fa("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+Ww[this.G]+" drive type "+a.type+" ("+a.qb+":"+a.kb+":"+a.$a+")");a.le&&(a.le=!1,--this.K||Ib(this))};
l.Um=function(a,b){var c=0;this.D<this.C&&(c=this.F[this.D]);this.W&&eh(this.W,5);this.fa&=~Xw;w(this,a,null,b,"DATA["+this.D+"]",c);++this.D>=this.C&&(this.D=this.C=0,this.fa&=~(Yw|Zw|$w));return c};l.so=function(a,b,c){w(this,a,b,c,"DATA["+this.C+"]");this.C<this.F.length&&(this.F[this.C++]=b);a=this.F[0]!=ax?6:this.F.length;6==this.C&&(this.fa&=~bx);this.C>=a&&(this.fa|=Yw,this.fa&=~bx,cx(this))};l.Vm=function(a,b){var c=this.fa;w(this,a,null,b,"STATUS",c);this.D<this.C&&(this.fa|=bx);return c};
l.vo=function(a,b,c){w(this,a,b,c,"RESET");this.ta=b;this.W&&eh(this.W,5);Ow(this)};l.Tm=function(a,b){w(this,a,null,b,"CONFIG",this.O);return this.O};l.uo=function(a,b,c){w(this,a,b,c,"PULSE");this.qa=b;this.fa=bx|Zw|$w};l.to=function(a,b,c){w(this,a,b,c,"PATTERN");this.oa=b};l.ii=function(a,b,c){w(this,a,b,c,"NOISE")};
function dx(a,b,c){var d=-1;a.B&&(d=a.te(a.B,function(){}),1==a.B.Sa||a.B.Sa==a.B.Na)&&(t(a,1048832)&&w(a,b,null,c,"DATA["+a.B.Sa+"]",d),1<a.B.Sa&&(a.B.ub-=a.B.Na,a.J=a.J-1&255,a.B.ub>=a.B.Na?(a.fa=ex,a.te(a.B,function(b){0<=b?(fx(a),a.W&&a.W.ca==wl&&(a.fa=0),a.fa=a.fa|Qw|gx|hx):(a.fa=ix,a.I=jx)},!1)):a.fa=Qw|gx));return d}l.ol=function(a,b){return dx(this,a,b)|dx(this,a,b)<<8};
function kx(a,b,c,d){if(a.B&&a.B.ub>=a.B.Na)if(0>lx(a.B,c))a.fa=ix,a.I=jx;else if(1==a.B.Sa||a.B.Sa==a.B.Na)t(a,1048832)&&w(a,b,c,d,"DATA["+a.B.Sa+"]"),1<a.B.Sa&&(a.B.ub-=a.B.Na,a.J=a.J-1&255,fx(a),a.fa=Qw|gx,a.B.ub>=a.B.Na&&(a.fa|=hx))}l.Bn=function(a,b,c){kx(this,a,b&255,c);kx(this,a,b>>8&255,c)};l.am=function(a,b){var c=this.I;w(this,a,null,b,"ERROR",c);return c};l.Gn=function(a,b,c){w(this,a,b,c,"WPREC");this.va=b};l.cm=function(a,b){var c=this.J;w(this,a,null,b,"SECCNT",c);return c};
l.En=function(a,b,c){w(this,a,b,c,"SECCNT");this.J=b};l.dm=function(a,b){var c=this.ga;w(this,a,null,b,"SECNUM",c);return c};l.Fn=function(a,b,c){w(this,a,b,c,"SECNUM");this.ga=b};l.Zl=function(a,b){var c=this.da;w(this,a,null,b,"CYLLO",c);return c};l.An=function(a,b,c){w(this,a,b,c,"CYLLO");this.da=b};l.Yl=function(a,b){var c=this.aa;w(this,a,null,b,"CYLHI",c);return c};l.zn=function(a,b,c){w(this,a,b,c,"CYLHI");this.aa=b};l.$l=function(a,b){var c=this.Y;w(this,a,null,b,"DRVHD",c);return c};
l.Cn=function(a,b,c){w(this,a,b,c,"DRVHD");this.Y=b;this.fa=this.A[this.Y&lx?1:0]?this.fa|Pw|fx:this.fa&~Pw};l.em=function(a,b){var c=this.fa;w(this,a,null,b,"STATUS",c);this.fa&Pw&&(this.fa&=~dx);return c};l.yn=function(a,b,c){w(this,a,b,c,"COMMAND");this.ha=b;this.W&&eh(this.W,14);mx(this)};l.Dn=function(a,b,c){w(this,a,b,c,"FDR");this.L&nx&&!(b&nx)&&(this.I=ox);this.L=b};
function mx(a){var b=!1,c=a.ha,d=a.Y&lx?1:0,e=a.Y&px,f=a.da|(a.aa&qx)<<8,g=a.ga,h=a.J||256;a.Ua=-1;a.B=null;a.I=rx;a.fa=Pw|fx;var k=a.A[d];k?(k.Pd=f,k.Za=e,k.mb=g,k.ub=h*k.Na,c=c>=sx?c:c&tx,k.cb=null,k.Sa=0,k.errorCode=0,a.Ua=d,a.B=k):c=-1;switch(c&tx){case ux:b=!0;break;case vx:a.fa=dx;a.te(k,function(b){0<=b&&a.W?(ex(a),a.fa=Pw|fx|gx):(a.fa=hx,a.I=ix)},!1);break;case wx:a.fa=gx;break;case xx:b=!0;break;case yx:b=!0;break;case sx:a.I=ox;b=!0;break;case zx:k.kb=e+1,k.$a=h,b=!0}b&&ex(a)}
function ex(a){!a.W||a.L&Ax||gh(a.W,14,120)}
function bx(a){a.D=0;var b=Bx(a),c=Bx(a),d=c&32,e=d>>5,f=c&31,g=Bx(a),h=Bx(a),k=g<<2&768|h,m=g&63,p=Bx(a),v=Bx(a),u=a.A[e];u&&(u.Pd=k,u.Za=f,u.mb=m,u.ub=p*u.Na);switch(b){case Cx:Dx(a,u?u.errorCode:Ex);Fx(a,c);Fx(a,g);Fx(a,h);Fx(a,Gx|d);b=-1;break;case $w:for(c=0;0<=(b=Bx(a));)u&&c<u.Ee.length&&(u.Ee[c++]=b);u&&Uw(a,u);b=Gx;u||a.N!=e||(a.N=-1,b=Hx);Dx(a,b|d);b=-1;break;case Ix:case Jx:Dx(a,Gx|d),b=-1}if(0<=b)switch(void 0===u?b=-1:(u.errorCode=Rw,u.bl=0),b){case Kx:Dx(a,Gx|d);break;case Lx:u.nf=v;
Dx(a,Gx|d);break;case Mx:Dx(a,Gx|d);break;case Nx:Ox(a,u,function(b){Dx(a,b|d)});break;case Px:Qx(a,u,function(b){Dx(a,b|d)});break;case Rx:Sx(a,u,function(b){Dx(a,b|d)});break;default:Dx(a,Hx|d)}}function Bx(a){var b=-1;a.D<a.C&&(b=a.F[a.D++]);return b}function Dx(a,b){a.D=a.C=0;void 0!==b&&Fx(a,b);a.W&&gh(a.W,5);a.fa|=Ww}function Fx(a,b){a.F[a.C++]=b}l.ml=function(a,b,c){void 0===b||0>b?this.te(a,c):c(-1,!1)};l.nl=function(a,b){return void 0!==b&&0<=b?kx(a,b):-1};
l.El=function(a,b){void 0!==b&&0<=b?(a.Sa<a.Fe.length?a.Fe[a.Sa++]=b:(a.errorCode=Tx,b=-1),a=b):a=-1;return a};l.Fl=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.$c[a.He++]=b;if(a.He==a.$c.length){a.Pd=a.$c[0];a.Za=a.$c[1];a.mb=a.$c[2];a.ub=128<<a.$c[3];for(var c=a.He=0;c<a.ub;c++)if(0>kx(a,a.Xi)){a=-1;break a}a.kg++}a.kg>=a.Ud&&(b=-1);a=b}else a=-1;return a};
function Ox(a,b,c){b.errorCode=Ex;if(b.sa&&(b.cb=null,a.W)){b.errorCode=Rw;In(a.W,3,a,"dmaRead",b);zn(a.W,3,function(a){a||b.errorCode!=Rw||(b.errorCode=Ex);c(b.errorCode?Hx:Gx)});return}c(b.errorCode?Hx:Gx)}function Qx(a,b,c){b.errorCode=Ex;if(b.sa&&(b.cb=null,a.W)){b.errorCode=Rw;In(a.W,3,a,"dmaWrite",b);zn(a.W,3,function(a){a||(b.errorCode==Rw&&(b.errorCode=Ex),b.errorCode==Tx&&(b.errorCode=Rw));c(b.errorCode?Hx:Gx)});return}c(b.errorCode?Hx:Gx)}
function Sx(a,b,c){b.errorCode=Ex;b.Fe&&b.Fe.length==b.ub||(b.Fe=Array(b.ub));b.Sa=0;a.W?(b.errorCode=Rw,In(a.W,3,a,"dmaWriteBuffer",b),zn(a.W,3,function(a){a||b.errorCode!=Rw||(b.errorCode=Ex);c(b.errorCode?Hx:Gx)})):c(b.errorCode?Hx:Gx)}
l.te=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.cb&&(f=a.Sa,d=a.sa.read(a.cb,a.Sa),a.Sa+=g,0<=d))return e=a.cb,b&&b(d,!1,e,f),d;if(b){if(a.sa)return a.sa.seek(a.Pd,a.Za,a.mb+a.jg,!1,function(c,k){(a.cb=c)?(e=c,f=a.Sa=0,Ux(a),d=a.sa.read(a.cb,a.Sa),a.Sa+=g):a.errorCode=Tx;b(d,k,e,f)}),d;a.errorCode=Tx;b(d,!1,e,f)}return d};
function kx(a,b){if(a.errorCode)return-1;do{if(a.cb&&a.sa.write(a.cb,a.Sa++,b))break;a.sa&&a.sa.seek(a.Pd,a.Za,a.mb+a.jg,!0,function(b){a.cb=b});if(!a.cb){a.errorCode=Tx;b=-1;break}a.Sa=0;Ux(a)}while(1);return b}function Ux(a){a.mb++;var b=1-a.jg;a.mb>=a.$a+b&&(a.mb=b,a.Za++,a.Za>=a.kb&&(a.Za=0,a.Pd++))}l.Wm=function(){var a=this.H.L&255;!(this.H.D>>8)&&128<a&&(this.N=a-128);return!0};l.Xm=function(){var a;(a=this.H.D>>8||!this.W)||(a=!(this.W.hc[0].pd&64));return a?!0:!1};
var Sw="Hard Drive",Vw=["XTC","ATC","COMPAQ"],Tw=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,
6],19:[1023,8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}],Lw=496,ox=1,rx=0,ix=16,qx=3,px=15,lx=16,hx=1,gx=8,fx=16,Pw=64,dx=128,ux=16,vx=32,wx=48,xx=64,yx=
112,sx=144,zx=145,tx=240,Ax=2,nx=4,Gx=0,Hx=2,Kx=0,Lx=1,Cx=3,Mx=5,Nx=8,Px=10,$w=12,Rx=15,Ix=224,Jx=228,Rw=0,Ex=4,Tx=20,Qw=0,ax=1,Xw=2,Yw=4,Zw=8,Ww=32,Iw={800:Gw.prototype.Um,801:Gw.prototype.Vm,802:Gw.prototype.Tm},Hw={496:Gw.prototype.ol,497:Gw.prototype.am,498:Gw.prototype.cm,499:Gw.prototype.dm,500:Gw.prototype.Zl,501:Gw.prototype.Yl,502:Gw.prototype.$l,503:Gw.prototype.em},Kw={800:Gw.prototype.so,801:Gw.prototype.vo,802:Gw.prototype.uo,803:Gw.prototype.to,807:Gw.prototype.ii,811:Gw.prototype.ii,
815:Gw.prototype.ii},Jw={496:Gw.prototype.Bn,497:Gw.prototype.Gn,498:Gw.prototype.En,499:Gw.prototype.Fn,500:Gw.prototype.An,501:Gw.prototype.zn,502:Gw.prototype.Cn,503:Gw.prototype.yn,1014:Gw.prototype.Dn};$a(function(){for(var a=zb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=vb(c),d=new Gw(d);yb(d,c)}});function Vx(a){mb.call(this,"Debugger",a);this.D=+a.base||16;this.ha=["{","}"];this.Aa=["[","]"];this.Z=this.la=this.N=0;this.ga=!1;this.A=-1;this.C=[];this.I={}}ba(Vx,mb);
Vx.prototype.hh=function(){return-1};Vx.prototype.ih=function(){};Vx.prototype.Qk=function(a,b){return a.replace("["+b+"]","unimplemented")};
Vx.prototype.Dg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.ga?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Ba(a.substring(d,f))),d=f+1}}return b};
function Wx(a,b,c){var d=a;b=b||32;if(c)if(32==b)d=a>>>0;else if(32>b)d=a&(1<<b)-1;else{if(b=Math.pow(2,b),0>a||a>=b)d=a%b,0>d&&(d+=b)}else 32>=b?d=a<<32-b>>32-b:(b=Math.pow(2,b-1),a>=b?(d=a%b,(a/b|0)&1&&(d-=b)):a<-b&&(d=a%b,((-a-1)/b|0)&1?d&&(d+=b):d||(d-=b)));a!=d&&(a=d);return a}
function Xx(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e,f=a.pop();e=a.pop();switch(d){case "*":e*=f;break;case "/":if(!f)return!1;e=Math.trunc(e/f);break;case "^/":if(!f)return!1;e%=f;break;case "+":e+=f;break;case "-":e-=f;break;case "<<":e<<=f;break;case ">>":e>>=f;break;case ">>>":e>>>=f;break;case "<":e=e<f?1:0;break;case "<=":e=e<=f?1:0;break;case ">":e=e>f?1:0;break;case ">=":e=e>=f?1:0;break;case "==":e=e==f?1:0;break;case "!=":e=e!=f?1:0;break;case "&":e&=
f;break;case "!":case "|":e|=f;break;case "^!":e|=f;break;case "&&":e=e&&f?1:0;break;case "||":e=e||f?1:0;break;case ",,":e=Wx(e,18,!0)*Math.pow(2,18)+Wx(f,18,!0);break;case "_":case "^_":"^_"==d&&(f=35-(f&255));f&&(e=Wx(e,0,!0),e=0<f?e*Math.pow(2,f):Math.trunc(e/Math.pow(2,-f)));break;default:return!1}a.push(Wx(e))}return!0}
function Yx(a,b,c,d,e,f){var g,h,k,m=!1,p=0,v=[],u=[],E=a.D;for(a.D=e;c<d;){var G;h=b[c++].trim();k=c<d?b[c++]:"";if(h)G=Zx(a,h,null,f,p);else if("{"==k){h=1;for(G=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;G=Yx(a,b,G,c-1,a.D,f);null!=G&&p&&(G=$x(G,p));h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if(" "==k)continue;if("^B"==k){a.D=2;continue}if("^O"==k){a.D=8;continue}if("^D"==k){a.D=10;continue}if(!(p&-1073741824)){if("+"==k)continue;if("-"==k){p=p<<2|1;continue}if("~"==
k||"^-"==k){p=p<<2|2;continue}if("^L"==k){p=p<<2|3;continue}}m=!0;break}if(void 0===G)if(f)f.push(h),G=0;else{m=!0;f=[];break}v.push(Wx(G));if(" "==k)if(c<b.length-1&&!b[c])c++,k=b[c++];else{m=!0;break}if(!k)break;p="<"==a.ha[0]?ay:by;if(!p[k]){m=!0;break}u.length&&p[k]<=p[u[u.length-1]]&&Xx(v,u,1);u.push(k);a.D="^_"==k?10:e;p=0}if(m||!Xx(v,u)||1!=v.length)m=!0;m?f||a.P("parse error ("+(h||k)+")"):g=v.pop();a.D=E;return g}
function cy(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,h=f+1,k=e;h<b.length;){var m=b[h++];if(m==c){k=-1;break}if(!k)break;k--;m=m.charCodeAt(0);7==d?m&=127:m=m-32&63;g=Wx(g*Math.pow(2,d)+m,d*e,!0)}if(0<=k){a.P("parse error ("+c+b+c+")");return}b=b.substr(0,f)+dy(a,g,-1)+b.substr(h)}return b}
function ey(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.ha[0]&&(b=b.split(a.ha[0]).join("{").split(a.ha[1]).join("}"));b=cy(a,b,'"',7,5);if(!b)return d;b=cy(a,b,"'",6,6);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Yx(a,b,0,b.length,a.D,c);void 0!==d&&e&&fy(a,null,d)}return d}
function gy(a,b){var c,d=a.ha[0],e=a.ha[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=ey(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?dy(a,g):"undefined")}if(a.Aa.length)for(d=a.Aa[0],e=a.Aa[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=a.Qk(b,c[1]);for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.Z-a.la}if(null==
e)break;b=b.replace(d[0],e.toString())}return b}function $x(a,b){for(;b;){switch(b&3){case 1:a=-Wx(a);break;case 2:a|=-1;break;case 3:for(var c=35;0<=c&&!(a&Math.pow(2,c));)c--;a=35-c}b>>>=2}return a}
function Zx(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.hh(b);if(0<=f)f=a.ih(f);else if(f=b,a.I[f]?f=a.I[f].value:(f=f.substr(0,6),f=a.I[f]&&a.I[f].value),null!=f){var h=a.I[b]&&a.I[b].Ro;h&&(g?g.push(h):(g=ey(a,h,d),void 0!==g?f+=g:(d||a.P("undefined "+(c||"value")+": "+b+" ("+h+")"),f=void 0)))}else f=oa(b,1<b.length||10<a.D?a.D:10);null!=f?f=Wx($x(f,e)):d||a.P("invalid "+(c||"value")+": "+b)}else d||a.P("missing "+(c||"value"));return f}
function fy(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.D?dy(a,c,32,8,1)+" "+c+".":dy(a,c,32,16,1)+" "+dy(a,c,32,8,1)+" "+dy(a,c,32,2,8)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}function hy(a,b){var c=0;if(a.I){if(b)return fy(a,b,a.I[b]&&a.I[b].value);b=Object.keys(a.I);b.sort();for(var d=0;d<b.length;d++)fy(a,b[d],a.I[b[d]].value),c++}return 0<c}
function dy(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.D){case 2:b=qa(b,0<c?c:0,e);break;case 8:b=ra(b,0<c?(c+2)/3|0:0,!!e);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=99999>=Math.abs(b)?5:11;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
var by={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},ay={",,":1,"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20};
function iy(a){Vx.call(this,a);this.ta=4;this.ma=5;this.wa=1048575;this.M=jy(this);this.Ma=jy(this);this.da=jy(this);this.F=[];this.B=this.aa=this.O=[];ky(this);this.xa=0;ly(this);this.Ba={};my(this,a.messages);this.Ga=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return ny(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return ny(b,a)})}ba(iy,Vx);l=iy.prototype;
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.pa=a;this.eb=Wb(a,"FDC");this.Ta=Wb(a,"HDC");this.Tc=Wb(a,"FPU");this.G=Wb(a,"Mouse");(a=yd(a,"messages"))&&my(this,a);this.ma=b.I>>2;this.wa=b.N;this.Ya=new Ud(this.H,7,"DBG");this.qa=oy;80186<=this.H.ca&&(this.qa=oy.slice(),this.qa[15]=py,80286<=this.H.ca&&(this.qa[15]=qy,80386<=this.H.ca&&(this.ta=8)));zl(this,64,function(a){ry(d,d.H.sc,a[0])});zl(this,4,function(a){if(a=a[0]){var b=Zx(d,a);if(void 0===b)d.P("invalid selector: "+a);else if(a=sy(d,
b,ty),d.P("dumpSel("+sa(a?a.U:b)+"): %"+q(a?a.Lb:null,d.ma)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var e=uy[a.type];e&&(c=e[0],b=e[1])}!c||a.lb&32768||(c+=",not present");d.P((b?"seg="+sa(a.ua&65535)+" off="+sa(a.Ka):"base="+q(a.ua,d.ma)+" limit="+vy(a.Ka))+" type="+r(a.type>>8)+" ("+c+") ext="+sa(a.ext&-65296)+
" dpl="+r(a.qc))}}else d.P("no selector")});zl(this,134217728,function(a){var b;(a=a[0])&&(b=Zx(d,a));if(void 0===b)d.P("invalid MCB");else for(d.P("dumpMCB("+sa(b)+")");b;){a=jy(d,0,b);var c=d.Ia(a,1),e=d.Yc(a,2),k=d.Yc(a,5);if(77!=c&&90!=c)break;d.P(wy(0,b)+": '"+String.fromCharCode(c)+"' PID="+sa(e)+" LEN="+sa(k)+' "'+xy(d,a,8)+'"');b+=1+k}});zl(this,128,function(a){ry(d,d.H.aa,a[0],d.H.aa!==d.H.sc)});zl(this,8,function(a){a:{if(a=a[0]){var b=Zx(d,a);if(void 0===b){d.P("invalid task selector: "+
a);break a}a=sy(d,b,ty)}else a=d.H.la;d.P("dumpTSS("+sa(a?a.U:b)+"): %"+q(a?a.ua:null,d.ma));if(a){var b="",c=a.type&-513,e=256==c?4:8,k=256==c?yy:zy,m,p,v,u;for(u in k)m=k[u],p=a.ua+m,v=xg(d.H,p,2),2304==c&&(v|=xg(d.H,p+2,2)<<16),b&&(b+="\n"),b+=sa(m)+" "+Aa(u+":",11)+q(v,e);if(2304==c)for(u=0,m=v>>>16;m<a.Nb&&1023>u;){p=a.ua+m;v=xg(d.H,p,2);p=2;c="";if(!p||4<p)p=4;for(e=0;e<p;e++)c&&(c=","+c),c=qa(v&255,8)+c,v>>=8;b+="\n"+sa(m)+" ports "+sa(u)+"-"+sa(u+15)+": "+(""+c);u+=16;m+=2}d.P(b)}}});this.J=
null;this.Ha=0;this.Ca=!1;Rf(this.H,48,this.Zm.bind(this));Rf(this.H,65,this.$m.bind(this));this.Y=null;Rf(this.H,104,this.an.bind(this));Ib(this)};function Ay(a,b,c,d,e,f){b=xy(a,b);var g=sy(a,d),g=g?g.Ka+1:0,h=(e?"_CODE":"_DATA")+q(c,2);f&&t(a,128)&&a.message(b+" "+(e?"code":"data")+"("+q(c,4)+")=#"+q(d,4)+" len "+q(g));e=By(a,b,c);e[b+h]=0;$p(a,b,c,d,0,null,g,e)}
function Cy(a,b,c,d){var e=a.Yc(b,2),f=a.Yc(b,2),g=Dy(a,b,4),h=Dy(a,b,4),k=jy(a,Dy(a,b,4),a.Yc(b,2));b=jy(a,Dy(a,b,4),a.Yc(b,2));b=xy(a,b).toUpperCase();var k=xy(a,k).toUpperCase(),m=(c?"_CODE":"_DATA")+q(e,2);d&&t(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+q(e,4)+")="+q(f,4)+":"+q(g)+" len "+q(h));c=By(a,k,e);c[k+m]=g;$p(a,k,e,f,g,null,h,c)}function Ey(a,b,c){c=xy(a,c).toUpperCase();Fy(a,c,b)}
l.Zm=function(){var a=this.H;if(null!=this.J&&2752554==a.D){var b=a.L&65535,c=a.K&65535,d=jy(this,z(a)+12,a.Y.U);switch(Dy(this,d)){case 336:Cy(this,jy(this,a.G,b),!c,!!this.J)}}return!0};
l.$m=function(a){var b=this.H,c=b.D&65535,d=b.G&65535,e=b.I&65535,f=b.L&65535,g=b.K&65535,h=b.J&65535,k=b.oa.U;if(null==this.J)return 79==c&&Sf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Lb(a,"INT 0x41 handling enabled",128),a.J=!0):(Lb(a,"INT 0x41 monitoring enabled",128),a.J=!1)}}(this)),!0;switch(c){case 79:this.J&&(b.D=b.D&-65536|62342,Lb(this,"INT 0x41 handling enabled",128));break;case 80:Ay(this,jy(this,h,k),d+1,e,!(g&1),!!this.J);break;case 82:Fy(this,null,
d);break;case 127:this.J&&(b.D=b.D&-65536|(this.Ca?0:1));break;case 131:this.J&&(a=jy(this,b.L,e),this.Ha++?(this.P("TRAPFAULT failed"),Gy(this,this.B,a,!0,!0),this.Ha=0,this.Jb()):(this.P("INT 0x41 TRAPFAULT: fault="+sa(d)+" error="+q(b.K,8,!0)+" addr="+Hy(a)),this.Hd(this.B,a,!0),ly(this,!0)));break;case 141:this.J&&(b.D=b.D&-65536|1);break;case 336:Cy(this,jy(this,b.G,f),!g,!!this.J);break;case 338:Ey(this,d,jy(this,b.J,f))}this.Ca=!1;return!this.J};
l.Cn=function(a,b,c){w(this,a,b,c,"DRVHD");this.Y=b;this.fa=this.A[this.Y&mx?1:0]?this.fa|Qw|gx:this.fa&~Qw};l.em=function(a,b){var c=this.fa;w(this,a,null,b,"STATUS",c);this.fa&Qw&&(this.fa&=~ex);return c};l.yn=function(a,b,c){w(this,a,b,c,"COMMAND");this.ha=b;this.W&&eh(this.W,14);nx(this)};l.Dn=function(a,b,c){w(this,a,b,c,"FDR");this.L&ox&&!(b&ox)&&(this.I=px);this.L=b};
function nx(a){var b=!1,c=a.ha,d=a.Y&mx?1:0,e=a.Y&qx,f=a.da|(a.aa&rx)<<8,g=a.ga,h=a.J||256;a.Ua=-1;a.B=null;a.I=sx;a.fa=Qw|gx;var k=a.A[d];k?(k.Pd=f,k.Za=e,k.mb=g,k.ub=h*k.Na,c=c>=tx?c:c&ux,k.cb=null,k.Sa=0,k.errorCode=0,a.Ua=d,a.B=k):c=-1;switch(c&ux){case vx:b=!0;break;case wx:a.fa=ex;a.te(k,function(b){0<=b&&a.W?(fx(a),a.fa=Qw|gx|hx):(a.fa=ix,a.I=jx)},!1);break;case xx:a.fa=hx;break;case yx:b=!0;break;case zx:b=!0;break;case tx:a.I=px;b=!0;break;case Ax:k.kb=e+1,k.$a=h,b=!0}b&&fx(a)}
function fx(a){!a.W||a.L&Bx||gh(a.W,14,120)}
function cx(a){a.D=0;var b=Cx(a),c=Cx(a),d=c&32,e=d>>5,f=c&31,g=Cx(a),h=Cx(a),k=g<<2&768|h,m=g&63,p=Cx(a),v=Cx(a),u=a.A[e];u&&(u.Pd=k,u.Za=f,u.mb=m,u.ub=p*u.Na);switch(b){case Dx:Ex(a,u?u.errorCode:Fx);Gx(a,c);Gx(a,g);Gx(a,h);Gx(a,Hx|d);b=-1;break;case ax:for(c=0;0<=(b=Cx(a));)u&&c<u.Ee.length&&(u.Ee[c++]=b);u&&Vw(a,u);b=Hx;u||a.N!=e||(a.N=-1,b=Ix);Ex(a,b|d);b=-1;break;case Jx:case Kx:Ex(a,Hx|d),b=-1}if(0<=b)switch(void 0===u?b=-1:(u.errorCode=Sw,u.bl=0),b){case Lx:Ex(a,Hx|d);break;case Mx:u.nf=v;
Ex(a,Hx|d);break;case Nx:Ex(a,Hx|d);break;case Ox:Px(a,u,function(b){Ex(a,b|d)});break;case Qx:Rx(a,u,function(b){Ex(a,b|d)});break;case Sx:Tx(a,u,function(b){Ex(a,b|d)});break;default:Ex(a,Ix|d)}}function Cx(a){var b=-1;a.D<a.C&&(b=a.F[a.D++]);return b}function Ex(a,b){a.D=a.C=0;void 0!==b&&Gx(a,b);a.W&&gh(a.W,5);a.fa|=Xw}function Gx(a,b){a.F[a.C++]=b}l.ml=function(a,b,c){void 0===b||0>b?this.te(a,c):c(-1,!1)};l.nl=function(a,b){return void 0!==b&&0<=b?lx(a,b):-1};
l.El=function(a,b){void 0!==b&&0<=b?(a.Sa<a.Fe.length?a.Fe[a.Sa++]=b:(a.errorCode=Ux,b=-1),a=b):a=-1;return a};l.Fl=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.$c[a.He++]=b;if(a.He==a.$c.length){a.Pd=a.$c[0];a.Za=a.$c[1];a.mb=a.$c[2];a.ub=128<<a.$c[3];for(var c=a.He=0;c<a.ub;c++)if(0>lx(a,a.Xi)){a=-1;break a}a.kg++}a.kg>=a.Ud&&(b=-1);a=b}else a=-1;return a};
function Px(a,b,c){b.errorCode=Fx;if(b.sa&&(b.cb=null,a.W)){b.errorCode=Sw;In(a.W,3,a,"dmaRead",b);zn(a.W,3,function(a){a||b.errorCode!=Sw||(b.errorCode=Fx);c(b.errorCode?Ix:Hx)});return}c(b.errorCode?Ix:Hx)}function Rx(a,b,c){b.errorCode=Fx;if(b.sa&&(b.cb=null,a.W)){b.errorCode=Sw;In(a.W,3,a,"dmaWrite",b);zn(a.W,3,function(a){a||(b.errorCode==Sw&&(b.errorCode=Fx),b.errorCode==Ux&&(b.errorCode=Sw));c(b.errorCode?Ix:Hx)});return}c(b.errorCode?Ix:Hx)}
function Tx(a,b,c){b.errorCode=Fx;b.Fe&&b.Fe.length==b.ub||(b.Fe=Array(b.ub));b.Sa=0;a.W?(b.errorCode=Sw,In(a.W,3,a,"dmaWriteBuffer",b),zn(a.W,3,function(a){a||b.errorCode!=Sw||(b.errorCode=Fx);c(b.errorCode?Ix:Hx)})):c(b.errorCode?Ix:Hx)}
l.te=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.cb&&(f=a.Sa,d=a.sa.read(a.cb,a.Sa),a.Sa+=g,0<=d))return e=a.cb,b&&b(d,!1,e,f),d;if(b){if(a.sa)return a.sa.seek(a.Pd,a.Za,a.mb+a.jg,!1,function(c,k){(a.cb=c)?(e=c,f=a.Sa=0,Vx(a),d=a.sa.read(a.cb,a.Sa),a.Sa+=g):a.errorCode=Ux;b(d,k,e,f)}),d;a.errorCode=Ux;b(d,!1,e,f)}return d};
function lx(a,b){if(a.errorCode)return-1;do{if(a.cb&&a.sa.write(a.cb,a.Sa++,b))break;a.sa&&a.sa.seek(a.Pd,a.Za,a.mb+a.jg,!0,function(b){a.cb=b});if(!a.cb){a.errorCode=Ux;b=-1;break}a.Sa=0;Vx(a)}while(1);return b}function Vx(a){a.mb++;var b=1-a.jg;a.mb>=a.$a+b&&(a.mb=b,a.Za++,a.Za>=a.kb&&(a.Za=0,a.Pd++))}l.Wm=function(){var a=this.H.L&255;!(this.H.D>>8)&&128<a&&(this.N=a-128);return!0};l.Xm=function(){var a;(a=this.H.D>>8||!this.W)||(a=!(this.W.hc[0].pd&64));return a?!0:!1};
var Tw="Hard Drive",Ww=["XTC","ATC","COMPAQ"],Uw=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,
6],19:[1023,8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}],Mw=496,px=1,sx=0,jx=16,rx=3,qx=15,mx=16,ix=1,hx=8,gx=16,Qw=64,ex=128,vx=16,wx=32,xx=48,yx=64,zx=
112,tx=144,Ax=145,ux=240,Bx=2,ox=4,Hx=0,Ix=2,Lx=0,Mx=1,Dx=3,Nx=5,Ox=8,Qx=10,ax=12,Sx=15,Jx=224,Kx=228,Sw=0,Fx=4,Ux=20,Rw=0,bx=1,Yw=2,Zw=4,$w=8,Xw=32,Jw={800:Hw.prototype.Um,801:Hw.prototype.Vm,802:Hw.prototype.Tm},Iw={496:Hw.prototype.ol,497:Hw.prototype.am,498:Hw.prototype.cm,499:Hw.prototype.dm,500:Hw.prototype.Zl,501:Hw.prototype.Yl,502:Hw.prototype.$l,503:Hw.prototype.em},Lw={800:Hw.prototype.so,801:Hw.prototype.vo,802:Hw.prototype.uo,803:Hw.prototype.to,807:Hw.prototype.ii,811:Hw.prototype.ii,
815:Hw.prototype.ii},Kw={496:Hw.prototype.Bn,497:Hw.prototype.Gn,498:Hw.prototype.En,499:Hw.prototype.Fn,500:Hw.prototype.An,501:Hw.prototype.zn,502:Hw.prototype.Cn,503:Hw.prototype.yn,1014:Hw.prototype.Dn};$a(function(){for(var a=zb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=vb(c),d=new Hw(d);yb(d,c)}});function Wx(a){mb.call(this,"Debugger",a);this.D=+a.base||16;this.ha=["{","}"];this.Aa=["[","]"];this.Z=this.la=this.N=0;this.ga=!1;this.A=-1;this.C=[];this.I={}}ba(Wx,mb);
Wx.prototype.hh=function(){return-1};Wx.prototype.ih=function(){};Wx.prototype.Qk=function(a,b){return a.replace("["+b+"]","unimplemented")};
Wx.prototype.Dg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else this.ga?a="end":a=this.C[this.A+1];b=[];if(a){a=a.replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Ba(a.substring(d,f))),d=f+1}}return b};
function Xx(a,b,c){var d=a;b=b||32;if(c)if(32==b)d=a>>>0;else if(32>b)d=a&(1<<b)-1;else{if(b=Math.pow(2,b),0>a||a>=b)d=a%b,0>d&&(d+=b)}else 32>=b?d=a<<32-b>>32-b:(b=Math.pow(2,b-1),a>=b?(d=a%b,(a/b|0)&1&&(d-=b)):a<-b&&(d=a%b,((-a-1)/b|0)&1?d&&(d+=b):d||(d-=b)));a!=d&&(a=d);return a}
function Yx(a,b,c){for(c=void 0===c?-1:c;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e,f=a.pop();e=a.pop();switch(d){case "*":e*=f;break;case "/":if(!f)return!1;e=Math.trunc(e/f);break;case "^/":if(!f)return!1;e%=f;break;case "+":e+=f;break;case "-":e-=f;break;case "<<":e<<=f;break;case ">>":e>>=f;break;case ">>>":e>>>=f;break;case "<":e=e<f?1:0;break;case "<=":e=e<=f?1:0;break;case ">":e=e>f?1:0;break;case ">=":e=e>=f?1:0;break;case "==":e=e==f?1:0;break;case "!=":e=e!=f?1:0;break;case "&":e&=
f;break;case "!":case "|":e|=f;break;case "^!":e|=f;break;case "&&":e=e&&f?1:0;break;case "||":e=e||f?1:0;break;case ",,":e=Xx(e,18,!0)*Math.pow(2,18)+Xx(f,18,!0);break;case "_":case "^_":"^_"==d&&(f=35-(f&255));f&&(e=Xx(e,0,!0),e=0<f?e*Math.pow(2,f):Math.trunc(e/Math.pow(2,-f)));break;default:return!1}a.push(Xx(e))}return!0}
function Zx(a,b,c,d,e,f){var g,h,k,m=!1,p=0,v=[],u=[],E=a.D;for(a.D=e;c<d;){var G;h=b[c++].trim();k=c<d?b[c++]:"";if(h)G=$x(a,h,null,f,p);else if("{"==k){h=1;for(G=c;c<d;)if(c++,k=c<b.length?b[c++]:"","{"==k)h++;else if("}"==k&&!--h)break;G=Zx(a,b,G,c-1,a.D,f);null!=G&&p&&(G=ay(G,p));h=c<d?b[c++].trim():"";k=c<d?b[c++]:""}else{if(" "==k)continue;if("^B"==k){a.D=2;continue}if("^O"==k){a.D=8;continue}if("^D"==k){a.D=10;continue}if(!(p&-1073741824)){if("+"==k)continue;if("-"==k){p=p<<2|1;continue}if("~"==
k||"^-"==k){p=p<<2|2;continue}if("^L"==k){p=p<<2|3;continue}}m=!0;break}if(void 0===G)if(f)f.push(h),G=0;else{m=!0;f=[];break}v.push(Xx(G));if(" "==k)if(c<b.length-1&&!b[c])c++,k=b[c++];else{m=!0;break}if(!k)break;p="<"==a.ha[0]?by:cy;if(!p[k]){m=!0;break}u.length&&p[k]<=p[u[u.length-1]]&&Yx(v,u,1);u.push(k);a.D="^_"==k?10:e;p=0}if(m||!Yx(v,u)||1!=v.length)m=!0;m?f||a.P("parse error ("+(h||k)+")"):g=v.pop();a.D=E;return g}
function dy(a,b,c,d,e){for(var f;0<=(f=b.indexOf(c));){for(var g=0,h=f+1,k=e;h<b.length;){var m=b[h++];if(m==c){k=-1;break}if(!k)break;k--;m=m.charCodeAt(0);7==d?m&=127:m=m-32&63;g=Xx(g*Math.pow(2,d)+m,d*e,!0)}if(0<=k){a.P("parse error ("+c+b+c+")");return}b=b.substr(0,f)+ey(a,g,-1)+b.substr(h)}return b}
function fy(a,b,c){var d=void 0,e=!1===c;c=Array.isArray(c)?c:void 0;if(b){"{"!=a.ha[0]&&(b=b.split(a.ha[0]).join("{").split(a.ha[1]).join("}"));b=dy(a,b,'"',7,5);if(!b)return d;b=dy(a,b,"'",6,6);if(!b)return d;b=b.replace(/(^|[^A-Z0-9$%.])([0-9]+)B/,"$1$2^_").replace(/\s+/g," ");b=b.split(/({|}|\|\||&&|\||\^!|\^B|\^O|\^D|\^L|\^-|~|\^_|_|&|!=|!|==|>=|>>>|>>|>|<=|<<|<|-|\+|\^\/|\/|\*|,,| )/);d=Zx(a,b,0,b.length,a.D,c);void 0!==d&&e&&gy(a,null,d)}return d}
function hy(a,b){var c,d=a.ha[0],e=a.ha[1];c="("==d||"{"==d||"["==d?"\\":"";for(var f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);){var g=fy(a,c[1]);if(void 0===g)return;b=b.replace(d+c[1]+e,null!=g?ey(a,g):"undefined")}if(a.Aa.length)for(d=a.Aa[0],e=a.Aa[1],c="("==d||"{"==d||"["==d?"\\":"",f="["==d?"\\":"",f=new RegExp(c+d+"([^"+f+d+f+e+"]+)"+c+e);c=b.match(f);)b=a.Qk(b,c[1]);for(;d=b.match(/\$([a-z]+)/i);){e=null;switch(d[1].toLowerCase()){case "ops":e=a.Z-a.la}if(null==
e)break;b=b.replace(d[0],e.toString())}return b}function ay(a,b){for(;b;){switch(b&3){case 1:a=-Xx(a);break;case 2:a|=-1;break;case 3:for(var c=35;0<=c&&!(a&Math.pow(2,c));)c--;a=35-c}b>>>=2}return a}
function $x(a,b,c,d,e){e=void 0===e?0:e;var f,g=Array.isArray(d)?d:void 0;if(null!=b){f=a.hh(b);if(0<=f)f=a.ih(f);else if(f=b,a.I[f]?f=a.I[f].value:(f=f.substr(0,6),f=a.I[f]&&a.I[f].value),null!=f){var h=a.I[b]&&a.I[b].Ro;h&&(g?g.push(h):(g=fy(a,h,d),void 0!==g?f+=g:(d||a.P("undefined "+(c||"value")+": "+b+" ("+h+")"),f=void 0)))}else f=oa(b,1<b.length||10<a.D?a.D:10);null!=f?f=Xx(ay(f,e)):d||a.P("invalid "+(c||"value")+": "+b)}else d||a.P("missing "+(c||"value"));return f}
function gy(a,b,c){var d,e=!1;void 0!==c&&(e=!0,d=8==a.D?ey(a,c,32,8,1)+" "+c+".":ey(a,c,32,16,1)+" "+ey(a,c,32,8,1)+" "+ey(a,c,32,2,8)+" "+c+".",32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'"));a.P((null!=b?b+": ":"")+d);return e}function iy(a,b){var c=0;if(a.I){if(b)return gy(a,b,a.I[b]&&a.I[b].value);b=Object.keys(a.I);b.sort();for(var d=0;d<b.length;d++)gy(a,b[d],a.I[b[d]].value),c++}return 0<c}
function ey(a,b,c,d,e){c=void 0===c?0:c;e=void 0===e?0:e;switch((void 0===d?0:d)||a.D){case 2:b=qa(b,0<c?c:0,e);break;case 8:b=ra(b,0<c?(c+2)/3|0:0,!!e);break;case 10:(a=0<c?Math.ceil(.3*c):0)?11<a&&(a=11):a=99999>=Math.abs(b)?5:11;b=pa(b,10,a);break;default:b=q(b,0<c?c+3>>2:0,!!e)}0>c?c=b.replace(/^0+([0-9A-F]+)$/i,"$1"):c=b;return c}
var cy={"||":5,"&&":6,"!":7,"|":7,"^!":8,"&":9,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,_:19,"^_":19,"{":20,"}":20},by={",,":1,"||":5,"&&":6,"!=":10,"==":10,">=":11,">":11,"<=":11,"<":11,">>>":12,">>":12,"<<":12,"-":13,"+":13,"^/":14,"/":14,"*":14,"!":15,"|":15,"^!":15,"&":15,_:19,"^_":19,"{":20,"}":20};
function jy(a){Wx.call(this,a);this.ta=4;this.ma=5;this.wa=1048575;this.M=ky(this);this.Ma=ky(this);this.da=ky(this);this.F=[];this.B=this.aa=this.O=[];ly(this);this.xa=0;my(this);this.Ba={};ny(this,a.messages);this.Ga=a.commands;var b=this;window?void 0===window.pcx86&&(window.pcx86=function(a){return oy(b,a)}):void 0===global.pcx86&&(global.pcx86=function(a){return oy(b,a)})}ba(jy,Wx);l=jy.prototype;
l.uc=function(a,b,c,d){this.ka=b;this.H=c;this.pa=a;this.eb=Wb(a,"FDC");this.Ta=Wb(a,"HDC");this.Tc=Wb(a,"FPU");this.G=Wb(a,"Mouse");(a=yd(a,"messages"))&&ny(this,a);this.ma=b.I>>2;this.wa=b.N;this.Ya=new Ud(this.H,7,"DBG");this.qa=py;80186<=this.H.ca&&(this.qa=py.slice(),this.qa[15]=qy,80286<=this.H.ca&&(this.qa[15]=ry,80386<=this.H.ca&&(this.ta=8)));zl(this,64,function(a){sy(d,d.H.sc,a[0])});zl(this,4,function(a){if(a=a[0]){var b=$x(d,a);if(void 0===b)d.P("invalid selector: "+a);else if(a=ty(d,
b,uy),d.P("dumpSel("+sa(a?a.U:b)+"): %"+q(a?a.Lb:null,d.ma)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var e=vy[a.type];e&&(c=e[0],b=e[1])}!c||a.lb&32768||(c+=",not present");d.P((b?"seg="+sa(a.ua&65535)+" off="+sa(a.Ka):"base="+q(a.ua,d.ma)+" limit="+wy(a.Ka))+" type="+r(a.type>>8)+" ("+c+") ext="+sa(a.ext&-65296)+
" dpl="+r(a.qc))}}else d.P("no selector")});zl(this,134217728,function(a){var b;(a=a[0])&&(b=$x(d,a));if(void 0===b)d.P("invalid MCB");else for(d.P("dumpMCB("+sa(b)+")");b;){a=ky(d,0,b);var c=d.Ia(a,1),e=d.Yc(a,2),k=d.Yc(a,5);if(77!=c&&90!=c)break;d.P(xy(0,b)+": '"+String.fromCharCode(c)+"' PID="+sa(e)+" LEN="+sa(k)+' "'+yy(d,a,8)+'"');b+=1+k}});zl(this,128,function(a){sy(d,d.H.aa,a[0],d.H.aa!==d.H.sc)});zl(this,8,function(a){a:{if(a=a[0]){var b=$x(d,a);if(void 0===b){d.P("invalid task selector: "+
a);break a}a=ty(d,b,uy)}else a=d.H.la;d.P("dumpTSS("+sa(a?a.U:b)+"): %"+q(a?a.ua:null,d.ma));if(a){var b="",c=a.type&-513,e=256==c?4:8,k=256==c?zy:Ay,m,p,v,u;for(u in k)m=k[u],p=a.ua+m,v=xg(d.H,p,2),2304==c&&(v|=xg(d.H,p+2,2)<<16),b&&(b+="\n"),b+=sa(m)+" "+Aa(u+":",11)+q(v,e);if(2304==c)for(u=0,m=v>>>16;m<a.Nb&&1023>u;){p=a.ua+m;v=xg(d.H,p,2);p=2;c="";if(!p||4<p)p=4;for(e=0;e<p;e++)c&&(c=","+c),c=qa(v&255,8)+c,v>>=8;b+="\n"+sa(m)+" ports "+sa(u)+"-"+sa(u+15)+": "+(""+c);u+=16;m+=2}d.P(b)}}});this.J=
null;this.Ha=0;this.Ca=!1;Rf(this.H,48,this.Zm.bind(this));Rf(this.H,65,this.$m.bind(this));this.Y=null;Rf(this.H,104,this.an.bind(this));Ib(this)};function By(a,b,c,d,e,f){b=yy(a,b);var g=ty(a,d),g=g?g.Ka+1:0,h=(e?"_CODE":"_DATA")+q(c,2);f&&t(a,128)&&a.message(b+" "+(e?"code":"data")+"("+q(c,4)+")=#"+q(d,4)+" len "+q(g));e=Cy(a,b,c);e[b+h]=0;$p(a,b,c,d,0,null,g,e)}
function Dy(a,b,c,d){var e=a.Yc(b,2),f=a.Yc(b,2),g=Ey(a,b,4),h=Ey(a,b,4),k=ky(a,Ey(a,b,4),a.Yc(b,2));b=ky(a,Ey(a,b,4),a.Yc(b,2));b=yy(a,b).toUpperCase();var k=yy(a,k).toUpperCase(),m=(c?"_CODE":"_DATA")+q(e,2);d&&t(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+q(e,4)+")="+q(f,4)+":"+q(g)+" len "+q(h));c=Cy(a,k,e);c[k+m]=g;$p(a,k,e,f,g,null,h,c)}function Fy(a,b,c){c=yy(a,c).toUpperCase();Gy(a,c,b)}
l.Zm=function(){var a=this.H;if(null!=this.J&&2752554==a.D){var b=a.L&65535,c=a.K&65535,d=ky(this,z(a)+12,a.Y.U);switch(Ey(this,d)){case 336:Dy(this,ky(this,a.G,b),!c,!!this.J)}}return!0};
l.$m=function(a){var b=this.H,c=b.D&65535,d=b.G&65535,e=b.I&65535,f=b.L&65535,g=b.K&65535,h=b.J&65535,k=b.oa.U;if(null==this.J)return 79==c&&Sf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Lb(a,"INT 0x41 handling enabled",128),a.J=!0):(Lb(a,"INT 0x41 monitoring enabled",128),a.J=!1)}}(this)),!0;switch(c){case 79:this.J&&(b.D=b.D&-65536|62342,Lb(this,"INT 0x41 handling enabled",128));break;case 80:By(this,ky(this,h,k),d+1,e,!(g&1),!!this.J);break;case 82:Gy(this,null,
d);break;case 127:this.J&&(b.D=b.D&-65536|(this.Ca?0:1));break;case 131:this.J&&(a=ky(this,b.L,e),this.Ha++?(this.P("TRAPFAULT failed"),Hy(this,this.B,a,!0,!0),this.Ha=0,this.Jb()):(this.P("INT 0x41 TRAPFAULT: fault="+sa(d)+" error="+q(b.K,8,!0)+" addr="+Iy(a)),this.Hd(this.B,a,!0),my(this,!0)));break;case 141:this.J&&(b.D=b.D&-65536|1);break;case 336:Dy(this,ky(this,b.G,f),!g,!!this.J);break;case 338:Fy(this,d,ky(this,b.J,f))}this.Ca=!1;return!this.J};
l.an=function(a){var b=this.H,c=b.D&255,d=b.D>>8&255,e=b.G&65535,f=b.I&65535,g=b.L&65535,h=b.J&65535,k=b.oa.U;if(null==this.Y){if(67==d){if(609437257==b.ia((b.Z.U<<4)+10)||1111835735==b.ia((b.Z.U<<4)+95))return!0;Sf(b,a,function(a){return function(){62342!=(b.D&65535)?(b.D=b.D&-65536|62342,Lb(a,"INT 0x68 handling enabled",128),a.J=a.Y=!0):(Lb(a,"INT 0x68 monitoring enabled",128),a.Y=!1)}}(this))}return!0}switch(d){case 67:this.Y&&(b.D=b.D&-65536|62342);break;case 68:this.Y&&(a=Wd(b.Z,this.zl.bind(this)))&&
(b.J=a[0],ne(b,a[1]));break;case 72:Fy(this,null,e);break;case 80:32==c?Ay(this,jy(this,h,k),0,f,!0,!!this.Y):128>c?Ay(this,jy(this,h,k),e+1,c&64?g:f,!(c&1),!!this.Y):Cy(this,jy(this,h,k),!(c&1),!!this.Y),this.Y&&(b.D=b.D&-256|1)}return!this.Y};l.zl=function(){var a=this.H;5==(a.D&255)&&(a.I=a.K=0,a.D=a.D&-256|1);return!1};
l.Cb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.va=this.na[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",ny(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.C.length-1&&(b=d.C[++d.A])):40==a.keyCode&&(0<d.A?b=d.C[--d.A]:(b="",d.A=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.na[b]=c,Ya(c,function(){if(d.va){var a=d.va.value;
d.va.value="";ny(d,a,!0);return!0}return!1}),!0;case "step":return this.na[b]=c,Ya(c,function(a){var b=!1;Jb(d,!0)||(Kb(d,!0),b=Iy(d,a?1:0),Kb(d,!1));return b}),!0}return!1};l.md=function(){this.va&&this.va.focus()};function Jy(a){return!(!(a.H&&a.H.qa&1)||a.H.O&131072)}
function sy(a,b,c){var d=Jy(a)?ty:Ky;c||(c=d);if(c==d){if(b===a.H.Z.U)return a.H.Z;if(b===a.H.Ca.U)return a.H.Ca;if(b===a.H.oa.U)return a.H.oa;if(b===a.H.Y.U)return a.H.Y;if(80386<=a.H.ca){if(b===a.H.Ga.U)return a.H.Ga;if(b===a.H.Ha.U)return a.H.Ha}if(a.Da&&c==ty||!a.Ya)return null}a=a.Ya;if(c!=ty)a.nh(b),a.Ka=65535,a.Nb=65536;else{var e;c=a.gc;b&=65535;b&4?(d=c.Eb.ua,e=d+c.Eb.Ka|0):(d=c.Kb,e=c.Pc);d=d+(b&65528)|0;if(e-d|0){e=xg(c,d+0,2);var f=xg(c,d+4,2),g=f&7936,h=xg(c,d+2,2)|(f&255)<<16,k=xg(c,
d+6,2);80386<=c.ca&&(h|=(k&65280)<<16,e|=(k&15)<<16,k&128&&(e=e<<12|4095));a.U=b;a.ua=h;a.Ka=e;a.Nb=(e>>>0)+1;a.lb=f;a.type=g;a.ext=k;a.Lb=d;Vd(a,!0,!0,!1)}}return a}l.Sb=function(a,b,c){var d=a&&a.ya;if(null==d&&(d=-1,a)){var e=sy(this,a.U,a.type);e&&(b=a.Ja||0,c=c||1,d=e=-1===e.Lb||e.Oc&&(b>>>0)+c>e.Nb||!e.Oc&&(b>>>0)+c<=e.Nb?e.ua+b|0:-1,a.ya=d)}return d};l.Ia=function(a,b){var c=255,d=this.Sb(a,!1,1);-1!==d&&(c=xg(this.H,d,1,a.type==Ly)|0,b&&My(this,a,b));return c};
l.jb=function(a,b){return a.Hb?Dy(this,a,b?4:0):this.Yc(a,b?2:0)};l.Yc=function(a,b){var c=65535,d=this.Sb(a,!1,2);-1!==d&&(c=xg(this.H,d,2,a.type==Ly)|0,b&&My(this,a,b));return c};function Dy(a,b,c){var d=-1,e=a.Sb(b,!1,4);-1!==e&&(d=xg(a.H,e,4,b.type==Ly)|0,c&&My(a,b,c));return d}l.fc=function(a,b,c,d){var e=this.Sb(a,!0,1);if(-1!==e){if(a.type!=Ly)this.H.fc(e,b);else{var f=this.ka;f.aa[(e&f.C)>>>f.A].cf(e&f.D,b&255,e)}c&&My(this,a,c);d||Bd(this.H,!0)}};
l.jl=function(a,b,c){var d=this.Sb(a,!0,2);-1!==d&&(a.type!=Ly?this.H.fb(d,b):Jc(this.ka,d,b),c&&My(this,a,c),Bd(this.H,!0))};function jy(a,b,c,d,e,f,g){return Ny(a,{},b,c,d,e,f,g)}function Ny(a,b,c,d,e,f,g,h){b.Ja=c||0;b.U=d;b.ya=e;b.type=f||(Jy(a)?ty:Ky);b.Hb=null!=g?g:!(!a.H||4!=a.H.Z.V);b.dc=null!=h?h:!(!a.H||4!=a.H.Z.Jc);b.Kd=!1;return b}function Oy(a){return[a.Ja,a.U,a.ya,a.Kd,a.Hb,a.dc,a.Ge,a.dh]}function Py(a){return{Ja:a[0],U:a[1],ya:a[2],Kd:a[3],Hb:a[4],dc:a[5],Ge:a[6],dh:a[7]}}
function Qy(a,b,c){if(null!=b.U&&(a=sy(a,b.U,b.type))){var d=b.Ja&a.wa;if(!a.Oc){if(d>>>0>=a.Nb)return!1}else if(d>>>0<a.Nb)return!1;c&&(b.Ja=d,b.Hb=4==a.V,b.dc=4==a.Jc)}return!0}
function Ry(a,b,c,d){var e,f=c?a.M:a.Ma;c=d?Sy:f.type;var g=f.Ja,h=f.U,f=f.ya;if(void 0!==b){b=gy(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=Ky;break;case "#":c=ty;break;case "%":c=Ty;e=b.charAt(1);"%"==e&&(c=Ly,e+=e);g=0;h=null;break;default:0<=f&&(c=Sy),e=""}e&&(b=b.substr(e.length),f-=e.length);e=b;var k;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(var m=e.toUpperCase(),p=0;p<a.F.length;p++){e=a.F[p];var v=e.Gd[m];if(void 0!==v){m=v.o;void 0!==m&&(k=v.s,void 0===k&&(k=e.U),k=jy(a,m,k,v.p));
break}}if(e=k)return e;0>f?null!=h?(g=ey(a,b,void 0),f=null):(f=ey(a,b,void 0),null==f&&(g=null)):(h=ey(a,b.substring(0,f),void 0),g=ey(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=jy(a,g,h,f,c),d||Qy(a,e,!0)||(a.P("invalid offset: "+Hy(e)),e=null));return e}function Uy(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.tl=a.Dg(b.Zk=c[2]))}l.Qk=function(a,b){var c=Ry(this,b);return a.replace("["+b+"]",c?q(this.jb(c),c.Hb?8:4):"undefined")};
function My(a,b,c){c=c||1;null!=b.ya&&(b.ya+=c);null!=b.U&&(b.Ja+=c,Qy(a,b)||(b.Ja=0,b.ya=null))}function wy(a,b,c){return null!=b?q(b,4)+":"+q(a,a&-65536||c?8:4):q(a)}function Hy(a){var b;switch(a.type){case Ky:case Vy:b="&";break;case ty:b="#";break;case Ty:b="%";break;case Ly:b="%%";break;default:b=a.U?"":"%"}return a.type>=Ty||null==a.U?b+q(a.ya):b+wy(a.Ja,a.U,a.dc)}
function xy(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Ia(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
function ry(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.Sb(Ry(a,c));if(-1===e){a.P("invalid address: "+c);return}f=e>>>a.H.hb;g=1}a.P("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.P("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&d.type==bd&&(d=sd(a.H,e,!1,!0)),d.type==c?h++||a.P("..."):(c=d.type,h=tc[c],c==dd&&(d=d.qd,h+=" -> "+tc[d.type]),d&&a.P(q(d.id,8)+" %"+q(f<<a.H.hb,8)+" %%"+q(d.ya,8)+" "+sa(d.we)+" "+sa(d.size)+
" "+h),c!=ad&&c!=bd&&(c=-1),h=0),e+=a.H.Og,f++}function Wy(a,b,c){a=q(a)+" "+q(b)+" ";a=a+(c&&b&64?"D":"-")+(b&32?"A":"-")+(b&4?"U":"S");a+=b&2?"W":"R";return a+=b&1?"P":"N"}function By(a,b,c){var d=[],e;for(e=null;e=Wb(a.pa,"Disk",e);){var f=e,g=b,h=c,d={};if(f.C)for(var k=0;k<f.C.length;k++){var m=f.C[k];if(m.Sf==g&&(m=m.od[h])){for(var p in m.fe)f=m.fe[p],d[f[1]]=f[0];break}}if(d.length)break}return d}
function my(a,b){a.ba=a;a.ic=a.xl=1073741824;a.za=null;b=a.Dg(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Rb)0<=Ha(b,c)&&(a.ic|=Rb[c],a.P(c+" messages enabled"));ly(a)}function zl(a,b,c){for(var d in Rb)if(b==Rb[d]){a.Ba[d]=c;break}}l.hh=function(a,b){var c;a=a.toUpperCase();null==b?c=Ha(Xy,a):(c=Ha(Xy,a.substr(b,3)),0>c&&(c=Ha(Xy,a.substr(b,2))));return c};
function Yy(a,b){var c=0,d=a.ih(b);if(null!=d)switch(b){case Zy:case $y:case az:case bz:case cz:case dz:case ez:case fz:c=2;break;case gz:case hz:case iz:case jz:case kz:case lz:case mz:case nz:case oz:case pz+qz:case pz+rz:case pz+sz:case pz+tz:case pz+uz:case pz+vz:c=4;break;case wz:case xz:case yz:case zz:case Az:case Bz:case Cz:case Dz:case Ez:case Fz:case Gz:case Hz:case Iz:c=8;break;case Jz:c=a.ta}return c?q(d,c):"??"}
l.ih=function(a){var b;if(0<=a){var c=this.H;switch(a){case Zy:b=c.D&255;break;case $y:b=c.I&255;break;case az:b=c.L&255;break;case bz:b=c.G&255;break;case cz:b=c.D>>8&255;break;case dz:b=c.I>>8&255;break;case ez:b=c.L>>8&255;break;case fz:b=c.G>>8&255;break;case gz:b=c.D&65535;break;case hz:b=c.I&65535;break;case iz:b=c.L&65535;break;case jz:b=c.G&65535;break;case kz:b=z(c)&65535;break;case lz:b=c.M&65535;break;case mz:b=c.K&65535;break;case nz:b=c.J&65535;break;case oz:b=A(c)&65535;break;case Jz:b=
qe(c);break;case pz+qz:b=c.oa.U;break;case pz+rz:b=c.Z.U;break;case pz+sz:b=c.Y.U;break;case pz+tz:b=c.Ca.U;break;default:if(80286==this.H.ca)a==Ez&&(b=c.qa);else if(80386<=this.H.ca)switch(a){case wz:b=c.D;break;case xz:b=c.I;break;case yz:b=c.L;break;case zz:b=c.G;break;case Az:b=z(c);break;case Bz:b=c.M;break;case Cz:b=c.K;break;case Dz:b=c.J;break;case Ez:b=c.qa;break;case Fz:b=c.Pg;break;case Gz:b=c.Dd;break;case Hz:b=c.Wc;break;case pz+uz:b=c.Ga.U;break;case pz+vz:b=c.Ha.U;break;case Iz:b=A(c)}}}return b};
function Kz(a,b){b=gy(a,b)||b;for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.hh(b,c+1),0<=e&&(b=b.substr(0,c)+Yy(a,e)+b.substr(c+1+Xy[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=oa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Ry(a,e))?(d=e+' "'+xy(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Ry(a,e))?(My(a,d),
d=e+' "'+xy(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Hy(jy(this,A(this.H),this.H.Z.U))+" (%"+q(this.H.da)+")");this.za&&a==this.za||(this.za=a,this.ic&-2147483648&&(this.Jb(),a+=" (cpu halted)"),this.P(a),this.H&&(a=this.H,a.zc-=a.A,a.A=0,a.T.We=0,Bd(a)))};
function Vk(a,b,c,d){var e,f;if(!d&&(d=t(a,1)&&0>Lz.indexOf(b),!d)){var g=Mz[b];g&&(d=t(a,g)?!0:524288==g&&t(a,g=1048576))}d&&(e=a.H.D>>8&255,f=a.H.L&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=Qb[b])&&g[e]||"")&&(g=" "+Kz(a,g)),a.message("INT "+r(b)+": AH="+r(e)+" at "+wy(c-2-a.H.Z.ua,a.H.Z.U)+g));return d}
function Mb(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.ic&h)==h)h=null,null!=e&&(h=a.H.Z.U,e-=a.H.Z.ua),a.message(b.ce+"."+(null!=d?"outPort":"inPort")+"("+sa(c)+","+(f?f:"unknown")+(null!=d?","+r(d):"")+")"+(null!=g?": "+r(g):"")+(null!=e?" at "+wy(e,h):""))}l.jh=function(){this.P("Type ? for help with PCx86 Debugger commands");Nz(this);if(this.Ga){var a=this.Ga;this.Ga=null;ny(this,a)}};
function ly(a,b){var c;if(Ig(a)){if(!a.W||!a.W.length){a.W=Array(Oz);for(c=0;c<a.W.length;c++)a.W[c]=jy(a);a.oa=0;b||a.P("instruction history buffer allocated")}if(!a.L||!a.L.length)for(a.L=Array(256),c=0;c<a.L.length;c++)a.L[c]=[c,0]}else a.W&&a.W.length&&!b&&a.P("instruction history buffer freed"),a.oa=0,a.W=[],a.L=[]}function Pz(a,b){if(!Qz(a))return!1;a.H.Vf(b);return!0}
function Iy(a,b,c,d){if(!Qz(a))return!1;a.N=0;do{b||Ig(a)&&Lg(a,a.H.da,0);try{var e=a.H.Mg(b);0<e&&(a.N+=e,Gd(a.H,e,!0),Cd(a.H,e),a.Z++)}catch(g){if("number"!=typeof g){var f=g;a.N=0;Fb(a.H,f.stack||f.message)}}}while(a.H.N&3312);!1!==d&&Bd(a.H);Nz(a,c||!1);return 0<a.N}l.Jb=function(a){this.H&&this.H.Jb(a)};function Nz(a,b){void 0===b&&(b=!0);a.M=jy(a,A(a.H),a.H.Z.U);b&&1!=a.K?Rz(a):Sz(a)}
function Qz(a){var b;if(b=a.H&&Gb(a.H))b=a.H,b.ea.Yb?b=!0:(b.P(b.toString()+" not powered"),b=!1);b&&!Jb(a.H)?(a=a.H,a.ea.error?(a.P(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.Xb=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Wb=function(a,b){b&&this.P(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){ly(this);this.Z=this.la=0;this.za=null;this.N=0;this.M=jy(this,A(this.H),this.H.Z.U);this.ea.vb=!1;Tz(this);a||Nz(this)};
l.save=function(){var a=new Wf(this);a.set(0,Oy(this.M));a.set(1,Oy(this.da));a.set(2,[this.C,this.ga,this.ic]);a.set(3,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.M=Py(a[b++]),this.da=Py(a[b++]),this.C=a[b][0],"string"==typeof this.C&&(this.C=[this.C]),this.ga=a[b][1],this.ic|=a[b][2]);a[3]&&(this.F=a[3]);return!0};l.start=function(a,b){this.K||this.P("running");this.ea.vb=!0;this.hb=a;this.jd=b};
l.stop=function(a,b){if(this.ea.vb){this.ea.vb=!1;this.N=b-this.jd;if(!this.K){b="stopped";if(this.N){a-=this.hb;var c=0<a?Math.round(1E3*this.N/a):0;b+=" (";Ig(this)&&(b+=this.Z+" opcodes, ",this.la-=this.Z,this.Z=0);b+=this.N+" cycles, "+a+" ms, "+c+" hz)"}else t(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.P(b)}Nz(this,!0);this.md();Tz(this,this.H.da)}};function Ig(a){return 1<a.B.length||!!a.xa||t(a,16)}
function Lg(a,b,c){var d=a.H;if(0<c&&(a.xa&&!--a.xa||Uz(a,b,1,a.B)))return!0;0<=c&&a.L.length&&(a.Z++,b=xg(d,b),null!=b&&(a.L[b][1]++,Ny(a,a.W[a.oa],A(d),d.Z.U),++a.oa==a.W.length&&(a.oa=0)));return!1}function pd(a,b,c){return Uz(a,b,c||1,a.aa)?(a.Jb(!0),!0):!1}function rd(a,b,c){return Uz(a,b,c||1,a.O)?(a.Jb(!0),!0):!1}function Pc(a,b,c){a.P("break on input from port "+sa(b)+": "+q(c));a.Jb(!0)}function Tc(a,b,c){a.P("break on output to port "+sa(b)+": "+q(c));a.Jb(!0)}
function ky(a){var b,c;a.B=["bp"];if(a.aa)for(b=1;b<a.aa.length;b++)c=a.aa[b],kf(a.H,a.Sb(c),!1,c.type==Ly);a.aa=["br"];if(a.O)for(b=1;b<a.O.length;b++)c=a.O[b],kf(a.H,a.Sb(c),!0,c.type==Ly);a.O=["bw"];a.Da=0}
l.Hd=function(a,b,c){var d=!0;c||Gy(this,a,b,!1,!0);if(a!=this.B){var e=this.Sb(b);if(-1===e)this.P("invalid address: "+Hy(b)),d=!1;else{var f=this.H,g=b.type==Ly;(g?f.sc:f.aa)[e>>>f.hb].Hd(e&f.Db,a==this.O);g&&sc(f)}}d&&(a.push(b),c?(null!=b.ya&&(b.U=null),b.Kd=!0):(Vz(this,a,a.length-1,"set"),ly(this)));return d};
function Gy(a,b,c,d,e){for(var f=!1,g=Wz(a,a.Sb(c)),h=1;h<b.length;h++){var k=b[h];if(-1!==g&&g==Wz(a,a.Sb(k))||-1===g&&c.U==k.U&&c.Ja==k.Ja)if(!d||k.Kd){f=!0;k.Kd||e||Vz(a,b,h,"cleared");b.splice(h,1);b!=a.B&&kf(a.H,g,b==a.O,k.type==Ly);k.Kd||ly(a);break}}return f}function Xz(a,b){for(var c=1;c<b.length;c++)Vz(a,b,c);return b.length-1}function Vz(a,b,c,d){c=b[c];a.P(b[0]+" "+Hy(c)+(d?" "+d:c.Zk?' "'+c.Zk+'"':""))}
function Tz(a,b){if(void 0!==b)Uz(a,b,1,a.B,!0),a.K=0;else for(b=1;b<a.B.length;b++){var c=a.B[b];if(c.Kd){if(!Gy(a,a.B,c,!0))break;b=0}}}function Wz(a,b){-1!==b&&(a=a.wa&-65536,(b&a)==a&&(b&=1048575));return b}
function Uz(a,b,c,d,e){var f=!1;if(!a.Da++){b=Wz(a,b);t(a,-2147483632)&&204==xg(a.H,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Kd){null!=h.U&&(h.ya=null);for(var k=Wz(a,a.Sb(h)),m=0;m<c;m++)if(b+m==k){var p,f=!0;h.Kd&&(Gy(a,d,h,!0),e=!0);if(p=h.tl){for(var f=!1,v=0;v<p.length;v++)if(!Yz(a,p[v],!0)){if(p[v].indexOf("if")){f=!0;break}for(var u=v+1;u<p.length&&p[u].indexOf("else");u++)v++;if(u==p.length){f=!0;break}}a.H.ea.vb||(f=!0)}if(f){e||Vz(a,d,g,"hit");break}}}}}a.Da--;return f}
function Zz(a,b,c,d){for(var e=jy(a,b.Ja,b.U,b.ya,b.type),f=a.Ia(b,1),g=4,h=0,k=!1,m=!1;(102==f||103==f)&&g--;)102==f?k||(b.Hb=!b.Hb,k=!0):m||(b.dc=!b.dc,m=!0),h++,f=a.Ia(b,1);var g=-1,p=$z,k=a.qa[f],m=k[0];m==aA&&(m=a.Ia(b,1),k=bA[m]||py,f|=m<<8,m=k[0]);if(m==cA){var g=a.Ia(b,1),v;v=null;var u=g>>3&7,E=(3>(g>>6&3)?0:48)+u;(217==f||219==f)&&52<=E&&(E=u<<4|g&7);(u=dA[f])&&(v=u[E]);v&&(p=eA,k=v,m=k[0])}m>=p.length&&(g=a.Ia(b,1),k=fA[m-p.length][g>>3&7],m=k[0]);p=p[m];u=k.length-1;v="";b.Hb&&(m==gA?
p="CWDE":m==hA?p="CDQ":m>=iA&&m<=jA&&(p+="D"));if(164<=f&&167>=f||170<=f&&175>=f)u=0,b.Hb&&"W"==p.slice(-1)&&(p=p.slice(0,-1)+"D");for(var f=-1,E=!0,G=1;G<=u;G++){var I,J;I="";J=k[G];if(void 0!==J){0>f&&(f=J>>kA);m==lA&&(f==mA?v="[%800]":f==nA&&(v="ES:["+(b.dc?"E":"")+"DI]"));var T=J&oA;if(T!=pA)if(T==qA)E=!1;else{var L=J&rA;if(L>=R)if(0>g&&(g=a.Ia(b,1)),L<sA){L=a;I=J;var ua=u;J=b;var ca="",xb=g>>6,za=g&7;if(3>xb){T=!p.indexOf("FI");if(!xb&&(!J.dc&&6==za||J.dc&&5==za))xb=2;else{if(J.dc)if(4!=za)za+=
8;else{var ca=L,cb=xb,Sa=J,rb=ca.Ia(Sa,1),db=rb>>6,rc=rb>>3&7,rb=rb&7,ib="";if(cb||5!=rb)ib=tA[rb+8];4!=rc&&(ib&&(ib+="+"),ib+=tA[rc+8],db&&(ib+="*"+(1<<db)));cb||5!=rb||(ib&&(ib+="+"),ib+=q(Dy(ca,Sa,4)));ca=ib}ca||(ca=tA[za])}1==xb?(L=L.Ia(J,1),ca=L&128?ca+("-"+q(-(L<<24>>24),2)):ca+("+"+q(L,2))):2==xb&&(ca&&(ca+="+"),J.dc?(L=Dy(L,J,4),ca+=q(L)):(L=L.Yc(J,2),ca+=q(L,4)));ca="["+ca+"]";if(1==ua){L="";I&=oA;I==S&&(I=J.Hb?uA:U);switch(I){case vA:L="FAR";break;case V:L="BYTE";break;case U:if(T){L="INT16";
break}L="WORD";break;case uA:L="DWORD";break;case wA:if(T){L="INT32";break}case xA:L="REAL32";break;case yA:if(T){L="INT64";break}case zA:L="REAL64";break;case AA:L="REAL80";break;case BA:L="BCD80"}L&&(ca=L+" "+ca)}}else ca=CA(L,za,I,J);I=ca}else I=L==sA?CA(a,g&7,J,b):CA(a,g>>3&7,J,b);else if(L==DA)I="1";else if(L==W){I=a;T=J;L=b;J=" ";switch(T&oA){case V:T&X&&(J=q(I.Ia(L,1),2));break;case EA:J=q(I.Ia(L,1)<<24>>24,L.Hb?8:4);break;case S:if(L.Hb){J=q(Dy(I,L,4));break}case U:J=q(I.Yc(L,2),4);break;
case vA:L=jy(I,I.jb(L,!0),I.Yc(L,2),null,L.type,L.Hb,L.dc);J=Hy(L);I=FA(I,L);I[0]&&(J+=" ("+I[0]+")");break;default:J="imm("+sa(T)+")"}I=J}else L==GA?(b.dc?(I=8,J=Dy(a,b,4)):(I=4,J=a.Yc(b,2)),I="["+q(J,I)+"]"):L==HA?(I=T==V?a.Ia(b,1)<<24>>24:a.jb(b,!0),J=b.Ja+I&(b.Hb?-1:65535),I=q(J,b.Hb?8:4),J=FA(a,jy(a,J,b.U)),J[0]&&(I+=" ("+J[0]+")")):L==Y?I=T==IA?"ST":T==JA?"ST("+(g&7)+")":CA(a,(J&KA)>>8,J,b):L==LA?I=CA(a,(J&KA)>>8,MA,b):L==NA?I="DS:[SI]":L==OA&&(I="ES:[DI]");if(!I||!I.length){v="INVALID";break}0<
v.length&&(v+=",");v+=I||"???"}}}g="";k=Hy(e)+" ";if(-1!==e.ya&&-1!==b.ya){do if(g+=q(a.Ia(e,1),2),null==e.ya)break;while(e.ya!=b.ya)}k+=Aa(g,e.dc?24:16);k+=Aa(p,8);v&&(k+=" "+v);a.H.ca<PA[f]&&(c=PA[f]+" CPU only");c&&E&&(k=Aa(k,e.dc?74:56)+";"+c,k=a.H.ea.Ie?k+("cycles="+Dd(a.H).toString()+" cs="+q(a.H.T.vf)):k+(null!=d?"="+d.toString():""));QA(b,E,h);return k}
function CA(a,b,c,d){var e=c&rA;if(e==MA){if(b>vz||b>=uz&&80386>a.H.ca)return"??";b+=pz}else if(e==RA)b+=Ez;else if(e==SA)b+=TA;else if(e==UA)b+=VA;else if(a=c&oA,a>=U&&(b<gz&&(b+=gz-Zy),a==uA||a==S&&d.Hb))b+=wz-gz;return Xy[b]}
function WA(a,b){switch(b){case "V":a=hg(a.H);break;case "D":a=a.H.O&1024;break;case "I":a=a.H.O&512;break;case "T":a=a.H.O&256;break;case "S":a=gg(a.H);break;case "Z":a=fg(a.H);break;case "A":a=eg(a.H);break;case "P":a=dg(a.H);break;case "C":a=cg(a.H);break;default:a=0}return b+(a?"1":"0")+" "}function vy(a){return q(a,a&-65536?8:4)}function XA(a,b){b>=gz&&b<=nz&&4<a.ta&&(b+=wz-gz);var c=Xy[b];b==Ez&&80286==a.H.ca&&(c="MS");return c+"="+Yy(a,b)+" "}
function YA(a,b,c){return b.$b+"="+q(b.U,4)+(c?"["+q(b.ua,a.ma)+","+vy(b.Ka)+"]":"")}function ZA(a,b,c,d,e){return b+"="+(null!=c?q(c,4):"")+"["+q(d,a.ma)+","+q(e-d,4)+"]"}
function $A(a,b){var c;void 0===b&&(b=Jy(a));c=XA(a,gz)+XA(a,jz)+XA(a,hz)+XA(a,iz)+(4<a.ta?"\n":"")+XA(a,kz)+XA(a,lz)+XA(a,mz)+XA(a,nz)+"\n"+YA(a,a.H.Y,b)+" "+YA(a,a.H.Ca,b)+" "+YA(a,a.H.oa,b)+" ";if(b){var d="TR="+q(a.H.la.U,4),e=a.ka,e="A20="+(e.J||e.N!=e.C?"OFF ":"ON ");80386>a.H.ca&&(d="\n"+d,c+=e,e="");c+="\n"+YA(a,a.H.Z,b)+" ";80386<=a.H.ca&&(e+="\n",c+=YA(a,a.H.Ga,b)+" "+YA(a,a.H.Ha,b)+"\n");c+=ZA(a,"LD",a.H.Eb.U,a.H.Eb.ua,a.H.Eb.ua+a.H.Eb.Ka)+" "+ZA(a,"GD",null,a.H.Kb,a.H.Pc)+" "+ZA(a,"ID",
null,a.H.Pb,a.H.cd)+" ";c=c+(d+" "+e)+XA(a,Ez);80386<=a.H.ca&&(c+=XA(a,Gz)+XA(a,Hz))}else 80386<=a.H.ca&&(c+=YA(a,a.H.Ga,b)+" "+YA(a,a.H.Ha,b)+" ");return c+=XA(a,Jz)+WA(a,"V")+WA(a,"D")+WA(a,"I")+WA(a,"T")+WA(a,"S")+WA(a,"Z")+WA(a,"A")+WA(a,"P")+WA(a,"C")}l.hj=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
(b.J=a[0],ne(b,a[1]));break;case 72:Gy(this,null,e);break;case 80:32==c?By(this,ky(this,h,k),0,f,!0,!!this.Y):128>c?By(this,ky(this,h,k),e+1,c&64?g:f,!(c&1),!!this.Y):Dy(this,ky(this,h,k),!(c&1),!!this.Y),this.Y&&(b.D=b.D&-256|1)}return!this.Y};l.zl=function(){var a=this.H;5==(a.D&255)&&(a.I=a.K=0,a.D=a.D&-256|1);return!1};
l.Cb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.va=this.na[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",oy(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.A<d.C.length-1&&(b=d.C[++d.A])):40==a.keyCode&&(0<d.A?b=d.C[--d.A]:(b="",d.A=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.na[b]=c,Ya(c,function(){if(d.va){var a=d.va.value;
d.va.value="";oy(d,a,!0);return!0}return!1}),!0;case "step":return this.na[b]=c,Ya(c,function(a){var b=!1;Jb(d,!0)||(Kb(d,!0),b=Jy(d,a?1:0),Kb(d,!1));return b}),!0}return!1};l.md=function(){this.va&&this.va.focus()};function Ky(a){return!(!(a.H&&a.H.qa&1)||a.H.O&131072)}
function ty(a,b,c){var d=Ky(a)?uy:Ly;c||(c=d);if(c==d){if(b===a.H.Z.U)return a.H.Z;if(b===a.H.Ca.U)return a.H.Ca;if(b===a.H.oa.U)return a.H.oa;if(b===a.H.Y.U)return a.H.Y;if(80386<=a.H.ca){if(b===a.H.Ga.U)return a.H.Ga;if(b===a.H.Ha.U)return a.H.Ha}if(a.Da&&c==uy||!a.Ya)return null}a=a.Ya;if(c!=uy)a.nh(b),a.Ka=65535,a.Nb=65536;else{var e;c=a.gc;b&=65535;b&4?(d=c.Eb.ua,e=d+c.Eb.Ka|0):(d=c.Kb,e=c.Pc);d=d+(b&65528)|0;if(e-d|0){e=xg(c,d+0,2);var f=xg(c,d+4,2),g=f&7936,h=xg(c,d+2,2)|(f&255)<<16,k=xg(c,
d+6,2);80386<=c.ca&&(h|=(k&65280)<<16,e|=(k&15)<<16,k&128&&(e=e<<12|4095));a.U=b;a.ua=h;a.Ka=e;a.Nb=(e>>>0)+1;a.lb=f;a.type=g;a.ext=k;a.Lb=d;Vd(a,!0,!0,!1)}}return a}l.Sb=function(a,b,c){var d=a&&a.ya;if(null==d&&(d=-1,a)){var e=ty(this,a.U,a.type);e&&(b=a.Ja||0,c=c||1,d=e=-1===e.Lb||e.Oc&&(b>>>0)+c>e.Nb||!e.Oc&&(b>>>0)+c<=e.Nb?e.ua+b|0:-1,a.ya=d)}return d};l.Ia=function(a,b){var c=255,d=this.Sb(a,!1,1);-1!==d&&(c=xg(this.H,d,1,a.type==My)|0,b&&Ny(this,a,b));return c};
l.jb=function(a,b){return a.Hb?Ey(this,a,b?4:0):this.Yc(a,b?2:0)};l.Yc=function(a,b){var c=65535,d=this.Sb(a,!1,2);-1!==d&&(c=xg(this.H,d,2,a.type==My)|0,b&&Ny(this,a,b));return c};function Ey(a,b,c){var d=-1,e=a.Sb(b,!1,4);-1!==e&&(d=xg(a.H,e,4,b.type==My)|0,c&&Ny(a,b,c));return d}l.fc=function(a,b,c,d){var e=this.Sb(a,!0,1);if(-1!==e){if(a.type!=My)this.H.fc(e,b);else{var f=this.ka;f.aa[(e&f.C)>>>f.A].cf(e&f.D,b&255,e)}c&&Ny(this,a,c);d||Bd(this.H,!0)}};
l.jl=function(a,b,c){var d=this.Sb(a,!0,2);-1!==d&&(a.type!=My?this.H.fb(d,b):Jc(this.ka,d,b),c&&Ny(this,a,c),Bd(this.H,!0))};function ky(a,b,c,d,e,f,g){return Oy(a,{},b,c,d,e,f,g)}function Oy(a,b,c,d,e,f,g,h){b.Ja=c||0;b.U=d;b.ya=e;b.type=f||(Ky(a)?uy:Ly);b.Hb=null!=g?g:!(!a.H||4!=a.H.Z.V);b.dc=null!=h?h:!(!a.H||4!=a.H.Z.Jc);b.Kd=!1;return b}function Py(a){return[a.Ja,a.U,a.ya,a.Kd,a.Hb,a.dc,a.Ge,a.dh]}function Qy(a){return{Ja:a[0],U:a[1],ya:a[2],Kd:a[3],Hb:a[4],dc:a[5],Ge:a[6],dh:a[7]}}
function Ry(a,b,c){if(null!=b.U&&(a=ty(a,b.U,b.type))){var d=b.Ja&a.wa;if(!a.Oc){if(d>>>0>=a.Nb)return!1}else if(d>>>0<a.Nb)return!1;c&&(b.Ja=d,b.Hb=4==a.V,b.dc=4==a.Jc)}return!0}
function Sy(a,b,c,d){var e,f=c?a.M:a.Ma;c=d?Ty:f.type;var g=f.Ja,h=f.U,f=f.ya;if(void 0!==b){b=hy(a,b);e=b.charAt(0);f=b.indexOf(":");switch(e){case "&":c=Ly;break;case "#":c=uy;break;case "%":c=Uy;e=b.charAt(1);"%"==e&&(c=My,e+=e);g=0;h=null;break;default:0<=f&&(c=Ty),e=""}e&&(b=b.substr(e.length),f-=e.length);e=b;var k;if(e.match(/^[a-z_][a-z0-9_]*$/i))for(var m=e.toUpperCase(),p=0;p<a.F.length;p++){e=a.F[p];var v=e.Gd[m];if(void 0!==v){m=v.o;void 0!==m&&(k=v.s,void 0===k&&(k=e.U),k=ky(a,m,k,v.p));
break}}if(e=k)return e;0>f?null!=h?(g=fy(a,b,void 0),f=null):(f=fy(a,b,void 0),null==f&&(g=null)):(h=fy(a,b.substring(0,f),void 0),g=fy(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=ky(a,g,h,f,c),d||Ry(a,e,!0)||(a.P("invalid offset: "+Iy(e)),e=null));return e}function Vy(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.tl=a.Dg(b.Zk=c[2]))}l.Qk=function(a,b){var c=Sy(this,b);return a.replace("["+b+"]",c?q(this.jb(c),c.Hb?8:4):"undefined")};
function Ny(a,b,c){c=c||1;null!=b.ya&&(b.ya+=c);null!=b.U&&(b.Ja+=c,Ry(a,b)||(b.Ja=0,b.ya=null))}function xy(a,b,c){return null!=b?q(b,4)+":"+q(a,a&-65536||c?8:4):q(a)}function Iy(a){var b;switch(a.type){case Ly:case Wy:b="&";break;case uy:b="#";break;case Uy:b="%";break;case My:b="%%";break;default:b=a.U?"":"%"}return a.type>=Uy||null==a.U?b+q(a.ya):b+xy(a.Ja,a.U,a.dc)}
function yy(a,b,c){var d="";for(c=c||256;d.length<c;){var e=a.Ia(b,1);if(!e||36==e||127<=e)break;d+=32<=e?String.fromCharCode(e):"."}return d}
function sy(a,b,c,d){var e=0,f=0,g=b.length;if(c){e=a.Sb(Sy(a,c));if(-1===e){a.P("invalid address: "+c);return}f=e>>>a.H.hb;g=1}a.P("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.P("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&d.type==bd&&(d=sd(a.H,e,!1,!0)),d.type==c?h++||a.P("..."):(c=d.type,h=tc[c],c==dd&&(d=d.qd,h+=" -> "+tc[d.type]),d&&a.P(q(d.id,8)+" %"+q(f<<a.H.hb,8)+" %%"+q(d.ya,8)+" "+sa(d.we)+" "+sa(d.size)+
" "+h),c!=ad&&c!=bd&&(c=-1),h=0),e+=a.H.Og,f++}function Xy(a,b,c){a=q(a)+" "+q(b)+" ";a=a+(c&&b&64?"D":"-")+(b&32?"A":"-")+(b&4?"U":"S");a+=b&2?"W":"R";return a+=b&1?"P":"N"}function Cy(a,b,c){var d=[],e;for(e=null;e=Wb(a.pa,"Disk",e);){var f=e,g=b,h=c,d={};if(f.C)for(var k=0;k<f.C.length;k++){var m=f.C[k];if(m.Sf==g&&(m=m.od[h])){for(var p in m.fe)f=m.fe[p],d[f[1]]=f[0];break}}if(d.length)break}return d}
function ny(a,b){a.ba=a;a.ic=a.xl=1073741824;a.za=null;b=a.Dg(b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in Rb)0<=Ha(b,c)&&(a.ic|=Rb[c],a.P(c+" messages enabled"));my(a)}function zl(a,b,c){for(var d in Rb)if(b==Rb[d]){a.Ba[d]=c;break}}l.hh=function(a,b){var c;a=a.toUpperCase();null==b?c=Ha(Yy,a):(c=Ha(Yy,a.substr(b,3)),0>c&&(c=Ha(Yy,a.substr(b,2))));return c};
function Zy(a,b){var c=0,d=a.ih(b);if(null!=d)switch(b){case $y:case az:case bz:case cz:case dz:case ez:case fz:case gz:c=2;break;case hz:case iz:case jz:case kz:case lz:case mz:case nz:case oz:case pz:case qz+rz:case qz+sz:case qz+tz:case qz+uz:case qz+vz:case qz+wz:c=4;break;case xz:case yz:case zz:case Az:case Bz:case Cz:case Dz:case Ez:case Fz:case Gz:case Hz:case Iz:case Jz:c=8;break;case Kz:c=a.ta}return c?q(d,c):"??"}
l.ih=function(a){var b;if(0<=a){var c=this.H;switch(a){case $y:b=c.D&255;break;case az:b=c.I&255;break;case bz:b=c.L&255;break;case cz:b=c.G&255;break;case dz:b=c.D>>8&255;break;case ez:b=c.I>>8&255;break;case fz:b=c.L>>8&255;break;case gz:b=c.G>>8&255;break;case hz:b=c.D&65535;break;case iz:b=c.I&65535;break;case jz:b=c.L&65535;break;case kz:b=c.G&65535;break;case lz:b=z(c)&65535;break;case mz:b=c.M&65535;break;case nz:b=c.K&65535;break;case oz:b=c.J&65535;break;case pz:b=A(c)&65535;break;case Kz:b=
qe(c);break;case qz+rz:b=c.oa.U;break;case qz+sz:b=c.Z.U;break;case qz+tz:b=c.Y.U;break;case qz+uz:b=c.Ca.U;break;default:if(80286==this.H.ca)a==Fz&&(b=c.qa);else if(80386<=this.H.ca)switch(a){case xz:b=c.D;break;case yz:b=c.I;break;case zz:b=c.L;break;case Az:b=c.G;break;case Bz:b=z(c);break;case Cz:b=c.M;break;case Dz:b=c.K;break;case Ez:b=c.J;break;case Fz:b=c.qa;break;case Gz:b=c.Pg;break;case Hz:b=c.Dd;break;case Iz:b=c.Wc;break;case qz+vz:b=c.Ga.U;break;case qz+wz:b=c.Ha.U;break;case Jz:b=A(c)}}}return b};
function Lz(a,b){b=hy(a,b)||b;for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=a.hh(b,c+1),0<=e&&(b=b.substr(0,c)+Zy(a,e)+b.substr(c+1+Yy[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=oa(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Sy(a,e))?(d=e+' "'+yy(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Sy(a,e))?(Ny(a,d),
d=e+' "'+yy(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}l.message=function(a,b){b&&(a+=" at "+Iy(ky(this,A(this.H),this.H.Z.U))+" (%"+q(this.H.da)+")");this.za&&a==this.za||(this.za=a,this.ic&-2147483648&&(this.Jb(),a+=" (cpu halted)"),this.P(a),this.H&&(a=this.H,a.zc-=a.A,a.A=0,a.T.We=0,Bd(a)))};
function Vk(a,b,c,d){var e,f;if(!d&&(d=t(a,1)&&0>Mz.indexOf(b),!d)){var g=Nz[b];g&&(d=t(a,g)?!0:524288==g&&t(a,g=1048576))}d&&(e=a.H.D>>8&255,f=a.H.L&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=Qb[b])&&g[e]||"")&&(g=" "+Lz(a,g)),a.message("INT "+r(b)+": AH="+r(e)+" at "+xy(c-2-a.H.Z.ua,a.H.Z.U)+g));return d}
function Mb(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.ic&h)==h)h=null,null!=e&&(h=a.H.Z.U,e-=a.H.Z.ua),a.message(b.ce+"."+(null!=d?"outPort":"inPort")+"("+sa(c)+","+(f?f:"unknown")+(null!=d?","+r(d):"")+")"+(null!=g?": "+r(g):"")+(null!=e?" at "+xy(e,h):""))}l.jh=function(){this.P("Type ? for help with PCx86 Debugger commands");Oz(this);if(this.Ga){var a=this.Ga;this.Ga=null;oy(this,a)}};
function my(a,b){var c;if(Ig(a)){if(!a.W||!a.W.length){a.W=Array(Pz);for(c=0;c<a.W.length;c++)a.W[c]=ky(a);a.oa=0;b||a.P("instruction history buffer allocated")}if(!a.L||!a.L.length)for(a.L=Array(256),c=0;c<a.L.length;c++)a.L[c]=[c,0]}else a.W&&a.W.length&&!b&&a.P("instruction history buffer freed"),a.oa=0,a.W=[],a.L=[]}function Qz(a,b){if(!Rz(a))return!1;a.H.Vf(b);return!0}
function Jy(a,b,c,d){if(!Rz(a))return!1;a.N=0;do{b||Ig(a)&&Lg(a,a.H.da,0);try{var e=a.H.Mg(b);0<e&&(a.N+=e,Gd(a.H,e,!0),Cd(a.H,e),a.Z++)}catch(g){if("number"!=typeof g){var f=g;a.N=0;Fb(a.H,f.stack||f.message)}}}while(a.H.N&3312);!1!==d&&Bd(a.H);Oz(a,c||!1);return 0<a.N}l.Jb=function(a){this.H&&this.H.Jb(a)};function Oz(a,b){void 0===b&&(b=!0);a.M=ky(a,A(a.H),a.H.Z.U);b&&1!=a.K?Sz(a):Tz(a)}
function Rz(a){var b;if(b=a.H&&Gb(a.H))b=a.H,b.ea.Yb?b=!0:(b.P(b.toString()+" not powered"),b=!1);b&&!Jb(a.H)?(a=a.H,a.ea.error?(a.P(a.toString()+" error"),a=!0):a=!1,a=!a):a=!1;return a}l.Xb=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};l.Wb=function(a,b){b&&this.P(a?"suspending":"shutting down");return a?this.save():!0};l.reset=function(a){my(this);this.Z=this.la=0;this.za=null;this.N=0;this.M=ky(this,A(this.H),this.H.Z.U);this.ea.vb=!1;Uz(this);a||Oz(this)};
l.save=function(){var a=new Wf(this);a.set(0,Py(this.M));a.set(1,Py(this.da));a.set(2,[this.C,this.ga,this.ic]);a.set(3,this.F);return a.data()};l.restore=function(a){var b=0;void 0!==a[2]&&(this.M=Qy(a[b++]),this.da=Qy(a[b++]),this.C=a[b][0],"string"==typeof this.C&&(this.C=[this.C]),this.ga=a[b][1],this.ic|=a[b][2]);a[3]&&(this.F=a[3]);return!0};l.start=function(a,b){this.K||this.P("running");this.ea.vb=!0;this.hb=a;this.jd=b};
l.stop=function(a,b){if(this.ea.vb){this.ea.vb=!1;this.N=b-this.jd;if(!this.K){b="stopped";if(this.N){a-=this.hb;var c=0<a?Math.round(1E3*this.N/a):0;b+=" (";Ig(this)&&(b+=this.Z+" opcodes, ",this.la-=this.Z,this.Z=0);b+=this.N+" cycles, "+a+" ms, "+c+" hz)"}else t(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.P(b)}Oz(this,!0);this.md();Uz(this,this.H.da)}};function Ig(a){return 1<a.B.length||!!a.xa||t(a,16)}
function Lg(a,b,c){var d=a.H;if(0<c&&(a.xa&&!--a.xa||Vz(a,b,1,a.B)))return!0;0<=c&&a.L.length&&(a.Z++,b=xg(d,b),null!=b&&(a.L[b][1]++,Oy(a,a.W[a.oa],A(d),d.Z.U),++a.oa==a.W.length&&(a.oa=0)));return!1}function pd(a,b,c){return Vz(a,b,c||1,a.aa)?(a.Jb(!0),!0):!1}function rd(a,b,c){return Vz(a,b,c||1,a.O)?(a.Jb(!0),!0):!1}function Pc(a,b,c){a.P("break on input from port "+sa(b)+": "+q(c));a.Jb(!0)}function Tc(a,b,c){a.P("break on output to port "+sa(b)+": "+q(c));a.Jb(!0)}
function ly(a){var b,c;a.B=["bp"];if(a.aa)for(b=1;b<a.aa.length;b++)c=a.aa[b],kf(a.H,a.Sb(c),!1,c.type==My);a.aa=["br"];if(a.O)for(b=1;b<a.O.length;b++)c=a.O[b],kf(a.H,a.Sb(c),!0,c.type==My);a.O=["bw"];a.Da=0}
l.Hd=function(a,b,c){var d=!0;c||Hy(this,a,b,!1,!0);if(a!=this.B){var e=this.Sb(b);if(-1===e)this.P("invalid address: "+Iy(b)),d=!1;else{var f=this.H,g=b.type==My;(g?f.sc:f.aa)[e>>>f.hb].Hd(e&f.Db,a==this.O);g&&sc(f)}}d&&(a.push(b),c?(null!=b.ya&&(b.U=null),b.Kd=!0):(Wz(this,a,a.length-1,"set"),my(this)));return d};
function Hy(a,b,c,d,e){for(var f=!1,g=Xz(a,a.Sb(c)),h=1;h<b.length;h++){var k=b[h];if(-1!==g&&g==Xz(a,a.Sb(k))||-1===g&&c.U==k.U&&c.Ja==k.Ja)if(!d||k.Kd){f=!0;k.Kd||e||Wz(a,b,h,"cleared");b.splice(h,1);b!=a.B&&kf(a.H,g,b==a.O,k.type==My);k.Kd||my(a);break}}return f}function Yz(a,b){for(var c=1;c<b.length;c++)Wz(a,b,c);return b.length-1}function Wz(a,b,c,d){c=b[c];a.P(b[0]+" "+Iy(c)+(d?" "+d:c.Zk?' "'+c.Zk+'"':""))}
function Uz(a,b){if(void 0!==b)Vz(a,b,1,a.B,!0),a.K=0;else for(b=1;b<a.B.length;b++){var c=a.B[b];if(c.Kd){if(!Hy(a,a.B,c,!0))break;b=0}}}function Xz(a,b){-1!==b&&(a=a.wa&-65536,(b&a)==a&&(b&=1048575));return b}
function Vz(a,b,c,d,e){var f=!1;if(!a.Da++){b=Xz(a,b);t(a,-2147483632)&&204==xg(a.H,b)&&(f=!0);for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Kd){null!=h.U&&(h.ya=null);for(var k=Xz(a,a.Sb(h)),m=0;m<c;m++)if(b+m==k){var p,f=!0;h.Kd&&(Hy(a,d,h,!0),e=!0);if(p=h.tl){for(var f=!1,v=0;v<p.length;v++)if(!Zz(a,p[v],!0)){if(p[v].indexOf("if")){f=!0;break}for(var u=v+1;u<p.length&&p[u].indexOf("else");u++)v++;if(u==p.length){f=!0;break}}a.H.ea.vb||(f=!0)}if(f){e||Wz(a,d,g,"hit");break}}}}}a.Da--;return f}
function $z(a,b,c,d){for(var e=ky(a,b.Ja,b.U,b.ya,b.type),f=a.Ia(b,1),g=4,h=0,k=!1,m=!1;(102==f||103==f)&&g--;)102==f?k||(b.Hb=!b.Hb,k=!0):m||(b.dc=!b.dc,m=!0),h++,f=a.Ia(b,1);var g=-1,p=aA,k=a.qa[f],m=k[0];m==bA&&(m=a.Ia(b,1),k=cA[m]||qy,f|=m<<8,m=k[0]);if(m==dA){var g=a.Ia(b,1),v;v=null;var u=g>>3&7,E=(3>(g>>6&3)?0:48)+u;(217==f||219==f)&&52<=E&&(E=u<<4|g&7);(u=eA[f])&&(v=u[E]);v&&(p=fA,k=v,m=k[0])}m>=p.length&&(g=a.Ia(b,1),k=gA[m-p.length][g>>3&7],m=k[0]);p=p[m];u=k.length-1;v="";b.Hb&&(m==hA?
p="CWDE":m==iA?p="CDQ":m>=jA&&m<=kA&&(p+="D"));if(164<=f&&167>=f||170<=f&&175>=f)u=0,b.Hb&&"W"==p.slice(-1)&&(p=p.slice(0,-1)+"D");for(var f=-1,E=!0,G=1;G<=u;G++){var I,J;I="";J=k[G];if(void 0!==J){0>f&&(f=J>>lA);m==mA&&(f==nA?v="[%800]":f==oA&&(v="ES:["+(b.dc?"E":"")+"DI]"));var T=J&pA;if(T!=qA)if(T==rA)E=!1;else{var L=J&sA;if(L>=R)if(0>g&&(g=a.Ia(b,1)),L<tA){L=a;I=J;var ua=u;J=b;var ca="",xb=g>>6,za=g&7;if(3>xb){T=!p.indexOf("FI");if(!xb&&(!J.dc&&6==za||J.dc&&5==za))xb=2;else{if(J.dc)if(4!=za)za+=
8;else{var ca=L,cb=xb,Sa=J,rb=ca.Ia(Sa,1),db=rb>>6,rc=rb>>3&7,rb=rb&7,ib="";if(cb||5!=rb)ib=uA[rb+8];4!=rc&&(ib&&(ib+="+"),ib+=uA[rc+8],db&&(ib+="*"+(1<<db)));cb||5!=rb||(ib&&(ib+="+"),ib+=q(Ey(ca,Sa,4)));ca=ib}ca||(ca=uA[za])}1==xb?(L=L.Ia(J,1),ca=L&128?ca+("-"+q(-(L<<24>>24),2)):ca+("+"+q(L,2))):2==xb&&(ca&&(ca+="+"),J.dc?(L=Ey(L,J,4),ca+=q(L)):(L=L.Yc(J,2),ca+=q(L,4)));ca="["+ca+"]";if(1==ua){L="";I&=pA;I==S&&(I=J.Hb?vA:U);switch(I){case wA:L="FAR";break;case V:L="BYTE";break;case U:if(T){L="INT16";
break}L="WORD";break;case vA:L="DWORD";break;case xA:if(T){L="INT32";break}case yA:L="REAL32";break;case zA:if(T){L="INT64";break}case AA:L="REAL64";break;case BA:L="REAL80";break;case CA:L="BCD80"}L&&(ca=L+" "+ca)}}else ca=DA(L,za,I,J);I=ca}else I=L==tA?DA(a,g&7,J,b):DA(a,g>>3&7,J,b);else if(L==EA)I="1";else if(L==W){I=a;T=J;L=b;J=" ";switch(T&pA){case V:T&X&&(J=q(I.Ia(L,1),2));break;case FA:J=q(I.Ia(L,1)<<24>>24,L.Hb?8:4);break;case S:if(L.Hb){J=q(Ey(I,L,4));break}case U:J=q(I.Yc(L,2),4);break;
case wA:L=ky(I,I.jb(L,!0),I.Yc(L,2),null,L.type,L.Hb,L.dc);J=Iy(L);I=GA(I,L);I[0]&&(J+=" ("+I[0]+")");break;default:J="imm("+sa(T)+")"}I=J}else L==HA?(b.dc?(I=8,J=Ey(a,b,4)):(I=4,J=a.Yc(b,2)),I="["+q(J,I)+"]"):L==IA?(I=T==V?a.Ia(b,1)<<24>>24:a.jb(b,!0),J=b.Ja+I&(b.Hb?-1:65535),I=q(J,b.Hb?8:4),J=GA(a,ky(a,J,b.U)),J[0]&&(I+=" ("+J[0]+")")):L==Y?I=T==JA?"ST":T==KA?"ST("+(g&7)+")":DA(a,(J&LA)>>8,J,b):L==MA?I=DA(a,(J&LA)>>8,NA,b):L==OA?I="DS:[SI]":L==PA&&(I="ES:[DI]");if(!I||!I.length){v="INVALID";break}0<
v.length&&(v+=",");v+=I||"???"}}}g="";k=Iy(e)+" ";if(-1!==e.ya&&-1!==b.ya){do if(g+=q(a.Ia(e,1),2),null==e.ya)break;while(e.ya!=b.ya)}k+=Aa(g,e.dc?24:16);k+=Aa(p,8);v&&(k+=" "+v);a.H.ca<QA[f]&&(c=QA[f]+" CPU only");c&&E&&(k=Aa(k,e.dc?74:56)+";"+c,k=a.H.ea.Ie?k+("cycles="+Dd(a.H).toString()+" cs="+q(a.H.T.vf)):k+(null!=d?"="+d.toString():""));RA(b,E,h);return k}
function DA(a,b,c,d){var e=c&sA;if(e==NA){if(b>wz||b>=vz&&80386>a.H.ca)return"??";b+=qz}else if(e==SA)b+=Fz;else if(e==TA)b+=UA;else if(e==VA)b+=WA;else if(a=c&pA,a>=U&&(b<hz&&(b+=hz-$y),a==vA||a==S&&d.Hb))b+=xz-hz;return Yy[b]}
function XA(a,b){switch(b){case "V":a=hg(a.H);break;case "D":a=a.H.O&1024;break;case "I":a=a.H.O&512;break;case "T":a=a.H.O&256;break;case "S":a=gg(a.H);break;case "Z":a=fg(a.H);break;case "A":a=eg(a.H);break;case "P":a=dg(a.H);break;case "C":a=cg(a.H);break;default:a=0}return b+(a?"1":"0")+" "}function wy(a){return q(a,a&-65536?8:4)}function YA(a,b){b>=hz&&b<=oz&&4<a.ta&&(b+=xz-hz);var c=Yy[b];b==Fz&&80286==a.H.ca&&(c="MS");return c+"="+Zy(a,b)+" "}
function ZA(a,b,c){return b.$b+"="+q(b.U,4)+(c?"["+q(b.ua,a.ma)+","+wy(b.Ka)+"]":"")}function $A(a,b,c,d,e){return b+"="+(null!=c?q(c,4):"")+"["+q(d,a.ma)+","+q(e-d,4)+"]"}
function aB(a,b){var c;void 0===b&&(b=Ky(a));c=YA(a,hz)+YA(a,kz)+YA(a,iz)+YA(a,jz)+(4<a.ta?"\n":"")+YA(a,lz)+YA(a,mz)+YA(a,nz)+YA(a,oz)+"\n"+ZA(a,a.H.Y,b)+" "+ZA(a,a.H.Ca,b)+" "+ZA(a,a.H.oa,b)+" ";if(b){var d="TR="+q(a.H.la.U,4),e=a.ka,e="A20="+(e.J||e.N!=e.C?"OFF ":"ON ");80386>a.H.ca&&(d="\n"+d,c+=e,e="");c+="\n"+ZA(a,a.H.Z,b)+" ";80386<=a.H.ca&&(e+="\n",c+=ZA(a,a.H.Ga,b)+" "+ZA(a,a.H.Ha,b)+"\n");c+=$A(a,"LD",a.H.Eb.U,a.H.Eb.ua,a.H.Eb.ua+a.H.Eb.Ka)+" "+$A(a,"GD",null,a.H.Kb,a.H.Pc)+" "+$A(a,"ID",
null,a.H.Pb,a.H.cd)+" ";c=c+(d+" "+e)+YA(a,Fz);80386<=a.H.ca&&(c+=YA(a,Hz)+YA(a,Iz))}else 80386<=a.H.ca&&(c+=ZA(a,a.H.Ga,b)+" "+ZA(a,a.H.Ha,b)+" ");return c+=YA(a,Kz)+XA(a,"V")+XA(a,"D")+XA(a,"I")+XA(a,"T")+XA(a,"S")+XA(a,"Z")+XA(a,"A")+XA(a,"P")+XA(a,"C")}l.hj=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
function $p(a,b,c,d,e,f,g,h){var k={},m=[],p;for(p in h){var v=h[p];"number"==typeof v&&(h[p]=v={o:v});var u=v.o,E=v.s,G=v.a;if(void 0!==u){void 0!==E&&(k.Ja=u,k.U=E,k.ya=null,a.Sb(k),(k.ya&-65536)==(a.ka.N&-65536)&&(k.ya&=1048575),v.p=k.ya);var E=m,u=[u>>>0,p],I=Da(E,u,a.hj);0>I&&E.splice(-(I+1),0,u)}G&&(v.a=G.replace(/''/g,'"'))}a.F.push({Sf:b,qn:c,U:d,Ja:e,ya:f,fn:g,Gd:h,Qi:m})}
function Fy(a,b,c){for(var d=0;d<a.F.length;d++){var e=a.F[d];if(!b||e.Sf==b)if(b&&c==e.qn||!b&&c==e.U){a.F.splice(d,1);break}}}function FA(a,b,c){for(var d=[],e=b.Ja>>>0,f=a.Sb(b)>>>0,g=0;g<a.F.length;g++){var h=a.F[g],k=h.U,m=h.Ja>>>0,p=h.ya;null!=p&&(p>>>=0);var v=h.fn;48==k&&(k=40);if(k==b.U&&e>=m&&e<m+v||null!=p&&f>=p&&f<p+v){b=Da(h.Qi,[e],a.hj);0<=b?aB(a,g,b,d):c&&(b=~b,aB(a,g,b-1,d),aB(a,g,b,d));break}}!d.length&&(a=a.ka.xj(f,!0))&&(d.push(a),d.push(f));return d}
function aB(a,b,c,d){var e={},f=a.F[b].Qi,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].Gd[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function bB(a){a.Je&&(a.Je.value="")}
function cB(a,b){if("?"==b)a.P("frequency commands:"),a.P("\tclear\tclear all frequency counts");else{var c=0;if(a.L)if("clear"==b){for(b=0;b<a.L.length;b++)a.L[b]=[b,0];a.P("frequency data cleared");c++}else if(void 0!==b)a.P("unknown frequency command: "+b),c++;else{var d=a.L.slice();d.sort(function(a,b){return b[1]-a[1]});for(b=0;b<d.length;b++){var e=d[b][0],f=d[b][1];f&&(a.P(($z[a.qa[e][0]]+" ").substr(0,5)+" ("+r(e)+"): "+f+" times"),c++)}}c||a.P("no frequency data available")}}
function dB(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return hy(a)||a.P("no variables"),!0;if(!c[2])return hy(a,c[1]);if(!c[3])return delete a.I[c[1]],!0;b=ey(a,c[3]);return void 0!==b?(a.I[c[1]]={value:b,Ro:void 0},!0):!1}a.P("invalid assignment:"+b);return!1}
function eB(a,b,c){var d=null;if(b=Ry(a,b,!0)){a.Sb(b);var e=FA(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.Ja-e[1])&&(g=" + "+sa(f)),f=e[0]+" ("+wy(e[1],b.U)+")"+g,c&&a.P(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.Ja)&&(g=" - "+sa(f)),f=e[4]+" ("+wy(e[5],b.U)+")"+g,c&&a.P(f),d||(d=f))}else c&&a.P("no symbols")}return d}
function fB(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d,e=0,f=0,g=c?{}:Ry(a,b[1]);if(g&&(d=Zx(a,b[2],"drive #"),void 0!==d)){if(!c){e=Zx(a,b[3],"sector #");if(void 0===e)return;f=Zx(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.eb;2<=d&&a.Ta&&(d-=2,h=a.Ta);if(h){var k=h.ij(d);if(k)if(k.sa)if(c)bB(a),a.P(k.sa.toJSON());else if(h.al(k,e,f)){var m=0,p=!1;for(b=Hy(g);!p&&0<k.ub--;)(function(a,b){h.te(k,function(c){0>c?(a.P("out of data at address "+Hy(b)),p=!0):(a.fc(b,c,1,!0),m++)})})(a,g);Bd(a.H,
function Gy(a,b,c){for(var d=0;d<a.F.length;d++){var e=a.F[d];if(!b||e.Sf==b)if(b&&c==e.qn||!b&&c==e.U){a.F.splice(d,1);break}}}function GA(a,b,c){for(var d=[],e=b.Ja>>>0,f=a.Sb(b)>>>0,g=0;g<a.F.length;g++){var h=a.F[g],k=h.U,m=h.Ja>>>0,p=h.ya;null!=p&&(p>>>=0);var v=h.fn;48==k&&(k=40);if(k==b.U&&e>=m&&e<m+v||null!=p&&f>=p&&f<p+v){b=Da(h.Qi,[e],a.hj);0<=b?bB(a,g,b,d):c&&(b=~b,bB(a,g,b-1,d),bB(a,g,b,d));break}}!d.length&&(a=a.ka.xj(f,!0))&&(d.push(a),d.push(f));return d}
function bB(a,b,c,d){var e={},f=a.F[b].Qi,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].Gd[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function cB(a){a.Je&&(a.Je.value="")}
function dB(a,b){if("?"==b)a.P("frequency commands:"),a.P("\tclear\tclear all frequency counts");else{var c=0;if(a.L)if("clear"==b){for(b=0;b<a.L.length;b++)a.L[b]=[b,0];a.P("frequency data cleared");c++}else if(void 0!==b)a.P("unknown frequency command: "+b),c++;else{var d=a.L.slice();d.sort(function(a,b){return b[1]-a[1]});for(b=0;b<d.length;b++){var e=d[b][0],f=d[b][1];f&&(a.P((aA[a.qa[e][0]]+" ").substr(0,5)+" ("+r(e)+"): "+f+" times"),c++)}}c||a.P("no frequency data available")}}
function eB(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return iy(a)||a.P("no variables"),!0;if(!c[2])return iy(a,c[1]);if(!c[3])return delete a.I[c[1]],!0;b=fy(a,c[3]);return void 0!==b?(a.I[c[1]]={value:b,Ro:void 0},!0):!1}a.P("invalid assignment:"+b);return!1}
function fB(a,b,c){var d=null;if(b=Sy(a,b,!0)){a.Sb(b);var e=GA(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.Ja-e[1])&&(g=" + "+sa(f)),f=e[0]+" ("+xy(e[1],b.U)+")"+g,c&&a.P(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.Ja)&&(g=" - "+sa(f)),f=e[4]+" ("+xy(e[5],b.U)+")"+g,c&&a.P(f),d||(d=f))}else c&&a.P("no symbols")}return d}
function gB(a,b){if(b[1]&&"?"!=b[1]){var c="json"==b[1],d,e=0,f=0,g=c?{}:Sy(a,b[1]);if(g&&(d=$x(a,b[2],"drive #"),void 0!==d)){if(!c){e=$x(a,b[3],"sector #");if(void 0===e)return;f=$x(a,b[4],"# of sectors");void 0===f&&(f=1)}var h=a.eb;2<=d&&a.Ta&&(d-=2,h=a.Ta);if(h){var k=h.ij(d);if(k)if(k.sa)if(c)cB(a),a.P(k.sa.toJSON());else if(h.al(k,e,f)){var m=0,p=!1;for(b=Iy(g);!p&&0<k.ub--;)(function(a,b){h.te(k,function(c){0>c?(a.P("out of data at address "+Iy(b)),p=!0):(a.fc(b,c,1,!0),m++)})})(a,g);Bd(a.H,
!0);a.P(m+" bytes read at "+b)}else a.P("sector "+e+" request out of range");else a.P("drive "+d+" not loaded");else a.P("invalid drive: "+d)}else a.P("disk controller not present")}}else a.P("load commands:"),a.P("\tl [address] [drive #] [sector #] [# sectors]")}
function Rz(a,b){var c;if(b&&"?"==b[1])a.P("register commands:"),a.P("\tr\tdump registers"),a.Tc&&a.P("\trfp\tdump floating-point registers"),a.P("\trp\tdump all registers"),a.P("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(b&&1<b.length){var e=b[1];if(a.Tc&&"fp"==e){c=a.Tc;d=Og(c);b=c.Zb;for(var f=0;8>f;f++){var g=c,e=null;if(f<g.F.length){var e=[],h=g.B+f&7;e[0]=h;e[1]=qh(g,h);e[2]=g.F[h];h<<=1;e[3]=g.L[h];e[4]=g.L[h+1];g=uh(g,e[3],e[4]);e[5]=g[0];e[6]=g[1];e[7]=g[2]}if(!e)break;
a.P("ST"+f+": "+Aa(e[2].toFixed(15),24,!0)+" "+q(e[4])+","+q(e[3])+" ["+e[0]+":"+gB[e[1]]+"]")}a.P(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.P("SW: "+qa(d,16)+" ("+sa(d)+") CW: "+qa(b,16)+" ("+sa(b)+")");return}if("p"==e)d=80286<=a.H.ca;else{f=e.indexOf("=");if(0<f)b=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)b=b[2];else{a.P("missing value for "+b[1]);return}g=ey(a,b);if(void 0===g)return;f=!0;h=e.toUpperCase();"E"==h.charAt(0)&&4>=a.ta&&(h=null);switch(h){case "AL":a.H.D=
function Sz(a,b){var c;if(b&&"?"==b[1])a.P("register commands:"),a.P("\tr\tdump registers"),a.Tc&&a.P("\trfp\tdump floating-point registers"),a.P("\trp\tdump all registers"),a.P("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(b&&1<b.length){var e=b[1];if(a.Tc&&"fp"==e){c=a.Tc;d=Og(c);b=c.Zb;for(var f=0;8>f;f++){var g=c,e=null;if(f<g.F.length){var e=[],h=g.B+f&7;e[0]=h;e[1]=qh(g,h);e[2]=g.F[h];h<<=1;e[3]=g.L[h];e[4]=g.L[h+1];g=uh(g,e[3],e[4]);e[5]=g[0];e[6]=g[1];e[7]=g[2]}if(!e)break;
a.P("ST"+f+": "+Aa(e[2].toFixed(15),24,!0)+" "+q(e[4])+","+q(e[3])+" ["+e[0]+":"+hB[e[1]]+"]")}a.P(" B3SSS210ESPUOZDI xxxIRRPPIxPUOZDI");a.P("SW: "+qa(d,16)+" ("+sa(d)+") CW: "+qa(b,16)+" ("+sa(b)+")");return}if("p"==e)d=80286<=a.H.ca;else{f=e.indexOf("=");if(0<f)b=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)b=b[2];else{a.P("missing value for "+b[1]);return}g=fy(a,b);if(void 0===g)return;f=!0;h=e.toUpperCase();"E"==h.charAt(0)&&4>=a.ta&&(h=null);switch(h){case "AL":a.H.D=
a.H.D&-256|g&255;break;case "AH":a.H.D=a.H.D&-65281|g<<8&255;break;case "AX":a.H.D=a.H.D&-65536|g&65535;break;case "BL":a.H.G=a.H.G&-256|g&255;break;case "BH":a.H.G=a.H.G&-65281|g<<8&255;break;case "BX":a.H.G=a.H.G&-65536|g&65535;break;case "CL":a.H.I=a.H.I&-256|g&255;break;case "CH":a.H.I=a.H.I&-65281|g<<8&255;break;case "CX":a.H.I=a.H.I&-65536|g&65535;break;case "DL":a.H.L=a.H.L&-256|g&255;break;case "DH":a.H.L=a.H.L&-65281|g<<8&255;break;case "DX":a.H.L=a.H.L&-65536|g&65535;break;case "SP":ge(a.H,
z(a.H)&-65536|g&65535);break;case "BP":a.H.M=a.H.M&-65536|g&65535;break;case "SI":a.H.K=a.H.K&-65536|g&65535;break;case "DI":a.H.J=a.H.J&-65536|g&65535;break;case "DS":me(a.H,g);break;case "ES":ne(a.H,g);break;case "SS":fe(a.H,g);break;case "CS":Yf(a.H,g);a.M=jy(a,A(a.H),a.H.Z.U);break;case "IP":case "EIP":C(a.H,g);a.M=jy(a,A(a.H),a.H.Z.U);break;case "PC":case "PS":re(a.H,g);break;case "C":g?jg(a.H):kg(a.H);break;case "P":g?(e=a.H,e.resultType&=-3,e.O|=4):(e=a.H,e.resultType&=-3,e.O&=-5);break;case "A":g?
z(a.H)&-65536|g&65535);break;case "BP":a.H.M=a.H.M&-65536|g&65535;break;case "SI":a.H.K=a.H.K&-65536|g&65535;break;case "DI":a.H.J=a.H.J&-65536|g&65535;break;case "DS":me(a.H,g);break;case "ES":ne(a.H,g);break;case "SS":fe(a.H,g);break;case "CS":Yf(a.H,g);a.M=ky(a,A(a.H),a.H.Z.U);break;case "IP":case "EIP":C(a.H,g);a.M=ky(a,A(a.H),a.H.Z.U);break;case "PC":case "PS":re(a.H,g);break;case "C":g?jg(a.H):kg(a.H);break;case "P":g?(e=a.H,e.resultType&=-3,e.O|=4):(e=a.H,e.resultType&=-3,e.O&=-5);break;case "A":g?
rg(a.H):pg(a.H);break;case "Z":g?sg(a.H):qg(a.H);break;case "S":g?(e=a.H,e.resultType&=-17,e.O|=128):(e=a.H,e.resultType&=-17,e.O&=-129);break;case "I":g?(e=a.H,e.O|=512):(e=a.H,e.O&=-513);break;case "D":g?(e=a.H,e.O|=1024):(e=a.H,e.O&=-1025);break;case "V":g?lg(a.H):mg(a.H);break;default:var k=!0;if(80286<=a.H.ca)switch(k=!1,h){case "MS":tg(a.H,g);break;case "TR":-1===a.H.la.load(g)&&(f=!1);break;default:if(k=!0,80386<=a.H.ca)switch(k=!1,h){case "EAX":a.H.D=g;break;case "EBX":a.H.G=g;break;case "ECX":a.H.I=
g;break;case "EDX":a.H.L=g;break;case "ESP":ge(a.H,g);break;case "EBP":a.H.M=g;break;case "ESI":a.H.K=g;break;case "EDI":a.H.J=g;break;case "FS":a.H.Ga.load(g);break;case "GS":a.H.Ha.load(g);break;case "CR0":a.H.qa=g;ak.call(a.H,g);break;case "CR2":a.H.Dd=g;break;case "CR3":a.H.Wc=g;te.call(a.H,g);break;default:k=!0}}if(k){a.P("unknown register: "+e);return}}if(!f){a.P("invalid value: "+b);return}Bd(a.H);a.P("updated registers:")}}a.P($A(a,d));c&&(a.M=jy(a,A(a.H),a.H.Z.U),Sz(a,Hy(a.M)))}}
function hB(a,b){b=Ba(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.P(Kz(a,c[2])):ey(a,b,!1)}function iB(a,b,c){for(var d=null,e=b.Ja,f=e,g=1;6>=g&&e;g++){if(2<g){b.Ja=e;b.ya=null;var h=Zz(a,b);if(0<=h.indexOf("CALL")||c&&0<=h.indexOf("INT")){var k=h.indexOf(" ");if(e+(h.indexOf(" ",k+1)-k-1)/2==f){d=h;break}}}e--}b.Ja=f;return d}function jB(a,b,c){var d="t"!=b;c=Zx(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Xa(c,function(){return Kb(a,!0)&&Iy(a,e,d,!1)},function(){Bd(a.H);Kb(a,!1)})}
function QA(a,b,c){if(a.dh=b)null!=a.qj&&(a.Hb=a.qj),null!=a.pj&&(a.dc=a.pj),a.qj=a.Hb,a.pj=a.dc;a.Ge=c||0}
function Sz(a,b,c,d){if(b=Ry(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Ry(a,c,!0);if(!d||d.Ja<b.Ja)return;e=d.Ja-b.Ja;if(256<e){a.P("range too large");return}d=-1}c=0;var f;for(QA(b,!0);0<e&&d--;){f=Jb(a,!1)||a.K?a.N:null;var g=null!=f?"cycles":null,h=FA(a,b),k=b.ya;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.P(m)}h[3]&&(g=h[3],f=null);f=Zz(a,b,g,f);b.dh||d||d++;a.P(f);a.M=b;e-=b.ya-k;c++}}}
g;break;case "EDX":a.H.L=g;break;case "ESP":ge(a.H,g);break;case "EBP":a.H.M=g;break;case "ESI":a.H.K=g;break;case "EDI":a.H.J=g;break;case "FS":a.H.Ga.load(g);break;case "GS":a.H.Ha.load(g);break;case "CR0":a.H.qa=g;ak.call(a.H,g);break;case "CR2":a.H.Dd=g;break;case "CR3":a.H.Wc=g;te.call(a.H,g);break;default:k=!0}}if(k){a.P("unknown register: "+e);return}}if(!f){a.P("invalid value: "+b);return}Bd(a.H);a.P("updated registers:")}}a.P(aB(a,d));c&&(a.M=ky(a,A(a.H),a.H.Z.U),Tz(a,Iy(a.M)))}}
function iB(a,b){b=Ba(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.P(Lz(a,c[2])):fy(a,b,!1)}function jB(a,b,c){for(var d=null,e=b.Ja,f=e,g=1;6>=g&&e;g++){if(2<g){b.Ja=e;b.ya=null;var h=$z(a,b);if(0<=h.indexOf("CALL")||c&&0<=h.indexOf("INT")){var k=h.indexOf(" ");if(e+(h.indexOf(" ",k+1)-k-1)/2==f){d=h;break}}}e--}b.Ja=f;return d}function kB(a,b,c){var d="t"!=b;c=$x(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Xa(c,function(){return Kb(a,!0)&&Jy(a,e,d,!1)},function(){Bd(a.H);Kb(a,!1)})}
function RA(a,b,c){if(a.dh=b)null!=a.qj&&(a.Hb=a.qj),null!=a.pj&&(a.dc=a.pj),a.qj=a.Hb,a.pj=a.dc;a.Ge=c||0}
function Tz(a,b,c,d){if(b=Sy(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=Sy(a,c,!0);if(!d||d.Ja<b.Ja)return;e=d.Ja-b.Ja;if(256<e){a.P("range too large");return}d=-1}c=0;var f;for(RA(b,!0);0<e&&d--;){f=Jb(a,!1)||a.K?a.N:null;var g=null!=f?"cycles":null,h=GA(a,b),k=b.ya;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.P(m)}h[3]&&(g=h[3],f=null);f=$z(a,b,g,f);b.dh||d||d++;a.P(f);a.M=b;e-=b.ya-k;c++}}}
l.Dg=function(a,b,c){if(b)if(a){0>this.A&&this.C.length&&(this.A=0);if(0>this.A||a!=this.C[this.A])this.C.splice(0,0,a),this.A=0;this.A--}else a=this.C[this.A+1];b=[];if(a){a=a.toLowerCase().replace(/""/g,"'");var d=0,e=null;c=c||";";for(var f=0;f<=a.length;f++){var g=a.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==c&&!e||!g)b.push(Ba(a.substring(d,f))),d=f+1}}return b};
function Yz(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.ga&&(a.P("ended assemble at "+Hy(a.da)),a.M=a.da,a.ga=!1),b="";else if(!c){var e=">> ";a.H.qa&1&&(e=a.H.O&131072?"-- ":"## ");a.P(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.za=null;if(Gb(a)&&0<b.length){a.ga&&(b="a "+Hy(a.da)+" "+b);var g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var h=g[0],k=h.charAt(0),m=1;m<h.length;m++){var p=h.charAt(m);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var v=
Ry(a,g[1],!0);if(v)if(a.da=v,void 0===g[2])a.P("begin assemble at "+Hy(v)),a.ga=!0,Bd(a.H);else{var u;a.P("not supported yet");u=[];if(u.length){for(var E=0;E<u.length;E++)a.fc(v,u[E],1);a.P(Zz(a,a.da))}}break;case "b":a:{var G=g[0],I=g[1],J=b;if("?"==I)a.P("breakpoint commands:"),a.P("\tbi [p]\ttoggle break on input port [p]"),a.P("\tbo [p]\ttoggle break on output port [p]"),a.P("\tbp [a]\tset exec breakpoint at addr [a]"),a.P("\tbr [a]\tset read breakpoint at addr [a]"),a.P("\tbw [a]\tset write breakpoint at addr [a]"),
a.P("\tbc [a]\tclear breakpoint at addr [a]"),a.P("\tbl\tlist all breakpoints"),a.P("\tbn [n]\tbreak after [n] instruction(s)");else{var T=G.charAt(1);if("l"==T){var L;L=0+Xz(a,a.B);L+=Xz(a,a.aa);(L+=Xz(a,a.O))||a.P("no breakpoints")}else if("n"==T)a.xa=Zx(a,I),a.P("break after "+a.xa+" instruction(s)");else if(void 0===I)a.P("missing breakpoint address");else{var ua={};if("*"!=I&&(ua=Ry(a,I,!0,!0),!ua))break a;I=null==ua.Ja?I:sa(ua.Ja);"c"==T?null==ua.Ja?(ky(a),a.P("all breakpoints cleared")):Gy(a,
a.B,ua)||Gy(a,a.aa,ua)||Gy(a,a.O,ua)||a.P("breakpoint missing: "+Hy(ua)):"i"==T?a.P("breakpoint "+(Mc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+I+" (input)"):"o"==T?a.P("breakpoint "+(Qc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+I+" (output)"):null!=ua.Ja&&(Uy(a,ua,J),"p"==T?a.Hd(a.B,ua):"r"==T?a.Hd(a.aa,ua):"w"==T?a.Hd(a.O,ua):a.P("unknown breakpoint command: "+T))}}}break;case "c":bB(a);break;case "d":a:{var ca=g,xb,za=ca[0],cb=ca[1],Sa=ca[2],rb=ca[3];if("?"==cb){var db="";for(xb in Rb)a.Ba[xb]&&
(db&&(db+=","),db+=xb);db+=",state,symbols";a.P("dump memory commands:");a.P("\tdb [a] [#] dump # bytes at address a");a.P("\tdw [a] [#] dump # words at address a");a.P("\tdd [a] [#] dump # dwords at address a");a.P("\tdh [#] [#] dump # instructions from history");a.P("\tdi [#] dump descriptor info for IDT #");a.P("\tds [#] dump descriptor info for selector #");db.length&&a.P("dump extension commands:\n\t"+db)}else if("state"==cb){var rc=kB(a.pa,!0);rc?"console"==Sa?console.log(rc):
(bB(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.F.length;ib++){var df=a.F[ib],Ld;for(Ld in df.Gd)if("."!=Ld.charAt(0)){var ef=df.Gd[Ld],vg=ef.o;if(void 0!==vg){var ff=ef.s;void 0===ff&&(ff=df.U);var wg=df.Gd[Ld].l;wg&&(Ld=wg);a.P(wy(vg,ff)+" "+Ld)}}}else{if("ds"==za||"dg"==za||"dl"==za)za="d",ca=[za,"desc",cb];"d"==za&&"page"==cb&&(za="dp",ca.shift());if("dp"==za){ca.shift();var qm=ca[0];if(qm){var Qg=a.Sb(Ry(a,qm));if(-1===Qg)a.P("invalid address: "+qm);else{var pf,
Qa=null;if(80386<=a.H.ca){var qf=a.ka,Qa={};Qa.Kk=(Qg&-4194304)>>>20;Qa.Ui=a.H.Wc+Qa.Kk;Qa.nb=qf.aa[(Qa.Ui&qf.C)>>>qf.A];Qa.Bj=Qa.nb.Od(Qa.Kk);Qa.Lk=(Qg&4190208)>>>10;Qa.Vi=(Qa.Bj&-4096)+Qa.Lk;Qa.ob=qf.aa[(Qa.Vi&qf.C)>>>qf.A];Qa.Cj=Qa.ob.Od(Qa.Lk);Qa.vl=(Qa.Cj&-4096)+(Qg&4095)}if(pf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var we="%"+q(Qg),we=we+(" %%"+Wy(pf.Ui,pf.Bj)),we=
we+(" %%"+Wy(pf.Vi,pf.Cj,!0)),we=we+(" %%"+q(pf.vl));a.P(we)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";fB(a,ca);break a}for(xb in Rb)if(ca[1]==xb){var wt=a.Ba[xb];wt?(ca.shift(),ca.shift(),wt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.ib||"db")}else a.ib=za;if("dh"==za){var xt=cb,yt=Sa,zt="",At=0,Lc=a.oa,jd=a.W;if(jd.length){var vc=+xt||a.Xa,Rg=+yt||10;isNaN(vc)?vc=Rg:zt="more ";vc>jd.length&&(a.P("note: only "+
jd.length+" available"),vc=jd.length);Lc-=vc;0>Lc&&(null==jd[jd.length-1].U?(vc=Lc+vc,Lc=0):Lc+=jd.length);var rm=[];"call"==yt&&(Rg=1E5,rm=["CALL"]);for(void 0!==xt&&a.P(vc+" instructions earlier:");0<Rg&&Lc!=a.oa;){var xe=jd[Lc++];if(null==xe.U)break;var Sg=jy(a,xe.Ja,xe.U,xe.ya,xe.type,xe.Hb,xe.dc),aC=vc--,Bt=Zz(a,Sg,"history",aC);(!rm.length||0<=Bt.indexOf(rm[0]))&&a.P(Bt);Sg.Ge&&(Lc+=Sg.Ge,Rg-=Sg.Ge,vc-=Sg.Ge);Lc>=jd.length&&(Lc=0);a.Xa=vc;At++;Rg--}}At||(a.P("no "+zt+"history available"),a.Xa=
void 0)}else if("di"==za){ca.shift();var sm=ca[0];if(sm){var Tg=Zx(a,sm);if(void 0===Tg||0>Tg||255<Tg)a.P("invalid vector: "+sm);else{var Ct="&",Dt=!!(a.H.qa&1),Et=!1,Wi=a.H.Pb+(Tg<<(Dt?3:2)),Ft=a.H.ja(Wi+0),bC=a.H.ja(Wi+2);Dt&&(Ct="#",a.H.ja(Wi+4)&2048&&(Et=!0,Ft|=a.H.ja(Wi+6)<<16));a.P("dumpIDT("+sa(Tg)+"): "+Ct+q(bC,4)+":"+q(Ft,Et?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var rf=Ry(a,cb);if(rf&&(null!=rf.U||null!=rf.ya)){var Xi=0;Sa&&("l"==Sa.charAt(0)&&
(Sa=Sa.substr(1)||rb),Xi=Zx(a,Sa)>>>0,65536<Xi&&(Xi=65536));for(var Ug="",sf="dd"==za?4:"dw"==za?2:1,Yi=sf*Xi||128,cC=Yi+15>>4||1;cC--&&0<Yi;){var Vg=0,tm=0,Wg,um="",Gt="",cb=Hy(rf);for(Wg=4==sf?16:a.D;0<Wg&&0<Yi;Wg--){var Zi=a.Ia(rf,1),Vg=Vg|Zi<<(tm++<<3);tm==sf&&(um+=8==a.D?ra(Vg,3*sf):q(Vg,2*sf),um+=1==sf?9==Wg?"-":" ":" ",Vg=tm=0);Gt+=32<=Zi&&128>Zi?String.fromCharCode(Zi):".";Yi--}Ug&&(Ug+="\n");Ug+=cb+" "+um+(Wg?"":" "+Gt)}Ug&&a.P(Ug);a.Ma=rf}}}}}break;case "e":if("else"==g[0])break;var $i=
1,Ht=255,It=a.Ia,Jt=a.fc;"ew"==g[0]&&($i=2,Ht=65535,It=a.Yc,Jt=a.jl);var Kt=$i<<1,Lt=g[1];if(null==Lt)a.P("edit memory commands:"),a.P("\teb [a] [...] edit bytes at address a"),a.P("\tew [a] [...] edit words at address a");else{var aj=Ry(a,Lt);if(aj)for(var bj=2;bj<g.length;bj++){var Xg=ey(a,g[bj]);if(void 0===Xg){a.P("unrecognized value: "+g[bj]);break}Xg&~Ht&&a.P("warning: "+q(Xg)+" exceeds "+$i+"-byte value");var dC=It.call(a,aj);a.P("changing "+Hy(aj)+" from "+q(dC,Kt,!0)+" to "+q(Xg,Kt,!0));
Jt.call(a,aj,Xg,$i)}}break;case "f":cB(a,g[1]);break;case "g":a:{var Mt=g[1],eC=b;"gt"==g[0]&&(a.Ca=!0);if(void 0!==Mt){var vm=Ry(a,Mt,!0);if(!vm)break a;Uy(a,vm,eC);a.Hd(a.B,vm,!0)}Pz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var wm;if(a.ea.vb)wm="halting",a.Jb();else{if(Jb(a,!0))break a;wm="already halted"}c||a.P(wm)}break;case "i":if("if"==g[0]){var xm;var Yg=b.substr(2),Yg=Ba(Yg);ey(a,Yg)?(c||a.P("true: "+Yg),xm=!0):(c||a.P("false: "+Yg),xm=!1);xm||(d=!1);
break}if("int"==g[0]){var cj;a:switch(Zx(a,g[1])){case 19:Vk(a,19,a.H.da,!0);a.la=a.Z;cj=!0;break a;case 33:Vk(a,33,a.H.da,!0);a.la=a.Z;cj=!0;break a;default:cj=!1}cj||(d=!1);break}var ym=g[1];if(ym&&"?"!=ym){var zm=Zx(a,ym);if(void 0!==zm){var fC=Oc(a.ka,zm,1);a.P(sa(zm)+": "+r(fC))}}else a.P("input commands:"),a.P("\ti [p]\tread port [p]"),a.P("warning: port accesses can affect hardware state");break;case "k":var gC=g[0];if("?"==g[1])a.P("stack trace commands:"),a.P("\tk\tshow frame addresses"),
a.P("\tks\tshow symbol information");else{var Am=0,Nt=a.H.Z.U,Zg=jy(a),Td=jy(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Hy(Td));10>Am;){for(var kd=null,hC=256;Td.Ja>>>0<a.H.dg>>>0;){Zg.Ja=a.jb(Td,!0);if(null==Td.ya||!hC--)break;Zg.U=Nt;if(kd=iB(a,Zg))break;Zg.U=a.jb(Td);if(kd=iB(a,Zg,!0)){Nt=a.jb(Td,!0);0<kd.indexOf("INT")&&a.jb(Td,!0);break}}if(!kd||null==kd)break;var Ot=null;if("ks"==gC){var Pt=kd.match(/[0-9A-F]+$/);Pt&&(Ot=eB(a,Pt[0]))}kd=Aa(kd,50)+" ;"+(Ot||"stack="+Hy(Td));a.P(kd);Am++}Am||
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){eB(a,g[1],!0);break}fB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],dj=g[2];if(a.G){var Qt=1;"-"==dj.charAt(0)&&(Qt=-1,dj=dj.substr(1));var ye=Zx(a,dj,Bm);if(void 0!==ye)switch(ye=ye*Qt|0,Bm){case "x":a.G.uf(ye,0);break;case "y":a.G.uf(0,ye);break;case "click":a.G.Wd(ye,!0);a.G.Wd(ye,!1);break;default:a.P("unknown action: "+Bm)}}else a.P("no mouse");break}a:{var ld,md=null,fb=g[1];"?"==fb&&(fb=void 0);if(void 0!==fb){var ze=0;if("all"==
fb)ze=1610481663,fb=null;else if("on"==fb)md=!0,fb=null;else if("off"==fb)md=!1,fb=null;else{"keys"==fb&&(fb="key");"kbd"==fb&&(fb="keyboard");for(ld in Rb)if(fb==ld){ze=Rb[ld];md=!!(a.ic&ze);break}if(!ze){a.P("unknown message category: "+fb);break a}}ze&&("on"==g[2]?(a.ic|=ze,md=!0):"off"==g[2]&&(a.ic&=~ze,md=!1))}var iC=0,$g="";for(ld in Rb)if(!fb||fb==ld){var jC=!!(a.ic&Rb[ld]);if(null===md||md==jC)$g&&($g+=","),++iC%10||($g+="\n\t"),"key"==ld&&(ld="keys"),$g+=ld}void 0===fb&&a.P("message commands:\n\tm [category] [on|off]\tturn categories on/off");
a.P((null!==md?md?"messages on: ":"messages off: ":"message categories:\n\t")+($g||"none"));ly(a)}break;case "o":var Cm=g[1],kC=g[2];if(Cm&&"?"!=Cm){var Dm=Zx(a,Cm,"port #"),Em=Zx(a,kC);void 0!==Dm&&void 0!==Em&&(Sc(a.ka,Dm,1,Em),a.P(sa(Dm)+": "+r(Em)))}else a.P("output commands:"),a.P("\to [p] [b]\twrite byte [b] to port [p]"),a.P("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){hB(a,b.substr(5));break}var Rt="pr"==g[0]?1:0,tf=1+Rt;if(a.K)a.P("step in progress");
else{var ej,St=!1,Hb=jy(a,A(a.H),a.H.Z.U);do switch(ej=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:My(a,Hb,1);ej=!0;break;case 204:case 206:a.K=tf;My(a,Hb,1);break;case 205:case 224:case 225:case 226:a.K=tf;My(a,Hb,Hb.Hb?4:2);break;case 232:a.K=tf;My(a,Hb,Hb.Hb?5:3);break;case 154:a.K=tf;My(a,Hb,Hb.Hb?7:5);break;case 255:var Tt=a.jb(Hb)&14591;if(4351==Tt||6399==Tt)a.K=tf,Zz(a,Hb);break;case 243:case 242:My(a,Hb,1);St=ej=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:St&&
(a.K=tf,My(a,Hb,1))}while(ej);a.K?(a.Hd(a.B,Hb,!0),Pz(a)||(a.pa&&a.pa.md(),a.K=0)):jB(a,Rt?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Rz(a,g);break;case "t":jB(a,g[0],g[1]);break;case "u":Sz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){dB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.35.0 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Nb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Ma());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var ah;void 0!==g[3]&&(ah=+g[3]);
function Zz(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.ga&&(a.P("ended assemble at "+Iy(a.da)),a.M=a.da,a.ga=!1),b="";else if(!c){var e=">> ";a.H.qa&1&&(e=a.H.O&131072?"-- ":"## ");a.P(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.za=null;if(Gb(a)&&0<b.length){a.ga&&(b="a "+Iy(a.da)+" "+b);var g=b.replace(/ +/g," ").split(" ");if(g&&g.length)for(var h=g[0],k=h.charAt(0),m=1;m<h.length;m++){var p=h.charAt(m);if("?"==k||"r"==k||"a">p||"z"<p){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var v=
Sy(a,g[1],!0);if(v)if(a.da=v,void 0===g[2])a.P("begin assemble at "+Iy(v)),a.ga=!0,Bd(a.H);else{var u;a.P("not supported yet");u=[];if(u.length){for(var E=0;E<u.length;E++)a.fc(v,u[E],1);a.P($z(a,a.da))}}break;case "b":a:{var G=g[0],I=g[1],J=b;if("?"==I)a.P("breakpoint commands:"),a.P("\tbi [p]\ttoggle break on input port [p]"),a.P("\tbo [p]\ttoggle break on output port [p]"),a.P("\tbp [a]\tset exec breakpoint at addr [a]"),a.P("\tbr [a]\tset read breakpoint at addr [a]"),a.P("\tbw [a]\tset write breakpoint at addr [a]"),
a.P("\tbc [a]\tclear breakpoint at addr [a]"),a.P("\tbl\tlist all breakpoints"),a.P("\tbn [n]\tbreak after [n] instruction(s)");else{var T=G.charAt(1);if("l"==T){var L;L=0+Yz(a,a.B);L+=Yz(a,a.aa);(L+=Yz(a,a.O))||a.P("no breakpoints")}else if("n"==T)a.xa=$x(a,I),a.P("break after "+a.xa+" instruction(s)");else if(void 0===I)a.P("missing breakpoint address");else{var ua={};if("*"!=I&&(ua=Sy(a,I,!0,!0),!ua))break a;I=null==ua.Ja?I:sa(ua.Ja);"c"==T?null==ua.Ja?(ly(a),a.P("all breakpoints cleared")):Hy(a,
a.B,ua)||Hy(a,a.aa,ua)||Hy(a,a.O,ua)||a.P("breakpoint missing: "+Iy(ua)):"i"==T?a.P("breakpoint "+(Mc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+I+" (input)"):"o"==T?a.P("breakpoint "+(Qc(a.ka,ua.Ja)?"enabled":"cleared")+": port "+I+" (output)"):null!=ua.Ja&&(Vy(a,ua,J),"p"==T?a.Hd(a.B,ua):"r"==T?a.Hd(a.aa,ua):"w"==T?a.Hd(a.O,ua):a.P("unknown breakpoint command: "+T))}}}break;case "c":cB(a);break;case "d":a:{var ca=g,xb,za=ca[0],cb=ca[1],Sa=ca[2],rb=ca[3];if("?"==cb){var db="";for(xb in Rb)a.Ba[xb]&&
(db&&(db+=","),db+=xb);db+=",state,symbols";a.P("dump memory commands:");a.P("\tdb [a] [#] dump # bytes at address a");a.P("\tdw [a] [#] dump # words at address a");a.P("\tdd [a] [#] dump # dwords at address a");a.P("\tdh [#] [#] dump # instructions from history");a.P("\tdi [#] dump descriptor info for IDT #");a.P("\tds [#] dump descriptor info for selector #");db.length&&a.P("dump extension commands:\n\t"+db)}else if("state"==cb){var rc=lB(a.pa,!0);rc?"console"==Sa?console.log(rc):
(cB(a),a.P(rc)):a.P("powerOff() error")}else if("symbols"==cb)for(var ib=0;ib<a.F.length;ib++){var df=a.F[ib],Ld;for(Ld in df.Gd)if("."!=Ld.charAt(0)){var ef=df.Gd[Ld],vg=ef.o;if(void 0!==vg){var ff=ef.s;void 0===ff&&(ff=df.U);var wg=df.Gd[Ld].l;wg&&(Ld=wg);a.P(xy(vg,ff)+" "+Ld)}}}else{if("ds"==za||"dg"==za||"dl"==za)za="d",ca=[za,"desc",cb];"d"==za&&"page"==cb&&(za="dp",ca.shift());if("dp"==za){ca.shift();var qm=ca[0];if(qm){var Qg=a.Sb(Sy(a,qm));if(-1===Qg)a.P("invalid address: "+qm);else{var pf,
Qa=null;if(80386<=a.H.ca){var qf=a.ka,Qa={};Qa.Kk=(Qg&-4194304)>>>20;Qa.Ui=a.H.Wc+Qa.Kk;Qa.nb=qf.aa[(Qa.Ui&qf.C)>>>qf.A];Qa.Bj=Qa.nb.Od(Qa.Kk);Qa.Lk=(Qg&4190208)>>>10;Qa.Vi=(Qa.Bj&-4096)+Qa.Lk;Qa.ob=qf.aa[(Qa.Vi&qf.C)>>>qf.A];Qa.Cj=Qa.ob.Od(Qa.Lk);Qa.vl=(Qa.Cj&-4096)+(Qg&4095)}if(pf=Qa){a.P("linear PDE addr PDE PTE addr PTE physical");a.P("--------- ---------- -------- ---------- -------- ----------");var we="%"+q(Qg),we=we+(" %%"+Xy(pf.Ui,pf.Bj)),we=
we+(" %%"+Xy(pf.Vi,pf.Cj,!0)),we=we+(" %%"+q(pf.vl));a.P(we)}else a.P("unsupported operation")}}else a.P("missing address")}else{if("d"==za){if("disk"==cb){ca[0]="l";ca[1]="json";gB(a,ca);break a}for(xb in Rb)if(ca[1]==xb){var xt=a.Ba[xb];xt?(ca.shift(),ca.shift(),xt(ca)):a.P("no dump registered for "+cb);break a}cb||(za=a.ib||"db")}else a.ib=za;if("dh"==za){var yt=cb,zt=Sa,At="",Bt=0,Lc=a.oa,jd=a.W;if(jd.length){var vc=+yt||a.Xa,Rg=+zt||10;isNaN(vc)?vc=Rg:At="more ";vc>jd.length&&(a.P("note: only "+
jd.length+" available"),vc=jd.length);Lc-=vc;0>Lc&&(null==jd[jd.length-1].U?(vc=Lc+vc,Lc=0):Lc+=jd.length);var rm=[];"call"==zt&&(Rg=1E5,rm=["CALL"]);for(void 0!==yt&&a.P(vc+" instructions earlier:");0<Rg&&Lc!=a.oa;){var xe=jd[Lc++];if(null==xe.U)break;var Sg=ky(a,xe.Ja,xe.U,xe.ya,xe.type,xe.Hb,xe.dc),bC=vc--,Ct=$z(a,Sg,"history",bC);(!rm.length||0<=Ct.indexOf(rm[0]))&&a.P(Ct);Sg.Ge&&(Lc+=Sg.Ge,Rg-=Sg.Ge,vc-=Sg.Ge);Lc>=jd.length&&(Lc=0);a.Xa=vc;Bt++;Rg--}}Bt||(a.P("no "+At+"history available"),a.Xa=
void 0)}else if("di"==za){ca.shift();var sm=ca[0];if(sm){var Tg=$x(a,sm);if(void 0===Tg||0>Tg||255<Tg)a.P("invalid vector: "+sm);else{var Dt="&",Et=!!(a.H.qa&1),Ft=!1,Wi=a.H.Pb+(Tg<<(Et?3:2)),Gt=a.H.ja(Wi+0),cC=a.H.ja(Wi+2);Et&&(Dt="#",a.H.ja(Wi+4)&2048&&(Ft=!0,Gt|=a.H.ja(Wi+6)<<16));a.P("dumpIDT("+sa(Tg)+"): "+Dt+q(cC,4)+":"+q(Gt,Ft?8:4))}}else a.P("no IDT vector")}else if("dt"==za)ca.shift(),a.P("no information");else{var rf=Sy(a,cb);if(rf&&(null!=rf.U||null!=rf.ya)){var Xi=0;Sa&&("l"==Sa.charAt(0)&&
(Sa=Sa.substr(1)||rb),Xi=$x(a,Sa)>>>0,65536<Xi&&(Xi=65536));for(var Ug="",sf="dd"==za?4:"dw"==za?2:1,Yi=sf*Xi||128,dC=Yi+15>>4||1;dC--&&0<Yi;){var Vg=0,tm=0,Wg,um="",Ht="",cb=Iy(rf);for(Wg=4==sf?16:a.D;0<Wg&&0<Yi;Wg--){var Zi=a.Ia(rf,1),Vg=Vg|Zi<<(tm++<<3);tm==sf&&(um+=8==a.D?ra(Vg,3*sf):q(Vg,2*sf),um+=1==sf?9==Wg?"-":" ":" ",Vg=tm=0);Ht+=32<=Zi&&128>Zi?String.fromCharCode(Zi):".";Yi--}Ug&&(Ug+="\n");Ug+=cb+" "+um+(Wg?"":" "+Ht)}Ug&&a.P(Ug);a.Ma=rf}}}}}break;case "e":if("else"==g[0])break;var $i=
1,It=255,Jt=a.Ia,Kt=a.fc;"ew"==g[0]&&($i=2,It=65535,Jt=a.Yc,Kt=a.jl);var Lt=$i<<1,Mt=g[1];if(null==Mt)a.P("edit memory commands:"),a.P("\teb [a] [...] edit bytes at address a"),a.P("\tew [a] [...] edit words at address a");else{var aj=Sy(a,Mt);if(aj)for(var bj=2;bj<g.length;bj++){var Xg=fy(a,g[bj]);if(void 0===Xg){a.P("unrecognized value: "+g[bj]);break}Xg&~It&&a.P("warning: "+q(Xg)+" exceeds "+$i+"-byte value");var eC=Jt.call(a,aj);a.P("changing "+Iy(aj)+" from "+q(eC,Lt,!0)+" to "+q(Xg,Lt,!0));
Kt.call(a,aj,Xg,$i)}}break;case "f":dB(a,g[1]);break;case "g":a:{var Nt=g[1],fC=b;"gt"==g[0]&&(a.Ca=!0);if(void 0!==Nt){var vm=Sy(a,Nt,!0);if(!vm)break a;Vy(a,vm,fC);a.Hd(a.B,vm,!0)}Qz(a,!0)||c||a.P("cpu busy or unavailable, run command ignored")}break;case "h":a:{var wm;if(a.ea.vb)wm="halting",a.Jb();else{if(Jb(a,!0))break a;wm="already halted"}c||a.P(wm)}break;case "i":if("if"==g[0]){var xm;var Yg=b.substr(2),Yg=Ba(Yg);fy(a,Yg)?(c||a.P("true: "+Yg),xm=!0):(c||a.P("false: "+Yg),xm=!1);xm||(d=!1);
break}if("int"==g[0]){var cj;a:switch($x(a,g[1])){case 19:Vk(a,19,a.H.da,!0);a.la=a.Z;cj=!0;break a;case 33:Vk(a,33,a.H.da,!0);a.la=a.Z;cj=!0;break a;default:cj=!1}cj||(d=!1);break}var ym=g[1];if(ym&&"?"!=ym){var zm=$x(a,ym);if(void 0!==zm){var gC=Oc(a.ka,zm,1);a.P(sa(zm)+": "+r(gC))}}else a.P("input commands:"),a.P("\ti [p]\tread port [p]"),a.P("warning: port accesses can affect hardware state");break;case "k":var hC=g[0];if("?"==g[1])a.P("stack trace commands:"),a.P("\tk\tshow frame addresses"),
a.P("\tks\tshow symbol information");else{var Am=0,Ot=a.H.Z.U,Zg=ky(a),Td=ky(a,z(a.H),a.H.Y.U);for(a.P("stack trace for "+Iy(Td));10>Am;){for(var kd=null,iC=256;Td.Ja>>>0<a.H.dg>>>0;){Zg.Ja=a.jb(Td,!0);if(null==Td.ya||!iC--)break;Zg.U=Ot;if(kd=jB(a,Zg))break;Zg.U=a.jb(Td);if(kd=jB(a,Zg,!0)){Ot=a.jb(Td,!0);0<kd.indexOf("INT")&&a.jb(Td,!0);break}}if(!kd||null==kd)break;var Pt=null;if("ks"==hC){var Qt=kd.match(/[0-9A-F]+$/);Qt&&(Pt=fB(a,Qt[0]))}kd=Aa(kd,50)+" ;"+(Pt||"stack="+Iy(Td));a.P(kd);Am++}Am||
a.P("no return addresses found")}break;case "l":if("ln"==g[0]){fB(a,g[1],!0);break}gB(a,g);break;case "m":if("mouse"==g[0]){var Bm=g[1],dj=g[2];if(a.G){var Rt=1;"-"==dj.charAt(0)&&(Rt=-1,dj=dj.substr(1));var ye=$x(a,dj,Bm);if(void 0!==ye)switch(ye=ye*Rt|0,Bm){case "x":a.G.uf(ye,0);break;case "y":a.G.uf(0,ye);break;case "click":a.G.Wd(ye,!0);a.G.Wd(ye,!1);break;default:a.P("unknown action: "+Bm)}}else a.P("no mouse");break}a:{var ld,md=null,fb=g[1];"?"==fb&&(fb=void 0);if(void 0!==fb){var ze=0;if("all"==
fb)ze=1610481663,fb=null;else if("on"==fb)md=!0,fb=null;else if("off"==fb)md=!1,fb=null;else{"keys"==fb&&(fb="key");"kbd"==fb&&(fb="keyboard");for(ld in Rb)if(fb==ld){ze=Rb[ld];md=!!(a.ic&ze);break}if(!ze){a.P("unknown message category: "+fb);break a}}ze&&("on"==g[2]?(a.ic|=ze,md=!0):"off"==g[2]&&(a.ic&=~ze,md=!1))}var jC=0,$g="";for(ld in Rb)if(!fb||fb==ld){var kC=!!(a.ic&Rb[ld]);if(null===md||md==kC)$g&&($g+=","),++jC%10||($g+="\n\t"),"key"==ld&&(ld="keys"),$g+=ld}void 0===fb&&a.P("message commands:\n\tm [category] [on|off]\tturn categories on/off");
a.P((null!==md?md?"messages on: ":"messages off: ":"message categories:\n\t")+($g||"none"));my(a)}break;case "o":var Cm=g[1],lC=g[2];if(Cm&&"?"!=Cm){var Dm=$x(a,Cm,"port #"),Em=$x(a,lC);void 0!==Dm&&void 0!==Em&&(Sc(a.ka,Dm,1,Em),a.P(sa(Dm)+": "+r(Em)))}else a.P("output commands:"),a.P("\to [p] [b]\twrite byte [b] to port [p]"),a.P("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){iB(a,b.substr(5));break}var St="pr"==g[0]?1:0,tf=1+St;if(a.K)a.P("step in progress");
else{var ej,Tt=!1,Hb=ky(a,A(a.H),a.H.Z.U);do switch(ej=!1,a.Ia(Hb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Ny(a,Hb,1);ej=!0;break;case 204:case 206:a.K=tf;Ny(a,Hb,1);break;case 205:case 224:case 225:case 226:a.K=tf;Ny(a,Hb,Hb.Hb?4:2);break;case 232:a.K=tf;Ny(a,Hb,Hb.Hb?5:3);break;case 154:a.K=tf;Ny(a,Hb,Hb.Hb?7:5);break;case 255:var Ut=a.jb(Hb)&14591;if(4351==Ut||6399==Ut)a.K=tf,$z(a,Hb);break;case 243:case 242:Ny(a,Hb,1);Tt=ej=!0;break;case 108:case 109:case 110:case 111:case 164:case 165:case 166:case 167:case 170:case 171:case 172:case 173:case 174:case 175:Tt&&
(a.K=tf,Ny(a,Hb,1))}while(ej);a.K?(a.Hd(a.B,Hb,!0),Qz(a)||(a.pa&&a.pa.md(),a.K=0)):kB(a,St?"tr":"t")}break;case "r":if("reset"==b){a.pa&&a.pa.reset();break}Sz(a,g);break;case "t":kB(a,g[0],g[1]);break;case "u":Tz(a,g[1],g[2],8);break;case "v":if("var"==g[0]){eB(a,b.substr(3))||(d=!1);break}a.P("PCx86 version 1.35.0 ("+a.H.ca+",RELEASE,NOPREFETCH"+(Nb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.P(Ma());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var ah;void 0!==g[3]&&(ah=+g[3]);
switch(g[2]){case "int":a.H.T.Te=ah;break;case "start":a.H.T.xf=ah;break;case "stop":a.H.T.Ve=ah;break;default:a.P("unknown cs option");break a}void 0!==ah&&Ad(a.H);a.P("checksums "+(a.H.ea.Ie?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Ed(a.H,+g[2])||a.P("warning: using 1x multiplier, previous target not reached"));a.P("target speed: "+(a.H.T.pe.toFixed(2)+"Mhz")+" ("+a.H.T.Ld+"x)");break;default:a.P("unknown option: "+g[1])}else a.P("execution options:"),a.P("\tcs int #\tset checksum cycle interval to #"),
a.P("\tcs start #\tset checksum cycle start count to #"),a.P("\tcs stop #\tset checksum cycle stop count to #"),a.P("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){hB(a,b.substr(1));break}var Fm="commands:",Gm;for(Gm in lB)Fm+="\n"+Aa(Gm,7)+lB[Gm];Ig(a)||(Fm+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Fm);break;default:a.P("unknown command: "+b),d=!1}}}catch(Vt){a.P("debugger error: "+(Vt.stack||Vt.message)),d=!1}return d}
function ny(a,b,c){b=a.Dg(b,c);for(var d in b)if(!Yz(a,b[+d]))return!1;return!0}
var Mz={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Lz=[26,28,40,42,109],lB={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},Sy=0,Ky=1,ty=2,Vy=3,Ty=4,Ly=5,gA=18,hA=28,cA=36,lA=80,iA=104,jA=107,aA=176,$z="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
eA="FLD FST FSTP FXCH FILD FIST FISTP FBLD FBSTP FADD FADDP FIADD FSUB FSUBP FISUB FSUBR FSUBRP FISUBR FMUL FMULP FIMUL FDIV FDIVP FIDIV FDIVR FDIVRP FIDIVR FSQRT FSCALE FPREM FRNDINT FXTRACT FABS FCHS FCOM FCOMP FCOMPP FICOM FICOMP FTST FXAM FPTAN FPATAN F2XM1 FYL2X FYL2XP1 FLDZ FLD1 FLDPI FLDL2T FLDL2E FLDLG2 FLDLN2 FINIT FNINIT FDISI FNDISI FENI FNENI FLDCW FSTCW FNSTCW FSTSW FNSTSW FCLEX FNCLEX FSTENV FNSTENV FLDENV FSAVE FNSAVE FRSTOR FINCSTP FDECSTP FFREE FFREEP FNOP FWAIT FSETPM FSINCOS FSTSWAX".split(" "),
gB=["VALID","ZERO ","SPEC ","EMPTY"],mA=2,nA=3,PA=[8086,80186,80286,80386],Zy=0,$y=1,az=2,bz=3,cz=4,dz=5,ez=6,fz=7,gz=8,hz=9,iz=10,jz=11,kz=12,lz=13,mz=14,nz=15,pz=16,oz=22,Jz=23,wz=24,xz=25,yz=26,zz=27,Az=28,Bz=29,Cz=30,Dz=31,Ez=32,Fz=33,Gz=34,Hz=35,TA=40,VA=48,Iz=56,Xy=["AL","CL","DL","BL","AH","CH","DH","BH","AX","CX","DX","BX","SP","BP","SI","DI","ES","CS","SS","DS","FS","GS","IP","PS","EAX","ECX","EDX","EBX","ESP","EBP","ESI","EDI","CR0","CR1","CR2","CR3",null,null,null,null,"DR0","DR1","DR2",
"DR3",null,null,"DR6","DR7",null,null,null,null,null,null,"TR6","TR7","EIP"],qz=0,rz=1,sz=2,tz=3,uz=4,vz=5,tA="BX+SI BX+DI BP+SI BP+DI SI DI BP BX EAX ECX EDX EBX ESP EBP ESI EDI".split(" "),oA=15,rA=240,KA=3840,pA=0,V=1,EA=2,U=3,S=4,uA=5,vA=7,qA=8,IA=9,JA=10,wA=11,xA=11,yA=12,zA=12,AA=13,BA=14,W=0,DA=16,GA=32,HA=48,NA=64,OA=80,Y=96,LA=112,R=128,sA=160,MA=192,RA=208,SA=224,UA=240,mB=Zy<<8|Y|V,nB=$y<<8|Y|V,oB=gz<<8|Y|S,pB=hz<<8|Y|S,qB=iz<<8|Y|S,rB=jz<<8|Y|S,sB=kz<<8|Y|S,tB=lz<<8|Y|S,uB=mz<<8|Y|S,vB=
nz<<8|Y|S,wB=qz<<8|LA|U,xB=rz<<8|LA|U,yB=sz<<8|LA|U,zB=tz<<8|LA|U,AB=uz<<8|LA|U,BB=vz<<8|LA|U,X=12288,CB=mA<<14,Z=nA<<14,kA=14,Oz=1E3,py=[0,pA],qy=[aA,U|X],oy=[[6,R|V|X,V|4272],[6,R|S|X,S|4272],[6,176|V|X,R|V|4096],[6,176|S|X,R|S|4096],[6,mB|X,W|V|4096],[6,oB|X,W|S|4096],[108,wB|4096],[103,wB|8192],[99,R|V|X,V|4272],[99,R|S|X,S|4272],[99,176|V|X,R|V|4096],[99,176|S|X,R|S|4096],[99,mB|X,W|V|4096],[99,oB|X,W|S|4096],[108,xB|4096],[103,xB|8192],[5,R|V|X,V|4272],[5,R|S|X,S|4272],[5,176|V|X,R|V|4096],
[5,176|S|X,R|S|4096],[5,mB|X,W|V|4096],[5,oB|X,W|S|4096],[108,yB|4096],[103,yB|8192],[120,R|V|X,V|4272],[120,R|S|X,S|4272],[120,176|V|X,R|V|4096],[120,176|S|X,R|S|4096],[120,mB|X,W|V|4096],[120,oB|X,W|S|4096],[108,zB|4096],[103,zB|8192],[7,R|V|X,V|4272],[7,R|S|X,S|4272],[7,176|V|X,R|V|4096],[7,176|S|X,R|S|4096],[7,mB|X,W|V|4096],[7,oB|X,W|S|4096],[35,qA],[29],[154,R|V|X,V|4272],[154,R|S|X,S|4272],[154,176|V|X,R|V|4096],[154,176|S|X,R|S|4096],[154,mB|X,W|V|4096],[154,oB|X,W|S|4096],[27,qA],[30],[162,
R|V|X,V|4272],[162,R|S|X,S|4272],[162,176|V|X,R|V|4096],[162,176|S|X,R|S|4096],[162,mB|X,W|V|4096],[162,oB|X,W|S|4096],[147,qA],[1],[24,R|V|4096,V|4272],[24,R|S|4096,S|4272],[24,V|4272,R|V|4096],[24,S|4272,R|S|4096],[24,mB|4096,W|V|4096],[24,oB|4096,W|S|4096],[33,qA],[4],[44,oB|X],[44,pB|X],[44,qB|X],[44,rB|X],[44,sB|X],[44,tB|X],[44,uB|X],[44,vB|X],[31,oB|X],[31,pB|X],[31,qB|X],[31,rB|X],[31,sB|X],[31,tB|X],[31,uB|X],[31,vB|X],[108,oB|4096],[108,pB|4096],[108,qB|4096],[108,rB|4096],[108,sB|4096],
[108,tB|4096],[108,uB|4096],[108,vB|4096],[103,oB|8192],[103,pB|8192],[103,qB|8192],[103,rB|8192],[103,sB|8192],[103,tB|8192],[103,uB|8192],[103,vB|8192],[jA,pA|CB],[iA,pA|CB],[10,S|4272|CB,R|S|4096],[8,R|U|8192,U|4272],[37,qA|Z],[38,qA|Z],[100,qA|Z],[9,qA|Z],[108,W|S|4096|CB],[42,176|U|X|CB,R|S|4096,W|S|4096],[108,W|EA|4096|CB],[42,U|8368|CB,R|S|4096,W|V|4096],[45,OA|V|8192|CB,qB|4096],[45,OA|S|8192|CB,qB|4096],[102,qB|4096|CB,NA|V|4096],[102,qB|4096|CB,NA|S|4096],[64,HA|V|4096],[60,HA|V|4096],[51,
HA|V|4096],[59,HA|V|4096],[67,HA|V|4096],[63,HA|V|4096],[50,HA|V|4096],[58,HA|V|4096],[66,HA|V|4096],[62,HA|V|4096],[65,HA|V|4096],[61,HA|V|4096],[55,HA|V|4096],[54,HA|V|4096],[56,HA|V|4096],[53,HA|V|4096],[163,R|V|X,W|V|4096],[164,R|S|X,W|S|4096],[163,R|V|X,W|V|4096],[165,R|S|X,W|V|4096],[155,R|V|4096,V|4272],[155,R|S|4096,S|4272],[160,176|V|X,R|V|X],[160,176|S|X,R|S|X],[90,R|V|8192,V|4272],[90,R|S|8192,S|4272],[90,V|8368,R|V|4096],[90,S|8368,R|S|4096],[90,R|S|8192,MA|U|4096],[71,S|8368,144|S],[90,
MA|U|8192,R|S|4096],[103,R|S|8192],[97],[160,oB|X,pB|X],[160,oB|X,qB|X],[160,oB|X,rB|X],[160,oB|X,sB|X],[160,oB|X,tB|X],[160,oB|X,uB|X],[160,oB|X,vB|X],[gA],[hA],[17,W|vA|4096],[158],[106],[105],[117],[68],[90,mB|8192,GA|V|4096],[90,oB|8192,GA|S|4096],[90,GA|V|8192,mB|4096],[90,GA|S|8192,oB|4096],[91,OA|V|8192,NA|V|4096],[92,OA|S|8192,NA|S|4096],[25,OA|V|4096,NA|V|4096],[26,OA|S|4096,NA|S|4096],[155,mB|4096,W|V|4096],[155,oB|4096,W|S|4096],[151,OA|V|8192,mB|4096],[152,OA|S|8192,oB|4096],[82,mB|8192,
NA|V|4096],[83,oB|8192,NA|S|4096],[121,mB|4096,OA|V|4096],[122,oB|4096,OA|S|4096],[90,mB|8192,W|V|4096],[90,nB|8192,W|V|4096],[90,az<<8|Y|V|8192,W|V|4096],[90,bz<<8|Y|V|8192,W|V|4096],[90,cz<<8|Y|V|8192,W|V|4096],[90,dz<<8|Y|V|8192,W|V|4096],[90,ez<<8|Y|V|8192,W|V|4096],[90,fz<<8|Y|V|8192,W|V|4096],[90,oB|8192,W|S|4096],[90,pB|8192,W|S|4096],[90,qB|8192,W|S|4096],[90,rB|8192,W|S|4096],[90,sB|8192,W|S|4096],[90,tB|8192,W|S|4096],[90,uB|8192,W|S|4096],[90,vB|8192,W|S|4096],[166,R|V|X|16384,W|V|4096],
[167,R|S|X|16384,W|V|4096],[113,W|U|4096],[113],[73,S|8368,4246],[70,S|8368,4246],[90,R|V|8192,W|V|4096],[90,R|S|8192,W|S|4096],[34,W|U|4096|CB,W|V|4096],[72,pA|CB],[114,W|U|4096],[114],[47],[46,W|V|4096],[48],[49],[168,R|V|X,DA|V|4096],[169,R|S|X,DA|V|4096],[170,R|V|X,nB|4096],[171,R|S|X,nB|4096],[3,W|V],[2,W|V],[118],[161],[cA,R|S|4096],[cA,R|S|4096],[cA,R|S|4096],[cA,R|S|4096],[cA,R|S|4096],[cA,R|S|4096],[cA,R|S|4096],[cA,R|S|4096],[85,HA|V|4096],[86,HA|V|4096],[84,HA|V|4096],[52,HA|V|4096],[43,
mB|8192,W|V|4096],[43,oB|8192,W|V|4096],[101,W|V|4096,mB|4096],[101,W|V|4096,oB|4096],[17,HA|S|4096],[57,HA|S|4096],[57,W|vA|4096],[57,HA|V|4096],[43,mB|8192,qB|U|4096],[43,oB|8192,qB|U|4096],[101,qB|U|4096,mB|4096],[101,qB|U|4096,oB|4096],[81,qA],[0],[111,qA],[112,qA],[39],[23],[172,R|V|X],[173,R|S|X],[19],[148],[21],[150],[20],[149],[174,R|V|X],[175,R|S|X]],bA={0:[177,R|U|X],1:[178,R|U|X],2:[69,U|8368|CB,U|4240],3:[87,U|8368|CB,U|4240],5:[lA,CB],6:[22,CB],7:[lA,Z],32:[90,sA|uA|8192|Z,RA|uA|4096],
33:[90,sA|uA|8192|Z,SA|uA|4096],34:[90,RA|uA|8192|Z,sA|uA|4096],35:[90,SA|uA|8192|Z,sA|uA|4096],36:[90,sA|uA|8192|Z,UA|uA|4096],38:[90,UA|uA|8192|Z,sA|uA|4096],128:[64,HA|S|4096|Z],129:[60,HA|S|4096|Z],130:[51,HA|S|4096|Z],131:[59,HA|S|4096|Z],132:[67,HA|S|4096|Z],133:[63,HA|S|4096|Z],134:[50,HA|S|4096|Z],135:[58,HA|S|4096|Z],136:[66,HA|S|4096|Z],137:[62,HA|S|4096|Z],138:[65,HA|S|4096|Z],139:[61,HA|S|4096|Z],140:[55,HA|S|4096|Z],141:[54,HA|S|4096|Z],142:[56,HA|S|4096|Z],143:[53,HA|S|4096|Z],144:[135,
R|V|8192|Z],145:[131,R|V|8192|Z],146:[124,R|V|8192|Z],147:[130,R|V|8192|Z],148:[138,R|V|8192|Z],149:[134,R|V|8192|Z],150:[123,R|V|8192|Z],151:[129,R|V|8192|Z],152:[137,R|V|8192|Z],153:[133,R|V|8192|Z],154:[136,R|V|8192|Z],155:[132,R|V|8192|Z],156:[127,R|V|8192|Z],157:[126,R|V|8192|Z],158:[128,R|V|8192|Z],159:[125,R|V|8192|Z],160:[108,AB|4096|Z],161:[103,AB|8192|Z],163:[13,R|S|4096|Z,S|4272],164:[141,R|S|8192|Z,S|4272,W|V|4096],165:[141,R|S|8192|Z,S|4272,nB|4096],166:[159,S|8368|Z,R|S|4096,oB|4096,
nB|4096],167:[40,R|S|8192|Z,oB|4096,nB|4096,S|4272],168:[108,BB|4096|Z],169:[103,BB|8192|Z],171:[16,R|S|8192|Z,S|4272],172:[143,R|S|8192|Z,S|4272,W|V|4096],173:[143,R|S|8192|Z,S|4272,nB|4096],175:[42,R|S|X|Z,S|4272],178:[88,S|8368,4246],179:[15,R|S|8192|Z,S|4272],180:[74,S|8368,4246],181:[76,S|8368,4246],182:[94,S|8368|Z,R|V|4096],183:[94,uA|8368|Z,R|U|4096],186:[179,R|S|X|Z,W|V|4096],187:[14,R|S|8192|Z,S|4272],188:[11,S|8368|Z,R|S|4096],189:[12,S|8368|Z,R|S|4096],190:[93,S|8368|Z,R|V|4096],191:[93,
uA|8368|Z,R|U|4096]},dA={216:{0:[9,R|xA|4096],1:[18,R|xA|4096],2:[34,R|xA|4096],3:[35,R|xA|4096],4:[12,R|xA|4096],5:[15,R|xA|4096],6:[21,R|xA|4096],7:[24,R|xA|4096],48:[9,Y|IA|8192,Y|JA|4096],49:[18,Y|IA|8192,Y|JA|4096],50:[34,Y|IA|8192,Y|JA|4096],51:[35,Y|IA|8192,Y|JA|4096],52:[12,Y|IA|8192,Y|JA|4096],53:[15,Y|IA|8192,Y|JA|4096],54:[21,Y|IA|8192,Y|JA|4096],55:[24,Y|IA|8192,Y|JA|4096]},217:{0:[0,R|xA|4096],2:[1,R|xA|8192],3:[2,R|xA|8192],4:[68,R|4111],5:[59,R|U|4096],6:[66,R|8207],7:[60,R|U|8192],
48:[0,Y|JA|8192],49:[3,Y|JA|8192],50:[76],51:[2,Y|JA|8192],64:[33],65:[32],68:[39],69:[40],80:[47],81:[49],82:[50],83:[48],84:[51],85:[52],86:[46],96:[43],97:[44],98:[41],99:[42],100:[31],102:[73],103:[72],112:[29],113:[45],114:[27],116:[30],117:[28]},218:{0:[11,R|wA|4096],1:[20,R|wA|4096],2:[37,R|wA|4096],3:[38,R|wA|4096],4:[14,R|wA|4096],5:[17,R|wA|4096],6:[23,R|wA|4096],7:[26,R|wA|4096]},219:{0:[4,R|wA|4096],2:[5,R|wA|8192],3:[6,R|wA|8192],5:[0,R|AA|4096],7:[2,R|AA|8192],64:[57],65:[55],66:[64],
67:[53],68:[78,CB],115:[79,Z]},220:{0:[9,R|zA|4096],1:[18,R|zA|4096],2:[34,R|zA|4096],3:[35,R|zA|4096],4:[12,R|zA|4096],5:[15,R|zA|4096],6:[21,R|zA|4096],7:[24,R|zA|4096],48:[9,Y|JA|8192,Y|IA|4096],49:[18,Y|JA|8192,Y|IA|4096],50:[34,Y|JA|4096],51:[35,Y|JA|4096],52:[15,Y|JA|8192,Y|IA|4096],53:[12,Y|JA|8192,Y|IA|4096],54:[24,Y|JA|8192,Y|IA|4096],55:[21,Y|JA|8192,Y|IA|4096]},221:{0:[0,R|zA|4096],2:[1,R|zA|8192],3:[2,R|zA|8192],4:[71,R|4111],6:[69,R|8207],7:[62,R|U|8192],48:[74,Y|JA|4096],49:[3,Y|JA|
8192],50:[1,Y|JA|4096],51:[2,Y|JA|4096]},222:{0:[11,R|U|4096],1:[20,R|U|4096],2:[37,R|U|4096],3:[38,R|U|4096],4:[14,R|U|4096],5:[17,R|U|4096],6:[23,R|U|4096],7:[26,R|U|4096],48:[10,Y|JA|8192,Y|IA|4096],49:[19,Y|JA|8192,Y|IA|4096],50:[35,Y|JA|4096],51:[36,Y|JA|4096],52:[16,Y|JA|8192,Y|IA|4096],53:[13,Y|JA|8192,Y|IA|4096],54:[25,Y|JA|8192,Y|IA|4096],55:[22,Y|JA|8192,Y|IA|4096]},223:{0:[4,R|U|4096],2:[5,R|U|8192],3:[6,R|U|8192],4:[7,R|BA|4096],5:[4,R|yA|4096],6:[8,R|BA|8192],7:[6,R|yA|8192],48:[75,Y|
JA|4096],49:[3,Y|JA|8192],50:[2,Y|JA|4096],51:[2,Y|JA|4096],52:[80,CB]}},fA=[[[6,R|V|X,W|V|4096],[99,R|V|X,W|V|4096],[5,R|V|X,W|V|4096],[120,R|V|X,W|V|4096],[7,R|V|X,W|V|4096],[154,R|V|X,W|V|4096],[162,R|V|X,W|V|4096],[24,R|V|4096,W|V|4096]],[[6,R|S|X,W|S|4096],[99,R|S|X,W|S|4096],[5,R|S|X,W|S|4096],[120,R|S|X,W|S|4096],[7,R|S|X,W|S|4096],[154,R|S|X,W|S|4096],[162,R|S|X,W|S|4096],[24,R|S|4096,W|S|4096]],[[6,R|S|X,W|EA|4096],[99,R|S|X,W|EA|4096],[5,R|S|X,W|EA|4096],[120,R|S|X,W|EA|4096],[7,R|S|X,W|
EA|4096],[154,R|S|X,W|EA|4096],[162,R|S|X,W|EA|4096],[24,R|S|4096,W|EA|4096]],[[115,R|V|X|CB,W|V|4096],[116,R|V|X|CB,W|V|4096],[109,R|V|X|CB,W|V|4096],[110,R|V|X|CB,W|V|4096],[140,R|V|X|CB,W|V|4096],[142,R|V|X|CB,W|V|4096],py,[119,R|V|X|CB,W|V|4096]],[[115,R|S|X|CB,W|V|4096],[116,R|S|X|CB,W|V|4096],[109,R|S|X|CB,W|V|4096],[110,R|S|X|CB,W|V|4096],[140,R|S|X|CB,W|V|4096],[142,R|S|X|CB,W|V|4096],py,[119,R|S|X|CB,W|V|4096]],[[115,R|V|X,DA|V|4096],[116,R|V|X,DA|V|4096],[109,R|V|X,DA|V|4096],[110,R|V|X,
DA|V|4096],[140,R|V|X,DA|V|4096],[142,R|V|X,DA|V|4096],py,[119,R|V|X,DA|V|4096]],[[115,R|S|X,DA|V|4096],[116,R|S|X,DA|V|4096],[109,R|S|X,DA|V|4096],[110,R|S|X,DA|V|4096],[140,R|S|X,DA|V|4096],[142,R|S|X,DA|V|4096],py,[119,R|S|X,DA|V|4096]],[[115,R|V|X,nB|4096],[116,R|V|X,nB|4096],[109,R|V|X,nB|4096],[110,R|V|X,nB|4096],[140,R|V|X,nB|4096],[142,R|V|X,nB|4096],py,[119,R|V|X,nB|4096]],[[115,R|S|X,nB|4096],[116,R|S|X,nB|4096],[109,R|S|X,nB|4096],[110,R|S|X,nB|4096],[140,R|S|X,nB|4096],[142,R|S|X,nB|4096],
py,[119,R|S|X,nB|4096]],[[155,R|V|4096,W|V|4096],py,[98,R|V|X],[96,R|V|X],[95,R|V|4096],[42,R|V|X],[32,R|V|4096],[41,R|V|X]],[[155,R|S|4096,W|S|4096],py,[98,R|S|X],[96,R|S|X],[95,R|S|4096],[42,R|S|X],[32,R|S|4096],[41,R|S|X]],[[44,R|V|X],[31,R|V|X],py,py,py,py,py,py],[[44,R|S|X],[31,R|S|X],[17,R|S|4096],[17,R|vA|4096],[57,R|S|4096],[57,R|vA|4096],[108,R|S|4096],py],[],[[145,R|U|8192|CB],[153,R|U|8192|CB],[78,R|U|4096|CB],[89,R|U|4096|CB],[156,R|U|4096|CB],[157,R|U|4096|CB],py,py],[[139,R|U|8192|CB],
[144,R|U|8192|CB],[75,R|U|4096|CB],[77,R|U|4096|CB],[146,R|U|8192|CB],py,[79,R|U|4096|CB],py],[py,py,py,py,[13,R|S|4096|Z,W|V|4096],[16,R|S|8192|Z,W|V|4096],[15,R|S|8192|Z,W|V|4096],[14,R|S|8192|Z,W|V|4096]]],uy={256:["tss286",!1],512:["ldt",!1],768:["busy tss286",!1],1024:["call gate",!0],1280:["task gate",!0],1536:["int gate286",!0],1792:["trap gate286",!0],2304:["tss386",!1],2816:["busy tss386",!1],3072:["call gate386",!0],3584:["int gate386",!0],3840:["trap gate386",!0]},yy={PREV_TSS:0,CPL0_SP:2,
CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,TASK_LDT:42},zy={PREV_TSS:0,CPL0_ESP:4,CPL0_SS:8,CPL1_ESP:12,CPL1_SS:16,CPL2_ESP:20,CPL2_SS:24,TASK_CR3:28,TASK_EIP:32,TASK_PS:36,TASK_EAX:40,TASK_ECX:44,TASK_EDX:48,TASK_EBX:52,TASK_ESP:56,TASK_EBP:60,TASK_ESI:64,TASK_EDI:68,TASK_ES:72,TASK_CS:76,TASK_SS:80,TASK_DS:84,TASK_FS:88,TASK_GS:92,TASK_LDT:96,
TASK_IOPM:100};$a(function(){for(var a=zb(document,"pcx86","debugger"),b=0;b<a.length;b++){var c=a[b],d=vb(c),d=new iy(d);yb(d,c)}});
function DB(a,b,c){mb.call(this,"Computer",a,67108864);this.ea.Yb=!1;EB(this,b);this.N=yd(this,"autoPower",a);this.C=0;this.aa=a.busWidth||a.buswidth;this.A=FB;this.L=null;this.I=this.Z=!1;this.da=yd(this,"url")||"";this.ha=(Math.random()+.1).toString(36).substr(2,12);this.B=GB(this);if(this.H=ub("CPU",this.id)){this.ba=ub("Debugger",this.id);this.G=[];for(b=null;b=Wb(this,"Video",b);)this.G.push(b);this.ka=new lc({id:this.ye+".bus",busWidth:this.aa},this.H,this.ba);var d,e=sb(this.id);if((this.D=
ub("Panel",this.id))&&this.D.Je)for(b=0;b<e.length;b++)d=e[b],d.Fa=this.D.Fa,d.P=this.D.P,d.Je=this.D.Je;this.P("PCx86 v1.35.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.uc&&d.uc(this,this.ka,this.H,this.ba);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.K=d:this.A=parseInt(d,10));var f;if(a=yd(this,"state")||(f=!0,a.state))b=this.W=a,f||(this.I=!0,this.A=FB),this.A&&(this.M=new Wf(this,
"1.35.0"),this.M.load()?b=null:delete this.M);!b&&this.A&&(b=HB(this))&&(this.I=!0);if(b){var g=this;Ka(b,null,!0,function(a,b,c){c?(g.K=null,g.I=!1,g.Fa("Unable to load machine state from server (error "+c+(b?": "+Ba(b):"")+")")):(g.L=b,g.Z=!0);Ib(g)})}else Ib(this);this.na.power||(this.N=!0);!c&&this.N&&IB(this,this.Mf)}else gb("Unable to find CPU component")}ba(DB,mb);
function EB(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){gb(d.message+" ("+c+")")}}a.J=b}function yd(a,b,c){var d=b.toLowerCase(),d=Ua(b)||Ua(d);void 0===d&&a.J&&(d=a.J[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function IB(a,b,c){for(var d=sb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Gb(f)){Gb(f,function(){IB(a,b,c)});return}}b.call(a,c)}
function JB(a,b){var c=new Wf(a,"1.35.0",KB);if(c.load()&&LB(c)){var d=c.get(MB),e=b?b.get(MB):"unknown";d!=e&&(a.Fa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=DB.prototype;
l.Mf=function(a){void 0===a&&(a=this.A||(this.L?NB:FB));if(!this.C){this.C++;var b=!1,c=!1;this.Y=!1;var d=this.M||new Wf(this,"1.35.0");if(a==OB)b=!0;else if(a>FB){if(d.load(this.L)){this.F=new Wf(this,"1.35.0",PB);this.F.load()&&(QB(this,d),a=RB,SB(this.F));this.F.set(MB,Ea());TB(this.F);var e=this.A&&!this.I;if(a==NB||qb("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=LB(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
g?(this.Fa("Error: "+g),"unable to verify user"==g&&(Ra(UB,""),this.B=null)):this.P(f+": "+g),SB(d),d.load()?(c=LB(d),e=!0):c=!1))}e&&JB(this,c?d:null)}else a==RB&&d.clear()}else JB(this);delete this.L;delete this.M}e=sb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.H&&(c=VB(this,g,d,b,c));b=[d,a,c];a!=OB?IB(this,this.nj,b):this.nj(b)}};
function VB(a,b,c,d,e){if(!b.ea.Yb){b.ea.Yb=!0;if(b.Xb){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Xb(f,d)&&f&&(gb("Unable to restore state for "+b.type),a.W&&!a.Z?(c.clear(),a.A=FB,window&&window.location.reload()):a.Y=!0,b.Xb(null),e=!1)}if(!d&&b.yj)for(a=b.yj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
l.nj=function(a){var b=a[0],c=0>a[1];a=a[2];this.ga=!0;this.ea.Yb=!0;var d=this.na.power;d&&(d.textContent="Shutdown");this.H&&(VB(this,this.H,b,c,a),this.H.mf());this.Y&&(QB(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.C=0};
function QB(a,b){if(qb("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PCx86",ver:"1.35.0"};d.url=a.da;d.user=c;d.type="bug";d.data=b;Ka("http://www.pcjs.org/api/v1/report",d,!0)}}
function kB(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new Wf(a,"1.35.0"),g=new Wf(a,"1.35.0",KB),h=Ea();g.set(MB,h);f.set(MB,h);f.set(WB,"1.35.0");f.set(XB,window?window.location.href:null);f.set(YB,Ma());a.H&&a.H.Wb&&(c&&a.H.Jb(),d=a.H.Wb(b,c),"object"===typeof d&&f.set(a.H.id,d),c&&(a.H.ea.Yb=!1,!1===d&&(e=null)));for(var h=sb(a.id),k=0;k<h.length;k++){var m=h[k];m.ea.Yb&&(m.Wb&&(d=m.Wb(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.ea.Yb=!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.B&&ZB(a,
a.B,f.toString()),TB(g)&&TB(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=a.A==$B),d&&f.clear(h)):e=f.toString());c&&(a.ea.Yb=!1,b=a.na.power)&&(b.textContent="Power");a.C=0;return e}l.reset=function(){this.ka&&this.ka.reset&&(Lb(this,"Resetting "+this.ka.type),this.ka.reset());for(var a=sb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ka&&c.reset&&(Lb(this,"Resetting "+c.type),c.reset())}};
a.P("\tcs start #\tset checksum cycle start count to #"),a.P("\tcs stop #\tset checksum cycle stop count to #"),a.P("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){iB(a,b.substr(1));break}var Fm="commands:",Gm;for(Gm in mB)Fm+="\n"+Aa(Gm,7)+mB[Gm];Ig(a)||(Fm+="\nnote: frequency/history disabled if no exec breakpoints");a.P(Fm);break;default:a.P("unknown command: "+b),d=!1}}}catch(Wt){a.P("debugger error: "+(Wt.stack||Wt.message)),d=!1}return d}
function oy(a,b,c){b=a.Dg(b,c);for(var d in b)if(!Zz(a,b[+d]))return!1;return!0}
var Nz={16:262144,19:524288,21:32768,22:65536,28:2048,33:134217728,51:16777216},Mz=[26,28,40,42,109],mB={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",l:"load sector(s)",ln:"list nearest symbol(s)",m:"messages",mouse:"mouse action","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",
"t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},Ty=0,Ly=1,uy=2,Wy=3,Uy=4,My=5,hA=18,iA=28,dA=36,mA=80,jA=104,kA=107,bA=176,aA="INVALID AAA AAD AAM AAS ADC ADD AND ARPL AS: BOUND BSF BSR BT BTC BTR BTS CALL CBW CLC CLD CLI CLTS CMC CMP CMPSB CMPSW CS: CWD DAA DAS DEC DIV DS: ENTER ES: ESC FS: GS: HLT IBTS IDIV IMUL IN INC INS INT INT3 INTO IRET JBE JC JCXZ JG JGE JL JLE JMP JA JNC JNO JNP JNS JNZ JO JP JS JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOADALL LOCK LODSB LODSW LOOP LOOPNZ LOOPZ LSL LSS LTR MOV MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OS: OUT OUTS POP POPA POPF PUSHF PUSHA PUSH RCL RCR REPNZ REPZ RET RETF ROL ROR SAHF SALC SAR SBB SCASB SCASW SETBE SETC SETG SETGE SETL SETLE SETNBE SETNC SETNO SETNP SETNS SETNZ SETO SETP SETS SETZ SGDT SHL SHLD SHR SHRD SIDT SLDT SMSW SS: STC STD STI STOSB STOSW STR SUB TEST VERR VERW WAIT XBTS XCHG XLAT XOR".split(" "),
fA="FLD FST FSTP FXCH FILD FIST FISTP FBLD FBSTP FADD FADDP FIADD FSUB FSUBP FISUB FSUBR FSUBRP FISUBR FMUL FMULP FIMUL FDIV FDIVP FIDIV FDIVR FDIVRP FIDIVR FSQRT FSCALE FPREM FRNDINT FXTRACT FABS FCHS FCOM FCOMP FCOMPP FICOM FICOMP FTST FXAM FPTAN FPATAN F2XM1 FYL2X FYL2XP1 FLDZ FLD1 FLDPI FLDL2T FLDL2E FLDLG2 FLDLN2 FINIT FNINIT FDISI FNDISI FENI FNENI FLDCW FSTCW FNSTCW FSTSW FNSTSW FCLEX FNCLEX FSTENV FNSTENV FLDENV FSAVE FNSAVE FRSTOR FINCSTP FDECSTP FFREE FFREEP FNOP FWAIT FSETPM FSINCOS FSTSWAX".split(" "),
hB=["VALID","ZERO ","SPEC ","EMPTY"],nA=2,oA=3,QA=[8086,80186,80286,80386],$y=0,az=1,bz=2,cz=3,dz=4,ez=5,fz=6,gz=7,hz=8,iz=9,jz=10,kz=11,lz=12,mz=13,nz=14,oz=15,qz=16,pz=22,Kz=23,xz=24,yz=25,zz=26,Az=27,Bz=28,Cz=29,Dz=30,Ez=31,Fz=32,Gz=33,Hz=34,Iz=35,UA=40,WA=48,Jz=56,Yy=["AL","CL","DL","BL","AH","CH","DH","BH","AX","CX","DX","BX","SP","BP","SI","DI","ES","CS","SS","DS","FS","GS","IP","PS","EAX","ECX","EDX","EBX","ESP","EBP","ESI","EDI","CR0","CR1","CR2","CR3",null,null,null,null,"DR0","DR1","DR2",
"DR3",null,null,"DR6","DR7",null,null,null,null,null,null,"TR6","TR7","EIP"],rz=0,sz=1,tz=2,uz=3,vz=4,wz=5,uA="BX+SI BX+DI BP+SI BP+DI SI DI BP BX EAX ECX EDX EBX ESP EBP ESI EDI".split(" "),pA=15,sA=240,LA=3840,qA=0,V=1,FA=2,U=3,S=4,vA=5,wA=7,rA=8,JA=9,KA=10,xA=11,yA=11,zA=12,AA=12,BA=13,CA=14,W=0,EA=16,HA=32,IA=48,OA=64,PA=80,Y=96,MA=112,R=128,tA=160,NA=192,SA=208,TA=224,VA=240,nB=$y<<8|Y|V,oB=az<<8|Y|V,pB=hz<<8|Y|S,qB=iz<<8|Y|S,rB=jz<<8|Y|S,sB=kz<<8|Y|S,tB=lz<<8|Y|S,uB=mz<<8|Y|S,vB=nz<<8|Y|S,wB=
oz<<8|Y|S,xB=rz<<8|MA|U,yB=sz<<8|MA|U,zB=tz<<8|MA|U,AB=uz<<8|MA|U,BB=vz<<8|MA|U,CB=wz<<8|MA|U,X=12288,DB=nA<<14,Z=oA<<14,lA=14,Pz=1E3,qy=[0,qA],ry=[bA,U|X],py=[[6,R|V|X,V|4272],[6,R|S|X,S|4272],[6,176|V|X,R|V|4096],[6,176|S|X,R|S|4096],[6,nB|X,W|V|4096],[6,pB|X,W|S|4096],[108,xB|4096],[103,xB|8192],[99,R|V|X,V|4272],[99,R|S|X,S|4272],[99,176|V|X,R|V|4096],[99,176|S|X,R|S|4096],[99,nB|X,W|V|4096],[99,pB|X,W|S|4096],[108,yB|4096],[103,yB|8192],[5,R|V|X,V|4272],[5,R|S|X,S|4272],[5,176|V|X,R|V|4096],
[5,176|S|X,R|S|4096],[5,nB|X,W|V|4096],[5,pB|X,W|S|4096],[108,zB|4096],[103,zB|8192],[120,R|V|X,V|4272],[120,R|S|X,S|4272],[120,176|V|X,R|V|4096],[120,176|S|X,R|S|4096],[120,nB|X,W|V|4096],[120,pB|X,W|S|4096],[108,AB|4096],[103,AB|8192],[7,R|V|X,V|4272],[7,R|S|X,S|4272],[7,176|V|X,R|V|4096],[7,176|S|X,R|S|4096],[7,nB|X,W|V|4096],[7,pB|X,W|S|4096],[35,rA],[29],[154,R|V|X,V|4272],[154,R|S|X,S|4272],[154,176|V|X,R|V|4096],[154,176|S|X,R|S|4096],[154,nB|X,W|V|4096],[154,pB|X,W|S|4096],[27,rA],[30],[162,
R|V|X,V|4272],[162,R|S|X,S|4272],[162,176|V|X,R|V|4096],[162,176|S|X,R|S|4096],[162,nB|X,W|V|4096],[162,pB|X,W|S|4096],[147,rA],[1],[24,R|V|4096,V|4272],[24,R|S|4096,S|4272],[24,V|4272,R|V|4096],[24,S|4272,R|S|4096],[24,nB|4096,W|V|4096],[24,pB|4096,W|S|4096],[33,rA],[4],[44,pB|X],[44,qB|X],[44,rB|X],[44,sB|X],[44,tB|X],[44,uB|X],[44,vB|X],[44,wB|X],[31,pB|X],[31,qB|X],[31,rB|X],[31,sB|X],[31,tB|X],[31,uB|X],[31,vB|X],[31,wB|X],[108,pB|4096],[108,qB|4096],[108,rB|4096],[108,sB|4096],[108,tB|4096],
[108,uB|4096],[108,vB|4096],[108,wB|4096],[103,pB|8192],[103,qB|8192],[103,rB|8192],[103,sB|8192],[103,tB|8192],[103,uB|8192],[103,vB|8192],[103,wB|8192],[kA,qA|DB],[jA,qA|DB],[10,S|4272|DB,R|S|4096],[8,R|U|8192,U|4272],[37,rA|Z],[38,rA|Z],[100,rA|Z],[9,rA|Z],[108,W|S|4096|DB],[42,176|U|X|DB,R|S|4096,W|S|4096],[108,W|FA|4096|DB],[42,U|8368|DB,R|S|4096,W|V|4096],[45,PA|V|8192|DB,rB|4096],[45,PA|S|8192|DB,rB|4096],[102,rB|4096|DB,OA|V|4096],[102,rB|4096|DB,OA|S|4096],[64,IA|V|4096],[60,IA|V|4096],[51,
IA|V|4096],[59,IA|V|4096],[67,IA|V|4096],[63,IA|V|4096],[50,IA|V|4096],[58,IA|V|4096],[66,IA|V|4096],[62,IA|V|4096],[65,IA|V|4096],[61,IA|V|4096],[55,IA|V|4096],[54,IA|V|4096],[56,IA|V|4096],[53,IA|V|4096],[163,R|V|X,W|V|4096],[164,R|S|X,W|S|4096],[163,R|V|X,W|V|4096],[165,R|S|X,W|V|4096],[155,R|V|4096,V|4272],[155,R|S|4096,S|4272],[160,176|V|X,R|V|X],[160,176|S|X,R|S|X],[90,R|V|8192,V|4272],[90,R|S|8192,S|4272],[90,V|8368,R|V|4096],[90,S|8368,R|S|4096],[90,R|S|8192,NA|U|4096],[71,S|8368,144|S],[90,
NA|U|8192,R|S|4096],[103,R|S|8192],[97],[160,pB|X,qB|X],[160,pB|X,rB|X],[160,pB|X,sB|X],[160,pB|X,tB|X],[160,pB|X,uB|X],[160,pB|X,vB|X],[160,pB|X,wB|X],[hA],[iA],[17,W|wA|4096],[158],[106],[105],[117],[68],[90,nB|8192,HA|V|4096],[90,pB|8192,HA|S|4096],[90,HA|V|8192,nB|4096],[90,HA|S|8192,pB|4096],[91,PA|V|8192,OA|V|4096],[92,PA|S|8192,OA|S|4096],[25,PA|V|4096,OA|V|4096],[26,PA|S|4096,OA|S|4096],[155,nB|4096,W|V|4096],[155,pB|4096,W|S|4096],[151,PA|V|8192,nB|4096],[152,PA|S|8192,pB|4096],[82,nB|8192,
OA|V|4096],[83,pB|8192,OA|S|4096],[121,nB|4096,PA|V|4096],[122,pB|4096,PA|S|4096],[90,nB|8192,W|V|4096],[90,oB|8192,W|V|4096],[90,bz<<8|Y|V|8192,W|V|4096],[90,cz<<8|Y|V|8192,W|V|4096],[90,dz<<8|Y|V|8192,W|V|4096],[90,ez<<8|Y|V|8192,W|V|4096],[90,fz<<8|Y|V|8192,W|V|4096],[90,gz<<8|Y|V|8192,W|V|4096],[90,pB|8192,W|S|4096],[90,qB|8192,W|S|4096],[90,rB|8192,W|S|4096],[90,sB|8192,W|S|4096],[90,tB|8192,W|S|4096],[90,uB|8192,W|S|4096],[90,vB|8192,W|S|4096],[90,wB|8192,W|S|4096],[166,R|V|X|16384,W|V|4096],
[167,R|S|X|16384,W|V|4096],[113,W|U|4096],[113],[73,S|8368,4246],[70,S|8368,4246],[90,R|V|8192,W|V|4096],[90,R|S|8192,W|S|4096],[34,W|U|4096|DB,W|V|4096],[72,qA|DB],[114,W|U|4096],[114],[47],[46,W|V|4096],[48],[49],[168,R|V|X,EA|V|4096],[169,R|S|X,EA|V|4096],[170,R|V|X,oB|4096],[171,R|S|X,oB|4096],[3,W|V],[2,W|V],[118],[161],[dA,R|S|4096],[dA,R|S|4096],[dA,R|S|4096],[dA,R|S|4096],[dA,R|S|4096],[dA,R|S|4096],[dA,R|S|4096],[dA,R|S|4096],[85,IA|V|4096],[86,IA|V|4096],[84,IA|V|4096],[52,IA|V|4096],[43,
nB|8192,W|V|4096],[43,pB|8192,W|V|4096],[101,W|V|4096,nB|4096],[101,W|V|4096,pB|4096],[17,IA|S|4096],[57,IA|S|4096],[57,W|wA|4096],[57,IA|V|4096],[43,nB|8192,rB|U|4096],[43,pB|8192,rB|U|4096],[101,rB|U|4096,nB|4096],[101,rB|U|4096,pB|4096],[81,rA],[0],[111,rA],[112,rA],[39],[23],[172,R|V|X],[173,R|S|X],[19],[148],[21],[150],[20],[149],[174,R|V|X],[175,R|S|X]],cA={0:[177,R|U|X],1:[178,R|U|X],2:[69,U|8368|DB,U|4240],3:[87,U|8368|DB,U|4240],5:[mA,DB],6:[22,DB],7:[mA,Z],32:[90,tA|vA|8192|Z,SA|vA|4096],
33:[90,tA|vA|8192|Z,TA|vA|4096],34:[90,SA|vA|8192|Z,tA|vA|4096],35:[90,TA|vA|8192|Z,tA|vA|4096],36:[90,tA|vA|8192|Z,VA|vA|4096],38:[90,VA|vA|8192|Z,tA|vA|4096],128:[64,IA|S|4096|Z],129:[60,IA|S|4096|Z],130:[51,IA|S|4096|Z],131:[59,IA|S|4096|Z],132:[67,IA|S|4096|Z],133:[63,IA|S|4096|Z],134:[50,IA|S|4096|Z],135:[58,IA|S|4096|Z],136:[66,IA|S|4096|Z],137:[62,IA|S|4096|Z],138:[65,IA|S|4096|Z],139:[61,IA|S|4096|Z],140:[55,IA|S|4096|Z],141:[54,IA|S|4096|Z],142:[56,IA|S|4096|Z],143:[53,IA|S|4096|Z],144:[135,
R|V|8192|Z],145:[131,R|V|8192|Z],146:[124,R|V|8192|Z],147:[130,R|V|8192|Z],148:[138,R|V|8192|Z],149:[134,R|V|8192|Z],150:[123,R|V|8192|Z],151:[129,R|V|8192|Z],152:[137,R|V|8192|Z],153:[133,R|V|8192|Z],154:[136,R|V|8192|Z],155:[132,R|V|8192|Z],156:[127,R|V|8192|Z],157:[126,R|V|8192|Z],158:[128,R|V|8192|Z],159:[125,R|V|8192|Z],160:[108,BB|4096|Z],161:[103,BB|8192|Z],163:[13,R|S|4096|Z,S|4272],164:[141,R|S|8192|Z,S|4272,W|V|4096],165:[141,R|S|8192|Z,S|4272,oB|4096],166:[159,S|8368|Z,R|S|4096,pB|4096,
oB|4096],167:[40,R|S|8192|Z,pB|4096,oB|4096,S|4272],168:[108,CB|4096|Z],169:[103,CB|8192|Z],171:[16,R|S|8192|Z,S|4272],172:[143,R|S|8192|Z,S|4272,W|V|4096],173:[143,R|S|8192|Z,S|4272,oB|4096],175:[42,R|S|X|Z,S|4272],178:[88,S|8368,4246],179:[15,R|S|8192|Z,S|4272],180:[74,S|8368,4246],181:[76,S|8368,4246],182:[94,S|8368|Z,R|V|4096],183:[94,vA|8368|Z,R|U|4096],186:[179,R|S|X|Z,W|V|4096],187:[14,R|S|8192|Z,S|4272],188:[11,S|8368|Z,R|S|4096],189:[12,S|8368|Z,R|S|4096],190:[93,S|8368|Z,R|V|4096],191:[93,
vA|8368|Z,R|U|4096]},eA={216:{0:[9,R|yA|4096],1:[18,R|yA|4096],2:[34,R|yA|4096],3:[35,R|yA|4096],4:[12,R|yA|4096],5:[15,R|yA|4096],6:[21,R|yA|4096],7:[24,R|yA|4096],48:[9,Y|JA|8192,Y|KA|4096],49:[18,Y|JA|8192,Y|KA|4096],50:[34,Y|JA|8192,Y|KA|4096],51:[35,Y|JA|8192,Y|KA|4096],52:[12,Y|JA|8192,Y|KA|4096],53:[15,Y|JA|8192,Y|KA|4096],54:[21,Y|JA|8192,Y|KA|4096],55:[24,Y|JA|8192,Y|KA|4096]},217:{0:[0,R|yA|4096],2:[1,R|yA|8192],3:[2,R|yA|8192],4:[68,R|4111],5:[59,R|U|4096],6:[66,R|8207],7:[60,R|U|8192],
48:[0,Y|KA|8192],49:[3,Y|KA|8192],50:[76],51:[2,Y|KA|8192],64:[33],65:[32],68:[39],69:[40],80:[47],81:[49],82:[50],83:[48],84:[51],85:[52],86:[46],96:[43],97:[44],98:[41],99:[42],100:[31],102:[73],103:[72],112:[29],113:[45],114:[27],116:[30],117:[28]},218:{0:[11,R|xA|4096],1:[20,R|xA|4096],2:[37,R|xA|4096],3:[38,R|xA|4096],4:[14,R|xA|4096],5:[17,R|xA|4096],6:[23,R|xA|4096],7:[26,R|xA|4096]},219:{0:[4,R|xA|4096],2:[5,R|xA|8192],3:[6,R|xA|8192],5:[0,R|BA|4096],7:[2,R|BA|8192],64:[57],65:[55],66:[64],
67:[53],68:[78,DB],115:[79,Z]},220:{0:[9,R|AA|4096],1:[18,R|AA|4096],2:[34,R|AA|4096],3:[35,R|AA|4096],4:[12,R|AA|4096],5:[15,R|AA|4096],6:[21,R|AA|4096],7:[24,R|AA|4096],48:[9,Y|KA|8192,Y|JA|4096],49:[18,Y|KA|8192,Y|JA|4096],50:[34,Y|KA|4096],51:[35,Y|KA|4096],52:[15,Y|KA|8192,Y|JA|4096],53:[12,Y|KA|8192,Y|JA|4096],54:[24,Y|KA|8192,Y|JA|4096],55:[21,Y|KA|8192,Y|JA|4096]},221:{0:[0,R|AA|4096],2:[1,R|AA|8192],3:[2,R|AA|8192],4:[71,R|4111],6:[69,R|8207],7:[62,R|U|8192],48:[74,Y|KA|4096],49:[3,Y|KA|
8192],50:[1,Y|KA|4096],51:[2,Y|KA|4096]},222:{0:[11,R|U|4096],1:[20,R|U|4096],2:[37,R|U|4096],3:[38,R|U|4096],4:[14,R|U|4096],5:[17,R|U|4096],6:[23,R|U|4096],7:[26,R|U|4096],48:[10,Y|KA|8192,Y|JA|4096],49:[19,Y|KA|8192,Y|JA|4096],50:[35,Y|KA|4096],51:[36,Y|KA|4096],52:[16,Y|KA|8192,Y|JA|4096],53:[13,Y|KA|8192,Y|JA|4096],54:[25,Y|KA|8192,Y|JA|4096],55:[22,Y|KA|8192,Y|JA|4096]},223:{0:[4,R|U|4096],2:[5,R|U|8192],3:[6,R|U|8192],4:[7,R|CA|4096],5:[4,R|zA|4096],6:[8,R|CA|8192],7:[6,R|zA|8192],48:[75,Y|
KA|4096],49:[3,Y|KA|8192],50:[2,Y|KA|4096],51:[2,Y|KA|4096],52:[80,DB]}},gA=[[[6,R|V|X,W|V|4096],[99,R|V|X,W|V|4096],[5,R|V|X,W|V|4096],[120,R|V|X,W|V|4096],[7,R|V|X,W|V|4096],[154,R|V|X,W|V|4096],[162,R|V|X,W|V|4096],[24,R|V|4096,W|V|4096]],[[6,R|S|X,W|S|4096],[99,R|S|X,W|S|4096],[5,R|S|X,W|S|4096],[120,R|S|X,W|S|4096],[7,R|S|X,W|S|4096],[154,R|S|X,W|S|4096],[162,R|S|X,W|S|4096],[24,R|S|4096,W|S|4096]],[[6,R|S|X,W|FA|4096],[99,R|S|X,W|FA|4096],[5,R|S|X,W|FA|4096],[120,R|S|X,W|FA|4096],[7,R|S|X,W|
FA|4096],[154,R|S|X,W|FA|4096],[162,R|S|X,W|FA|4096],[24,R|S|4096,W|FA|4096]],[[115,R|V|X|DB,W|V|4096],[116,R|V|X|DB,W|V|4096],[109,R|V|X|DB,W|V|4096],[110,R|V|X|DB,W|V|4096],[140,R|V|X|DB,W|V|4096],[142,R|V|X|DB,W|V|4096],qy,[119,R|V|X|DB,W|V|4096]],[[115,R|S|X|DB,W|V|4096],[116,R|S|X|DB,W|V|4096],[109,R|S|X|DB,W|V|4096],[110,R|S|X|DB,W|V|4096],[140,R|S|X|DB,W|V|4096],[142,R|S|X|DB,W|V|4096],qy,[119,R|S|X|DB,W|V|4096]],[[115,R|V|X,EA|V|4096],[116,R|V|X,EA|V|4096],[109,R|V|X,EA|V|4096],[110,R|V|X,
EA|V|4096],[140,R|V|X,EA|V|4096],[142,R|V|X,EA|V|4096],qy,[119,R|V|X,EA|V|4096]],[[115,R|S|X,EA|V|4096],[116,R|S|X,EA|V|4096],[109,R|S|X,EA|V|4096],[110,R|S|X,EA|V|4096],[140,R|S|X,EA|V|4096],[142,R|S|X,EA|V|4096],qy,[119,R|S|X,EA|V|4096]],[[115,R|V|X,oB|4096],[116,R|V|X,oB|4096],[109,R|V|X,oB|4096],[110,R|V|X,oB|4096],[140,R|V|X,oB|4096],[142,R|V|X,oB|4096],qy,[119,R|V|X,oB|4096]],[[115,R|S|X,oB|4096],[116,R|S|X,oB|4096],[109,R|S|X,oB|4096],[110,R|S|X,oB|4096],[140,R|S|X,oB|4096],[142,R|S|X,oB|4096],
qy,[119,R|S|X,oB|4096]],[[155,R|V|4096,W|V|4096],qy,[98,R|V|X],[96,R|V|X],[95,R|V|4096],[42,R|V|X],[32,R|V|4096],[41,R|V|X]],[[155,R|S|4096,W|S|4096],qy,[98,R|S|X],[96,R|S|X],[95,R|S|4096],[42,R|S|X],[32,R|S|4096],[41,R|S|X]],[[44,R|V|X],[31,R|V|X],qy,qy,qy,qy,qy,qy],[[44,R|S|X],[31,R|S|X],[17,R|S|4096],[17,R|wA|4096],[57,R|S|4096],[57,R|wA|4096],[108,R|S|4096],qy],[],[[145,R|U|8192|DB],[153,R|U|8192|DB],[78,R|U|4096|DB],[89,R|U|4096|DB],[156,R|U|4096|DB],[157,R|U|4096|DB],qy,qy],[[139,R|U|8192|DB],
[144,R|U|8192|DB],[75,R|U|4096|DB],[77,R|U|4096|DB],[146,R|U|8192|DB],qy,[79,R|U|4096|DB],qy],[qy,qy,qy,qy,[13,R|S|4096|Z,W|V|4096],[16,R|S|8192|Z,W|V|4096],[15,R|S|8192|Z,W|V|4096],[14,R|S|8192|Z,W|V|4096]]],vy={256:["tss286",!1],512:["ldt",!1],768:["busy tss286",!1],1024:["call gate",!0],1280:["task gate",!0],1536:["int gate286",!0],1792:["trap gate286",!0],2304:["tss386",!1],2816:["busy tss386",!1],3072:["call gate386",!0],3584:["int gate386",!0],3840:["trap gate386",!0]},zy={PREV_TSS:0,CPL0_SP:2,
CPL0_SS:4,CPL1_SP:6,CPL1_SS:8,CPL2_SP:10,CPL2_SS:12,TASK_IP:14,TASK_PS:16,TASK_AX:18,TASK_CX:20,TASK_DX:22,TASK_BX:24,TASK_SP:26,TASK_BP:28,TASK_SI:30,TASK_DI:32,TASK_ES:34,TASK_CS:36,TASK_SS:38,TASK_DS:40,TASK_LDT:42},Ay={PREV_TSS:0,CPL0_ESP:4,CPL0_SS:8,CPL1_ESP:12,CPL1_SS:16,CPL2_ESP:20,CPL2_SS:24,TASK_CR3:28,TASK_EIP:32,TASK_PS:36,TASK_EAX:40,TASK_ECX:44,TASK_EDX:48,TASK_EBX:52,TASK_ESP:56,TASK_EBP:60,TASK_ESI:64,TASK_EDI:68,TASK_ES:72,TASK_CS:76,TASK_SS:80,TASK_DS:84,TASK_FS:88,TASK_GS:92,TASK_LDT:96,
TASK_IOPM:100};$a(function(){for(var a=zb(document,"pcx86","debugger"),b=0;b<a.length;b++){var c=a[b],d=vb(c),d=new jy(d);yb(d,c)}});
function EB(a,b,c){mb.call(this,"Computer",a,67108864);this.ea.Yb=!1;FB(this,b);this.N=yd(this,"autoPower",a);this.C=0;this.aa=a.busWidth||a.buswidth;this.A=GB;this.L=null;this.I=this.Z=!1;this.da=yd(this,"url")||"";this.ha=(Math.random()+.1).toString(36).substr(2,12);this.B=HB(this);if(this.H=ub("CPU",this.id)){this.ba=ub("Debugger",this.id);this.G=[];for(b=null;b=Wb(this,"Video",b);)this.G.push(b);this.ka=new lc({id:this.ye+".bus",busWidth:this.aa},this.H,this.ba);var d,e=sb(this.id);if((this.D=
ub("Panel",this.id))&&this.D.Je)for(b=0;b<e.length;b++)d=e[b],d.Fa=this.D.Fa,d.P=this.D.P,d.Je=this.D.Je;this.P("PCx86 v1.35.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.uc&&d.uc(this,this.ka,this.H,this.ba);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.K=d:this.A=parseInt(d,10));var f;if(a=yd(this,"state")||(f=!0,a.state))b=this.W=a,f||(this.I=!0,this.A=GB),this.A&&(this.M=new Wf(this,
"1.35.0"),this.M.load()?b=null:delete this.M);!b&&this.A&&(b=IB(this))&&(this.I=!0);if(b){var g=this;Ka(b,null,!0,function(a,b,c){c?(g.K=null,g.I=!1,g.Fa("Unable to load machine state from server (error "+c+(b?": "+Ba(b):"")+")")):(g.L=b,g.Z=!0);Ib(g)})}else Ib(this);this.na.power||(this.N=!0);!c&&this.N&&JB(this,this.Mf)}else gb("Unable to find CPU component")}ba(EB,mb);
function FB(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){gb(d.message+" ("+c+")")}}a.J=b}function yd(a,b,c){var d=b.toLowerCase(),d=Ua(b)||Ua(d);void 0===d&&a.J&&(d=a.J[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function JB(a,b,c){for(var d=sb(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Gb(f)){Gb(f,function(){JB(a,b,c)});return}}b.call(a,c)}
function KB(a,b){var c=new Wf(a,"1.35.0",LB);if(c.load()&&MB(c)){var d=c.get(NB),e=b?b.get(NB):"unknown";d!=e&&(a.Fa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=EB.prototype;
l.Mf=function(a){void 0===a&&(a=this.A||(this.L?OB:GB));if(!this.C){this.C++;var b=!1,c=!1;this.Y=!1;var d=this.M||new Wf(this,"1.35.0");if(a==PB)b=!0;else if(a>GB){if(d.load(this.L)){this.F=new Wf(this,"1.35.0",QB);this.F.load()&&(RB(this,d),a=SB,TB(this.F));this.F.set(NB,Ea());UB(this.F);var e=this.A&&!this.I;if(a==OB||qb("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=MB(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
g?(this.Fa("Error: "+g),"unable to verify user"==g&&(Ra(VB,""),this.B=null)):this.P(f+": "+g),TB(d),d.load()?(c=MB(d),e=!0):c=!1))}e&&KB(this,c?d:null)}else a==SB&&d.clear()}else KB(this);delete this.L;delete this.M}e=sb(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.H&&(c=WB(this,g,d,b,c));b=[d,a,c];a!=PB?JB(this,this.nj,b):this.nj(b)}};
function WB(a,b,c,d,e){if(!b.ea.Yb){b.ea.Yb=!0;if(b.Xb){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Xb(f,d)&&f&&(gb("Unable to restore state for "+b.type),a.W&&!a.Z?(c.clear(),a.A=GB,window&&window.location.reload()):a.Y=!0,b.Xb(null),e=!1)}if(!d&&b.yj)for(a=b.yj.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
l.nj=function(a){var b=a[0],c=0>a[1];a=a[2];this.ga=!0;this.ea.Yb=!0;var d=this.na.power;d&&(d.textContent="Shutdown");this.H&&(WB(this,this.H,b,c,a),this.H.mf());this.Y&&(RB(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.C=0};
function RB(a,b){if(qb("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PCx86",ver:"1.35.0"};d.url=a.da;d.user=c;d.type="bug";d.data=b;Ka("http://www.pcjs.org/api/v1/report",d,!0)}}
function lB(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new Wf(a,"1.35.0"),g=new Wf(a,"1.35.0",LB),h=Ea();g.set(NB,h);f.set(NB,h);f.set(XB,"1.35.0");f.set(YB,window?window.location.href:null);f.set(ZB,Ma());a.H&&a.H.Wb&&(c&&a.H.Jb(),d=a.H.Wb(b,c),"object"===typeof d&&f.set(a.H.id,d),c&&(a.H.ea.Yb=!1,!1===d&&(e=null)));for(var h=sb(a.id),k=0;k<h.length;k++){var m=h[k];m.ea.Yb&&(m.Wb&&(d=m.Wb(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.ea.Yb=!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.B&&$B(a,
a.B,f.toString()),UB(g)&&UB(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=a.A==aC),d&&f.clear(h)):e=f.toString());c&&(a.ea.Yb=!1,b=a.na.power)&&(b.textContent="Power");a.C=0;return e}l.reset=function(){this.ka&&this.ka.reset&&(Lb(this,"Resetting "+this.ka.type),this.ka.reset());for(var a=sb(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ka&&c.reset&&(Lb(this,"Resetting "+c.type),c.reset())}};
l.start=function(a,b){for(var c=sb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};l.stop=function(a,b){for(var c=sb(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
l.Cb=function(a,b,c){var d=this;switch(b){case "power":return this.na[b]=c,c.onclick=function(){d.C||(d.ea.Yb?kB(d,!1,!0):IB(d,d.Mf))},!0;case "reset":return this.na[b]=c,c.onclick=function(){if(d.ea.Yb&&!d.C)if(d.A&&!d.K){var a=qb("Click OK to save changes to this PCx86 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");kB(d,a,!0);!a&&d.W?window&&window.location.reload():(a||(d.O=!0),d.Mf(FB),d.O=!1)}else d.reset(),d.H&&d.H.mf()},!0;case "save":if(wa(La(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.na[b]=c,c.onclick=function(){var a=GB(d,!0);if(a){var b=!!(d.A&&!d.K||d.W),c=kB(d,b);b?ZB(d,a,c):d.Fa("Resume disabled, machine state not saved")}},!0}return!1};
function GB(a,b){var c=a.B;c||((c=Pa(UB),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=lC(a,c))||a.Fa("The user ID is invalid.")):b&&a.Fa("Browser local storage is not available"));return c}
function lC(a,b){a.B=null;b=Ka(La()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ra(UB,b.data),a.B=b.data)}catch(d){gb(d.message+" ("+c+")")}return a.B}function HB(a){var b=null;a.B&&(b=La()+"/api/v1/user?req=load&user="+a.B+"&state="+mC(a,"1.35.0"));return b}
function ZB(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=mC(a,"1.35.0");d.data=c;b=Ka(La()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Fa("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Fa(c),Ra(UB,""),a.B=null)}}
l.Cb=function(a,b,c){var d=this;switch(b){case "power":return this.na[b]=c,c.onclick=function(){d.C||(d.ea.Yb?lB(d,!1,!0):JB(d,d.Mf))},!0;case "reset":return this.na[b]=c,c.onclick=function(){if(d.ea.Yb&&!d.C)if(d.A&&!d.K){var a=qb("Click OK to save changes to this PCx86 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");lB(d,a,!0);!a&&d.W?window&&window.location.reload():(a||(d.O=!0),d.Mf(GB),d.O=!1)}else d.reset(),d.H&&d.H.mf()},!0;case "save":if(wa(La(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.na[b]=c,c.onclick=function(){var a=HB(d,!0);if(a){var b=!!(d.A&&!d.K||d.W),c=lB(d,b);b?$B(d,a,c):d.Fa("Resume disabled, machine state not saved")}},!0}return!1};
function HB(a,b){var c=a.B;c||((c=Pa(VB),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=mC(a,c))||a.Fa("The user ID is invalid.")):b&&a.Fa("Browser local storage is not available"));return c}
function mC(a,b){a.B=null;b=Ka(La()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ra(VB,b.data),a.B=b.data)}catch(d){gb(d.message+" ("+c+")")}return a.B}function IB(a){var b=null;a.B&&(b=La()+"/api/v1/user?req=load&user="+a.B+"&state="+nC(a,"1.35.0"));return b}
function $B(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=nC(a,"1.35.0");d.data=c;b=Ka(La()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Fa("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Fa(c),Ra(VB,""),a.B=null)}}
function Wb(a,b,c){a=sb(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}l.md=function(a){if(this.G.length){var b=0,c=0;!a&&window&&(b=window.scrollX,c=window.scrollY);var d=this.G[0];d.D&&d.D.focus();!a&&window&&window.scrollTo(b,c)}};
function Md(a,b){a.H&&(a=a.H,a.uj&&(b||!a.ea.vb||a.ea.lj)&&(Hg(a,"EAX",a.D),Hg(a,"EBX",a.G),Hg(a,"ECX",a.I),Hg(a,"EDX",a.L),Hg(a,"ESP",z(a)),Hg(a,"EBP",a.M),Hg(a,"ESI",a.K),Hg(a,"EDI",a.J),Hg(a,"CS",a.Z.U),Hg(a,"DS",a.Ca.U),Hg(a,"SS",a.Y.U),Hg(a,"ES",a.oa.U),Hg(a,"EIP",A(a)),b=qe(a),Hg(a,"PS",b),Hg(a,"V",b&2048),Hg(a,"D",b&1024),Hg(a,"I",b&512),Hg(a,"T",b&256),Hg(a,"S",b&128),Hg(a,"Z",b&64),Hg(a,"A",b&16),Hg(a,"P",b&4),Hg(a,"C",b&1),80386==a.ca&&(Hg(a,"FS",a.Ga.U),Hg(a,"GS",a.Ha.U),Hg(a,"CR0",a.qa),
Hg(a,"CR2",a.Dd),Hg(a,"CR3",a.Wc))),b=a.na.speed)&&(b.textContent=a.ea.vb&&a.T.Xd?a.T.Xd.toFixed(2)+"Mhz":"Stopped")}
function Sd(a,b){for(var c=0;c<a.G.length;c++)ys(a.G[c],b);if(a.D&&(a=a.D,a.oa)){fc(a,gc,a.K,a.ma);if(a.Ba){b=a.ka;var c=a.A,d,e;null==d&&(d=0);null==e&&(e=b.O-d|0);c||(c={bh:0,Id:0,Sg:[]});var f=d>>>b.A;d=d+e-1>>>b.A;c.bh=0;for(c.Id=0;f<=d;)e=b.aa[f],c.bh+=e.size,e.size&&(c.Sg.push(Fa(bc,f,0,0,e.type)),c.Id++),f++;a.A=c;a.da=a.A.Id*a.ka.B/(ac*kc);d=0;a.A.aj=0;a.A.lf||(a.A.lf=[]);e=-1;b=0;for(var g=-1,c=0;c<a.A.Id;c++){var h=a.A.Sg[c],f=Ga(bc.type,h),h=Ga(bc.Ik,h);if(f!=e||h!=g+1)(g=c-b)&&(d+=ic(a,
b,g,e)),e=f,b=c;g=h}d+=ic(a,b,c-b,e);e=a.A.Cl!=d;a.A.Cl=d;if(e){e=new Tb(0,0,a.K.width,a.K.height);a.A.De=[];b=a.A.Id;for(d=0;d<a.A.aj;d++)c=a.A.lf[d].Id,a.A.De.push(Ub(e,c,b,!d)),b-=c;for(d=0;d<a.A.De.length;d++)e=a.A.lf[d],b=c=a.A.De[d],f=a.ma,(g=ud[e.type])||(g=new Sb),f.strokeStyle="black",f.strokeRect(b.x,b.y,b.Nc,b.A),f.fillStyle="string"==typeof g?g:g.toString(),f.fillRect(b.x,b.y,b.Nc,b.A),b=a,f=c,b.M=b.Z,b.J=b.aa,c=f.x+(f.Nc>>1),g=f.y+(f.A>>1),h=f.A,f.Nc<f.A&&(h=f.Nc,b.Y=!0,b.D.save(),b.D.translate(c,
g),b.D.rotate(-Math.PI/2),c=g=0),h<b.J&&(b.J=h,b.M=b.J+"px "+jc),f=g,b.C=c,b.I=f,b=a,e=tc[e.type]+" ("+(e.Id*a.ka.B/1024|0)+"Kb)",b.D.font=b.M,b.C-=b.D.measureText(e).width>>1,b.I+=(b.J>>1)-2,hc(b,e),b.Y&&(b.D.restore(),b.Y=!1)}}else hc(a,"This space intentionally left blank");a.context.drawImage(a.K,0,0,a.K.width,a.K.height,a.Ga,a.Ma,a.xa,a.Aa);a.oa=!1}}var PB="failsafe",KB="validate",MB="timestamp",WB="version",XB="url",YB="browser",UB="user",OB=-1,FB=0,NB=1,RB=2,$B=3;
$a(function(){for(var a=zb(document,"pcx86-machine"),b=0;b<a.length;b++)for(var c=a[b],d=vb(c),c=zb(c,"pcx86","computer"),e=0;e<c.length;e++){var f=c[e],g=vb(f),g=new DB(g,d,!0);yb(g,f);g.N&&IB(g,g.Mf)}});ab.show.push(function(){for(var a=zb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=vb(a[b]);(c=ub("Computer",c.id))&&c.ga&&!c.ea.Yb&&c.Mf(OB)}});
ab.exit.push(function(){for(var a=zb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=vb(a[b]);(c=ub("Computer",c.id))&&c.ea.Yb&&kB(c,!(!c.A||c.K),!0)}});function Wf(a,b,c){this.id=a.id;this.ba=a.ba;this.A="";this.state={};this.B=this.C=!1;this.key=mC(a,b,c);SB(this,a.Pk)}l=Wf.prototype;l.set=function(a,b){try{this.state[a]=b}catch(c){}};l.get=function(a){return this.state[a]||null};l.data=function(){return this.state};
l.load=function(a){return a?(this.A=a,this.B=!0,this.C=!1,!0):this.B?!0:Na()&&(a=Pa(this.key))?(this.A=a,this.B=!0):!1};function LB(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){gb(c.message||c),b=!1}return b}function TB(a){var b=!0;if(Na()){var c=JSON.stringify(a.state);Ra(a.key,c)||(gb("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.state?JSON.stringify(this.state):this.A};
function SB(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}l.clear=function(a){SB(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function mC(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}var nC=0;
function oC(a,b,c,d,e,f){e("Loading "+a+"...");Ka(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):pC(h,a,b,c,d,e,f)})}
function pC(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(ob(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PCx86$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pcx86$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?qC(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function qC(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ka(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);qC(a,b,c)}})}else c(a,null)}
function rC(a,b,c,d){function e(a){if(void 0===h){var b=g&&zb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=xa(a))}function f(a){e("Error: "+a);k&&(--nC||hb(!0));k=!1}var g,h,k=!0;nC++;pb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=m:v.appendChild(document.createTextNode(m));p.appendChild(v)}c||
(c="/versions/pcx86/1.35.0/components.xsl");m=function(d,h){h?oC(c,null,null,!1,e,function(d,k){k?(ob(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--nC||hb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--nC||hb(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?oC(b,a,d,!0,e,m):pC(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return k}function sC(a,b,c,d){hb(!1);return rC(a,b,c,d)}window.embedPC=sC;window.embedPCx86=sC;window.findMachineComponent=function(a,b){return ub(b,a+".machine")};
g),b.D.rotate(-Math.PI/2),c=g=0),h<b.J&&(b.J=h,b.M=b.J+"px "+jc),f=g,b.C=c,b.I=f,b=a,e=tc[e.type]+" ("+(e.Id*a.ka.B/1024|0)+"Kb)",b.D.font=b.M,b.C-=b.D.measureText(e).width>>1,b.I+=(b.J>>1)-2,hc(b,e),b.Y&&(b.D.restore(),b.Y=!1)}}else hc(a,"This space intentionally left blank");a.context.drawImage(a.K,0,0,a.K.width,a.K.height,a.Ga,a.Ma,a.xa,a.Aa);a.oa=!1}}var QB="failsafe",LB="validate",NB="timestamp",XB="version",YB="url",ZB="browser",VB="user",PB=-1,GB=0,OB=1,SB=2,aC=3;
$a(function(){for(var a=zb(document,"pcx86-machine"),b=0;b<a.length;b++)for(var c=a[b],d=vb(c),c=zb(c,"pcx86","computer"),e=0;e<c.length;e++){var f=c[e],g=vb(f),g=new EB(g,d,!0);yb(g,f);g.N&&JB(g,g.Mf)}});ab.show.push(function(){for(var a=zb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=vb(a[b]);(c=ub("Computer",c.id))&&c.ga&&!c.ea.Yb&&c.Mf(PB)}});
ab.exit.push(function(){for(var a=zb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=vb(a[b]);(c=ub("Computer",c.id))&&c.ea.Yb&&lB(c,!(!c.A||c.K),!0)}});function Wf(a,b,c){this.id=a.id;this.ba=a.ba;this.A="";this.state={};this.B=this.C=!1;this.key=nC(a,b,c);TB(this,a.Pk)}l=Wf.prototype;l.set=function(a,b){try{this.state[a]=b}catch(c){}};l.get=function(a){return this.state[a]||null};l.data=function(){return this.state};
l.load=function(a){return a?(this.A=a,this.B=!0,this.C=!1,!0):this.B?!0:Na()&&(a=Pa(this.key))?(this.A=a,this.B=!0):!1};function MB(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){gb(c.message||c),b=!1}return b}function UB(a){var b=!0;if(Na()){var c=JSON.stringify(a.state);Ra(a.key,c)||(gb("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.state?JSON.stringify(this.state):this.A};
function TB(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}l.clear=function(a){TB(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function nC(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}var oC=0;
function pC(a,b,c,d,e,f){e("Loading "+a+"...");Ka(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):qC(h,a,b,c,d,e,f)})}
function qC(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(ob(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PCx86$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pcx86$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?rC(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function rC(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ka(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);rC(a,b,c)}})}else c(a,null)}
function sC(a,b,c,d){function e(a){if(void 0===h){var b=g&&zb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=xa(a))}function f(a){e("Error: "+a);k&&(--oC||hb(!0));k=!1}var g,h,k=!0;oC++;pb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],v=document.createElement("style");v.type="text/css";v.styleSheet?v.styleSheet.cssText=m:v.appendChild(document.createTextNode(m));p.appendChild(v)}c||
(c="/versions/pcx86/1.35.0/components.xsl");m=function(d,h){h?pC(c,null,null,!1,e,function(d,k){k?(ob(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--oC||hb(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--oC||hb(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?pC(b,a,d,!0,e,m):qC(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(u){f(u.message)}return k}function tC(a,b,c,d){hb(!1);return sC(a,b,c,d)}window.embedPC=tC;window.embedPCx86=tC;window.findMachineComponent=function(a,b){return ub(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!Bb[a]){for(var c=!0,d=Bb,e=a,f=b.length,g=[],h=[],k="",m=null,p=0;p<f;p++){var v=b[p];if('"'==v||"'"==v)m&&v!=m?k+=v:(m?m=null:m=v,k&&(h.push(k),k=""));else{if(!m){if("\r"==v||"\n"==v)v=";";if(" "==v||"\t"==v||";"==v){k&&(h.push(k),k="");";"==v&&h.length&&(g.push(h),h=[]);continue}}k+=v}}k&&h.push(k);h.length&&g.push(h);d[e]=g;Ab(a)||(c=!1)}return c};window.enableEvents=hb;window.sendEvent=kb;
function tC(a,b,c,d){if(!c&&b){d.push(b);a=pb[d[0]];b=null;for(var e in a)if(wa(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Ka(b,null,!0,function(a,b){uC(b,d)}):uC(null,d)}else gb("Error ("+c+") requesting "+a)}
function uC(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=pb[f],k={},m;for(m in h){var p=h[m],v=va(m);if("xml"==v){for(v=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=v.exec(h[m]);){var u=d[2];u&&(h[u]||(p=p.replace(d[0],"")))}d=m=ta(m)}else"xsl"==v&&(e=m=ta(m));k[m]=p}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
function uC(a,b,c,d){if(!c&&b){d.push(b);a=pb[d[0]];b=null;for(var e in a)if(wa(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Ka(b,null,!0,function(a,b){vC(b,d)}):vC(null,d)}else gb("Error ("+c+") requesting "+a)}
function vC(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=pb[f],k={},m;for(m in h){var p=h[m],v=va(m);if("xml"==v){for(v=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=v.exec(h[m]);){var u=d[2];u&&(h[u]||(p=p.replace(d[0],"")))}d=m=ta(m)}else"xsl"==v&&(e=m=ta(m));k[m]=p}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
"&#xA9;"),a=Wa(c,"javascript",!1,g),a=a+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('<div id="'+f+'"></div>\n')+"...\n",a=a+('<script type="text/javascript" src="'+g+'">\x3c/script>\n')+('<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n')+"The machine should appear where the <div> is located.",gb(a)):gb("Missing XML/XSL resources")}
window.savePC=function(a,b,c){var d=ub("Computer",a),e=ub("Debugger",a);if(d){var f=kB(d,!0),g=d.J?JSON.stringify(d.J):null;b||(b="/versions/pcx86/1.35.0/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Pk:g}))return!0;Ka(b,null,!0,function(c,d,e){tC(c,d,e,[a,ta(b,!0),g,f])});return!0}gb("Unable to identify machine '"+a+"'");return!1};})();
window.savePC=function(a,b,c){var d=ub("Computer",a),e=ub("Debugger",a);if(d){var f=lB(d,!0),g=d.J?JSON.stringify(d.J):null;b||(b="/versions/pcx86/1.35.0/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Pk:g}))return!0;Ka(b,null,!0,function(c,d,e){uC(c,d,e,[a,ta(b,!0),g,f])});return!0}gb("Unable to identify machine '"+a+"'");return!1};})();

View file

@ -523,8 +523,8 @@ function Tp(a,b,c,d){if(d)a.Aa("Unable to load font ROM (error "+d+": "+b+")");e
function xq(a,b){if(1==b)return a.ga[0]=yq[sq],a.ga[1]=yq[qq],a.ga;if(2==b){var c=a.C.ef;if(a.C===a.A){var d=a.A.rc[0],c=d&7;d&16&&(c|=8);18!=a.A.rc[1]&&(c|=32)}a.ga[0]=yq[c&15];c=c&32?zq:Aq;for(d=0;d<c.length;d++)a.ga[d+1]=yq[c[d]];return a.ga}if(a.I===a.rb)return yq;a.Ga&&b&&!a.ga[16]&&(a.Ga=!1);if(!a.Ga){var c=a.A,d=c.we,e,f,g,h;if(8==b)for(e=0;256>e;e++)f=d[e]||0,g=f<<2&252,h=f>>4&252,f=f>>10&252,a.ga[e]=[g,h,f,255];else{var k=d&&d[255];b=null!=c.rc[15]?c.rc:Bq;for(e=0;16>e;e++)f=b[e]&63,k?(f|=
(c.rc[20]&12)<<4,c.rc[16]&128&&(f&=-49,f|=(c.rc[20]&3)<<4),f=d[f],g=f<<2&252,h=f>>4&252,f=f>>10&252):(g=(f&4?170:0)|(f&32?85:0),h=(f&2?170:0)|(f&16?85:0),f=(f&1?170:0)|(f&8?85:0)),a.ga[e]=[g,h,f,255]}a.Ga=!0}return a.ga}function Qn(a,b,c,d){a.nb=b;a.Va=c;a.Ca=d}
function nq(a,b){var c=!1;if(window&&a.nb&&(!b||a.G)){b=0;var d=a.Ca?a.Ca:8,e=xq(a);null!=a.Va[0]&&Cq(a,Dq,a.Va[0],b,d,8,a.nb,e)&&(c=!0);b=a.Ca?0:2048;d=a.Ca?a.Ca:9;null!=a.Va[1]&&(Cq(a,Eq,a.Va[1],b,d,14,a.nb,Fq,Gq)&&(c=!0),a.Ca&&Cq(a,a.Ma,a.Va[1],0,a.Ca,14,a.nb,e)&&(c=!0))}return c}function Cq(a,b,c,d,e,f,g,h,k){var m=!1;null!=c&&(Hq(a,b,c,d,e,f,g,h,k)&&(m=!0),a.md&&Hq(a,b<<1,c,d,e,f,g,h,k)&&(m=!0));return m}
function Hq(a,b,c,d,e,f,g,h,k){var m=!1,q=b&1?0:1,y=a.ta[b],w=16>h.length?h.length:16;y||(y={oc:e<<q,pc:f<<q,ae:Array(w),Wh:h.slice(0,w),De:k,hg:Array(w)});for(k=0;k<w;k++){var z=h[k],B=y.ae[k]?y.Wh[k]:[];if(z[0]!==B[0]||z[1]!==B[1]||z[2]!==B[2]){var m=y,B=k,S=q,X=c,ca=d,$a=e,zb=f,Rh=g,It=[0,0,0,0],Mf=document.createElement("canvas");Mf.width=m.oc<<4;Mf.height=m.pc<<4;var Im=Mf.getContext("2d"),Kb,pd,oc,Nf=8>zb||!ca?zb:8,Sh=Im.createImageData(m.oc,m.pc);for(Kb=0;256>Kb;Kb++){for(oc=0;oc<zb;oc++)for(var Jt=
m.De&&B&1&&oc>=zb-2,Kt=Rh[oc<Nf?X+Kb*Nf+oc:ca+Kb*Nf+oc-Nf],Th=0;Th<=S;Th++)for(pd=0;pd<$a;pd++){var Jm=pd<<S,Km=(oc<<S)+Th,Lm=Jt||Kt&128>>(8<=pd&&192<=Kb&&223>=Kb?7:pd)?z:It;Iq(Sh,Jm,Km,Lm);S&&Iq(Sh,Jm+1,Km,Lm)}Im.putImageData(Sh,(Kb&15)*m.oc,(Kb>>4)*m.pc)}m.ae[B]="#"+oa(z[0],2)+oa(z[1],2)+oa(z[2],2);m.Wh[B]=z;m.hg[B]=Mf;m=!0}}a.ta[b]=y;return m}function Jq(a){0<a.ua||0<=a.Z?0>a.xa&&(a.xa=0):a.xa=-1}
function Hq(a,b,c,d,e,f,g,h,k){var m=!1,q=b&1?0:1,y=a.ta[b],w=16>h.length?h.length:16;y||(y={oc:e<<q,pc:f<<q,ae:Array(w),Wh:h.slice(0,w),De:k,hg:Array(w)});for(k=0;k<w;k++){var z=h[k],B=y.ae[k]?y.Wh[k]:[];if(z[0]!==B[0]||z[1]!==B[1]||z[2]!==B[2]){var m=y,B=k,S=q,X=c,ca=d,$a=e,zb=f,Rh=g,Jt=[0,0,0,0],Mf=document.createElement("canvas");Mf.width=m.oc<<4;Mf.height=m.pc<<4;var Im=Mf.getContext("2d"),Kb,pd,oc,Nf=8>zb||!ca?zb:8,Sh=Im.createImageData(m.oc,m.pc);for(Kb=0;256>Kb;Kb++){for(oc=0;oc<zb;oc++)for(var Kt=
m.De&&B&1&&oc>=zb-2,Lt=Rh[oc<Nf?X+Kb*Nf+oc:ca+Kb*Nf+oc-Nf],Th=0;Th<=S;Th++)for(pd=0;pd<$a;pd++){var Jm=pd<<S,Km=(oc<<S)+Th,Lm=Kt||Lt&128>>(8<=pd&&192<=Kb&&223>=Kb?7:pd)?z:Jt;Iq(Sh,Jm,Km,Lm);S&&Iq(Sh,Jm+1,Km,Lm)}Im.putImageData(Sh,(Kb&15)*m.oc,(Kb>>4)*m.pc)}m.ae[B]="#"+oa(z[0],2)+oa(z[1],2)+oa(z[2],2);m.Wh[B]=z;m.hg[B]=Mf;m=!0}}a.ta[b]=y;return m}function Jq(a){0<a.ua||0<=a.Z?0>a.xa&&(a.xa=0):a.xa=-1}
function wq(a){if(a.G){for(var b=10;15>=b;b++)if(null==a.C.Qa[b])return;var c=a.C.Qa[10],b=c&31,d=a.C.Qa[11]&31,e=a.C.Qa[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Kq(a);else{c=a.C.Qa[15]+((a.C.Qa[14]&63)<<8);a.Z!=c&&(Kq(a),a.Z=c);d=d-b+1;if(a.Tc!=b||a.xc!=d)a.Tc=b,a.xc=d;a.wa=e+1;Jq(a)}}}function Kq(a){if(0<=a.Z){if(void 0!==a.L){var b=Lq<<8,c=a.L[a.Z];if(c&b){var c=c&~b,b=a.Z%a.F,d=a.Z/a.F|0;a.G&&a.ta[a.G]&&(a.Ba&&Mq(a,b,d,c,a.Ba),Mq(a,b,d,c));a.L[a.Z]=c}}a.Z=-1}}
function Nq(a){var b,c=a.C;a.yc=!1;var d=c.kd[5];if(null!=d){b=fp;var e=hp,f=c.kd[3]&31;switch(d&3){case 0:if(f){e=hp|32;switch(f&24){case 8:e=hp|96;break;case 16:e=hp|160;break;case 24:e=hp|224}c.zc=f&7}break;case 1:e=1;break;case 2:switch(f&24){default:e=2;break;case 8:e=98;break;case 16:e=162;break;case 24:e=226}break;case 3:a.Ma==Rn&&(e=3,c.zc=f&7)}d&8&&(b=1280);c=c.Qd[4];null!=c&&(c&4||(b|=gp,e|=ip),d&64&&(c&8&&(b|=16384,e|=4),a.yc=!0));b|=e}return b}
function Oq(a,b){var c=a.C;return c&&null!=b&&b!=c.tg?(c.$f(b),a.ma.$f(c.Ya,c.Ab,c.qg(),!0),!0):!1}
@ -600,99 +600,99 @@ l.save=function(){var a=0,b=[];b[a++]=[this.F,this.I,this.fb,this.gb,this.Za,thi
l.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.A.length&&6<=e.length?bs(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.I&&e[1]!=this.I&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.I+")",b=-2));for(this.A.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],k=g[f++],m=g[f++];if(h>=this.A.length||k>=this.A[h].length||m>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+m+") out of range ("+
b+" changes applied)";b=-1;break}if(this.qe){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][m]){for(k=h.data.length;k<e;)h.data[k++]=h.pattern;k=0;h.Mc=e;for(h.uc=f.length;e<g;)h.data[e++]=f[k++];b++}}}0>b&&-2!=b&&this.controller.Aa("Unable to restore disk '"+this.Qc+": "+c);return b};
l.toJSON=function(){var a;a=0;for(var b;b=js(this,a++);)rs(b);a=JSON.stringify(this.A,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
function rs(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var as=0;function ss(a){t.call(this,"FDC",a);this.dmaRead=ss.prototype.ak;this.dmaWrite=ss.prototype.bk;this.dmaFormat=ss.prototype.rk;this.H=a.autoMount||null;this.L=a.sortBy||"name";"none"==this.L&&(this.L=null);this.B=[];this.M=!Ha("Mobi")&&window&&"FileReader"in window}ba(ss,t);l=ss.prototype;
l.wb=function(a,b,c){var d=this;switch(b){case "listDisks":this.ia[b]=c;if(this.L){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.L?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)try{c.options[a]=b[a]}catch(e){break}}c.onchange=function(){var a=d.ia.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){r("FDC option error: "+h.message)}b=g.desc;void 0===
b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.ia[b]=c,c.onchange=function(){var a=na(c.value,10);null!=a&&ts(d,a)},!0;case "loadDisk":return this.ia[b]=c,c.onclick=function(){var a=d.ia.listDisks;a&&us(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDisk":if(!this.M){c.parentNode.removeChild(c);break}this.ia[b]=c;c.onclick=function(){var a=d.ia.listDrives;a&&a.options&&d.A&&((a=d.A[na(a.value,
10)||0])?(a=a.sa)?(a=Ka(qs(a),"octet-stream",!0,a.qh.replace(".json",".img")),r(a)):d.Aa("No diskette loaded in drive."):d.Aa("No diskette drive selected."))};return!0;case "mountDisk":if(this.M)return this.ia[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;us(d,pa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
l.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;this.oa=a;this.V=vb(a,"ChipSet");if((this.H=Mc(this.oa,"autoMount")||this.H)&&"string"==typeof this.H)try{this.H=eval("("+this.H+")")}catch(e){r("FDC auto-mount error: "+e.message+" ("+this.H+")"),this.H=null}vs(this);kc(b,this,ws);mc(b,this,xs);ys(this,"None","",!0);this.M&&ys(this,"Local Disk","?");ys(this,"Remote Disk","??");zs(this)||mb(this)};
l.Ob=function(a,b){if(!b){if(!a){if(this.reset(),this.oa.O){this.B=[];for(a=0;a<this.A.length;a++)As(this,a,!0);zs(this,!0)}}else if(!this.restore(a))return!1;if(a=this.ia.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.O;b++){var c=document.createElement("option");c.value=b;c.text=String.fromCharCode(65+b)+":";a.appendChild(c)}0<this.O&&(a.value="0",ts(this,0))}}return!0};l.Nb=function(a){return a?this.save():!0};l.reset=function(){vs(this)};
l.save=function(){var a=new Qe(this);a.set(0,Bs(this));return a.data()};l.restore=function(a){return vs(this,a[0])};
function vs(a,b){var c=0,d,e=!0;b||(b=[0,0,Cs,Array(9),0,0,0,[]]);a.La=b[c++];c++;a.Y=b[c++];a.G=b[c++];a.D=b[c++];a.C=b[c++];a.K=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.B=d);void 0===a.A&&(a.O=4,a.V&&(a.O=+dk(a.V,vj,void 0)),a.A=Array(4));for(d=0;d<a.A.length;d++){var g=a.A[d];if(void 0===g){var g=a.A[d]={},h;if(a.V)a:{h=a.V;if(d<+dk(h,vj,void 0)){if(!h.O){h=360;break a}if(d<h.O.length){h=h.O[d];break a}}h=0}else h=0;switch(h){case 160:case 180:g.gb=1;default:g.fb=40;g.Za=9;break;case 720:g.fb=
80;g.Za=9;break;case 1200:g.fb=80;g.Za=15;break;case 1440:g.fb=80,g.Za=18}}var k=a,m=d,q=f[d],y=0;h=!0;g.La=m;g.ke=g.me=!1;q||(q=[Ds,!0,0,2,0]);"boolean"==typeof q[1]&&(q[1]=[Es,g.fb||40,g.gb||q[3],g.Za||9,g.lb||512,q[1],g.Mf,g.Re,g.Se]);g.hb=q[y++];var w=q[y++];g.name=w[0];g.fb=w[1];g.gb=w[2];g.Za=w[3];g.lb=w[4];g.ne=w[5];(g.Mf=w[6])?(g.Re=w[7],g.Se=w[8]):(g.Mf=g.fb,g.Re=g.gb,g.Se=g.Za);g.Sa=q[y++];g.sd=q[y++];g.ub=q[y++];g.sd=100<=g.sd?g.sd-100:g.sd-g.ub;g.kb=q[y++];g.td=q[y++];g.tb=q[y++];g.Oa=
q[y++];g.Ra=null;g.sa||(g.Sd="");var z=q[y++];102==z&&(z=!1);"boolean"==typeof z?(w=q[y++],q=q[y],z?(y=k.A[m],As(k,m,!0,!0),y.me=!0,m=new $r(k,y,"preload"),k.ki(y,m,w,q,!0)):Fs(k,m,w,q,!0)?g.sa&&q&&Gs(k,w,q,g.sa):mb(k,!1)):void 0!==z&&g.sa&&0>g.sa.restore(z)&&(h=!1);h&&g.sa&&void 0!==g.Oa&&(g.Ra=g.sa.seek(g.ub,g.Sa,g.kb));h||(e=!1)}a.I=b[c++]||0;a.F=b[c]||Hs;return e}
function Bs(a){var b=0,c=[];c[b++]=a.La;c[b++]=0;c[b++]=a.Y;c[b++]=a.G;c[b++]=a.D;c[b++]=a.C;c[b++]=a.K;for(var d=b++,e=0,f=[],g=0;g<a.A.length;g++){var h=e++,k=a.A[g],m=0,q=[];q[m++]=k.hb;q[m++]=[k.name,k.fb,k.gb,k.Za,k.lb,k.ne,k.Mf,k.Re,k.Se];q[m++]=k.Sa;q[m++]=k.sd+100;q[m++]=k.ub;q[m++]=k.kb;q[m++]=k.td;q[m++]=k.tb;q[m++]=k.Oa;q[m++]=k.me;q[m++]=k.Rj;q[m]=k.Sd;f[h]=q}c[d]=f;d=b++;for(e=0;e<a.A.length;e++)f=a.A[e],f.sa&&Is(a,f.Sd,f.sa);c[d]=a.B;c[b++]=a.I;c[b]=a.F;return c}
function zs(a,b){b||(a.J=0);if(a.H)for(var c in a.H){var d=a.H[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.ia.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.value==e){f=h.text;break a}}f=pa(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.A.length)){!Fs(a,g,f,e,!0)&&b&&mb(a,!1);continue}a.Aa("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.J}
function us(a,b,c,d){var e,f=a.ia.listDrives;if(f&&!isNaN(e=na(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Aa('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=pa(c)}for(;0>Fs(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){var f=a,g=c,h;for(h=0;h<f.B.length;h++)if(f.B[h][1]==g){f.B.splice(h,1);break}As(a,e,!1,
!0)}}else As(a,e);else a.Aa("Unable to load the selected drive")}function Fs(a,b,c,d,e,f){var g=a.A[b];if(d&&(d=d.replace("/disks/pc/","/disks/pcx86/"),g.Sd.toLowerCase()!=d.toLowerCase())){As(a,b,e,!0);if(g.ke)return a.Aa("Drive "+b+" busy"),0;g.ke=!0;e&&(g.Gd=!0,a.J++);g.me=!!f;return(new $r(a,g,"preload")).load(c,d,f,a.ki)?1:0}return-1}
l.ki=function(a,b,c,d,e){var f;a.ke=!1;b&&(f=b.info(),b&&f[0]>a.fb||f[1]>a.gb)&&(this.Aa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.La)),b=null);b?(a.sa=b,a.Rj=c,a.Sd=d,Gs(this,c,d,b),f=b.info(),this.I|=Js,this.Aa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.La),a.Gd||e),a.Mf=f[0],a.Re=f[1],a.Se=f[2],this.oa&&Zc(this.oa)):a.me=!1;a.Gd&&(a.Gd=!1,--this.J||mb(this));ts(this,a.La)};
function ys(a,b,c,d){if((a=a.ia.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function ts(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.ia.listDisks;a=a.ia.listDrives;if(d&&a&&d.options&&a.options&&(a=na(a.value,10),c=c.me?"?":c.Sd,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function As(a,b,c,d){var e=a.A[b];e.sa&&(Is(a,e.Sd,e.sa),e.Rj="",e.Sd="",e.sa=null,e.me=!1,a.I|=Js,d||a.Aa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||ts(a,b))}
function Gs(a,b,c,d){var e;for(e=0;e<a.B.length;e++)if(a.B[e][1]==c){d.restore(a.B[e][2]);return}a.B[e]=[b,c,[]]}function Is(a,b,c){var d;for(d=0;d<a.B.length;d++)if(a.B[d][1]==b){a.B[d][2]=c.save();break}}l.ym=function(a,b){b&Ks?this.K&Ks||this.K&Ls&&this.V&&Hf(this.V,6):vs(this);this.K=b};l.dl=function(){return 80};l.fl=function(){return this.Y};l.cl=function(){var a=0;this.D<this.C&&(a=this.G[this.D]);this.K&Ls&&this.V&&Ff(this.V,6);++this.D>=this.C&&(this.Y&=~(Ms|Ns),this.D=this.C=0);return a};
l.xm=function(a,b){this.C<this.G.length&&(this.G[this.C++]=b);a=this.G[0]&Os;if(void 0!==Ps[a]&&this.C>=Ps[a].ed){b=!1;this.D=0;a=Qs(this);var c,d,e,f,g,h=a&Os;switch(h){case Rs:Qs(this);Qs(this);Ss(this);break;case Ts:d=Qs(this);this.La=d&3;c=this.A[this.La];Ss(this);Us(this,(c.hb&Vs)>>>24);break;case Ws:case Xs:d=Qs(this);b=d>>2&1;this.La=d&3;c=this.A[this.La];c.Sa=b;d=c.ub=Qs(this);e=Qs(this);f=c.kb=Qs(this);g=Qs(this);c.tb=128<<g;c.td=Qs(this);Qs(this);Qs(this);h==Xs?(h=c,h.hb=Ys|Zs,h.sa&&(h.Ra=
null,h.hb=$s,this.V&&(wl(this.V,2,this,"dmaRead",h),sl(this.V,2)))):(h=c,h.hb=Ys|Zs,h.sa&&(h.sa.qe?h.hb=at|Zs:(h.Ra=null,h.hb=$s,this.V&&(wl(this.V,2,this,"dmaWrite",h),sl(this.V,2)))));bt(this,c,a,b,d,e,f,g);b=!0;break;case ct:d=Qs(this);this.La=d&3;c=this.A[this.La];c.ub=c.sd=0;c.hb=dt|et;Ss(this);b=!0;break;case ft:c=this.A[this.La];c.Sa=0;Ss(this);Us(this,c.La|c.Sa<<2|c.hb&gt);Us(this,c.ub);this.La=this.La+1&3;break;case ht:d=Qs(this);b=d>>2&1;this.La=d&3;c=this.A[this.La];d=c.ub;e=c.Sa=b;f=c.kb=
1;g=0;c.hb=$s;c.sa&&(c.Ra=c.sa.seek(c.ub,c.Sa,c.kb))?g=c.Ra.length>>8:c.hb=Ys|Zs;bt(this,c,a,b,d,e,f,g);b=!0;break;case it:d=Qs(this);b=d>>2&1;this.La=d&3;c=this.A[this.La];d=c.ub;e=c.Sa=b;f=1;g=Qs(this);c.tb=128<<g;c.td=Qs(this);Qs(this);c.$h=Qs(this);h=c;h.hb=Ys|Zs;h.sa&&(h.Ra=null,h.hb=$s,this.V&&(h.he=0,h.Fc=Array(4),h.jg=!0,h.yf=0,wl(this.V,2,this,"dmaFormat",h),sl(this.V,2),h.jg=!1));bt(this,c,a,b,d,e,f,g);b=!0;break;case jt:d=Qs(this),this.La=d&3,c=this.A[this.La],c.Sa=d>>2&1,d=Qs(this),c.ub+=
d-c.sd,0>c.ub&&(c.ub=0),c.ub>=c.fb&&(c.ub=c.fb-1),c.sd=d,c.hb=dt,c.ub||(c.hb|=et),Ss(this),b=!0}0<this.C&&(this.Y=this.Y|Ms|Ns);this.K&Ls&&(!c||c.hb&Ys||!b||this.V&&Hf(this.V,6))}};l.el=function(){var a=this.I;this.I&=~Js;return a};l.wm=function(a,b){this.F=b};function bt(a,b,c,d,e,f,g,h){Ss(a);Us(a,b.La|b.Sa<<2|b.hb&gt);Us(a,(b.hb&kt)>>>8);Us(a,(b.hb&lt)>>>16);var k=0;if(e!=b.ub||f!=b.Sa)k=g=1;c&mt&&(f^=k,d||(k=0));Us(a,e+k);Us(a,f);Us(a,g);Us(a,h)}function Qs(a){var b=a.G[a.D];a.D++;return b}
function Ss(a){a.D=a.C=0}function Us(a,b){a.G[a.C++]=b}l.ak=function(a,b,c){void 0===b||0>b?this.ve(a,c):c(-1,!1)};l.bk=function(a,b){return void 0!==b&&0<=b?nt(a,b):-1};l.rk=function(a,b){if(void 0!==b&&0<=b)a:if(a.hb)a=-1;else{a.Fc[a.he++]=b;if(a.he==a.Fc.length){a.ub=a.Fc[0];a.Sa=a.Fc[1];a.kb=a.Fc[2];a.tb=128<<a.Fc[3];for(var c=a.he=0;c<a.tb;c++)if(0>nt(a,a.$h)){a=-1;break a}a.yf++}a.yf>=a.td&&(b=-1);a=b}else a=-1;return a};
l.ve=function(a,b){var c=-1,d=null,e=0;if(!a.hb&&a.sa){do{if(a.Ra&&(e=a.Oa,0<=(c=a.sa.read(a.Ra,a.Oa++)))){d=a.Ra;break}a.Ra=a.sa.seek(a.ub,a.Sa,a.kb);if(!a.Ra){a.hb=ot|Zs;break}a.Oa=0;pt(a)}while(1)}b(c,!1,d,e)};function nt(a,b){if(a.hb||!a.sa)return-1;do{if(a.Ra&&a.sa.write(a.Ra,a.Oa++,b))break;a.Ra=a.sa.seek(a.ub,a.Sa,a.kb);if(!a.Ra){a.hb=qt|Zs;b=-1;break}a.Oa=0;pt(a)}while(1);return b}function pt(a){a.kb++;a.kb>=a.Se+1&&(a.kb=1,a.Sa++,a.Sa>=a.Re&&(a.Sa=0,a.ub++))}
var Es="Floppy Drive",Ks=4,Ls=8,Ns=16,Ms=64,Cs=128,Rs=3,Ts=4,Ws=5,Xs=6,ct=7,ft=8,ht=10,it=13,jt=15,Os=31,mt=128,$s=0,Ys=8,dt=32,Zs=64,Ds=192,gt=255,at=512,ot=1024,qt=8192,kt=65280,lt=16711680,et=268435456,Vs=-16777216,Js=128,Hs=0;aa={};
var Ps={3:{ed:3,ud:0,name:aa.Ao},4:{ed:2,ud:1,name:aa.yo},5:{ed:9,ud:7,name:aa.Eo},6:{ed:9,ud:7,name:aa.uo},7:{ed:2,ud:0,name:aa.wo},8:{ed:1,ud:2,name:aa.zo},10:{ed:2,ud:7,name:aa.vo},13:{ed:6,ud:7,name:aa.ro},15:{ed:3,ud:0,name:aa.xo}},ws={1009:ss.prototype.dl,1012:ss.prototype.fl,1013:ss.prototype.cl,1015:ss.prototype.el},xs={1010:ss.prototype.ym,1013:ss.prototype.xm,1015:ss.prototype.wm};
function rs(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}var as=0;function ss(a){t.call(this,"FDC",a);this.dmaRead=ss.prototype.ak;this.dmaWrite=ss.prototype.bk;this.dmaFormat=ss.prototype.rk;this.L=ts(a.autoMount);this.K=a.sortBy||"name";"none"==this.K&&(this.K=null);this.B=[];this.M=!Ha("Mobi")&&window&&"FileReader"in window}ba(ss,t);l=ss.prototype;
l.wb=function(a,b,c){var d=this;switch(b){case "listDisks":this.ia[b]=c;if(this.K){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.K?a.text.localeCompare(b.text):a.value.localeCompare(b.value)});for(a=0;a<b.length;a++)try{c.options[a]=b[a]}catch(e){break}}c.onchange=function(){var a=d.ia.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){r("FDC option error: "+h.message)}b=g.desc;void 0===
b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}};return!0;case "descDisk":case "listDrives":return this.ia[b]=c,c.onchange=function(){var a=na(c.value,10);null!=a&&us(d,a)},!0;case "loadDisk":return this.ia[b]=c,c.onclick=function(){var a=d.ia.listDisks;a&&vs(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDisk":if(!this.M){c.parentNode.removeChild(c);break}this.ia[b]=c;c.onclick=function(){var a=d.ia.listDrives;a&&a.options&&d.A&&((a=d.A[na(a.value,
10)||0])?(a=a.sa)?(a=Ka(qs(a),"octet-stream",!0,a.qh.replace(".json",".img")),r(a)):d.Aa("No diskette loaded in drive."):d.Aa("No diskette drive selected."))};return!0;case "mountDisk":if(this.M)return this.ia[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;vs(d,pa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
l.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;this.oa=a;this.V=vb(a,"ChipSet");ts(Mc(this.oa,"autoMount"),this.L);ws(this);kc(b,this,xs);mc(b,this,ys);zs(this,"None","",!0);this.M&&zs(this,"Local Disk","?");zs(this,"Remote Disk","??");As(this)||mb(this)};function ts(a,b){if(a){if("string"==typeof a)try{a=eval("("+a+")")}catch(d){r("FDC auto-mount error: "+d.message+" ("+a+")"),a={}}}else a={};if(b)for(var c in a)b[c]=a[c];return a}
l.Ob=function(a,b){if(!b){if(!a){if(this.reset(),this.oa.O){this.B=[];for(a=0;a<this.A.length;a++)Bs(this,a,!0);As(this,!0)}}else if(!this.restore(a))return!1;if(a=this.ia.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;b<this.O;b++){var c=document.createElement("option");c.value=b;c.text=String.fromCharCode(65+b)+":";a.appendChild(c)}0<this.O&&(a.value="0",us(this,0))}}return!0};l.Nb=function(a){return a?this.save():!0};l.reset=function(){ws(this)};
l.save=function(){var a=new Qe(this);a.set(0,Cs(this));return a.data()};l.restore=function(a){return ws(this,a[0])};
function ws(a,b){var c=0,d,e=!0;b||(b=[0,0,Ds,Array(9),0,0,0,[]]);a.La=b[c++];c++;a.Y=b[c++];a.G=b[c++];a.D=b[c++];a.C=b[c++];a.I=b[c++];var f=b[c++];d=b[c++];null!=d&&(a.B=d);void 0===a.A&&(a.O=4,a.V&&(a.O=+dk(a.V,vj,void 0)),a.A=Array(4));for(d=0;d<a.A.length;d++){var g=a.A[d];if(void 0===g){var g=a.A[d]={},h;if(a.V)a:{h=a.V;if(d<+dk(h,vj,void 0)){if(!h.O){h=360;break a}if(d<h.O.length){h=h.O[d];break a}}h=0}else h=0;switch(h){case 160:case 180:g.gb=1;default:g.fb=40;g.Za=9;break;case 720:g.fb=
80;g.Za=9;break;case 1200:g.fb=80;g.Za=15;break;case 1440:g.fb=80,g.Za=18}}var k=a,m=d,q=f[d],y=0;h=!0;g.La=m;g.ke=g.me=!1;q||(q=[Es,!0,0,2,0]);"boolean"==typeof q[1]&&(q[1]=[Fs,g.fb||40,g.gb||q[3],g.Za||9,g.lb||512,q[1],g.Mf,g.Re,g.Se]);g.hb=q[y++];var w=q[y++];g.name=w[0];g.fb=w[1];g.gb=w[2];g.Za=w[3];g.lb=w[4];g.ne=w[5];(g.Mf=w[6])?(g.Re=w[7],g.Se=w[8]):(g.Mf=g.fb,g.Re=g.gb,g.Se=g.Za);g.Sa=q[y++];g.sd=q[y++];g.ub=q[y++];g.sd=100<=g.sd?g.sd-100:g.sd-g.ub;g.kb=q[y++];g.td=q[y++];g.tb=q[y++];g.Oa=
q[y++];g.Ra=null;g.sa||(g.Sd="");var z=q[y++];102==z&&(z=!1);"boolean"==typeof z?(w=q[y++],q=q[y],z?(y=k.A[m],Bs(k,m,!0,!0),y.me=!0,m=new $r(k,y,"preload"),k.ki(y,m,w,q,!0)):Gs(k,m,w,q,!0)?g.sa&&q&&Hs(k,w,q,g.sa):mb(k,!1)):void 0!==z&&g.sa&&0>g.sa.restore(z)&&(h=!1);h&&g.sa&&void 0!==g.Oa&&(g.Ra=g.sa.seek(g.ub,g.Sa,g.kb));h||(e=!1)}a.H=b[c++]||0;a.F=b[c]||Is;return e}
function Cs(a){var b=0,c=[];c[b++]=a.La;c[b++]=0;c[b++]=a.Y;c[b++]=a.G;c[b++]=a.D;c[b++]=a.C;c[b++]=a.I;for(var d=b++,e=0,f=[],g=0;g<a.A.length;g++){var h=e++,k=a.A[g],m=0,q=[];q[m++]=k.hb;q[m++]=[k.name,k.fb,k.gb,k.Za,k.lb,k.ne,k.Mf,k.Re,k.Se];q[m++]=k.Sa;q[m++]=k.sd+100;q[m++]=k.ub;q[m++]=k.kb;q[m++]=k.td;q[m++]=k.tb;q[m++]=k.Oa;q[m++]=k.me;q[m++]=k.Rj;q[m]=k.Sd;f[h]=q}c[d]=f;d=b++;for(e=0;e<a.A.length;e++)f=a.A[e],f.sa&&Js(a,f.Sd,f.sa);c[d]=a.B;c[b++]=a.H;c[b]=a.F;return c}
function As(a,b){b||(a.J=0);for(var c in a.L){var d=a.L[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.ia.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.value==e){f=h.text;break a}}f=pa(e,!0)}if(e&&f&&(g=c.charCodeAt(0)-65,0<=g&&g<a.A.length)){!Gs(a,g,f,e,!0)&&b&&mb(a,!1);continue}a.Aa("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.J}
function vs(a,b,c,d){var e,f=a.ia.listDrives;if(f&&!isNaN(e=na(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Aa('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=pa(c)}for(;0>Gs(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){var f=a,g=c,h;for(h=0;h<f.B.length;h++)if(f.B[h][1]==g){f.B.splice(h,1);break}Bs(a,e,!1,
!0)}}else Bs(a,e);else a.Aa("Unable to load the selected drive")}function Gs(a,b,c,d,e,f){var g=a.A[b];if(d&&(d=d.replace("/disks/pc/","/disks/pcx86/"),g.Sd.toLowerCase()!=d.toLowerCase())){Bs(a,b,e,!0);if(g.ke)return a.Aa("Drive "+b+" busy"),0;g.ke=!0;e&&(g.Gd=!0,a.J++);g.me=!!f;return(new $r(a,g,"preload")).load(c,d,f,a.ki)?1:0}return-1}
l.ki=function(a,b,c,d,e){var f;a.ke=!1;b&&(f=b.info(),b&&f[0]>a.fb||f[1]>a.gb)&&(this.Aa('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.La)),b=null);b?(a.sa=b,a.Rj=c,a.Sd=d,Hs(this,c,d,b),f=b.info(),this.H|=Ks,this.Aa('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.La),a.Gd||e),a.Mf=f[0],a.Re=f[1],a.Se=f[2],this.oa&&Zc(this.oa)):a.me=!1;a.Gd&&(a.Gd=!1,--this.J||mb(this));us(this,a.La)};
function zs(a,b,c,d){if((a=a.ia.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
function us(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.ia.listDisks;a=a.ia.listDrives;if(d&&a&&d.options&&a.options&&(a=na(a.value,10),c=c.me?"?":c.Sd,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Bs(a,b,c,d){var e=a.A[b];e.sa&&(Js(a,e.Sd,e.sa),e.Rj="",e.Sd="",e.sa=null,e.me=!1,a.H|=Ks,d||a.Aa("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||us(a,b))}
function Hs(a,b,c,d){var e;for(e=0;e<a.B.length;e++)if(a.B[e][1]==c){d.restore(a.B[e][2]);return}a.B[e]=[b,c,[]]}function Js(a,b,c){var d;for(d=0;d<a.B.length;d++)if(a.B[d][1]==b){a.B[d][2]=c.save();break}}l.ym=function(a,b){b&Ls?this.I&Ls||this.I&Ms&&this.V&&Hf(this.V,6):ws(this);this.I=b};l.dl=function(){return 80};l.fl=function(){return this.Y};l.cl=function(){var a=0;this.D<this.C&&(a=this.G[this.D]);this.I&Ms&&this.V&&Ff(this.V,6);++this.D>=this.C&&(this.Y&=~(Ns|Os),this.D=this.C=0);return a};
l.xm=function(a,b){this.C<this.G.length&&(this.G[this.C++]=b);a=this.G[0]&Ps;if(void 0!==Qs[a]&&this.C>=Qs[a].ed){b=!1;this.D=0;a=Rs(this);var c,d,e,f,g,h=a&Ps;switch(h){case Ss:Rs(this);Rs(this);Ts(this);break;case Us:d=Rs(this);this.La=d&3;c=this.A[this.La];Ts(this);Vs(this,(c.hb&Ws)>>>24);break;case Xs:case Ys:d=Rs(this);b=d>>2&1;this.La=d&3;c=this.A[this.La];c.Sa=b;d=c.ub=Rs(this);e=Rs(this);f=c.kb=Rs(this);g=Rs(this);c.tb=128<<g;c.td=Rs(this);Rs(this);Rs(this);h==Ys?(h=c,h.hb=Zs|$s,h.sa&&(h.Ra=
null,h.hb=at,this.V&&(wl(this.V,2,this,"dmaRead",h),sl(this.V,2)))):(h=c,h.hb=Zs|$s,h.sa&&(h.sa.qe?h.hb=bt|$s:(h.Ra=null,h.hb=at,this.V&&(wl(this.V,2,this,"dmaWrite",h),sl(this.V,2)))));ct(this,c,a,b,d,e,f,g);b=!0;break;case dt:d=Rs(this);this.La=d&3;c=this.A[this.La];c.ub=c.sd=0;c.hb=et|ft;Ts(this);b=!0;break;case gt:c=this.A[this.La];c.Sa=0;Ts(this);Vs(this,c.La|c.Sa<<2|c.hb&ht);Vs(this,c.ub);this.La=this.La+1&3;break;case it:d=Rs(this);b=d>>2&1;this.La=d&3;c=this.A[this.La];d=c.ub;e=c.Sa=b;f=c.kb=
1;g=0;c.hb=at;c.sa&&(c.Ra=c.sa.seek(c.ub,c.Sa,c.kb))?g=c.Ra.length>>8:c.hb=Zs|$s;ct(this,c,a,b,d,e,f,g);b=!0;break;case jt:d=Rs(this);b=d>>2&1;this.La=d&3;c=this.A[this.La];d=c.ub;e=c.Sa=b;f=1;g=Rs(this);c.tb=128<<g;c.td=Rs(this);Rs(this);c.$h=Rs(this);h=c;h.hb=Zs|$s;h.sa&&(h.Ra=null,h.hb=at,this.V&&(h.he=0,h.Fc=Array(4),h.jg=!0,h.yf=0,wl(this.V,2,this,"dmaFormat",h),sl(this.V,2),h.jg=!1));ct(this,c,a,b,d,e,f,g);b=!0;break;case kt:d=Rs(this),this.La=d&3,c=this.A[this.La],c.Sa=d>>2&1,d=Rs(this),c.ub+=
d-c.sd,0>c.ub&&(c.ub=0),c.ub>=c.fb&&(c.ub=c.fb-1),c.sd=d,c.hb=et,c.ub||(c.hb|=ft),Ts(this),b=!0}0<this.C&&(this.Y=this.Y|Ns|Os);this.I&Ms&&(!c||c.hb&Zs||!b||this.V&&Hf(this.V,6))}};l.el=function(){var a=this.H;this.H&=~Ks;return a};l.wm=function(a,b){this.F=b};function ct(a,b,c,d,e,f,g,h){Ts(a);Vs(a,b.La|b.Sa<<2|b.hb&ht);Vs(a,(b.hb&lt)>>>8);Vs(a,(b.hb&mt)>>>16);var k=0;if(e!=b.ub||f!=b.Sa)k=g=1;c&nt&&(f^=k,d||(k=0));Vs(a,e+k);Vs(a,f);Vs(a,g);Vs(a,h)}function Rs(a){var b=a.G[a.D];a.D++;return b}
function Ts(a){a.D=a.C=0}function Vs(a,b){a.G[a.C++]=b}l.ak=function(a,b,c){void 0===b||0>b?this.ve(a,c):c(-1,!1)};l.bk=function(a,b){return void 0!==b&&0<=b?ot(a,b):-1};l.rk=function(a,b){if(void 0!==b&&0<=b)a:if(a.hb)a=-1;else{a.Fc[a.he++]=b;if(a.he==a.Fc.length){a.ub=a.Fc[0];a.Sa=a.Fc[1];a.kb=a.Fc[2];a.tb=128<<a.Fc[3];for(var c=a.he=0;c<a.tb;c++)if(0>ot(a,a.$h)){a=-1;break a}a.yf++}a.yf>=a.td&&(b=-1);a=b}else a=-1;return a};
l.ve=function(a,b){var c=-1,d=null,e=0;if(!a.hb&&a.sa){do{if(a.Ra&&(e=a.Oa,0<=(c=a.sa.read(a.Ra,a.Oa++)))){d=a.Ra;break}a.Ra=a.sa.seek(a.ub,a.Sa,a.kb);if(!a.Ra){a.hb=pt|$s;break}a.Oa=0;qt(a)}while(1)}b(c,!1,d,e)};function ot(a,b){if(a.hb||!a.sa)return-1;do{if(a.Ra&&a.sa.write(a.Ra,a.Oa++,b))break;a.Ra=a.sa.seek(a.ub,a.Sa,a.kb);if(!a.Ra){a.hb=rt|$s;b=-1;break}a.Oa=0;qt(a)}while(1);return b}function qt(a){a.kb++;a.kb>=a.Se+1&&(a.kb=1,a.Sa++,a.Sa>=a.Re&&(a.Sa=0,a.ub++))}
var Fs="Floppy Drive",Ls=4,Ms=8,Os=16,Ns=64,Ds=128,Ss=3,Us=4,Xs=5,Ys=6,dt=7,gt=8,it=10,jt=13,kt=15,Ps=31,nt=128,at=0,Zs=8,et=32,$s=64,Es=192,ht=255,bt=512,pt=1024,rt=8192,lt=65280,mt=16711680,ft=268435456,Ws=-16777216,Ks=128,Is=0;aa={};
var Qs={3:{ed:3,ud:0,name:aa.Ao},4:{ed:2,ud:1,name:aa.yo},5:{ed:9,ud:7,name:aa.Eo},6:{ed:9,ud:7,name:aa.uo},7:{ed:2,ud:0,name:aa.wo},8:{ed:1,ud:2,name:aa.zo},10:{ed:2,ud:7,name:aa.vo},13:{ed:6,ud:7,name:aa.ro},15:{ed:3,ud:0,name:aa.xo}},xs={1009:ss.prototype.dl,1012:ss.prototype.fl,1013:ss.prototype.cl,1015:ss.prototype.el},ys={1010:ss.prototype.ym,1013:ss.prototype.xm,1015:ss.prototype.wm};
Ma(function(){for(var a=eb(document,"pcx86","fdc"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new ss(d);db(d,c)}});function Z(a){t.call(this,"HDC",a);this.dmaRead=Z.prototype.ck;this.dmaWrite=Z.prototype.dk;this.dmaWriteBuffer=Z.prototype.sk;this.dmaWriteFormat=Z.prototype.tk;this.X=[];this.ja=a.drives;this.L="at"==a.type}ba(Z,t);l=Z.prototype;
l.wb=function(a,b,c){var d=this;switch(b){case "saveHD0":case "saveHD1":return this.ia[b]=c,c.onclick=function(a){return function(){var b=d.A&&d.A[a];if(b&&b.sa){var b=b.sa,c=b.qh||b.Qc,e=c.lastIndexOf(".");0<=e&&(c=c.substr(0,e));c+=".img";b=Ka(qs(b),"octet-stream",!0,c);r(b)}else d.Aa("Hard drive "+a+" is not available.")}}(+b.slice(-1)),!0}return!1};
l.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;this.oa=a;if(d=Mc(a,"drives"))this.X=d;else if(this.ja)try{this.X=eval("("+this.ja+")")}catch(e){r("HDC drive configuration error: "+e.message+" ("+this.ja+")")}this.V=vb(a,"ChipSet");this.F=0;this.la=3;kc(b,this,this.L?rt:st);mc(b,this,this.L?tt:ut);this.L&&(this.F++,this.V&&this.V.aa==Mj&&this.F++,this.la=2,b.M[vt]=2,b.O[vt]=2);Me(c,19,this.Il.bind(this));Me(c,64,this.Jl.bind(this));this.reset();wt(this)||mb(this)};
l.Ob=function(a,b){if(!b)if(!a)xt(this),this.oa.O&&wt(this,!0);else if(!this.restore(a))return!1;return!0};l.Nb=function(a){return a?this.save():!0};function ds(a){return a.oa?a.oa.ga:""}function es(a){return a.oa?a.oa.B||"":""}l.reset=function(){xt(this,null,!0)};l.save=function(){var a=new Qe(this);a.set(0,yt(this));return a.data()};l.restore=function(a){return xt(this,a[0])};
function xt(a,b,c){var d=0,e=!0;a.La=-1;if(a.L){if(b||(b=[0,0,0,0,0,0,0,zt,0,[0,-1]]),a.H=b[d++],a.ta=b[d++],a.I=b[d++],a.ea=b[d++],a.ba=b[d++],a.Z=b[d++],a.O=b[d++],a.Y=b[d++],a.ga=b[d++],a.K=b[d++],"object"==typeof a.K){var f=a.K;a.K=f[0];a.La=f[1]}}else b||(b=[0,At,Array(14),0,0]),a.W=b[d++],a.Y=b[d++],a.G=b[d++],a.D=b[d++],a.C=b[d++],a.qa=b[d++],a.pa=b[d++],a.na=b[d++],f=b[d++],void 0!==f?a.M=f:void 0===a.M&&(a.M=-1);void 0===a.A&&(a.A=Array(a.X.length));b=b[d];void 0===b&&(b=[]);for(d=0;d<a.A.length;d++){void 0===
a.A[d]&&(a.A[d]={});var f=a.A[d],g=a,h=d,k=f,m=a.X[d],q=b[d],y=c,w=0,z=!0;q||(q=[Bt,0,!1,Array(8)]);k.La=h;k.errorCode=q[w++];k.Sj=q[w++];k.ne=q[w++];k.ce=q[w++];k.de=q[w++];k.Sa=q[w++];k.gb=q[w++];k.Bd=q[w++];k.kb=q[w++];k.td=q[w++];k.tb=q[w++];k.wf=g.L?0:1;k.name=m.name;void 0===k.name&&(k.name=Ct);k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||es(g)||(k.mode="local");k.type=m.type;if(void 0===k.type||void 0===Dt[g.F][k.type])k.type=g.la;m=Dt[g.F][k.type];
k.Za=m[2]||17;k.lb=m[3]||512;if(y&&g.V){var m=g.V,B=k.type;if(m.A){var y=null,S=m.A[18];15<B&&(y=B,B=15);h?(S=S&240|B,B=26):(S=S&15|B<<4,B=25);var X=m;X.A&&(X.A[18]=S,wk(X));null!=y&&m.A&&(m.A[B]=y,wk(m))}}void 0===k.sa&&(k.sa=null,g.Aa("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));Et(g,k);k.Oa=q[w++];k.Ra=null;k.sa&&(g=q[w],void 0!==g&&0>k.sa.restore(g)&&(z=!1),z&&void 0!==k.Oa&&(k.Ra=k.sa.seek(k.Bd,k.Sa,k.kb+k.wf)));z||(e=!1);null!=a.W&&1>=d&&(a.W|=(f.type&3)<<(1-d<<1))}0<=a.La&&(a.B=a.A[a.La]);
l.hc=function(a,b,c,d){this.ma=b;this.U=c;this.Ea=d;this.oa=a;if(d=Mc(a,"drives"))this.X=d;else if(this.ja)try{this.X=eval("("+this.ja+")")}catch(e){r("HDC drive configuration error: "+e.message+" ("+this.ja+")")}this.V=vb(a,"ChipSet");this.F=0;this.la=3;kc(b,this,this.L?st:tt);mc(b,this,this.L?ut:vt);this.L&&(this.F++,this.V&&this.V.aa==Mj&&this.F++,this.la=2,b.M[wt]=2,b.O[wt]=2);Me(c,19,this.Il.bind(this));Me(c,64,this.Jl.bind(this));this.reset();xt(this)||mb(this)};
l.Ob=function(a,b){if(!b)if(!a)yt(this),this.oa.O&&xt(this,!0);else if(!this.restore(a))return!1;return!0};l.Nb=function(a){return a?this.save():!0};function ds(a){return a.oa?a.oa.ga:""}function es(a){return a.oa?a.oa.B||"":""}l.reset=function(){yt(this,null,!0)};l.save=function(){var a=new Qe(this);a.set(0,zt(this));return a.data()};l.restore=function(a){return yt(this,a[0])};
function yt(a,b,c){var d=0,e=!0;a.La=-1;if(a.L){if(b||(b=[0,0,0,0,0,0,0,At,0,[0,-1]]),a.H=b[d++],a.ta=b[d++],a.I=b[d++],a.ea=b[d++],a.ba=b[d++],a.Z=b[d++],a.O=b[d++],a.Y=b[d++],a.ga=b[d++],a.K=b[d++],"object"==typeof a.K){var f=a.K;a.K=f[0];a.La=f[1]}}else b||(b=[0,Bt,Array(14),0,0]),a.W=b[d++],a.Y=b[d++],a.G=b[d++],a.D=b[d++],a.C=b[d++],a.qa=b[d++],a.pa=b[d++],a.na=b[d++],f=b[d++],void 0!==f?a.M=f:void 0===a.M&&(a.M=-1);void 0===a.A&&(a.A=Array(a.X.length));b=b[d];void 0===b&&(b=[]);for(d=0;d<a.A.length;d++){void 0===
a.A[d]&&(a.A[d]={});var f=a.A[d],g=a,h=d,k=f,m=a.X[d],q=b[d],y=c,w=0,z=!0;q||(q=[Ct,0,!1,Array(8)]);k.La=h;k.errorCode=q[w++];k.Sj=q[w++];k.ne=q[w++];k.ce=q[w++];k.de=q[w++];k.Sa=q[w++];k.gb=q[w++];k.Bd=q[w++];k.kb=q[w++];k.td=q[w++];k.tb=q[w++];k.wf=g.L?0:1;k.name=m.name;void 0===k.name&&(k.name=Dt);k.path=m.path;k.mode=m.mode||(k.path?"preload":"local");"demandro"!=k.mode&&"demandrw"!=k.mode||es(g)||(k.mode="local");k.type=m.type;if(void 0===k.type||void 0===Et[g.F][k.type])k.type=g.la;m=Et[g.F][k.type];
k.Za=m[2]||17;k.lb=m[3]||512;if(y&&g.V){var m=g.V,B=k.type;if(m.A){var y=null,S=m.A[18];15<B&&(y=B,B=15);h?(S=S&240|B,B=26):(S=S&15|B<<4,B=25);var X=m;X.A&&(X.A[18]=S,wk(X));null!=y&&m.A&&(m.A[B]=y,wk(m))}}void 0===k.sa&&(k.sa=null,g.Aa("Type "+k.type+' "'+k.name+'" is fixed disk '+h,!0));Ft(g,k);k.Oa=q[w++];k.Ra=null;k.sa&&(g=q[w],void 0!==g&&0>k.sa.restore(g)&&(z=!1),z&&void 0!==k.Oa&&(k.Ra=k.sa.seek(k.Bd,k.Sa,k.kb+k.wf)));z||(e=!1);null!=a.W&&1>=d&&(a.W|=(f.type&3)<<(1-d<<1))}0<=a.La&&(a.B=a.A[a.La]);
return e}
function yt(a){var b=0,c=[];a.L?(c[b++]=a.H,c[b++]=a.ta,c[b++]=a.I,c[b++]=a.ea,c[b++]=a.ba,c[b++]=a.Z,c[b++]=a.O,c[b++]=a.Y,c[b++]=a.ga,c[b++]=[a.K,a.La]):(c[b++]=a.W,c[b++]=a.Y,c[b++]=a.G,c[b++]=a.D,c[b++]=a.C,c[b++]=a.qa,c[b++]=a.pa,c[b++]=a.na,c[b++]=a.M);for(var d=0,e=[],f=0;f<a.A.length;f++){var g=d++,h=a.A[f],k=0,m=[];m[k++]=h.errorCode;m[k++]=h.Sj;m[k++]=h.ne;m[k++]=h.ce;m[k++]=h.de;m[k++]=h.Sa;m[k++]=h.gb;m[k++]=h.Bd;m[k++]=h.kb;m[k++]=h.td;m[k++]=h.tb;m[k++]=h.Oa;m[k]=h.sa?h.sa.save():null;
e[g]=m}c[b]=e;return c}function Et(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.ce[2])?e=b.ce[0]<<8|b.ce[1]:c=b.type);null==c||d||(d=Dt[a.F][c][1],e=Dt[a.F][c][0]);d&&((c=Dt[a.F][b.type])&&e!=c[0]&&d!=c[1]&&a.Aa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.fb=e,b.gb=d,null==b.sa&&(b.sa=new $r(a,b,b.mode)))}}
function wt(a,b){b||(a.J=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];if(d.name&&d.path){if(!(b&&d.sa&&d.sa.Ff)){var e;e=a;var f=d.name,d=d.path,g=e.A[c];g.ke?(e.Aa("Drive "+c+" busy"),e=!0):(g.ke=!0,g.Gd=!0,e.J++,(g.sa||new $r(e,g,g.mode)).load(f,d,null,e.uk),e=!1);!e&&b&&mb(a,!1)}}else b&&void 0!==d.type&&(d.sa=null,Et(a,d,d.type))}return!!a.J}
l.uk=function(a,b,c){a.ke=!1;if(a.sa=b)this.Aa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.La),a.Gd),b=b.info(),b[0]==a.fb&&b[1]==a.gb&&b[2]==a.Za&&b[3]==a.lb||this.Aa("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+Ft[this.F]+" drive type "+a.type+" ("+a.fb+":"+a.gb+":"+a.Za+")");a.Gd&&(a.Gd=!1,--this.J||mb(this))};
l.Fl=function(){var a=0;this.D<this.C&&(a=this.G[this.D]);this.V&&Ff(this.V,5);this.Y&=~Gt;++this.D>=this.C&&(this.D=this.C=0,this.Y&=~(Ht|Lt|Mt));return a};l.Um=function(a,b){this.C<this.G.length&&(this.G[this.C++]=b);a=this.G[0]!=Nt?6:this.G.length;6==this.C&&(this.Y&=~Ot);this.C>=a&&(this.Y|=Ht,this.Y&=~Ot,Pt(this))};l.Gl=function(){var a=this.Y;this.D<this.C&&(this.Y|=Ot);return a};l.Xm=function(a,b){this.qa=b;this.V&&Ff(this.V,5);xt(this)};l.El=function(){return this.W};
l.Wm=function(a,b){this.pa=b;this.Y=Ot|Lt|Mt};l.Vm=function(a,b){this.na=b};l.mh=function(){};function Qt(a){var b=-1;a.B&&(b=a.ve(a.B,function(){}),(1==a.B.Oa||a.B.Oa==a.B.lb)&&1<a.B.Oa&&(a.B.tb-=a.B.lb,a.I=a.I-1&255,a.B.tb>=a.B.lb?(a.Y=Rt,a.ve(a.B,function(b){0<=b?(St(a),a.V&&a.V.aa==Mj&&(a.Y=0),a.Y=a.Y|zt|Tt|Ut):(a.Y=Vt,a.H=Wt)},!1)):a.Y=zt|Tt));return b}l.ek=function(){return Qt(this)|Qt(this)<<8};
function Xt(a,b){a.B&&a.B.tb>=a.B.lb&&(0>Yt(a.B,b)?(a.Y=Vt,a.H=Wt):(1==a.B.Oa||a.B.Oa==a.B.lb)&&1<a.B.Oa&&(a.B.tb-=a.B.lb,a.I=a.I-1&255,St(a),a.Y=zt|Tt,a.B.tb>=a.B.lb&&(a.Y|=Ut)))}l.em=function(a,b){Xt(this,b&255);Xt(this,b>>8&255)};l.Mk=function(){return this.H};l.jm=function(a,b){this.ta=b};l.Ok=function(){return this.I};l.hm=function(a,b){this.I=b};l.Pk=function(){return this.ea};l.im=function(a,b){this.ea=b};l.Kk=function(){return this.ba};l.dm=function(a,b){this.ba=b};l.Jk=function(){return this.Z};
l.cm=function(a,b){this.Z=b};l.Lk=function(){return this.O};l.fm=function(a,b){this.O=b;this.Y=this.A[this.O&Zt?1:0]?this.Y|zt|Tt:this.Y&~zt};l.Qk=function(){var a=this.Y;this.Y&zt&&(this.Y&=~Rt);return a};l.bm=function(a,b){this.ga=b;this.V&&Ff(this.V,14);$t(this)};l.gm=function(a,b){this.K&au&&!(b&au)&&(this.H=bu);this.K=b};
function $t(a){var b=!1,c=a.ga,d=a.O&Zt?1:0,e=a.O&cu,f=a.ba|(a.Z&du)<<8,g=a.ea,h=a.I||256;a.La=-1;a.B=null;a.H=eu;a.Y=zt|Tt;var k=a.A[d];k?(k.Bd=f,k.Sa=e,k.kb=g,k.tb=h*k.lb,c=c>=fu?c:c&gu,k.Ra=null,k.Oa=0,k.errorCode=0,a.La=d,a.B=k):c=-1;switch(c&gu){case hu:b=!0;break;case iu:a.Y=Rt;a.ve(k,function(b){0<=b&&a.V?(St(a),a.Y=zt|Tt|Ut):(a.Y=Vt,a.H=Wt)},!1);break;case ju:a.Y=Ut;break;case ku:b=!0;break;case lu:b=!0;break;case fu:a.H=bu;b=!0;break;case mu:k.gb=e+1,k.Za=h,b=!0}b&&St(a)}
function St(a){!a.V||a.K&nu||Hf(a.V,14,120)}
function Pt(a){a.D=0;var b=ou(a),c=ou(a),d=c&32,e=d>>5,f=c&31,g=ou(a),h=ou(a),k=g<<2&768|h,m=g&63,q=ou(a),y=ou(a),w=a.A[e];w&&(w.Bd=k,w.Sa=f,w.kb=m,w.tb=q*w.lb);switch(b){case pu:qu(a,w?w.errorCode:ru);su(a,c);su(a,g);su(a,h);su(a,tu|d);b=-1;break;case Nt:for(c=0;0<=(b=ou(a));)w&&c<w.ce.length&&(w.ce[c++]=b);w&&Et(a,w);b=tu;w||a.M!=e||(a.M=-1,b=uu);qu(a,b|d);b=-1;break;case vu:case wu:qu(a,tu|d),b=-1}if(0<=b)switch(void 0===w?b=-1:(w.errorCode=Bt,w.Sj=0),b){case xu:qu(a,tu|d);break;case yu:w.Ge=y;
qu(a,tu|d);break;case zu:qu(a,tu|d);break;case Au:Bu(a,w,function(b){qu(a,b|d)});break;case Cu:Du(a,w,function(b){qu(a,b|d)});break;case Eu:Fu(a,w,function(b){qu(a,b|d)});break;default:qu(a,uu|d)}}function ou(a){var b=-1;a.D<a.C&&(b=a.G[a.D++]);return b}function qu(a,b){a.D=a.C=0;void 0!==b&&su(a,b);a.V&&Hf(a.V,5);a.Y|=Gt}function su(a,b){a.G[a.C++]=b}l.ck=function(a,b,c){void 0===b||0>b?this.ve(a,c):c(-1,!1)};l.dk=function(a,b){return void 0!==b&&0<=b?Yt(a,b):-1};
l.sk=function(a,b){void 0!==b&&0<=b?(a.Oa<a.de.length?a.de[a.Oa++]=b:(a.errorCode=Gu,b=-1),a=b):a=-1;return a};l.tk=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.Fc[a.he++]=b;if(a.he==a.Fc.length){a.Bd=a.Fc[0];a.Sa=a.Fc[1];a.kb=a.Fc[2];a.tb=128<<a.Fc[3];for(var c=a.he=0;c<a.tb;c++)if(0>Yt(a,a.$h)){a=-1;break a}a.yf++}a.yf>=a.td&&(b=-1);a=b}else a=-1;return a};
function Bu(a,b,c){b.errorCode=ru;if(b.sa&&(b.Ra=null,a.V)){b.errorCode=Bt;wl(a.V,3,a,"dmaRead",b);sl(a.V,3,function(a){a||b.errorCode!=Bt||(b.errorCode=ru);c(b.errorCode?uu:tu)});return}c(b.errorCode?uu:tu)}function Du(a,b,c){b.errorCode=ru;if(b.sa&&(b.Ra=null,a.V)){b.errorCode=Bt;wl(a.V,3,a,"dmaWrite",b);sl(a.V,3,function(a){a||(b.errorCode==Bt&&(b.errorCode=ru),b.errorCode==Gu&&(b.errorCode=Bt));c(b.errorCode?uu:tu)});return}c(b.errorCode?uu:tu)}
function Fu(a,b,c){b.errorCode=ru;b.de&&b.de.length==b.tb||(b.de=Array(b.tb));b.Oa=0;a.V?(b.errorCode=Bt,wl(a.V,3,a,"dmaWriteBuffer",b),sl(a.V,3,function(a){a||b.errorCode!=Bt||(b.errorCode=ru);c(b.errorCode?uu:tu)})):c(b.errorCode?uu:tu)}
l.ve=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.Ra&&(f=a.Oa,d=a.sa.read(a.Ra,a.Oa),a.Oa+=g,0<=d))return e=a.Ra,b&&b(d,!1,e,f),d;if(b){if(a.sa)return a.sa.seek(a.Bd,a.Sa,a.kb+a.wf,!1,function(c,k){(a.Ra=c)?(e=c,f=a.Oa=0,Hu(a),d=a.sa.read(a.Ra,a.Oa),a.Oa+=g):a.errorCode=Gu;b(d,k,e,f)}),d;a.errorCode=Gu;b(d,!1,e,f)}return d};
function Yt(a,b){if(a.errorCode)return-1;do{if(a.Ra&&a.sa.write(a.Ra,a.Oa++,b))break;a.sa&&a.sa.seek(a.Bd,a.Sa,a.kb+a.wf,!0,function(b){a.Ra=b});if(!a.Ra){a.errorCode=Gu;b=-1;break}a.Oa=0;Hu(a)}while(1);return b}function Hu(a){a.kb++;var b=1-a.wf;a.kb>=a.Za+b&&(a.kb=b,a.Sa++,a.Sa>=a.gb&&(a.Sa=0,a.Bd++))}l.Il=function(){var a=this.U.K&255;!(this.U.F>>8)&&128<a&&(this.M=a-128);return!0};l.Jl=function(){var a;(a=this.U.F>>8||!this.V)||(a=!(this.V.Zb[0].Uc&64));return a?!0:!1};
var Ct="Hard Drive",Ft=["XTC","ATC","COMPAQ"],Dt=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,
6],19:[1023,8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}],vt=496,bu=1,eu=0,Wt=16,du=3,cu=15,Zt=16,Vt=1,Ut=8,Tt=16,zt=64,Rt=128,hu=16,iu=32,ju=48,ku=64,lu=
112,fu=144,mu=145,gu=240,nu=2,au=4,tu=0,uu=2,xu=0,yu=1,pu=3,zu=5,Au=8,Cu=10,Nt=12,Eu=15,vu=224,wu=228,Bt=0,ru=4,Gu=20,At=0,Ot=1,Ht=2,Lt=4,Mt=8,Gt=32,st={800:Z.prototype.Fl,801:Z.prototype.Gl,802:Z.prototype.El},rt={496:Z.prototype.ek,497:Z.prototype.Mk,498:Z.prototype.Ok,499:Z.prototype.Pk,500:Z.prototype.Kk,501:Z.prototype.Jk,502:Z.prototype.Lk,503:Z.prototype.Qk},ut={800:Z.prototype.Um,801:Z.prototype.Xm,802:Z.prototype.Wm,803:Z.prototype.Vm,807:Z.prototype.mh,811:Z.prototype.mh,815:Z.prototype.mh},
tt={496:Z.prototype.em,497:Z.prototype.jm,498:Z.prototype.hm,499:Z.prototype.im,500:Z.prototype.dm,501:Z.prototype.cm,502:Z.prototype.fm,503:Z.prototype.bm,1014:Z.prototype.gm};Ma(function(){for(var a=eb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new Z(d);db(d,c)}});
function Iu(a,b,c){t.call(this,"Computer",a);this.ca.Pb=!1;Ju(this,b);this.M=Mc(this,"autoPower",a);this.C=0;this.Z=a.busWidth||a.buswidth;this.A=Ku;this.K=null;this.H=this.X=!1;this.ba=Mc(this,"url")||"";this.ga=(Math.random()+.1).toString(36).substr(2,12);this.B=Lu(this);if(this.U=ab("CPU",this.id)){this.Ea=ab("Debugger",this.id);this.G=[];for(b=null;b=vb(this,"Video",b);)this.G.push(b);this.ma=new Nb({id:this.Wd+".bus",busWidth:this.Z},this.U,this.Ea);var d,e=Ya(this.id);if((this.D=ab("Panel",
this.id))&&this.D.Df)for(b=0;b<e.length;b++)d=e[b],d.Aa=this.D.Aa,d.lc=this.D.lc,d.Df=this.D.Df;this.lc("PCx86 v1.35.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.hc&&d.hc(this,this.ma,this.U,this.Ea);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.J=d:this.A=parseInt(d,10));var f;if(a=Mc(this,"state")||(f=!0,a.state))b=this.V=a,f||(this.H=!0,this.A=Ku),this.A&&(this.L=new Qe(this,"1.35.0"),
this.L.load()?b=null:delete this.L);!b&&this.A&&(b=Mu(this))&&(this.H=!0);if(b){var g=this;Ba(b,null,!0,function(a,b,c){c?(g.J=null,g.H=!1,g.Aa("Unable to load machine state from server (error "+c+(b?": "+ua(b):"")+")")):(g.K=b,g.X=!0);mb(g)})}else mb(this);this.ia.power||(this.M=!0);!c&&this.M&&Nu(this,this.af)}else r("Unable to find CPU component")}ba(Iu,t);
function Ju(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.I=b}function Mc(a,b,c){var d=b.toLowerCase(),d=Ia(b)||Ia(d);void 0===d&&a.I&&(d=a.I[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Nu(a,b,c){for(var d=Ya(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!lb(f)){lb(f,function(){Nu(a,b,c)});return}}b.call(a,c)}
function Ou(a,b){var c=new Qe(a,"1.35.0",Pu);if(c.load()&&Qu(c)){var d=c.get(Ru),e=b?b.get(Ru):"unknown";d!=e&&(a.Aa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Iu.prototype;
l.af=function(a){void 0===a&&(a=this.A||(this.K?Su:Ku));if(!this.C){this.C++;var b=!1,c=!1;this.W=!1;var d=this.L||new Qe(this,"1.35.0");if(a==Tu)b=!0;else if(a>Ku){if(d.load(this.K)){this.F=new Qe(this,"1.35.0",Uu);this.F.load()&&(Vu(this,d),a=Wu,Xu(this.F));this.F.set(Ru,wa());Yu(this.F);var e=this.A&&!this.H;if(a==Su||Xa("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Qu(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
g?(this.Aa("Error: "+g),"unable to verify user"==g&&(Ga(Zu,""),this.B=null)):this.lc(f+": "+g),Xu(d),d.load()?(c=Qu(d),e=!0):c=!1))}e&&Ou(this,c?d:null)}else a==Wu&&d.clear()}else Ou(this);delete this.K;delete this.L}e=Ya(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.U&&(c=$u(this,g,d,b,c));b=[d,a,c];a!=Tu?Nu(this,this.li,b):this.li(b)}};
function $u(a,b,c,d,e){if(!b.ca.Pb){b.ca.Pb=!0;if(b.Ob){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Ob(f,d)&&f&&(r("Unable to restore state for "+b.type),a.V&&!a.X?(c.clear(),a.A=Ku,window&&window.location.reload()):a.W=!0,b.Ob(null),e=!1)}if(!d&&b.ui)for(a=b.ui.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
l.li=function(a){var b=a[0],c=0>a[1];a=a[2];this.ea=!0;this.ca.Pb=!0;var d=this.ia.power;d&&(d.textContent="Shutdown");this.U&&($u(this,this.U,b,c,a),this.U.Fe());this.W&&(Vu(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.C=0};
function Vu(a,b){if(Xa("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PCx86",ver:"1.35.0"};d.url=a.ba;d.user=c;d.type="bug";d.data=b;Ba("http://www.pcjs.org/api/v1/report",d,!0)}}
function av(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new Qe(a,"1.35.0"),g=new Qe(a,"1.35.0",Pu),h=wa();g.set(Ru,h);f.set(Ru,h);f.set(bv,"1.35.0");f.set(cv,window?window.location.href:null);f.set(dv,window?window.navigator.userAgent:"");a.U&&a.U.Nb&&(c&&Qc(a.U),d=a.U.Nb(b,c),"object"===typeof d&&f.set(a.U.id,d),c&&(a.U.ca.Pb=!1,!1===d&&(e=null)));for(var h=Ya(a.id),k=0;k<h.length;k++){var m=h[k];m.ca.Pb&&(m.Nb&&(d=m.Nb(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.ca.Pb=!1,!1===d&&(e=
null)))}e&&(c?(h=d=!1,b?(a.B&&ev(a,a.B,f.toString()),Yu(g)&&Yu(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=a.A==fv),d&&f.clear(h)):e=f.toString());c&&(a.ca.Pb=!1,b=a.ia.power)&&(b.textContent="Power");a.C=0;return e}l.reset=function(){this.ma&&this.ma.reset&&this.ma.reset();for(var a=Ya(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ma&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=Ya(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
function zt(a){var b=0,c=[];a.L?(c[b++]=a.H,c[b++]=a.ta,c[b++]=a.I,c[b++]=a.ea,c[b++]=a.ba,c[b++]=a.Z,c[b++]=a.O,c[b++]=a.Y,c[b++]=a.ga,c[b++]=[a.K,a.La]):(c[b++]=a.W,c[b++]=a.Y,c[b++]=a.G,c[b++]=a.D,c[b++]=a.C,c[b++]=a.qa,c[b++]=a.pa,c[b++]=a.na,c[b++]=a.M);for(var d=0,e=[],f=0;f<a.A.length;f++){var g=d++,h=a.A[f],k=0,m=[];m[k++]=h.errorCode;m[k++]=h.Sj;m[k++]=h.ne;m[k++]=h.ce;m[k++]=h.de;m[k++]=h.Sa;m[k++]=h.gb;m[k++]=h.Bd;m[k++]=h.kb;m[k++]=h.td;m[k++]=h.tb;m[k++]=h.Oa;m[k]=h.sa?h.sa.save():null;
e[g]=m}c[b]=e;return c}function Ft(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.ce[2])?e=b.ce[0]<<8|b.ce[1]:c=b.type);null==c||d||(d=Et[a.F][c][1],e=Et[a.F][c][0]);d&&((c=Et[a.F][b.type])&&e!=c[0]&&d!=c[1]&&a.Aa("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.fb=e,b.gb=d,null==b.sa&&(b.sa=new $r(a,b,b.mode)))}}
function xt(a,b){b||(a.J=0);for(var c=0;c<a.A.length;c++){var d=a.A[c];if(d.name&&d.path){if(!(b&&d.sa&&d.sa.Ff)){var e;e=a;var f=d.name,d=d.path,g=e.A[c];g.ke?(e.Aa("Drive "+c+" busy"),e=!0):(g.ke=!0,g.Gd=!0,e.J++,(g.sa||new $r(e,g,g.mode)).load(f,d,null,e.uk),e=!1);!e&&b&&mb(a,!1)}}else b&&void 0!==d.type&&(d.sa=null,Ft(a,d,d.type))}return!!a.J}
l.uk=function(a,b,c){a.ke=!1;if(a.sa=b)this.Aa('Mounted disk "'+c+'" in drive '+String.fromCharCode(67+a.La),a.Gd),b=b.info(),b[0]==a.fb&&b[1]==a.gb&&b[2]==a.Za&&b[3]==a.lb||this.Aa("Warning: disk geometry ("+b[0]+":"+b[1]+":"+b[2]+") does not match "+Gt[this.F]+" drive type "+a.type+" ("+a.fb+":"+a.gb+":"+a.Za+")");a.Gd&&(a.Gd=!1,--this.J||mb(this))};
l.Fl=function(){var a=0;this.D<this.C&&(a=this.G[this.D]);this.V&&Ff(this.V,5);this.Y&=~Ht;++this.D>=this.C&&(this.D=this.C=0,this.Y&=~(It|Mt|Nt));return a};l.Um=function(a,b){this.C<this.G.length&&(this.G[this.C++]=b);a=this.G[0]!=Ot?6:this.G.length;6==this.C&&(this.Y&=~Pt);this.C>=a&&(this.Y|=It,this.Y&=~Pt,Qt(this))};l.Gl=function(){var a=this.Y;this.D<this.C&&(this.Y|=Pt);return a};l.Xm=function(a,b){this.qa=b;this.V&&Ff(this.V,5);yt(this)};l.El=function(){return this.W};
l.Wm=function(a,b){this.pa=b;this.Y=Pt|Mt|Nt};l.Vm=function(a,b){this.na=b};l.mh=function(){};function Rt(a){var b=-1;a.B&&(b=a.ve(a.B,function(){}),(1==a.B.Oa||a.B.Oa==a.B.lb)&&1<a.B.Oa&&(a.B.tb-=a.B.lb,a.I=a.I-1&255,a.B.tb>=a.B.lb?(a.Y=St,a.ve(a.B,function(b){0<=b?(Tt(a),a.V&&a.V.aa==Mj&&(a.Y=0),a.Y=a.Y|At|Ut|Vt):(a.Y=Wt,a.H=Xt)},!1)):a.Y=At|Ut));return b}l.ek=function(){return Rt(this)|Rt(this)<<8};
function Yt(a,b){a.B&&a.B.tb>=a.B.lb&&(0>Zt(a.B,b)?(a.Y=Wt,a.H=Xt):(1==a.B.Oa||a.B.Oa==a.B.lb)&&1<a.B.Oa&&(a.B.tb-=a.B.lb,a.I=a.I-1&255,Tt(a),a.Y=At|Ut,a.B.tb>=a.B.lb&&(a.Y|=Vt)))}l.em=function(a,b){Yt(this,b&255);Yt(this,b>>8&255)};l.Mk=function(){return this.H};l.jm=function(a,b){this.ta=b};l.Ok=function(){return this.I};l.hm=function(a,b){this.I=b};l.Pk=function(){return this.ea};l.im=function(a,b){this.ea=b};l.Kk=function(){return this.ba};l.dm=function(a,b){this.ba=b};l.Jk=function(){return this.Z};
l.cm=function(a,b){this.Z=b};l.Lk=function(){return this.O};l.fm=function(a,b){this.O=b;this.Y=this.A[this.O&$t?1:0]?this.Y|At|Ut:this.Y&~At};l.Qk=function(){var a=this.Y;this.Y&At&&(this.Y&=~St);return a};l.bm=function(a,b){this.ga=b;this.V&&Ff(this.V,14);au(this)};l.gm=function(a,b){this.K&bu&&!(b&bu)&&(this.H=cu);this.K=b};
function au(a){var b=!1,c=a.ga,d=a.O&$t?1:0,e=a.O&du,f=a.ba|(a.Z&eu)<<8,g=a.ea,h=a.I||256;a.La=-1;a.B=null;a.H=fu;a.Y=At|Ut;var k=a.A[d];k?(k.Bd=f,k.Sa=e,k.kb=g,k.tb=h*k.lb,c=c>=gu?c:c&hu,k.Ra=null,k.Oa=0,k.errorCode=0,a.La=d,a.B=k):c=-1;switch(c&hu){case iu:b=!0;break;case ju:a.Y=St;a.ve(k,function(b){0<=b&&a.V?(Tt(a),a.Y=At|Ut|Vt):(a.Y=Wt,a.H=Xt)},!1);break;case ku:a.Y=Vt;break;case lu:b=!0;break;case mu:b=!0;break;case gu:a.H=cu;b=!0;break;case nu:k.gb=e+1,k.Za=h,b=!0}b&&Tt(a)}
function Tt(a){!a.V||a.K&ou||Hf(a.V,14,120)}
function Qt(a){a.D=0;var b=pu(a),c=pu(a),d=c&32,e=d>>5,f=c&31,g=pu(a),h=pu(a),k=g<<2&768|h,m=g&63,q=pu(a),y=pu(a),w=a.A[e];w&&(w.Bd=k,w.Sa=f,w.kb=m,w.tb=q*w.lb);switch(b){case qu:ru(a,w?w.errorCode:su);tu(a,c);tu(a,g);tu(a,h);tu(a,uu|d);b=-1;break;case Ot:for(c=0;0<=(b=pu(a));)w&&c<w.ce.length&&(w.ce[c++]=b);w&&Ft(a,w);b=uu;w||a.M!=e||(a.M=-1,b=vu);ru(a,b|d);b=-1;break;case wu:case xu:ru(a,uu|d),b=-1}if(0<=b)switch(void 0===w?b=-1:(w.errorCode=Ct,w.Sj=0),b){case yu:ru(a,uu|d);break;case zu:w.Ge=y;
ru(a,uu|d);break;case Au:ru(a,uu|d);break;case Bu:Cu(a,w,function(b){ru(a,b|d)});break;case Du:Eu(a,w,function(b){ru(a,b|d)});break;case Fu:Gu(a,w,function(b){ru(a,b|d)});break;default:ru(a,vu|d)}}function pu(a){var b=-1;a.D<a.C&&(b=a.G[a.D++]);return b}function ru(a,b){a.D=a.C=0;void 0!==b&&tu(a,b);a.V&&Hf(a.V,5);a.Y|=Ht}function tu(a,b){a.G[a.C++]=b}l.ck=function(a,b,c){void 0===b||0>b?this.ve(a,c):c(-1,!1)};l.dk=function(a,b){return void 0!==b&&0<=b?Zt(a,b):-1};
l.sk=function(a,b){void 0!==b&&0<=b?(a.Oa<a.de.length?a.de[a.Oa++]=b:(a.errorCode=Hu,b=-1),a=b):a=-1;return a};l.tk=function(a,b){if(void 0!==b&&0<=b)a:if(a.errorCode)a=-1;else{a.Fc[a.he++]=b;if(a.he==a.Fc.length){a.Bd=a.Fc[0];a.Sa=a.Fc[1];a.kb=a.Fc[2];a.tb=128<<a.Fc[3];for(var c=a.he=0;c<a.tb;c++)if(0>Zt(a,a.$h)){a=-1;break a}a.yf++}a.yf>=a.td&&(b=-1);a=b}else a=-1;return a};
function Cu(a,b,c){b.errorCode=su;if(b.sa&&(b.Ra=null,a.V)){b.errorCode=Ct;wl(a.V,3,a,"dmaRead",b);sl(a.V,3,function(a){a||b.errorCode!=Ct||(b.errorCode=su);c(b.errorCode?vu:uu)});return}c(b.errorCode?vu:uu)}function Eu(a,b,c){b.errorCode=su;if(b.sa&&(b.Ra=null,a.V)){b.errorCode=Ct;wl(a.V,3,a,"dmaWrite",b);sl(a.V,3,function(a){a||(b.errorCode==Ct&&(b.errorCode=su),b.errorCode==Hu&&(b.errorCode=Ct));c(b.errorCode?vu:uu)});return}c(b.errorCode?vu:uu)}
function Gu(a,b,c){b.errorCode=su;b.de&&b.de.length==b.tb||(b.de=Array(b.tb));b.Oa=0;a.V?(b.errorCode=Ct,wl(a.V,3,a,"dmaWriteBuffer",b),sl(a.V,3,function(a){a||b.errorCode!=Ct||(b.errorCode=su);c(b.errorCode?vu:uu)})):c(b.errorCode?vu:uu)}
l.ve=function(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.Ra&&(f=a.Oa,d=a.sa.read(a.Ra,a.Oa),a.Oa+=g,0<=d))return e=a.Ra,b&&b(d,!1,e,f),d;if(b){if(a.sa)return a.sa.seek(a.Bd,a.Sa,a.kb+a.wf,!1,function(c,k){(a.Ra=c)?(e=c,f=a.Oa=0,Iu(a),d=a.sa.read(a.Ra,a.Oa),a.Oa+=g):a.errorCode=Hu;b(d,k,e,f)}),d;a.errorCode=Hu;b(d,!1,e,f)}return d};
function Zt(a,b){if(a.errorCode)return-1;do{if(a.Ra&&a.sa.write(a.Ra,a.Oa++,b))break;a.sa&&a.sa.seek(a.Bd,a.Sa,a.kb+a.wf,!0,function(b){a.Ra=b});if(!a.Ra){a.errorCode=Hu;b=-1;break}a.Oa=0;Iu(a)}while(1);return b}function Iu(a){a.kb++;var b=1-a.wf;a.kb>=a.Za+b&&(a.kb=b,a.Sa++,a.Sa>=a.gb&&(a.Sa=0,a.Bd++))}l.Il=function(){var a=this.U.K&255;!(this.U.F>>8)&&128<a&&(this.M=a-128);return!0};l.Jl=function(){var a;(a=this.U.F>>8||!this.V)||(a=!(this.V.Zb[0].Uc&64));return a?!0:!1};
var Dt="Hard Drive",Gt=["XTC","ATC","COMPAQ"],Et=[{0:[306,2],1:[375,8],2:[306,6],3:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[940,8],5:[940,6],6:[615,4],7:[462,8],8:[733,5],9:[900,15],10:[820,3],11:[855,5],12:[855,7],13:[306,8],14:[733,7],16:[612,4],17:[977,5],18:[977,7],19:[1024,7],20:[733,5],21:[733,7],22:[733,5],23:[306,4]},{1:[306,4],2:[615,4],3:[615,6],4:[1023,8],5:[940,6],6:[697,5],7:[462,8],8:[925,5],9:[900,15],10:[980,5],11:[925,7],12:[925,9],13:[612,8],14:[980,4],16:[612,4],17:[980,5],18:[966,
6],19:[1023,8],20:[733,5],21:[733,7],22:[524,4,40],23:[924,8],24:[966,14],25:[966,16],26:[1023,14],27:[832,6,33],28:[1222,15,34],29:[1240,7,34],30:[615,4,25],31:[615,8,25],32:[905,9,25],33:[832,8,33],34:[966,7,34],35:[966,8,34],36:[966,9,34],37:[966,5,34],38:[612,16,63],39:[1023,11,33],40:[1023,15,34],41:[1630,15,52],42:[1023,16,63],43:[805,4,26],44:[805,2,26],45:[748,8,33],46:[748,6,33],47:[966,5,25]}],wt=496,cu=1,fu=0,Xt=16,eu=3,du=15,$t=16,Wt=1,Vt=8,Ut=16,At=64,St=128,iu=16,ju=32,ku=48,lu=64,mu=
112,gu=144,nu=145,hu=240,ou=2,bu=4,uu=0,vu=2,yu=0,zu=1,qu=3,Au=5,Bu=8,Du=10,Ot=12,Fu=15,wu=224,xu=228,Ct=0,su=4,Hu=20,Bt=0,Pt=1,It=2,Mt=4,Nt=8,Ht=32,tt={800:Z.prototype.Fl,801:Z.prototype.Gl,802:Z.prototype.El},st={496:Z.prototype.ek,497:Z.prototype.Mk,498:Z.prototype.Ok,499:Z.prototype.Pk,500:Z.prototype.Kk,501:Z.prototype.Jk,502:Z.prototype.Lk,503:Z.prototype.Qk},vt={800:Z.prototype.Um,801:Z.prototype.Xm,802:Z.prototype.Wm,803:Z.prototype.Vm,807:Z.prototype.mh,811:Z.prototype.mh,815:Z.prototype.mh},
ut={496:Z.prototype.em,497:Z.prototype.jm,498:Z.prototype.hm,499:Z.prototype.im,500:Z.prototype.dm,501:Z.prototype.cm,502:Z.prototype.fm,503:Z.prototype.bm,1014:Z.prototype.gm};Ma(function(){for(var a=eb(document,"pcx86","hdc"),b=0;b<a.length;b++){var c=a[b],d=bb(c),d=new Z(d);db(d,c)}});
function Ju(a,b,c){t.call(this,"Computer",a);this.ca.Pb=!1;Ku(this,b);this.M=Mc(this,"autoPower",a);this.C=0;this.Z=a.busWidth||a.buswidth;this.A=Lu;this.K=null;this.H=this.X=!1;this.ba=Mc(this,"url")||"";this.ga=(Math.random()+.1).toString(36).substr(2,12);this.B=Mu(this);if(this.U=ab("CPU",this.id)){this.Ea=ab("Debugger",this.id);this.G=[];for(b=null;b=vb(this,"Video",b);)this.G.push(b);this.ma=new Nb({id:this.Wd+".bus",busWidth:this.Z},this.U,this.Ea);var d,e=Ya(this.id);if((this.D=ab("Panel",
this.id))&&this.D.Df)for(b=0;b<e.length;b++)d=e[b],d.Aa=this.D.Aa,d.lc=this.D.lc,d.Df=this.D.Df;this.lc("PCx86 v1.35.0\nCopyright \u00a9 2012-2017 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");for(b=0;b<e.length;b++)d=e[b],d.hc&&d.hc(this,this.ma,this.U,this.Ea);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.J=d:this.A=parseInt(d,10));var f;if(a=Mc(this,"state")||(f=!0,a.state))b=this.V=a,f||(this.H=!0,this.A=Lu),this.A&&(this.L=new Qe(this,"1.35.0"),
this.L.load()?b=null:delete this.L);!b&&this.A&&(b=Nu(this))&&(this.H=!0);if(b){var g=this;Ba(b,null,!0,function(a,b,c){c?(g.J=null,g.H=!1,g.Aa("Unable to load machine state from server (error "+c+(b?": "+ua(b):"")+")")):(g.K=b,g.X=!0);mb(g)})}else mb(this);this.ia.power||(this.M=!0);!c&&this.M&&Ou(this,this.af)}else r("Unable to find CPU component")}ba(Ju,t);
function Ku(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){r(d.message+" ("+c+")")}}a.I=b}function Mc(a,b,c){var d=b.toLowerCase(),d=Ia(b)||Ia(d);void 0===d&&a.I&&(d=a.I[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Ou(a,b,c){for(var d=Ya(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!lb(f)){lb(f,function(){Ou(a,b,c)});return}}b.call(a,c)}
function Pu(a,b){var c=new Qe(a,"1.35.0",Qu);if(c.load()&&Ru(c)){var d=c.get(Su),e=b?b.get(Su):"unknown";d!=e&&(a.Aa("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}l=Ju.prototype;
l.af=function(a){void 0===a&&(a=this.A||(this.K?Tu:Lu));if(!this.C){this.C++;var b=!1,c=!1;this.W=!1;var d=this.L||new Qe(this,"1.35.0");if(a==Uu)b=!0;else if(a>Lu){if(d.load(this.K)){this.F=new Qe(this,"1.35.0",Vu);this.F.load()&&(Wu(this,d),a=Xu,Yu(this.F));this.F.set(Su,wa());Zu(this.F);var e=this.A&&!this.H;if(a==Tu||Xa("Click OK to restore the previous PCx86 machine state, or CANCEL to reset the machine.")){if(c=Ru(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!=
g?(this.Aa("Error: "+g),"unable to verify user"==g&&(Ga($u,""),this.B=null)):this.lc(f+": "+g),Yu(d),d.load()?(c=Ru(d),e=!0):c=!1))}e&&Pu(this,c?d:null)}else a==Xu&&d.clear()}else Pu(this);delete this.K;delete this.L}e=Ya(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.U&&(c=av(this,g,d,b,c));b=[d,a,c];a!=Uu?Ou(this,this.li,b):this.li(b)}};
function av(a,b,c,d,e){if(!b.ca.Pb){b.ca.Pb=!0;if(b.Ob){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Ob(f,d)&&f&&(r("Unable to restore state for "+b.type),a.V&&!a.X?(c.clear(),a.A=Lu,window&&window.location.reload()):a.W=!0,b.Ob(null),e=!1)}if(!d&&b.ui)for(a=b.ui.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
l.li=function(a){var b=a[0],c=0>a[1];a=a[2];this.ea=!0;this.ca.Pb=!0;var d=this.ia.power;d&&(d.textContent="Shutdown");this.U&&(av(this,this.U,b,c,a),this.U.Fe());this.W&&(Wu(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.C=0};
function Wu(a,b){if(Xa("There may be a problem with your PCx86 machine.\n\nTo help us diagnose it, click OK to send this PCx86 machine state to http://www.pcjs.org.")){var c=a.B||"";b=b.toString();var d={app:"PCx86",ver:"1.35.0"};d.url=a.ba;d.user=c;d.type="bug";d.data=b;Ba("http://www.pcjs.org/api/v1/report",d,!0)}}
function bv(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new Qe(a,"1.35.0"),g=new Qe(a,"1.35.0",Qu),h=wa();g.set(Su,h);f.set(Su,h);f.set(cv,"1.35.0");f.set(dv,window?window.location.href:null);f.set(ev,window?window.navigator.userAgent:"");a.U&&a.U.Nb&&(c&&Qc(a.U),d=a.U.Nb(b,c),"object"===typeof d&&f.set(a.U.id,d),c&&(a.U.ca.Pb=!1,!1===d&&(e=null)));for(var h=Ya(a.id),k=0;k<h.length;k++){var m=h[k];m.ca.Pb&&(m.Nb&&(d=m.Nb(b,c),"object"===typeof d&&f.set(m.id,d)),c&&(m.ca.Pb=!1,!1===d&&(e=
null)))}e&&(c?(h=d=!1,b?(a.B&&fv(a,a.B,f.toString()),Zu(g)&&Zu(f)||(e=null,d=h=!0)):a.A&&(d=!0,h=a.A==gv),d&&f.clear(h)):e=f.toString());c&&(a.ca.Pb=!1,b=a.ia.power)&&(b.textContent="Power");a.C=0;return e}l.reset=function(){this.ma&&this.ma.reset&&this.ma.reset();for(var a=Ya(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.ma&&c.reset&&c.reset()}};l.start=function(a,b){for(var c=Ya(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}};
l.stop=function(a,b){for(var c=Ya(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}};
l.wb=function(a,b,c){var d=this;switch(b){case "power":return this.ia[b]=c,c.onclick=function(){d.C||(d.ca.Pb?av(d,!1,!0):Nu(d,d.af))},!0;case "reset":return this.ia[b]=c,c.onclick=function(){if(d.ca.Pb&&!d.C)if(d.A&&!d.J){var a=Xa("Click OK to save changes to this PCx86 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");av(d,a,!0);!a&&d.V?window&&window.location.reload():(a||(d.O=!0),d.af(Ku),d.O=!1)}else d.reset(),d.U&&d.U.Fe()},!0;case "save":if(ra(Ca(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.ia[b]=c,c.onclick=function(){var a=Lu(d,!0);if(a){var b=!!(d.A&&!d.J||d.V),c=av(d,b);b?ev(d,a,c):d.Aa("Resume disabled, machine state not saved")}},!0}return!1};
function Lu(a,b){var c=a.B;c||((c=Fa(Zu),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=gv(a,c))||a.Aa("The user ID is invalid.")):b&&a.Aa("Browser local storage is not available"));return c}
function gv(a,b){a.B=null;b=Ba(Ca()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ga(Zu,b.data),a.B=b.data)}catch(d){r(d.message+" ("+c+")")}return a.B}function Mu(a){var b=null;a.B&&(b=Ca()+"/api/v1/user?req=load&user="+a.B+"&state="+hv(a,"1.35.0"));return b}
function ev(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=hv(a,"1.35.0");d.data=c;b=Ba(Ca()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Aa("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Aa(c),Ga(Zu,""),a.B=null)}}
l.wb=function(a,b,c){var d=this;switch(b){case "power":return this.ia[b]=c,c.onclick=function(){d.C||(d.ca.Pb?bv(d,!1,!0):Ou(d,d.af))},!0;case "reset":return this.ia[b]=c,c.onclick=function(){if(d.ca.Pb&&!d.C)if(d.A&&!d.J){var a=Xa("Click OK to save changes to this PCx86 machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");bv(d,a,!0);!a&&d.V?window&&window.location.reload():(a||(d.O=!0),d.af(Lu),d.O=!1)}else d.reset(),d.U&&d.U.Fe()},!0;case "save":if(ra(Ca(),"pcjs.org"))c.parentNode.removeChild(c);
else return this.ia[b]=c,c.onclick=function(){var a=Mu(d,!0);if(a){var b=!!(d.A&&!d.J||d.V),c=bv(d,b);b?fv(d,a,c):d.Aa("Resume disabled, machine state not saved")}},!0}return!1};
function Mu(a,b){var c=a.B;c||((c=Fa($u),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=hv(a,c))||a.Aa("The user ID is invalid.")):b&&a.Aa("Browser local storage is not available"));return c}
function hv(a,b){a.B=null;b=Ba(Ca()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Ga($u,b.data),a.B=b.data)}catch(d){r(d.message+" ("+c+")")}return a.B}function Nu(a){var b=null;a.B&&(b=Ca()+"/api/v1/user?req=load&user="+a.B+"&state="+iv(a,"1.35.0"));return b}
function fv(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=iv(a,"1.35.0");d.data=c;b=Ba(Ca()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.Aa("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.Aa(c),Ga($u,""),a.B=null)}}
function vb(a,b,c){a=Ya(a.id);for(var d=0;d<a.length;d++){var e=a[d];if(c)c==e&&(c=null);else if(e.type==b)return e}return null}function Zc(a,b){if(a.G.length){var c=0,d=0;!b&&window&&(c=window.scrollX,d=window.scrollY);a=a.G[0];a.D&&a.D.focus();!b&&window&&window.scrollTo(c,d)}}
function $c(a,b){a.U&&(a=a.U,a.ri&&(b||!a.ca.Ib||a.ca.ji)&&(wf(a,"EAX",a.F),wf(a,"EBX",a.G),wf(a,"ECX",a.H),wf(a,"EDX",a.K),wf(a,"ESP",C(a)),wf(a,"EBP",a.L),wf(a,"ESI",a.J),wf(a,"EDI",a.I),wf(a,"CS",a.ga.ha),wf(a,"DS",a.Ca.ha),wf(a,"SS",a.W.ha),wf(a,"ES",a.ua.ha),wf(a,"EIP",E(a)),b=Ad(a),wf(a,"PS",b),wf(a,"V",b&2048),wf(a,"D",b&1024),wf(a,"I",b&512),wf(a,"T",b&256),wf(a,"S",b&128),wf(a,"Z",b&64),wf(a,"A",b&16),wf(a,"P",b&4),wf(a,"C",b&1),80386==a.aa&&(wf(a,"FS",a.qb.ha),wf(a,"GS",a.rb.ha),wf(a,"CR0",
a.pa),wf(a,"CR2",a.Xd),wf(a,"CR3",a.nd))),b=a.ia.speed)&&(b.textContent=a.ca.Ib&&a.R.wd?a.R.wd.toFixed(2)+"Mhz":"Stopped")}
function fd(a,b){for(var c=0;c<a.G.length;c++)gq(a.G[c],b);if(a.D&&(a=a.D,a.na)){Gb(a,Hb,a.J,a.la);if(a.za){b=a.ma;var c=a.A,d,e;null==d&&(d=0);null==e&&(e=b.K-d|0);c||(c={ng:0,dd:0,gg:[]});var f=d>>>b.B;d=d+e-1>>>b.B;c.ng=0;for(c.dd=0;f<=d;)e=b.X[f],c.ng+=e.size,e.size&&(c.gg.push(xa(Cb,f,0,0,e.type)),c.dd++),f++;a.A=c;a.ba=a.A.dd*a.ma.A/(Bb*Mb);d=0;a.A.ci=0;a.A.Ee||(a.A.Ee=[]);e=-1;b=0;for(var g=-1,c=0;c<a.A.dd;c++){var h=a.A.gg[c],f=ya(Cb.type,h),h=ya(Cb.Ej,h);if(f!=e||h!=g+1)(g=c-b)&&(d+=Jb(a,
b,g,e)),e=f,b=c;g=h}d+=Jb(a,b,c-b,e);e=a.A.pk!=d;a.A.pk=d;if(e){e=new sb(0,0,a.J.width,a.J.height);a.A.be=[];b=a.A.dd;for(d=0;d<a.A.ci;d++)c=a.A.Ee[d].dd,a.A.be.push(tb(e,c,b,!d)),b-=c;for(d=0;d<a.A.be.length;d++)e=a.A.Ee[d],b=c=a.A.be[d],f=a.la,(g=Ic[e.type])||(g=new rb),f.strokeStyle="black",f.strokeRect(b.x,b.y,b.wc,b.A),f.fillStyle="string"==typeof g?g:g.toString(),f.fillRect(b.x,b.y,b.wc,b.A),b=a,f=c,b.L=b.X,b.I=b.Z,c=f.x+(f.wc>>1),g=f.y+(f.A>>1),h=f.A,f.wc<f.A&&(h=f.wc,b.W=!0,b.D.save(),b.D.translate(c,
g),b.D.rotate(-Math.PI/2),c=g=0),h<b.I&&(b.I=h,b.L=b.I+"px "+Lb),f=g,b.C=c,b.H=f,b=a,e=Ub[e.type]+" ("+(e.dd*a.ma.A/1024|0)+"Kb)",b.D.font=b.L,b.C-=b.D.measureText(e).width>>1,b.H+=(b.I>>1)-2,Ib(b,e),b.W&&(b.D.restore(),b.W=!1)}}else Ib(a,"This space intentionally left blank");a.context.drawImage(a.J,0,0,a.J.width,a.J.height,a.Ga,a.Ka,a.ua,a.xa);a.na=!1}}var Uu="failsafe",Pu="validate",Ru="timestamp",bv="version",cv="url",dv="browser",Zu="user",Tu=-1,Ku=0,Su=1,Wu=2,fv=3;
Ma(function(){for(var a=eb(document,"pcx86-machine"),b=0;b<a.length;b++)for(var c=a[b],d=bb(c),c=eb(c,"pcx86","computer"),e=0;e<c.length;e++){var f=c[e],g=bb(f),g=new Iu(g,d,!0);db(g,f);g.M&&Nu(g,g.af)}});Na.show.push(function(){for(var a=eb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=bb(a[b]);(c=ab("Computer",c.id))&&c.ea&&!c.ca.Pb&&c.af(Tu)}});
Na.exit.push(function(){for(var a=eb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=bb(a[b]);(c=ab("Computer",c.id))&&c.ca.Pb&&av(c,!(!c.A||c.J),!0)}});function Qe(a,b,c){this.id=a.id;this.Ea=a.Ea;this.A="";this.state={};this.B=this.C=!1;this.key=hv(a,b,c);Xu(this,a.Ij)}l=Qe.prototype;l.set=function(a,b){try{this.state[a]=b}catch(c){}};l.get=function(a){return this.state[a]||null};l.data=function(){return this.state};
l.load=function(a){return a?(this.A=a,this.B=!0,this.C=!1,!0):this.B?!0:Da()&&(a=Fa(this.key))?(this.A=a,this.B=!0):!1};function Qu(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){r(c.message||c),b=!1}return b}function Yu(a){var b=!0;if(Da()){var c=JSON.stringify(a.state);Ga(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.state?JSON.stringify(this.state):this.A};
function Xu(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}l.clear=function(a){Xu(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function hv(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}var iv=0;
function jv(a,b,c,d,e,f){e("Loading "+a+"...");Ba(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):kv(h,a,b,c,d,e,f)})}
function kv(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(Va(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PCx86$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pcx86$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){f=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?lv(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function lv(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ba(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);lv(a,b,c)}})}else c(a,null)}
function mv(a,b,c,d){function e(a){if(void 0===h){var b=g&&eb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=sa(a))}function f(a){e("Error: "+a);k&&(--iv||Qa(!0));k=!1}var g,h,k=!0;iv++;Wa[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],y=document.createElement("style");y.type="text/css";y.styleSheet?y.styleSheet.cssText=m:y.appendChild(document.createTextNode(m));q.appendChild(y)}c||
(c="/versions/pcx86/1.35.0/components.xsl");m=function(d,h){h?jv(c,null,null,!1,e,function(d,k){k?(Va(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--iv||Qa(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--iv||Qa(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?jv(b,a,d,!0,e,m):kv(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(w){f(w.message)}return k}function nv(a,b,c,d){Qa(!1);return mv(a,b,c,d)}window.embedPC=nv;window.embedPCx86=nv;window.findMachineComponent=function(a,b){return ab(b,a+".machine")};
g),b.D.rotate(-Math.PI/2),c=g=0),h<b.I&&(b.I=h,b.L=b.I+"px "+Lb),f=g,b.C=c,b.H=f,b=a,e=Ub[e.type]+" ("+(e.dd*a.ma.A/1024|0)+"Kb)",b.D.font=b.L,b.C-=b.D.measureText(e).width>>1,b.H+=(b.I>>1)-2,Ib(b,e),b.W&&(b.D.restore(),b.W=!1)}}else Ib(a,"This space intentionally left blank");a.context.drawImage(a.J,0,0,a.J.width,a.J.height,a.Ga,a.Ka,a.ua,a.xa);a.na=!1}}var Vu="failsafe",Qu="validate",Su="timestamp",cv="version",dv="url",ev="browser",$u="user",Uu=-1,Lu=0,Tu=1,Xu=2,gv=3;
Ma(function(){for(var a=eb(document,"pcx86-machine"),b=0;b<a.length;b++)for(var c=a[b],d=bb(c),c=eb(c,"pcx86","computer"),e=0;e<c.length;e++){var f=c[e],g=bb(f),g=new Ju(g,d,!0);db(g,f);g.M&&Ou(g,g.af)}});Na.show.push(function(){for(var a=eb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=bb(a[b]);(c=ab("Computer",c.id))&&c.ea&&!c.ca.Pb&&c.af(Uu)}});
Na.exit.push(function(){for(var a=eb(document,"pcx86","computer"),b=0;b<a.length;b++){var c=bb(a[b]);(c=ab("Computer",c.id))&&c.ca.Pb&&bv(c,!(!c.A||c.J),!0)}});function Qe(a,b,c){this.id=a.id;this.Ea=a.Ea;this.A="";this.state={};this.B=this.C=!1;this.key=iv(a,b,c);Yu(this,a.Ij)}l=Qe.prototype;l.set=function(a,b){try{this.state[a]=b}catch(c){}};l.get=function(a){return this.state[a]||null};l.data=function(){return this.state};
l.load=function(a){return a?(this.A=a,this.B=!0,this.C=!1,!0):this.B?!0:Da()&&(a=Fa(this.key))?(this.A=a,this.B=!0):!1};function Ru(a){var b=!0;if(!a.C)try{a.state=JSON.parse(a.A),a.C=!0}catch(c){r(c.message||c),b=!1}return b}function Zu(a){var b=!0;if(Da()){var c=JSON.stringify(a.state);Ga(a.key,c)||(r("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}l.toString=function(){return this.state?JSON.stringify(this.state):this.A};
function Yu(a,b){a.A="";a.state={};a.B=a.C=!1;b&&a.set("parms",b)}l.clear=function(a){Yu(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}};function iv(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}var jv=0;
function kv(a,b,c,d,e,f){e("Loading "+a+"...");Ba(a,null,!0,function(g,h,k){k?(h||(h="unable to load "+a+" ("+k+")"),f(h,null)):lv(h,a,b,c,d,e,f)})}
function lv(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(Va(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PCx86$2"),
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pcx86$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){f=null,a=q.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?mv(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
function mv(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ba(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],m,q=/( [a-z]+=)(['"])(.*?)\2/g;m=q.exec(f);)k=0>k.indexOf(m[1])?k.replace(">",m[0]+">"):k.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
"");a=a.replace(d[0],g);mv(a,b,c)}})}else c(a,null)}
function nv(a,b,c,d){function e(a){if(void 0===h){var b=g&&eb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=sa(a))}function f(a){e("Error: "+a);k&&(--jv||Qa(!0));k=!1}var g,h,k=!0;jv++;Wa[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var q=document.head||document.getElementsByTagName("head")[0],y=document.createElement("style");y.type="text/css";y.styleSheet?y.styleSheet.cssText=m:y.appendChild(document.createTextNode(m));q.appendChild(y)}c||
(c="/versions/pcx86/1.35.0/components.xsl");m=function(d,h){h?kv(c,null,null,!1,e,function(d,k){k?(Va(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(k=h.transformNode(k))?(g.outerHTML=k,--jv||Qa(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(k),(k=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(k,g),--jv||Qa(!0)):f("invalid machine element: "+
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?kv(b,a,d,!0,e,m):lv(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(w){f(w.message)}return k}function ov(a,b,c,d){Qa(!1);return nv(a,b,c,d)}window.embedPC=ov;window.embedPCx86=ov;window.findMachineComponent=function(a,b){return ab(b,a+".machine")};
window.processMachineScript=function(a,b){var c=!1;a+=".machine";if("string"==typeof b&&!gb[a]){for(var c=!0,d=gb,e=a,f=b.length,g=[],h=[],k="",m=null,q=0;q<f;q++){var y=b[q];if('"'==y||"'"==y)m&&y!=m?k+=y:(m?m=null:m=y,k&&(h.push(k),k=""));else{if(!m){if("\r"==y||"\n"==y)y=";";if(" "==y||"\t"==y||";"==y){k&&(h.push(k),k="");";"==y&&h.length&&(g.push(h),h=[]);continue}}k+=y}}k&&h.push(k);h.length&&g.push(h);d[e]=g;fb(a)||(c=!1)}return c};window.enableEvents=Qa;window.sendEvent=Sa;
function ov(a,b,c,d){if(!c&&b){d.push(b);a=Wa[d[0]];b=null;for(var e in a)if(ra(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Ba(b,null,!0,function(a,b){pv(b,d)}):pv(null,d)}else r("Error ("+c+") requesting "+a)}
function pv(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=Wa[f],k={},m;for(m in h){var q=h[m],y=qa(m);if("xml"==y){for(y=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=y.exec(h[m]);){var w=d[2];w&&(h[w]||(q=q.replace(d[0],"")))}d=m=pa(m)}else"xsl"==y&&(e=m=pa(m));k[m]=q}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
function pv(a,b,c,d){if(!c&&b){d.push(b);a=Wa[d[0]];b=null;for(var e in a)if(ra(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?Ba(b,null,!0,function(a,b){qv(b,d)}):qv(null,d)}else r("Error ("+c+") requesting "+a)}
function qv(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=Wa[f],k={},m;for(m in h){var q=h[m],y=qa(m);if("xml"==y){for(y=/[ \t]*<disk [^>]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=y.exec(h[m]);){var w=d[2];w&&(h[w]||(q=q.replace(d[0],"")))}d=m=pa(m)}else"xsl"==y&&(e=m=pa(m));k[m]=q}a&&(k[m="css"]=a);b[2]&&(k[m="parms"]=b[2]);b[3]&&(k[m="state"]=b[3]);d&&e?(a=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+a+";"+c[2]+c[3],c=c.replace(/\u00A9/g,
"&#xA9;"),a=Ka(c,"javascript",!1,g),a=a+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('<div id="'+f+'"></div>\n')+"...\n",a=a+('<script type="text/javascript" src="'+g+'">\x3c/script>\n')+('<script type="text/javascript">embedPC("'+f+'","'+d+'","'+e+'");\x3c/script>\n\n')+"The machine should appear where the <div> is located.",r(a)):r("Missing XML/XSL resources")}
window.savePC=function(a,b,c){var d=ab("Computer",a),e=ab("Debugger",a);if(d){var f=av(d,!0),g=d.I?JSON.stringify(d.I):null;b||(b="/versions/pcx86/1.35.0/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Ij:g}))return!0;Ba(b,null,!0,function(c,d,e){ov(c,d,e,[a,pa(b,!0),g,f])});return!0}r("Unable to identify machine '"+a+"'");return!1};})();
window.savePC=function(a,b,c){var d=ab("Computer",a),e=ab("Debugger",a);if(d){var f=bv(d,!0),g=d.I?JSON.stringify(d.I):null;b||(b="/versions/pcx86/1.35.0/pcx86"+(e?"-dbg":"")+".js");if(c&&c({state:f,Ij:g}))return!0;Ba(b,null,!0,function(c,d,e){pv(c,d,e,[a,pa(b,!0),g,f])});return!0}r("Unable to identify machine '"+a+"'");return!1};})();

View file

@ -1702,18 +1702,24 @@ HTMLOut.prototype.getManifestXML = function(sToken, sIndent, aParms)
sStateFile = match[2];
}
}
if (sXMLFile) {
obj.getMachineXML(sToken, sIndent, null, sXMLFile, sStateFile);
return;
}
/*
* Because it's common (and preferred, actually) to have a README.md file accompany a manifest,
* and because README.md files offer the preferred way to embed machines, we no longer immediately
* process any machine file specified by the manifest. Instead, we pass along sXMLFile and
* sStateFile to getMarkdownFile(), which it will use if no README.md exists.
*
* if (sXMLFile) {
* obj.getMachineXML(sToken, sIndent, null, sXMLFile, sStateFile);
* return;
* }
*/
}
/*
* If we're still here, then there was either a problem reading the manifest XSL file,
* or the manifest XML file didn't contain a machine reference. For now, we fall back to
* getMarkdownFile().
* or the manifest XML file didn't contain a machine reference (or, as explained above, we
* simply prefer to process README.md files first), so we fall back to getMarkdownFile().
*/
obj.getMarkdownFile(obj.sFile, sToken, sIndent, aParms);
obj.getMarkdownFile(obj.sFile, sToken, sIndent, aParms, null, sXMLFile, sStateFile);
});
return;
}
@ -1727,7 +1733,7 @@ HTMLOut.prototype.getManifestXML = function(sToken, sIndent, aParms)
};
/**
* getMarkdownFile(sFile, sToken, sIndent, aParms, sPrevious, sMachineFile)
* getMarkdownFile(sFile, sToken, sIndent, aParms, sPrevious, sXMLFile, sStateFile)
*
* If sFile exists in the current directory, open it, convert it, and prepare for replacement.
*
@ -1737,9 +1743,10 @@ HTMLOut.prototype.getManifestXML = function(sToken, sIndent, aParms)
* @param {string} [sIndent]
* @param {Array.<string>} [aParms]
* @param {string|null} [sPrevious] is text, if any, that should precede the file
* @param {string} [sMachineFile] name (if any) of machine.xml file already processed by the caller
* @param {string} [sXMLFile] name (if any) of a default machine.xml
* @param {string} [sStateFile] name (if any) of a default state file
*/
HTMLOut.prototype.getMarkdownFile = function(sFile, sToken, sIndent, aParms, sPrevious, sMachineFile)
HTMLOut.prototype.getMarkdownFile = function(sFile, sToken, sIndent, aParms, sPrevious, sXMLFile, sStateFile)
{
var obj = this;
@ -1754,7 +1761,7 @@ HTMLOut.prototype.getMarkdownFile = function(sFile, sToken, sIndent, aParms, sPr
*/
if (sFile.indexOf(sReadMeFile) >= 0) {
sFile = sFile.replace(sReadMeFile, sMachineMDFile);
obj.getMarkdownFile(sFile, sToken, sIndent, aParms, sPrevious, sMachineFile);
obj.getMarkdownFile(sFile, sToken, sIndent, aParms, sPrevious, sXMLFile, sStateFile);
return;
}
/*
@ -1769,18 +1776,18 @@ HTMLOut.prototype.getMarkdownFile = function(sFile, sToken, sIndent, aParms, sPr
* we now try some fallbacks, like checking for a "machine.xml" -- but only if sPrevious is not defined.
*/
if (sToken) {
if (sPrevious !== undefined) { // this means getMachineXML() called us, so it's the end of road
if (sPrevious != null) { // this means getMachineXML() called us, so it's the end of road
obj.aTokens[sToken] = sPrevious;
obj.replaceTokens();
} else {
obj.getMachineXML(sToken, sIndent); // we don't pass along aParms, because those are for Markdown files only
} else { // we don't pass along aParms, because those are for Markdown files only
obj.getMachineXML(sToken, sIndent, null, sXMLFile, sStateFile);
}
}
} else {
var m = new MarkOut(s, sIndent, obj.req, aParms, obj.fDebug, sMachineFile, obj.sExt == "md");
var m = new MarkOut(s, sIndent, obj.req, aParms, obj.fDebug, sXMLFile, obj.sExt == "md");
s = m.convertMD(" ").trim();
if (sMachineFile && m.hasMachines()) sPrevious = null;
if (sXMLFile && m.hasMachines()) sPrevious = null;
/*
* If the Markdown document begins with a heading, stuff that into the <title> tag;

View file

@ -153,7 +153,7 @@ class FDC extends Component {
* We record any 'autoMount' object now, but we no longer parse it until initBus(), because the Computer's
* getMachineParm() service may have an override for us.
*/
this.configMount = parmsFDC['autoMount'] || null;
this.configMount = this.parseConfig(parmsFDC['autoMount']);
/*
* This establishes "name" as the default; if we decide we'd prefer "none" to be the default (ie, the order
@ -421,23 +421,7 @@ class FDC extends Component {
this.cmp = cmp;
this.chipset = cmp.getMachineComponent("ChipSet");
this.configMount = this.cmp.getMachineParm('autoMount') || this.configMount;
if (this.configMount) {
if (typeof this.configMount == "string") {
try {
/*
* The most likely source of any exception will be right here, where we're parsing
* the JSON-encoded diskette data.
*/
this.configMount = eval("(" + this.configMount + ")");
} catch (e) {
Component.error("FDC auto-mount error: " + e.message + " (" + this.configMount + ")");
this.configMount = null;
}
}
}
this.parseConfig(this.cmp.getMachineParm('autoMount'), this.configMount);
/*
* If we didn't need auto-mount support, we could defer controller initialization until we received a powerUp() notification,
@ -456,6 +440,39 @@ class FDC extends Component {
if (!this.autoMount()) this.setReady();
}
/**
* parseConfig(config, configMerge)
*
* @this {FDC}
* @param {Object|string|undefined} config
* @param {Object} [configMerge]
* @return {Object}
*/
parseConfig(config, configMerge)
{
if (config) {
if (typeof config == "string") {
try {
/*
* We must take care when parsing user-supplied JSON-encoded diskette data.
*/
config = /** @type {Object} */ (eval("(" + config + ")"));
} catch (e) {
Component.error("FDC auto-mount error: " + e.message + " (" + config + ")");
config = {};
}
}
} else {
config = {};
}
if (configMerge) {
for (var drive in config) {
configMerge[drive] = config[drive];
}
}
return config;
}
/**
* powerUp(data, fRepower)
*
@ -1067,26 +1084,24 @@ class FDC extends Component {
autoMount(fRemount)
{
if (!fRemount) this.cAutoMount = 0;
if (this.configMount) {
for (var sDrive in this.configMount) {
var configDrive = this.configMount[sDrive];
var sDiskettePath = configDrive['path'] || "";
var sDisketteName = configDrive['name'] || this.findDiskette(sDiskettePath);
if (sDiskettePath && sDisketteName) {
/*
* WARNING: This conversion of drive letter to drive number, starting with A:, is very simplistic
* and is not guaranteed to match the drive mapping that DOS ultimately uses.
*/
var iDrive = sDrive.charCodeAt(0) - 0x41;
if (iDrive >= 0 && iDrive < this.aDrives.length) {
if (!this.loadDrive(iDrive, sDisketteName, sDiskettePath, true) && fRemount) {
this.setReady(false);
}
continue;
for (var sDrive in this.configMount) {
var configDrive = this.configMount[sDrive];
var sDiskettePath = configDrive['path'] || "";
var sDisketteName = configDrive['name'] || this.findDiskette(sDiskettePath);
if (sDiskettePath && sDisketteName) {
/*
* WARNING: This conversion of drive letter to drive number, starting with A:, is very simplistic
* and is not guaranteed to match the drive mapping that DOS ultimately uses.
*/
var iDrive = sDrive.charCodeAt(0) - 0x41;
if (iDrive >= 0 && iDrive < this.aDrives.length) {
if (!this.loadDrive(iDrive, sDisketteName, sDiskettePath, true) && fRemount) {
this.setReady(false);
}
continue;
}
this.notice("Incorrect auto-mount settings for drive " + sDrive + " (" + JSON.stringify(configDrive) + ")");
}
this.notice("Incorrect auto-mount settings for drive " + sDrive + " (" + JSON.stringify(configDrive) + ")");
}
return !!this.cAutoMount;
}

View file

@ -184,8 +184,7 @@ class HDC extends Component {
else if (this.sDriveConfigs) {
try {
/*
* The most likely source of any exception will be right here, where we're parsing
* the JSON-encoded drive data.
* We must take care when parsing user-supplied JSON-encoded drive data.
*/
this.aDriveConfigs = eval("(" + this.sDriveConfigs + ")");
/*