Make "None" a special diskette entry (no longer required to be present in any disk manifest, although if it IS present, it will get sorted along with all the other disk entries)

This commit is contained in:
Jeff Parsons 2016-04-16 16:20:26 -07:00
commit af7f618821
24 changed files with 69 additions and 72 deletions

View file

@ -422,12 +422,13 @@ module.exports = function(grunt) {
var contentOrig = content; var contentOrig = content;
var reManifest = /([ \t]*)<manifest.*? ref="(.*?)".*?\/>/g, matchManifest; var reManifest = /([ \t]*)<manifest.*? ref="(.*?)".*?\/>/g, matchManifest;
while ((matchManifest = reManifest.exec(contentOrig))) { while ((matchManifest = reManifest.exec(contentOrig))) {
var sManifest = grunt.file.read(path.join('.', matchManifest[2])); var sFile = matchManifest[2];
var sManifest = grunt.file.read(path.join('.', sFile));
if (!sManifest) continue; if (!sManifest) continue;
var sDefaultName = "", match; var sDefaultName = "", match;
match = sManifest.match(/<title.*?>(.*?)<\/title>/); match = sManifest.match(/<title.*?>(.*?)<\/title>/);
if (match) { if (match) {
sDefaultName = match[1]; sDefaultName += match[1];
match = sManifest.match(/<version.*?>(.*?)<\/version>/); match = sManifest.match(/<version.*?>(.*?)<\/version>/);
if (match) sDefaultName += ' ' + match[1]; if (match) sDefaultName += ' ' + match[1];
} }

View file

@ -13,6 +13,7 @@
<license href="http://www.bricklin.com/history/vclicense.htm">Lotus Development</license> <license href="http://www.bricklin.com/history/vclicense.htm">Lotus Development</license>
<machine href="/devices/pc/machine/5150/mda/64kb/machine.xml" state="/apps/pc/1981/visicalc/state.json"/> <machine href="/devices/pc/machine/5150/mda/64kb/machine.xml" state="/apps/pc/1981/visicalc/state.json"/>
<disk id="disk01" size="163840" chs="40:1:8" dir="archive/" href="/apps/pc/1981/visicalc/disk.json" md5="61494f998d5fb0e31e7b8bd99f1cc588" md5json="3ad82ed815725e6bd786f92a4714e84f"> <disk id="disk01" size="163840" chs="40:1:8" dir="archive/" href="/apps/pc/1981/visicalc/disk.json" md5="61494f998d5fb0e31e7b8bd99f1cc588" md5json="3ad82ed815725e6bd786f92a4714e84f">
<name>Demo: VisiCalc</name>
<file size="27520" time="1981-12-16 23:00:00" attr="0x20" md5="28997dfedb2440c6054d8be835be8634">VC.COM</file> <file size="27520" time="1981-12-16 23:00:00" attr="0x20" md5="28997dfedb2440c6054d8be835be8634">VC.COM</file>
<file dir="../">README.md</file> <file dir="../">README.md</file>
<link href="http://www.bricklin.com/history/vclicense.htm">VisiCalc License</link> <link href="http://www.bricklin.com/history/vclicense.htm">VisiCalc License</link>

View file

@ -9,7 +9,7 @@
<releaseDate>1982</releaseDate> <releaseDate>1982</releaseDate>
<machine href="/devices/pc/machine/5160/mda/256kb/fake188/machine.xml" state="/apps/pc/1982/esuite/state.json"/> <machine href="/devices/pc/machine/5160/mda/256kb/fake188/machine.xml" state="/apps/pc/1982/esuite/state.json"/>
<disk id="disk01" size="368640" chs="40:2:9" dir="archive/" href="/apps/pc/1982/esuite/disk.json" md5="7721a7bc9fcbd0005e7c1d87ecc055c5" md5json="dbf0a2c0176b8128d87e2465794764f4"> <disk id="disk01" size="368640" chs="40:2:9" dir="archive/" href="/apps/pc/1982/esuite/disk.json" md5="7721a7bc9fcbd0005e7c1d87ecc055c5" md5json="dbf0a2c0176b8128d87e2465794764f4">
<name>Executive Suite (1982)</name> <name>Demo: Executive Suite (1982)</name>
<file size="384" time="2000-02-29 08:04:48" attr="0x20" md5="3e638560a5f483cdbd1be486b07c767e">ESUITE.COM</file> <file size="384" time="2000-02-29 08:04:48" attr="0x20" md5="3e638560a5f483cdbd1be486b07c767e">ESUITE.COM</file>
<file size="163840" time="2000-02-29 06:57:40" attr="0x20" md5="dcc72026cdc906109cf0e3b2d07ffd5d">GAME.DAT</file> <file size="163840" time="2000-02-29 06:57:40" attr="0x20" md5="dcc72026cdc906109cf0e3b2d07ffd5d">GAME.DAT</file>
<link href="http://www.mobygames.com/game/executive-suite">MobyGames</link> <link href="http://www.mobygames.com/game/executive-suite">MobyGames</link>

View file

@ -13,7 +13,7 @@
<author>Jon Lane</author> <author>Jon Lane</author>
<author>Michael Toy</author> <author>Michael Toy</author>
<disk id="disk01" size="163840" chs="40:1:8" dir="archive/" href="/apps/pc/1985/rogue/disk.json" md5="91fab29636a7517e17eaa38b30ff156a" md5json="c531e9f249b20adad667a3c376e427c8"> <disk id="disk01" size="163840" chs="40:1:8" dir="archive/" href="/apps/pc/1985/rogue/disk.json" md5="91fab29636a7517e17eaa38b30ff156a" md5json="c531e9f249b20adad667a3c376e427c8">
<name>Rogue (1985)</name> <name>Demo: Rogue (1985)</name>
<file size="14016" time="1985-03-25 14:33:18" attr="0x20" md5="e8f7c7b97210f480c7b741a0d58951bd">MKOPT.EXE</file> <file size="14016" time="1985-03-25 14:33:18" attr="0x20" md5="e8f7c7b97210f480c7b741a0d58951bd">MKOPT.EXE</file>
<file size="2616" time="1995-09-01 18:46:18" attr="0x20" md5="275fd64a3502af22b56e23934c79e9ef">ROGUE.COM</file> <file size="2616" time="1995-09-01 18:46:18" attr="0x20" md5="275fd64a3502af22b56e23934c79e9ef">ROGUE.COM</file>
<file size="71520" time="1986-05-30 12:55:50" attr="0x20" md5="11cc922975d21f9a32812ff6c5ed3430">ROGUE.EXE</file> <file size="71520" time="1986-05-30 12:55:50" attr="0x20" md5="11cc922975d21f9a32812ff6c5ed3430">ROGUE.EXE</file>

View file

@ -8,7 +8,7 @@
<company>Living Videotext</company> <company>Living Videotext</company>
<releaseDate>September 25, 1987</releaseDate> <releaseDate>September 25, 1987</releaseDate>
<disk id="disk01" size="368640" chs="40:2:9" dir="archive/" href="/apps/pc/1987/thinktank/disk.json" md5="94053339672452fba42da85481893d68" md5json="bd39020bff244db9af3ac9eb656e7878"> <disk id="disk01" size="368640" chs="40:2:9" dir="archive/" href="/apps/pc/1987/thinktank/disk.json" md5="94053339672452fba42da85481893d68" md5json="bd39020bff244db9af3ac9eb656e7878">
<name>ThinkTank 2.41NP</name> <name>Demo: ThinkTank 2.41NP</name>
<file size="6" time="2012-11-20 15:29:40" attr="0x20" md5="50b68f3f99eda119c661b2b50cb9f4de">AUTOEXEC.BAT</file> <file size="6" time="2012-11-20 15:29:40" attr="0x20" md5="50b68f3f99eda119c661b2b50cb9f4de">AUTOEXEC.BAT</file>
<file size="8192" time="2012-11-20 15:29:35" attr="0x20" md5="3355afbc122700f13647ee0d1bbf9ed7">READ_ME.DB</file> <file size="8192" time="2012-11-20 15:29:35" attr="0x20" md5="3355afbc122700f13647ee0d1bbf9ed7">READ_ME.DB</file>
<file size="512" time="2012-11-20 15:29:31" attr="0x20" md5="8b989397eb275032eb8cf929def9c6cc">READ_ME.SAV</file> <file size="512" time="2012-11-20 15:29:31" attr="0x20" md5="8b989397eb275032eb8cf929def9c6cc">READ_ME.SAV</file>

View file

@ -15,7 +15,7 @@
<desc>MSDOS port</desc> <desc>MSDOS port</desc>
</author> </author>
<disk id="disk01" size="1228800" chs="80:2:15" dir="archive/" href="/apps/pc/1988/moria/disk.json" md5="7bb84a7ac4e9b03e8cd1e6753b1359fb" md5json="7630122397a57af2d0c767141af3817c"> <disk id="disk01" size="1228800" chs="80:2:15" dir="archive/" href="/apps/pc/1988/moria/disk.json" md5="7bb84a7ac4e9b03e8cd1e6753b1359fb" md5json="7630122397a57af2d0c767141af3817c">
<name>Moria v4.872</name> <name>Demo: Moria v4.872</name>
<file size="11143" time="1988-11-01 00:00:00" attr="0x20" md5="dae278b77133f32949d0e8940f944c0d">CONFIG.DOC</file> <file size="11143" time="1988-11-01 00:00:00" attr="0x20" md5="dae278b77133f32949d0e8940f944c0d">CONFIG.DOC</file>
<file size="91154" time="1991-06-01 14:50:02" attr="0x20" md5="66593e83a2aa3870d7a9e8b43079ce42">GOD</file> <file size="91154" time="1991-06-01 14:50:02" attr="0x20" md5="66593e83a2aa3870d7a9e8b43079ce42">GOD</file>
<file size="91154" time="1991-06-01 15:13:50" attr="0x20" md5="4a7c6e2ddf649f9700786624aaa91199">MADNESS1</file> <file size="91154" time="1991-06-01 15:13:50" attr="0x20" md5="4a7c6e2ddf649f9700786624aaa91199">MADNESS1</file>

View file

@ -93,7 +93,7 @@
<desc>Macintosh port for Think C</desc> <desc>Macintosh port for Think C</desc>
</contributor> </contributor>
<disk id="disk01" size="368640" chs="40:2:9" dir="archive/bin/" href="/apps/pc/1992/moria/disk.json" md5="da0023280238bc2ee9053ad2b9548816" md5json="1473be159bb5f9001db31c06b3a366c1"> <disk id="disk01" size="368640" chs="40:2:9" dir="archive/bin/" href="/apps/pc/1992/moria/disk.json" md5="da0023280238bc2ee9053ad2b9548816" md5json="1473be159bb5f9001db31c06b3a366c1">
<name>Moria 5.5</name> <name>Demo: Moria 5.5</name>
<file size="6074" time="1992-11-01 23:15:36" attr="0x20" md5="078aca44b845ee8a787a324c1e827200">EXP.DOC</file> <file size="6074" time="1992-11-01 23:15:36" attr="0x20" md5="078aca44b845ee8a787a324c1e827200">EXP.DOC</file>
<file size="2560" time="1992-11-01 23:15:36" attr="0x20" md5="a5c8620efd0dc841956f9cdc2e46220a">MORIA.CNF</file> <file size="2560" time="1992-11-01 23:15:36" attr="0x20" md5="a5c8620efd0dc841956f9cdc2e46220a">MORIA.CNF</file>
<file size="49267" time="1992-11-01 23:15:36" attr="0x20" md5="32c9f15c70256f540f531675ad0e217f">MORIA1.TXT</file> <file size="49267" time="1992-11-01 23:15:36" attr="0x20" md5="32c9f15c70256f540f531675ad0e217f">MORIA1.TXT</file>

View file

@ -12,7 +12,6 @@
<fdc id="fdcNEC" pos="left" padleft="8px" padbottom="8px" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"Executive Suite (1982)",path:"/apps/pc/1982/esuite/disk.json"}}'> <fdc id="fdcNEC" pos="left" padleft="8px" padbottom="8px" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"Executive Suite (1982)",path:"/apps/pc/1982/esuite/disk.json"}}'>
<control type="list" binding="listDrives"/> <control type="list" binding="listDrives"/>
<control type="list" binding="listDisks"> <control type="list" binding="listDisks">
<disk path="">None</disk>
<manifest ref="/disks/pc/dos/ibm/1.00/manifest.xml" disk="*"/> <manifest ref="/disks/pc/dos/ibm/1.00/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/dos/ibm/1.10/manifest.xml" disk="*"/> <manifest ref="/disks/pc/dos/ibm/1.10/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/> <manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/>

View file

@ -11,7 +11,6 @@
<fdc id="fdcNEC" pos="left" padleft="8px" padbottom="8px" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"Executive Suite (1982)",path:"/apps/pc/1982/esuite/disk.json"}}'> <fdc id="fdcNEC" pos="left" padleft="8px" padbottom="8px" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"Executive Suite (1982)",path:"/apps/pc/1982/esuite/disk.json"}}'>
<control type="list" binding="listDrives"/> <control type="list" binding="listDrives"/>
<control type="list" binding="listDisks"> <control type="list" binding="listDisks">
<disk path="">None</disk>
<manifest ref="/disks/pc/dos/ibm/1.00/manifest.xml" disk="*"/> <manifest ref="/disks/pc/dos/ibm/1.00/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/dos/ibm/1.10/manifest.xml" disk="*"/> <manifest ref="/disks/pc/dos/ibm/1.10/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/> <manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/>

View file

@ -2,7 +2,6 @@
<fdc id="fdcNEC" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"PC-DOS 2.00 (Disk 2)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json"}}' pos="left" padleft="8px" padbottom="8px"> <fdc id="fdcNEC" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"PC-DOS 2.00 (Disk 2)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json"}}' pos="left" padleft="8px" padbottom="8px">
<control type="list" binding="listDrives"/> <control type="list" binding="listDrives"/>
<control type="list" binding="listDisks"> <control type="list" binding="listDisks">
<disk path="">None</disk>
<disk path="/disks/pc/empty/EMPTY-360K.json">Empty Diskette (360K)</disk> <disk path="/disks/pc/empty/EMPTY-360K.json">Empty Diskette (360K)</disk>
<disk path="/disks/pc/empty/EMPTY-720K.json">Empty Diskette (720K)</disk> <disk path="/disks/pc/empty/EMPTY-720K.json">Empty Diskette (720K)</disk>
<disk path="/disks/pc/empty/EMPTY-1200K.json">Empty Diskette (1.2M)</disk> <disk path="/disks/pc/empty/EMPTY-1200K.json">Empty Diskette (1.2M)</disk>
@ -503,11 +502,11 @@
<disk path="/disks/pc/games/id/wolf3d/1WOLF14.json">Wolfenstein 3D 1.4</disk> <disk path="/disks/pc/games/id/wolf3d/1WOLF14.json">Wolfenstein 3D 1.4</disk>
<disk path="/disks/pc/games/microsoft/flightsim/1982/FLIGHTSIM-1982.json">MS Flight Simulator (1982)</disk> <disk path="/disks/pc/games/microsoft/flightsim/1982/FLIGHTSIM-1982.json">MS Flight Simulator (1982)</disk>
<disk path="/disks/pc/games/microsoft/flightsim/1984/FLIGHTSIM-1984.json">MS Flight Simulator (1984)</disk> <disk path="/disks/pc/games/microsoft/flightsim/1984/FLIGHTSIM-1984.json">MS Flight Simulator (1984)</disk>
<disk path="/apps/pc/1981/visicalc/disk.json">VisiCalc</disk> <disk path="/apps/pc/1981/visicalc/disk.json">Demo: VisiCalc</disk>
<disk path="/apps/pc/1982/esuite/disk.json">Executive Suite (1982)</disk> <disk path="/apps/pc/1982/esuite/disk.json">Demo: Executive Suite (1982)</disk>
<disk path="/apps/pc/1985/rogue/disk.json">Rogue (1985)</disk> <disk path="/apps/pc/1985/rogue/disk.json">Demo: Rogue (1985)</disk>
<disk path="/apps/pc/1987/thinktank/disk.json">ThinkTank 2.41NP</disk> <disk path="/apps/pc/1987/thinktank/disk.json">Demo: ThinkTank 2.41NP</disk>
<disk path="/apps/pc/1992/moria/disk.json">Moria 5.5</disk> <disk path="/apps/pc/1992/moria/disk.json">Demo: Moria 5.5</disk>
<disk path="/pubs/pc/programming/DOS_Internals/DOS-INTERN.json">DOS Internals</disk> <disk path="/pubs/pc/programming/DOS_Internals/DOS-INTERN.json">DOS Internals</disk>
<disk path="/pubs/pc/programming/The_Undocumented_PC/UNDOC.json">The Undocumented PC</disk> <disk path="/pubs/pc/programming/The_Undocumented_PC/UNDOC.json">The Undocumented PC</disk>
<disk path="/pubs/pc/programming/Undocumented_DOS/UNDOC-DOS-DISK1.json">Undocumented DOS (Disk 1)</disk> <disk path="/pubs/pc/programming/Undocumented_DOS/UNDOC-DOS-DISK1.json">Undocumented DOS (Disk 1)</disk>

View file

@ -2,13 +2,12 @@
<fdc id="fdcNEC" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"PC-DOS 2.00 (Disk 2)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json"}}' pos="left" padleft="8px" padbottom="8px"> <fdc id="fdcNEC" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"PC-DOS 2.00 (Disk 2)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json"}}' pos="left" padleft="8px" padbottom="8px">
<control type="list" binding="listDrives"/> <control type="list" binding="listDrives"/>
<control type="list" binding="listDisks"> <control type="list" binding="listDisks">
<disk path="">None</disk>
<disk path="/disks/pc/dos/ibm/1.00/PCDOS100.json">PC-DOS 1.00</disk> <disk path="/disks/pc/dos/ibm/1.00/PCDOS100.json">PC-DOS 1.00</disk>
<disk path="/disks/pc/dos/ibm/1.10/PCDOS110.json">PC-DOS 1.10</disk> <disk path="/disks/pc/dos/ibm/1.10/PCDOS110.json">PC-DOS 1.10</disk>
<disk path="/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json">PC-DOS 2.00 (Disk 1)</disk> <disk path="/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json">PC-DOS 2.00 (Disk 1)</disk>
<disk path="/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json">PC-DOS 2.00 (Disk 2)</disk> <disk path="/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json">PC-DOS 2.00 (Disk 2)</disk>
<disk path="/disks/pc/games/microsoft/adventure/ADVENTURE-1981.json">Microsoft Adventure</disk> <disk path="/disks/pc/games/microsoft/adventure/ADVENTURE-1981.json">Microsoft Adventure</disk>
<disk path="/apps/pc/1981/visicalc/disk.json">VisiCalc</disk> <disk path="/apps/pc/1981/visicalc/disk.json">Demo: VisiCalc</disk>
</control> </control>
<control type="button" binding="loadDrive">Load</control> <control type="button" binding="loadDrive">Load</control>
<control type="button" binding="saveDrive" padright="8px">Save</control> <control type="button" binding="saveDrive" padright="8px">Save</control>

View file

@ -10,7 +10,6 @@
<fdc id="fdcNEC" automount='{A: {name: "CP/M-86 (Disk 1)", path: "/disks/pc/cpm/1.1b/CPM86-DISK1.json"}, B: {name: "CP/M-86 (Disk 2)", path: "/disks/pc/cpm/1.1b/CPM86-DISK2.json"}}' pos="right"> <fdc id="fdcNEC" automount='{A: {name: "CP/M-86 (Disk 1)", path: "/disks/pc/cpm/1.1b/CPM86-DISK1.json"}, B: {name: "CP/M-86 (Disk 2)", path: "/disks/pc/cpm/1.1b/CPM86-DISK2.json"}}' pos="right">
<control type="list" binding="listDrives"/> <control type="list" binding="listDrives"/>
<control type="list" binding="listDisks"> <control type="list" binding="listDisks">
<disk path="">None</disk>
<manifest ref="/disks/pc/cpm/1.1b/manifest.xml" disk="*"/> <manifest ref="/disks/pc/cpm/1.1b/manifest.xml" disk="*"/>
</control> </control>
<control type="button" binding="loadDrive">Load</control> <control type="button" binding="loadDrive">Load</control>

View file

@ -2,7 +2,6 @@
<fdc id="fdcNEC" automount='{A: {name: "Zork I", path: "/disks/pc/games/infocom/zork1/ZORK1-READONLY.json"}}' padleft="8px" padbottom="8px" pos="left"> <fdc id="fdcNEC" automount='{A: {name: "Zork I", path: "/disks/pc/games/infocom/zork1/ZORK1-READONLY.json"}}' padleft="8px" padbottom="8px" pos="left">
<control type="list" binding="listDrives"/> <control type="list" binding="listDrives"/>
<control type="list" binding="listDisks"> <control type="list" binding="listDisks">
<disk path="">None</disk>
<manifest ref="/disks/pc/games/infocom/hhiker/manifest.xml" disk="*"/> <manifest ref="/disks/pc/games/infocom/hhiker/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/games/infocom/planet/manifest.xml" disk="*"/> <manifest ref="/disks/pc/games/infocom/planet/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/games/infocom/zork1/manifest.xml" disk="*"/> <manifest ref="/disks/pc/games/infocom/zork1/manifest.xml" disk="*"/>

View file

@ -2,7 +2,6 @@
<fdc id="fdcNEC" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"PC-DOS 2.00 (Disk 2)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json"}}' pos="left" padleft="8px" padbottom="8px"> <fdc id="fdcNEC" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"PC-DOS 2.00 (Disk 2)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json"}}' pos="left" padleft="8px" padbottom="8px">
<control type="list" binding="listDrives"/> <control type="list" binding="listDrives"/>
<control type="list" binding="listDisks"> <control type="list" binding="listDisks">
<disk path="">None</disk>
<manifest ref="/disks/pc/empty/manifest.xml"/> <manifest ref="/disks/pc/empty/manifest.xml"/>
<manifest ref="/disks/pc/cpm/1.1b/manifest.xml"/> <manifest ref="/disks/pc/cpm/1.1b/manifest.xml"/>
<manifest ref="/disks/pc/diags/ibm/manifest.xml"/> <manifest ref="/disks/pc/diags/ibm/manifest.xml"/>

View file

@ -2,7 +2,6 @@
<fdc id="fdcNEC" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"PC-DOS 2.00 (Disk 2)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json"}}' pos="left" padleft="8px" padbottom="8px"> <fdc id="fdcNEC" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"PC-DOS 2.00 (Disk 2)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json"}}' pos="left" padleft="8px" padbottom="8px">
<control type="list" binding="listDrives"/> <control type="list" binding="listDrives"/>
<control type="list" binding="listDisks"> <control type="list" binding="listDisks">
<disk path="">None</disk>
<manifest ref="/disks/pc/dos/ibm/1.00/manifest.xml"/> <manifest ref="/disks/pc/dos/ibm/1.00/manifest.xml"/>
<manifest ref="/disks/pc/dos/ibm/1.10/manifest.xml"/> <manifest ref="/disks/pc/dos/ibm/1.10/manifest.xml"/>
<manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml"/> <manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml"/>

View file

@ -2,7 +2,6 @@
<fdc id="fdcNEC" width="320px" pos="left" padtop="8px" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"PC-DOS 2.00 (Disk 2)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json"}}'> <fdc id="fdcNEC" width="320px" pos="left" padtop="8px" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"PC-DOS 2.00 (Disk 2)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK2.json"}}'>
<control type="list" binding="listDrives"/> <control type="list" binding="listDrives"/>
<control type="list" binding="listDisks"> <control type="list" binding="listDisks">
<disk path="">None</disk>
<manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/> <manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/>
<disk path="/disks/pc/windows/1.01/01-SETUP/">Windows 1.01 (SETUP)</disk> <disk path="/disks/pc/windows/1.01/01-SETUP/">Windows 1.01 (SETUP)</disk>
<disk path="/disks/pc/windows/1.01/02-BUILD/">Windows 1.01 (BUILD)</disk> <disk path="/disks/pc/windows/1.01/02-BUILD/">Windows 1.01 (BUILD)</disk>

View file

@ -17,7 +17,6 @@
<control type="container"> <control type="container">
<control type="list" binding="listDrives"/> <control type="list" binding="listDrives"/>
<control type="list" binding="listDisks"> <control type="list" binding="listDisks">
<disk path="">None</disk>
<disk path="PCDOS100.json">PC-DOS 1.00</disk> <disk path="PCDOS100.json">PC-DOS 1.00</disk>
</control> </control>
<control type="button" binding="loadDrive">Load</control> <control type="button" binding="loadDrive">Load</control>

View file

@ -56,7 +56,6 @@
<control type="container"> <control type="container">
<control type="list" binding="listDrives"/> <control type="list" binding="listDrives"/>
<control type="list" binding="listDisks"> <control type="list" binding="listDisks">
<disk path="">None</disk>
<disk path="PCDOS100.json">PC-DOS 1.00</disk> <disk path="PCDOS100.json">PC-DOS 1.00</disk>
<disk path="visicalc.json" href="http://www.bricklin.com/history/vclicense.htm" desc="VisiCalc License">VisiCalc</disk> <disk path="visicalc.json" href="http://www.bricklin.com/history/vclicense.htm" desc="VisiCalc License">VisiCalc</disk>
</control> </control>

View file

@ -175,7 +175,7 @@ function $h(a,b){this.A-=-1===this.C?-1===this.D?this.B.Lj:this.B.Kj:this.B.Ij;r
function ci(a,b){var c=this.L>>3&7;switch(c){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ia||80386==this.ia&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.aa=this.I;break;case 4:this.aa=I(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return $h.call(this,0,b)} function ci(a,b){var c=this.L>>3&7;switch(c){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ia||80386==this.ia&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.aa=this.I;break;case 4:this.aa=I(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return $h.call(this,0,b)}
function di(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.va.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ia){b=this.Ob.Z;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ia){b=this.Pb.Z;break}default:C.call(this,6),b=a}-1!==this.C&&nd(this,2);return $h.call(this,0,b)} function di(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.va.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ia){b=this.Ob.Z;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ia){b=this.Pb.Z;break}default:C.call(this,6),b=a}-1!==this.C&&nd(this,2);return $h.call(this,0,b)}
function Rh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ja=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ja=a*b|0,this.wa=0}function ei(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,128)}function fi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,this.Ia)&this.R} function Rh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ja=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ja=a*b|0,this.wa=0}function ei(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,128)}function fi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,this.Ia)&this.R}
function gi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function hi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function Bi(){return uf(this)?1:0}function Ci(){return pf(this)?1:0}function Di(){return pf(this)?0:1}function Ei(){return sf(this)?1:0}function Fi(){return sf(this)?0:1}function Gi(){return pf(this)||sf(this)?1:0} function gi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function hi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function ii(){return uf(this)?1:0}function Ci(){return pf(this)?1:0}function Di(){return pf(this)?0:1}function Ei(){return sf(this)?1:0}function Fi(){return sf(this)?0:1}function Gi(){return pf(this)||sf(this)?1:0}
function Hi(){return pf(this)||sf(this)?0:1}function Ii(){return tf(this)?1:0}function Ji(){return tf(this)?0:1}function Ki(){return qf(this)?1:0}function Li(){return qf(this)?0:1}function Mi(){return!tf(this)!=!uf(this)?1:0}function Ni(){return!tf(this)!=!uf(this)?0:1}function Oi(){return sf(this)||!tf(this)!=!uf(this)?1:0}function Pi(){return sf(this)||!tf(this)!=!uf(this)?0:1}function Qi(a,b){return Ri.call(this,a,b,this.xa())}function Si(a,b){return Ti.call(this,a,b,this.xa())} function Hi(){return pf(this)||sf(this)?0:1}function Ii(){return tf(this)?1:0}function Ji(){return tf(this)?0:1}function Ki(){return qf(this)?1:0}function Li(){return qf(this)?0:1}function Mi(){return!tf(this)!=!uf(this)?1:0}function Ni(){return!tf(this)!=!uf(this)?0:1}function Oi(){return sf(this)||!tf(this)!=!uf(this)?1:0}function Pi(){return sf(this)||!tf(this)!=!uf(this)?0:1}function Qi(a,b){return Ri.call(this,a,b,this.xa())}function Si(a,b){return Ti.call(this,a,b,this.xa())}
function Ui(a,b){return Ri.call(this,a,b,this.I&31)}function Vi(a,b){return Ti.call(this,a,b,this.I&31)}function Wi(a,b){return Xi.call(this,a,b,this.xa())}function Yi(a,b){return Zi.call(this,a,b,this.xa())}function $i(a,b){return Xi.call(this,a,b,this.I&31)}function aj(a,b){return Zi.call(this,a,b,this.I&31)}function bj(a,b){var c=a-b|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255} function Ui(a,b){return Ri.call(this,a,b,this.I&31)}function Vi(a,b){return Ti.call(this,a,b,this.I&31)}function Wi(a,b){return Xi.call(this,a,b,this.xa())}function Yi(a,b){return Zi.call(this,a,b,this.xa())}function $i(a,b){return Xi.call(this,a,b,this.I&31)}function aj(a,b){return Zi.call(this,a,b,this.I&31)}function bj(a,b){var c=a-b|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}
function cj(a,b){var c=a-b|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function dj(a,b){vf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function ej(a,b){vf(this,a&b,this.Ia);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function fj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<<c)|(b&d)<<c} function cj(a,b){var c=a-b|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function dj(a,b){vf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function ej(a,b){vf(this,a&b,this.Ia);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function fj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<<c)|(b&d)<<c}
@ -348,8 +348,8 @@ M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=ve(this,a&7
M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?he.call(this):(we(this,a&7,this.Ce[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?he.call(this):(this.Ce[b]=ve(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[129]=function(){var a=this.Ma();uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?he.call(this):(we(this,a&7,this.Ce[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?he.call(this):(this.Ce[b]=ve(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[129]=function(){var a=this.Ma();uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};
M[130]=function(){var a=this.Ma();pf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[131]=function(){var a=this.Ma();pf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[132]=function(){var a=this.Ma();sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[133]=function(){var a=this.Ma();sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[134]=function(){var a=this.Ma();pf(this)||sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}; M[130]=function(){var a=this.Ma();pf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[131]=function(){var a=this.Ma();pf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[132]=function(){var a=this.Ma();sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[133]=function(){var a=this.Ma();sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[134]=function(){var a=this.Ma();pf(this)||sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};
M[135]=function(){var a=this.Ma();pf(this)||sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[136]=function(){var a=this.Ma();tf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[137]=function(){var a=this.Ma();tf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[138]=function(){var a=this.Ma();qf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[139]=function(){var a=this.Ma();qf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; M[135]=function(){var a=this.Ma();pf(this)||sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[136]=function(){var a=this.Ma();tf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[137]=function(){var a=this.Ma();tf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[138]=function(){var a=this.Ma();qf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[139]=function(){var a=this.Ma();qf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};
M[140]=function(){var a=this.Ma();!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[141]=function(){var a=this.Ma();!tf(this)==!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[142]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[143]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[144]=function(){qj.call(this,Bi)}; M[140]=function(){var a=this.Ma();!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[141]=function(){var a=this.Ma();!tf(this)==!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[142]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[143]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[144]=function(){qj.call(this,ii)};
M[145]=function(){qj.call(this,Bi)};M[146]=function(){qj.call(this,Ci)};M[147]=function(){qj.call(this,Di)};M[148]=function(){qj.call(this,Ei)};M[149]=function(){qj.call(this,Fi)};M[150]=function(){qj.call(this,Gi)};M[151]=function(){qj.call(this,Hi)};M[152]=function(){qj.call(this,Ii)};M[153]=function(){qj.call(this,Ji)};M[154]=function(){qj.call(this,Ki)};M[155]=function(){qj.call(this,Li)};M[156]=function(){qj.call(this,Mi)};M[157]=function(){qj.call(this,Ni)};M[158]=function(){qj.call(this,Oi)}; M[145]=function(){qj.call(this,ii)};M[146]=function(){qj.call(this,Ci)};M[147]=function(){qj.call(this,Di)};M[148]=function(){qj.call(this,Ei)};M[149]=function(){qj.call(this,Fi)};M[150]=function(){qj.call(this,Gi)};M[151]=function(){qj.call(this,Hi)};M[152]=function(){qj.call(this,Ii)};M[153]=function(){qj.call(this,Ji)};M[154]=function(){qj.call(this,Ki)};M[155]=function(){qj.call(this,Li)};M[156]=function(){qj.call(this,Mi)};M[157]=function(){qj.call(this,Ni)};M[158]=function(){qj.call(this,Oi)};
M[159]=function(){qj.call(this,Pi)};M[160]=function(){pd(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ie};M[161]=function(){this.U=this.ga;var a=D(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};M[163]=function(){this.fa.call(this,Dh);-1!==this.D&&(this.A-=6)};M[164]=function(){this.fa.call(this,2==this.ba?Qi:Si);this.A-=-1===this.D?3:7};M[165]=function(){this.fa.call(this,2==this.ba?Ui:Vi);this.A-=-1===this.D?3:7};M[168]=function(){pd(this,this.Pb.Z,this.ba,2);this.A-=this.B.Ie}; M[159]=function(){qj.call(this,Pi)};M[160]=function(){pd(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ie};M[161]=function(){this.U=this.ga;var a=D(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};M[163]=function(){this.fa.call(this,Dh);-1!==this.D&&(this.A-=6)};M[164]=function(){this.fa.call(this,2==this.ba?Qi:Si);this.A-=-1===this.D?3:7};M[165]=function(){this.fa.call(this,2==this.ba?Ui:Vi);this.A-=-1===this.D?3:7};M[168]=function(){pd(this,this.Pb.Z,this.ba,2);this.A-=this.B.Ie};
M[169]=function(){this.U=this.ga;var a=D(this);this.Pb.load(a);this.A-=this.B.zc;this.U=-1};M[171]=function(){this.fa.call(this,Gh);-1!==this.D&&(this.A-=5)};M[172]=function(){this.fa.call(this,2==this.ba?Wi:Yi);this.A-=-1===this.D?3:7};M[173]=function(){this.fa.call(this,2==this.ba?$i:aj);this.A-=-1===this.D?3:7};M[175]=function(){this.W.call(this,2==this.ba?Nh:Ph)};M[178]=function(){this.W.call(this,Zh)};M[179]=function(){this.fa.call(this,Fh);-1!==this.D&&(this.A-=5)}; M[169]=function(){this.U=this.ga;var a=D(this);this.Pb.load(a);this.A-=this.B.zc;this.U=-1};M[171]=function(){this.fa.call(this,Gh);-1!==this.D&&(this.A-=5)};M[172]=function(){this.fa.call(this,2==this.ba?Wi:Yi);this.A-=-1===this.D?3:7};M[173]=function(){this.fa.call(this,2==this.ba?$i:aj);this.A-=-1===this.D?3:7};M[175]=function(){this.W.call(this,2==this.ba?Nh:Ph)};M[178]=function(){this.W.call(this,Zh)};M[179]=function(){this.fa.call(this,Fh);-1!==this.D&&(this.A-=5)};
M[180]=function(){this.W.call(this,Wh)};M[181]=function(){this.W.call(this,Xh)}; M[180]=function(){this.W.call(this,Wh)};M[181]=function(){this.W.call(this,Xh)};
@ -597,7 +597,7 @@ var sp={3:{Vd:3,ie:0,name:aa.Zn},4:{Vd:2,ie:1,name:aa.Xn},5:{Vd:9,ie:7,name:aa.i
m.Qb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.ga){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.ga?a.text>b.text?1:a.text<b.text?-1:0:a.value>b.value?1:a.value<b.value?-1:0});for(a=0;a<b.length;a++)c.options[a]=b[a]}c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){w("FDC option error: "+h.message)}b=g.desc;void 0=== m.Qb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.ga){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.ga?a.text>b.text?1:a.text<b.text?-1:0:a.value>b.value?1:a.value<b.value?-1:0});for(a=0;a<b.length;a++)c.options[a]=b[a]}c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){w("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.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&up(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ja){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ca(a.value, 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.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&up(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ja){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ca(a.value,
10),(a=d.A[a])?(a=a.za)?(a=Ia(pp(a),"octet-stream",!0,a.Ng.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ja){c.parentNode.removeChild(c);break}this.qa[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;up(d,fa(b,!0),b,a)}return!1};return!0}return!1}; 10),(a=d.A[a])?(a=a.za)?(a=Ia(pp(a),"octet-stream",!0,a.Ng.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ja){c.parentNode.removeChild(c);break}this.qa[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;up(d,fa(b,!0),b,a)}return!1};return!0}return!1};
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.N=Eb(a,"ChipSet");if((this.U=Nc(this.V,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}vp(this);hc(b,this,wp);lc(b,this,xp);this.ja&&yp(this,"Local Disk","?");yp(this,"Remote Disk","??");zp(this)||rb(this)}; m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.N=Eb(a,"ChipSet");if((this.U=Nc(this.V,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}vp(this);hc(b,this,wp);lc(b,this,xp);yp(this,"None","",!0);this.ja&&yp(this,"Local Disk","?");yp(this,"Remote Disk","??");zp(this)||rb(this)};
m.ic=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.V.dh){this.B=[];for(var c=0;c<this.A.length;c++)Ap(this,c,!0);zp(this,!0)}}else if(!this.restore(a))return!1;if(c=this.qa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.value="";for(var d=0;d<this.ka;d++){var e=document.createElement("option");e.value=d;e.text=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.ka&&(c.value="0",tp(this,0))}}return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){vp(this)}; m.ic=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.V.dh){this.B=[];for(var c=0;c<this.A.length;c++)Ap(this,c,!0);zp(this,!0)}}else if(!this.restore(a))return!1;if(c=this.qa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.value="";for(var d=0;d<this.ka;d++){var e=document.createElement("option");e.value=d;e.text=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.ka&&(c.value="0",tp(this,0))}}return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){vp(this)};
m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.hb;c[b++]=0;c[b++]=this.ma;c[b++]=this.W;c[b++]=this.L;c[b++]=this.C;c[b++]=this.aa;for(var d=b++,e=0,f=[],g=0;g<this.A.length;g++){var h=e++,k=this.A[g],l=0,n=[];n[l++]=k.Cb;n[l++]=[k.name,k.Bb,k.ub,k.lb,k.Va,k.bf,k.zg,k.Nf,k.Of];n[l++]=k.kb;n[l++]=k.ge+100;n[l++]=k.Rb;n[l++]=k.xb;n[l++]=k.he;n[l++]=k.Hb;n[l++]=k.eb;n[l++]=k.$e;n[l++]=k.kk;n[l]=k.Le;f[h]=n}c[d]=f;d=b++;for(e=0;e<this.A.length;e++)f=this.A[e],f.za&&Bp(this,f.Le,f.za);c[d]= m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.hb;c[b++]=0;c[b++]=this.ma;c[b++]=this.W;c[b++]=this.L;c[b++]=this.C;c[b++]=this.aa;for(var d=b++,e=0,f=[],g=0;g<this.A.length;g++){var h=e++,k=this.A[g],l=0,n=[];n[l++]=k.Cb;n[l++]=[k.name,k.Bb,k.ub,k.lb,k.Va,k.bf,k.zg,k.Nf,k.Of];n[l++]=k.kb;n[l++]=k.ge+100;n[l++]=k.Rb;n[l++]=k.xb;n[l++]=k.he;n[l++]=k.Hb;n[l++]=k.eb;n[l++]=k.$e;n[l++]=k.kk;n[l]=k.Le;f[h]=n}c[d]=f;d=b++;for(e=0;e<this.A.length;e++)f=this.A[e],f.za&&Bp(this,f.Le,f.za);c[d]=
this.B;c[b++]=this.X;c[b]=this.kc;N(a,0,c);return a.data()};m.restore=function(a){return vp(this,a[0])}; this.B;c[b++]=this.X;c[b]=this.kc;N(a,0,c);return a.data()};m.restore=function(a){return vp(this,a[0])};
@ -609,7 +609,7 @@ function zp(a,b){b||(a.fa=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if
function up(a,b,c,d){var e,f=a.qa.listDrives;if(f&&!isNaN(e=ca(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Na('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=fa(c)}for(;0>Cp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;h<f.B.length;h++)if(f.B[h][1]==g){f.B.splice(h,1);break}Ap(a, function up(a,b,c,d){var e,f=a.qa.listDrives;if(f&&!isNaN(e=ca(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Na('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=fa(c)}for(;0>Cp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;h<f.B.length;h++)if(f.B[h][1]==g){f.B.splice(h,1);break}Ap(a,
e,!1,!0)}}else Ap(a,e);else a.Na("Unable to load the selected drive")}function Cp(a,b,c,d,e,f){var g=a.A[b];if(d&&g.Le!=d){Ap(a,b,e,!0);if(g.bd)return a.Na("Drive "+b+" busy"),0;g.bd=!0;e&&(g.Ae=!0,a.fa++,A(a)&&y(a,"loading diskette '"+c+"'"));g.$e=!!f;return(new Ho(a,g,"preload")).load(c,d,f,a.Hi)?1:0}return-1} e,!1,!0)}}else Ap(a,e);else a.Na("Unable to load the selected drive")}function Cp(a,b,c,d,e,f){var g=a.A[b];if(d&&g.Le!=d){Ap(a,b,e,!0);if(g.bd)return a.Na("Drive "+b+" busy"),0;g.bd=!0;e&&(g.Ae=!0,a.fa++,A(a)&&y(a,"loading diskette '"+c+"'"));g.$e=!!f;return(new Ho(a,g,"preload")).load(c,d,f,a.Hi)?1:0}return-1}
m.Hi=function(a,b,c,d,e){var f;a.bd=!1;b&&(f=b.info(),b&&f[0]>a.Bb||f[1]>a.ub)&&(this.Na('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.kk=c,a.Le=d,Dp(this,c,d,b),f=b.info(),this.X|=128,this.Na('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Ae||e),a.zg=f[0],a.Nf=f[1],a.Of=f[2],this.V&&this.V.yd()):a.$e=!1;a.Ae&&(a.Ae=!1,--this.fa||rb(this));tp(this,a.hb)}; m.Hi=function(a,b,c,d,e){var f;a.bd=!1;b&&(f=b.info(),b&&f[0]>a.Bb||f[1]>a.ub)&&(this.Na('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.kk=c,a.Le=d,Dp(this,c,d,b),f=b.info(),this.X|=128,this.Na('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Ae||e),a.zg=f[0],a.Nf=f[1],a.Of=f[2],this.V&&this.V.yd()):a.$e=!1;a.Ae&&(a.Ae=!1,--this.fa||rb(this));tp(this,a.hb)};
function yp(a,b,c){if((a=a.qa.listDisks)&&a.options){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=document.createElement("option");d.text=b;d.value=c;a.appendChild(d)}} function yp(a,b,c,d){if((a=a.qa.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 tp(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.qa.listDisks,e=a.qa.listDrives;if(d&&e&&d.options&&e.options&&(e=ca(e.value,10),c=c.$e?"?":c.Le,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function Ap(a,b,c,d){var e=a.A[b];e.za&&(Bp(a,e.Le,e.za),e.kk="",e.Le="",e.za=null,e.$e=!1,a.X|=128,d||a.Na("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||tp(a,b))} function tp(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.qa.listDisks,e=a.qa.listDrives;if(d&&e&&d.options&&e.options&&(e=ca(e.value,10),c=c.$e?"?":c.Le,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function Ap(a,b,c,d){var e=a.A[b];e.za&&(Bp(a,e.Le,e.za),e.kk="",e.Le="",e.za=null,e.$e=!1,a.X|=128,d||a.Na("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||tp(a,b))}
function Dp(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 Bp(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}}m.Qm=function(a,b,c){x(this,a,b,c,"OUTPUT");b&4?this.aa&4||this.aa&8&&this.N&&eg(this.N,6):vp(this);this.aa=b};m.vl=function(a,b){x(this,a,null,b,"DIAG",80);return 80};m.xl=function(a,b){x(this,a,null,b,"STATUS",this.ma);return this.ma}; function Dp(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 Bp(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}}m.Qm=function(a,b,c){x(this,a,b,c,"OUTPUT");b&4?this.aa&4||this.aa&8&&this.N&&eg(this.N,6):vp(this);this.aa=b};m.vl=function(a,b){x(this,a,null,b,"DIAG",80);return 80};m.xl=function(a,b){x(this,a,null,b,"STATUS",this.ma);return this.ma};
m.ul=function(a,b){var c=0;this.L<this.C&&(c=this.W[this.L]);this.aa&8&&this.N&&dg(this.N,6);A(this)&&x(this,a,null,b,"DATA["+this.L+"]",c);++this.L>=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; m.ul=function(a,b){var c=0;this.L<this.C&&(c=this.W[this.L]);this.aa&8&&this.N&&dg(this.N,6);A(this)&&x(this,a,null,b,"DATA["+this.L+"]",c);++this.L>=this.C&&(this.ma&=-81,this.L=this.C=0);return c};
@ -760,23 +760,23 @@ Zq(a,g[1],!0);if(q)if(a.ua=q,void 0===g[2])a.O("begin assemble at "+Sq(q)),a.Ea=
a.O("\tbc [a]\tclear breakpoint at addr [a]"),a.O("\tbl\tlist all breakpoints"),a.O("\tbn [n]\tbreak after [n] instruction(s)");else{var H=F.charAt(1);if("l"==H){var L=0,L=L+pr(a,a.A),L=L+pr(a,a.ra);(L+=pr(a,a.ga))||a.O("no breakpoints")}else if("n"==H)a.Oa=Eq(a,v),a.O("break after "+a.Oa+" instruction(s)");else if(void 0===v)a.O("missing breakpoint address");else{var V={};if("*"!=v&&(V=Zq(a,v,!0,!0),!V))break a;v=null==V.Ra?v:u(V.Ra);"c"==H?null==V.Ra?(jq(a),a.O("all breakpoints cleared")):Rq(a, a.O("\tbc [a]\tclear breakpoint at addr [a]"),a.O("\tbl\tlist all breakpoints"),a.O("\tbn [n]\tbreak after [n] instruction(s)");else{var H=F.charAt(1);if("l"==H){var L=0,L=L+pr(a,a.A),L=L+pr(a,a.ra);(L+=pr(a,a.ga))||a.O("no breakpoints")}else if("n"==H)a.Oa=Eq(a,v),a.O("break after "+a.Oa+" instruction(s)");else if(void 0===v)a.O("missing breakpoint address");else{var V={};if("*"!=v&&(V=Zq(a,v,!0,!0),!V))break a;v=null==V.Ra?v:u(V.Ra);"c"==H?null==V.Ra?(jq(a),a.O("all breakpoints cleared")):Rq(a,
a.A,V)||Rq(a,a.ra,V)||Rq(a,a.ga,V)||a.O("breakpoint missing: "+Sq(V)):"i"==H?a.O("breakpoint "+(gc(a.ea,V.Ra)?"enabled":"cleared")+": port "+v+" (input)"):"o"==H?a.O("breakpoint "+(kc(a.ea,V.Ra)?"enabled":"cleared")+": port "+v+" (output)"):null!=V.Ra&&(br(a,V,E),"p"==H?a.Sd(a.A,V):"r"==H?a.Sd(a.ra,V):"w"==H?a.Sd(a.ga,V):a.O("unknown breakpoint command: "+H))}}}break;case "c":Fr(a);break;case "d":a:{var P=g,bb,ia=P[0],ja=P[1],Ha=P[2],Xa=P[3];if("?"==ja){var Ba="";for(bb in wq)a.$a[bb]&&(Ba&&(Ba+= a.A,V)||Rq(a,a.ra,V)||Rq(a,a.ga,V)||a.O("breakpoint missing: "+Sq(V)):"i"==H?a.O("breakpoint "+(gc(a.ea,V.Ra)?"enabled":"cleared")+": port "+v+" (input)"):"o"==H?a.O("breakpoint "+(kc(a.ea,V.Ra)?"enabled":"cleared")+": port "+v+" (output)"):null!=V.Ra&&(br(a,V,E),"p"==H?a.Sd(a.A,V):"r"==H?a.Sd(a.ra,V):"w"==H?a.Sd(a.ga,V):a.O("unknown breakpoint command: "+H))}}}break;case "c":Fr(a);break;case "d":a:{var P=g,bb,ia=P[0],ja=P[1],Ha=P[2],Xa=P[3];if("?"==ja){var Ba="";for(bb in wq)a.$a[bb]&&(Ba&&(Ba+=
","),Ba+=bb);Ba+=",state,symbols";a.O("dump memory commands:");a.O("\tdb [a] [#] dump # bytes at address a");a.O("\tdw [a] [#] dump # words at address a");a.O("\tdd [a] [#] dump # dwords at address a");a.O("\tdh [#] [#] dump # instructions from history");a.O("\tdi [#] dump descriptor info for IDT #");a.O("\tds [#] dump descriptor info for selector #");Ba.length&&a.O("dump extension commands:\n\t"+Ba)}else if("state"==ja){var Vb=Nr(a.V,!0);"console"==Ha?console.log(Vb):(Fr(a), ","),Ba+=bb);Ba+=",state,symbols";a.O("dump memory commands:");a.O("\tdb [a] [#] dump # bytes at address a");a.O("\tdw [a] [#] dump # words at address a");a.O("\tdd [a] [#] dump # dwords at address a");a.O("\tdh [#] [#] dump # instructions from history");a.O("\tdi [#] dump descriptor info for IDT #");a.O("\tds [#] dump descriptor info for selector #");Ba.length&&a.O("dump extension commands:\n\t"+Ba)}else if("state"==ja){var Vb=Nr(a.V,!0);"console"==Ha?console.log(Vb):(Fr(a),
a.O(Vb))}else if("symbols"==ja)for(var wa=0;wa<a.B.length;wa++){var Vd=a.B[wa],Rc;for(Rc in Vd.Rd)if("."!=Rc.charAt(0)){var Wd=Vd.Rd[Rc],Ie=Wd.o;if(void 0!==Ie){var Xd=Wd.s;void 0===Xd&&(Xd=Vd.Z);var Je=Vd.Rd[Rc].l;Je&&(Rc=Je);a.O(Iq(Ie,Xd)+" "+Rc)}}}else{if("ds"==ia||"dg"==ia||"dl"==ia)ia="d",P=[ia,"desc",ja];"d"==ia&&"page"==ja&&(ia="dp",P.shift());if("dp"==ia){P.shift();var ii=P[0];if(ii){var Te=a.dc(Zq(a,ii));if(-1===Te)a.O("invalid address: "+ii);else{var be,Da=null;if(80386<=a.F.ia){var ce= a.O(Vb))}else if("symbols"==ja)for(var wa=0;wa<a.B.length;wa++){var Vd=a.B[wa],Rc;for(Rc in Vd.Rd)if("."!=Rc.charAt(0)){var Wd=Vd.Rd[Rc],Ie=Wd.o;if(void 0!==Ie){var Xd=Wd.s;void 0===Xd&&(Xd=Vd.Z);var Je=Vd.Rd[Rc].l;Je&&(Rc=Je);a.O(Iq(Ie,Xd)+" "+Rc)}}}else{if("ds"==ia||"dg"==ia||"dl"==ia)ia="d",P=[ia,"desc",ja];"d"==ia&&"page"==ja&&(ia="dp",P.shift());if("dp"==ia){P.shift();var ji=P[0];if(ji){var Te=a.dc(Zq(a,ji));if(-1===Te)a.O("invalid address: "+ji);else{var be,Da=null;if(80386<=a.F.ia){var ce=
a.ea,Da={};Da.bk=(Te&-4194304)>>>20;Da.ui=a.F.Pd+Da.bk;Da.yb=ce.sa[(Da.ui&ce.Gb)>>>ce.La];Da.Ui=Da.yb.Nd(Da.bk);Da.ck=(Te&4190208)>>>10;Da.vi=(Da.Ui&-4096)+Da.ck;Da.zb=ce.sa[(Da.vi&ce.Gb)>>>ce.La];Da.Vi=Da.zb.Nd(Da.ck);Da.Fk=(Da.Vi&-4096)+(Te&4095)}if(be=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var qd="%"+r(Te),qd=qd+(" %%"+dr(be.ui,be.Ui)),qd=qd+(" %%"+dr(be.vi,be.Vi,!0)), a.ea,Da={};Da.bk=(Te&-4194304)>>>20;Da.ui=a.F.Pd+Da.bk;Da.yb=ce.sa[(Da.ui&ce.Gb)>>>ce.La];Da.Ui=Da.yb.Nd(Da.bk);Da.ck=(Te&4190208)>>>10;Da.vi=(Da.Ui&-4096)+Da.ck;Da.zb=ce.sa[(Da.vi&ce.Gb)>>>ce.La];Da.Vi=Da.zb.Nd(Da.ck);Da.Fk=(Da.Vi&-4096)+(Te&4095)}if(be=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var qd="%"+r(Te),qd=qd+(" %%"+dr(be.ui,be.Ui)),qd=qd+(" %%"+dr(be.vi,be.Vi,!0)),
qd=qd+(" %%"+r(be.Fk));a.O(qd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Jr(a,P);break a}for(bb in wq)if(P[1]==bb){var En=a.$a[bb];En?(P.shift(),P.shift(),En(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var Fn=ja,Gn=Ha,Hn="",In=0,tb=a.Fa,tc=a.ja;if(tc.length){var Db=+Fn||a.Ub,de=+Gn||10;isNaN(Db)?Db=de:Hn="more ";Db>tc.length&&(a.O("note: only "+tc.length+" available"),Db=tc.length); qd=qd+(" %%"+r(be.Fk));a.O(qd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Jr(a,P);break a}for(bb in wq)if(P[1]==bb){var En=a.$a[bb];En?(P.shift(),P.shift(),En(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var Fn=ja,Gn=Ha,Hn="",In=0,tb=a.Fa,tc=a.ja;if(tc.length){var Db=+Fn||a.Ub,de=+Gn||10;isNaN(Db)?Db=de:Hn="more ";Db>tc.length&&(a.O("note: only "+tc.length+" available"),Db=tc.length);
tb-=Db;0>tb&&(null==tc[tc.length-1].Z?(Db=tb+Db,tb=0):tb+=tc.length);var ji=[];"call"==Gn&&(de=1E5,ji=["CALL"]);for(void 0!==Fn&&a.O(Db+" instructions earlier:");0<de&&tb!=a.Fa;){var rd=tc[tb++];if(null==rd.Z)break;var Ue=iq(a,rd.Ra,rd.Z,rd.Da,rd.type,rd.Sb,rd.pc),gs=Db--,Jn=rr(a,Ue,"history",gs);(!ji.length||0<=Jn.indexOf(ji[0]))&&a.O(Jn);Ue.Se&&(tb+=Ue.Se,de-=Ue.Se,Db-=Ue.Se);tb>=tc.length&&(tb=0);a.Ub=Db;In++;de--}}In||(a.O("no "+Hn+"history available"),a.Ub=void 0)}else if("di"==ia){P.shift(); tb-=Db;0>tb&&(null==tc[tc.length-1].Z?(Db=tb+Db,tb=0):tb+=tc.length);var ki=[];"call"==Gn&&(de=1E5,ki=["CALL"]);for(void 0!==Fn&&a.O(Db+" instructions earlier:");0<de&&tb!=a.Fa;){var rd=tc[tb++];if(null==rd.Z)break;var Ue=iq(a,rd.Ra,rd.Z,rd.Da,rd.type,rd.Sb,rd.pc),gs=Db--,Jn=rr(a,Ue,"history",gs);(!ki.length||0<=Jn.indexOf(ki[0]))&&a.O(Jn);Ue.Se&&(tb+=Ue.Se,de-=Ue.Se,Db-=Ue.Se);tb>=tc.length&&(tb=0);a.Ub=Db;In++;de--}}In||(a.O("no "+Hn+"history available"),a.Ub=void 0)}else if("di"==ia){P.shift();
var ki=P[0];if(ki){var Ve=Eq(a,ki);if(void 0===Ve||0>Ve||255<Ve)a.O("invalid vector: "+ki);else{var Kn="&",Ln=!!(a.F.Za&1),Mn=!1,pg=a.F.Mc+(Ve<<(Ln?3:2)),li=a.F.na(pg+0),hs=a.F.na(pg+2);Ln&&(Kn="#",a.F.na(pg+4)&2048&&(Mn=!0,li|=a.F.na(pg+6)<<16));a.O("dumpIDT("+u(Ve)+"): "+Kn+r(hs,4)+":"+r(li,Mn?8:4))}}else a.O("no IDT vector")}else if("dt"==ia)P.shift(),a.O("no information");else{var ee=Zq(a,ja);if(ee&&(null!=ee.Z||null!=ee.Da)){var qg=0;Ha&&("l"==Ha.charAt(0)&&(Ha=Ha.substr(1)||Xa),qg=Eq(a,Ha)>>> var li=P[0];if(li){var Ve=Eq(a,li);if(void 0===Ve||0>Ve||255<Ve)a.O("invalid vector: "+li);else{var Kn="&",Ln=!!(a.F.Za&1),Mn=!1,pg=a.F.Mc+(Ve<<(Ln?3:2)),mi=a.F.na(pg+0),hs=a.F.na(pg+2);Ln&&(Kn="#",a.F.na(pg+4)&2048&&(Mn=!0,mi|=a.F.na(pg+6)<<16));a.O("dumpIDT("+u(Ve)+"): "+Kn+r(hs,4)+":"+r(mi,Mn?8:4))}}else a.O("no IDT vector")}else if("dt"==ia)P.shift(),a.O("no information");else{var ee=Zq(a,ja);if(ee&&(null!=ee.Z||null!=ee.Da)){var qg=0;Ha&&("l"==Ha.charAt(0)&&(Ha=Ha.substr(1)||Xa),qg=Eq(a,Ha)>>>
0,65536<qg&&(qg=65536));for(var sd="",is=(qg||128)+15>>4||1,mi="dd"==ia?4:"dw"==ia?2:1,Nn=0;Nn<is;Nn++){for(var rg=0,ni=0,We="",oi="",ja=Sq(ee),pi=0;16>pi;pi++){var sg=a.Qa(ee,1),rg=rg|sg<<(ni++<<3);ni==mi&&(We+=r(rg,2*mi),We+=1==mi?7==pi?"-":" ":" ",rg=ni=0);oi+=32<=sg&&128>sg?String.fromCharCode(sg):"."}sd&&(sd+="\n");sd+=ja+" "+We+" "+oi}sd&&a.O(sd);a.Db=ee}}}}}break;case "e":if("else"==g[0])break;var tg=1,On=255,Pn=a.Qa,Qn=a.qc;"ew"==g[0]&&(tg=2,On=65535,Pn=a.na,Qn=a.jb);var Rn=tg<<1,Sn=g[1]; 0,65536<qg&&(qg=65536));for(var sd="",is=(qg||128)+15>>4||1,ni="dd"==ia?4:"dw"==ia?2:1,Nn=0;Nn<is;Nn++){for(var rg=0,oi=0,We="",pi="",ja=Sq(ee),qi=0;16>qi;qi++){var sg=a.Qa(ee,1),rg=rg|sg<<(oi++<<3);oi==ni&&(We+=r(rg,2*ni),We+=1==ni?7==qi?"-":" ":" ",rg=oi=0);pi+=32<=sg&&128>sg?String.fromCharCode(sg):"."}sd&&(sd+="\n");sd+=ja+" "+We+" "+pi}sd&&a.O(sd);a.Db=ee}}}}}break;case "e":if("else"==g[0])break;var tg=1,On=255,Pn=a.Qa,Qn=a.qc;"ew"==g[0]&&(tg=2,On=65535,Pn=a.na,Qn=a.jb);var Rn=tg<<1,Sn=g[1];
if(null==Sn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var ug=Zq(a,Sn);if(ug)for(var vg=2;vg<g.length;vg++){var Xe=ar(a,g[vg]);if(void 0===Xe){a.O("unrecognized value: "+g[vg]);break}Xe&~On&&a.O("warning: "+r(Xe)+" exceeds "+tg+"-byte value");var js=Pn.call(a,ug);a.O("changing "+Sq(ug)+" from 0x"+r(js,Rn)+" to 0x"+r(Xe,Rn));Qn.call(a,ug,Xe,tg)}}break;case "f":Gr(a,g[1]);break;case "g":a:{var Tn=g[1],ks=b;"gt"==g[0]&& if(null==Sn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var ug=Zq(a,Sn);if(ug)for(var vg=2;vg<g.length;vg++){var Xe=ar(a,g[vg]);if(void 0===Xe){a.O("unrecognized value: "+g[vg]);break}Xe&~On&&a.O("warning: "+r(Xe)+" exceeds "+tg+"-byte value");var js=Pn.call(a,ug);a.O("changing "+Sq(ug)+" from 0x"+r(js,Rn)+" to 0x"+r(Xe,Rn));Qn.call(a,ug,Xe,tg)}}break;case "f":Gr(a,g[1]);break;case "g":a:{var Tn=g[1],ks=b;"gt"==g[0]&&
(a.cb=!0);if(void 0!==Tn){var qi=Zq(a,Tn,!0);if(!qi)break a;br(a,qi,ks);a.Sd(a.A,qi,!0)}a.Ke(!0)||c||a.O("cpu busy or unavailable, run command ignored")}break;case "h":var ri;a.la.Ib?(ri="halting",a.Wb()):ri="already halted";c||a.O(ri);break;case "i":if("if"==g[0]){var si;var Ye=b.substr(2),Ye=na(Ye);ar(a,Ye)?(c||a.O("true: "+Ye),si=!0):(c||a.O("false: "+Ye),si=!1);si||(d=!1);break}if("int"==g[0]){var wg;a:switch(Eq(a,g[1])){case 19:kk(a,19,a.F.Ga,!0);a.ya=a.pa;wg=!0;break a;case 33:kk(a,33,a.F.Ga, (a.cb=!0);if(void 0!==Tn){var ri=Zq(a,Tn,!0);if(!ri)break a;br(a,ri,ks);a.Sd(a.A,ri,!0)}a.Ke(!0)||c||a.O("cpu busy or unavailable, run command ignored")}break;case "h":var si;a.la.Ib?(si="halting",a.Wb()):si="already halted";c||a.O(si);break;case "i":if("if"==g[0]){var ti;var Ye=b.substr(2),Ye=na(Ye);ar(a,Ye)?(c||a.O("true: "+Ye),ti=!0):(c||a.O("false: "+Ye),ti=!1);ti||(d=!1);break}if("int"==g[0]){var wg;a:switch(Eq(a,g[1])){case 19:kk(a,19,a.F.Ga,!0);a.ya=a.pa;wg=!0;break a;case 33:kk(a,33,a.F.Ga,
!0);a.ya=a.pa;wg=!0;break a;default:wg=!1}wg||(d=!1);break}var ti=g[1];if(ti&&"?"!=ti){var ui=Eq(a,ti);if(void 0!==ui){var ls=ic(a.ea,ui,1);a.O(u(ui)+": "+t(ls))}}else a.O("input commands:"),a.O("\ti [p]\tread port [p]"),a.O("warning: port accesses can affect hardware state");break;case "k":var ms=g[0];if("?"==g[1])a.O("stack trace commands:"),a.O("\tk\tshow frame addresses"),a.O("\tks\tshow symbol information");else{var vi=0,Un=a.F.va.Z,Ze=iq(a),Tc=iq(a,I(a.F),a.F.ta.Z);for(a.O("stack trace for "+ !0);a.ya=a.pa;wg=!0;break a;default:wg=!1}wg||(d=!1);break}var ui=g[1];if(ui&&"?"!=ui){var vi=Eq(a,ui);if(void 0!==vi){var ls=ic(a.ea,vi,1);a.O(u(vi)+": "+t(ls))}}else a.O("input commands:"),a.O("\ti [p]\tread port [p]"),a.O("warning: port accesses can affect hardware state");break;case "k":var ms=g[0];if("?"==g[1])a.O("stack trace commands:"),a.O("\tk\tshow frame addresses"),a.O("\tks\tshow symbol information");else{var wi=0,Un=a.F.va.Z,Ze=iq(a),Tc=iq(a,I(a.F),a.F.ta.Z);for(a.O("stack trace for "+
Sq(Tc));10>vi;){for(var uc=null,ns=256;Tc.Ra>>>0<a.F.Lg>>>0;){Ze.Ra=a.tb(Tc,!0);if(null==Tc.Da||!ns--)break;Ze.Z=Un;if(uc=Lr(a,Ze))break;Ze.Z=a.tb(Tc);if(uc=Lr(a,Ze,!0)){Un=a.tb(Tc,!0);0<uc.indexOf("INT")&&a.tb(Tc,!0);break}}if(!uc||null==uc)break;var Vn=null;if("ks"==ms){var Wn=uc.match(/[0-9A-F]+$/);Wn&&(Vn=Ir(a,Wn[0]))}uc=ma(uc,50)+" ;"+(Vn||"stack="+Sq(Tc));a.O(uc);vi++}vi||a.O("no return addresses found")}break;case "l":if("ln"==g[0]){Ir(a,g[1],!0);break}Jr(a,g);break;case "m":if("mouse"==g[0]){var wi= Sq(Tc));10>wi;){for(var uc=null,ns=256;Tc.Ra>>>0<a.F.Lg>>>0;){Ze.Ra=a.tb(Tc,!0);if(null==Tc.Da||!ns--)break;Ze.Z=Un;if(uc=Lr(a,Ze))break;Ze.Z=a.tb(Tc);if(uc=Lr(a,Ze,!0)){Un=a.tb(Tc,!0);0<uc.indexOf("INT")&&a.tb(Tc,!0);break}}if(!uc||null==uc)break;var Vn=null;if("ks"==ms){var Wn=uc.match(/[0-9A-F]+$/);Wn&&(Vn=Ir(a,Wn[0]))}uc=ma(uc,50)+" ;"+(Vn||"stack="+Sq(Tc));a.O(uc);wi++}wi||a.O("no return addresses found")}break;case "l":if("ln"==g[0]){Ir(a,g[1],!0);break}Jr(a,g);break;case "m":if("mouse"==g[0]){var xi=
g[1],xg=g[2];if(a.W){var Xn=1;"-"==xg.charAt(0)&&(Xn=-1,xg=xg.substr(1));var td=Eq(a,xg,wi);if(void 0!==td)switch(td=td*Xn|0,wi){case "x":a.W.Hf(td,0);break;case "y":a.W.Hf(0,td);break;case "click":a.W.je(td,!0);a.W.je(td,!1);break;default:a.O("unknown action: "+wi)}}else a.O("no mouse");break}a:{var vc,wc=null,Oa=g[1];"?"==Oa&&(Oa=void 0);if(void 0!==Oa){var ud=0;if("all"==Oa)ud=1610481663,Oa=null;else if("on"==Oa)wc=!0,Oa=null;else if("off"==Oa)wc=!1,Oa=null;else{"keys"==Oa&&(Oa="key");"kbd"==Oa&& g[1],xg=g[2];if(a.W){var Xn=1;"-"==xg.charAt(0)&&(Xn=-1,xg=xg.substr(1));var td=Eq(a,xg,xi);if(void 0!==td)switch(td=td*Xn|0,xi){case "x":a.W.Hf(td,0);break;case "y":a.W.Hf(0,td);break;case "click":a.W.je(td,!0);a.W.je(td,!1);break;default:a.O("unknown action: "+xi)}}else a.O("no mouse");break}a:{var vc,wc=null,Oa=g[1];"?"==Oa&&(Oa=void 0);if(void 0!==Oa){var ud=0;if("all"==Oa)ud=1610481663,Oa=null;else if("on"==Oa)wc=!0,Oa=null;else if("off"==Oa)wc=!1,Oa=null;else{"keys"==Oa&&(Oa="key");"kbd"==Oa&&
(Oa="keyboard");for(vc in wq)if(Oa==vc){ud=wq[vc];wc=!!(a.wc&ud);break}if(!ud){a.O("unknown message category: "+Oa);break a}}ud&&("on"==g[2]?(a.wc|=ud,wc=!0):"off"==g[2]&&(a.wc&=~ud,wc=!1))}var os=0,Uc="";for(vc in wq)if(!Oa||Oa==vc){var ps=!!(a.wc&wq[vc]);if(null===wc||wc==ps)Uc&&(Uc+=","),++os%10||(Uc+="\n\t"),"key"==vc&&(vc="keys"),Uc+=vc}void 0===Oa&&a.O("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.O((null!==wc?wc?"messages on: ":"messages off: ":"message categories:\n\t")+ (Oa="keyboard");for(vc in wq)if(Oa==vc){ud=wq[vc];wc=!!(a.wc&ud);break}if(!ud){a.O("unknown message category: "+Oa);break a}}ud&&("on"==g[2]?(a.wc|=ud,wc=!0):"off"==g[2]&&(a.wc&=~ud,wc=!1))}var os=0,Uc="";for(vc in wq)if(!Oa||Oa==vc){var ps=!!(a.wc&wq[vc]);if(null===wc||wc==ps)Uc&&(Uc+=","),++os%10||(Uc+="\n\t"),"key"==vc&&(vc="keys"),Uc+=vc}void 0===Oa&&a.O("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.O((null!==wc?wc?"messages on: ":"messages off: ":"message categories:\n\t")+
(Uc||"none"));kq(a)}break;case "o":var xi=g[1],qs=g[2];if(xi&&"?"!=xi){var yi=Eq(a,xi,"port #"),zi=Eq(a,qs);void 0!==yi&&void 0!==zi&&(mc(a.ea,yi,1,zi),a.O(u(yi)+": "+t(zi)))}else a.O("output commands:"),a.O("\to [p] [b]\twrite byte [b] to port [p]"),a.O("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){Kr(a,b.substr(5));break}var Yn="pr"==g[0]?1:0,fe=1+Yn;if(a.N)a.O("step in progress");else{var yg,Zn=!1,lb=iq(a,K(a.F),a.F.va.Z);do switch(yg=!1,a.Qa(lb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Uq(a, (Uc||"none"));kq(a)}break;case "o":var yi=g[1],qs=g[2];if(yi&&"?"!=yi){var zi=Eq(a,yi,"port #"),Ai=Eq(a,qs);void 0!==zi&&void 0!==Ai&&(mc(a.ea,zi,1,Ai),a.O(u(zi)+": "+t(Ai)))}else a.O("output commands:"),a.O("\to [p] [b]\twrite byte [b] to port [p]"),a.O("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){Kr(a,b.substr(5));break}var Yn="pr"==g[0]?1:0,fe=1+Yn;if(a.N)a.O("step in progress");else{var yg,Zn=!1,lb=iq(a,K(a.F),a.F.va.Z);do switch(yg=!1,a.Qa(lb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Uq(a,
lb,1);yg=!0;break;case 204:case 206:a.N=fe;Uq(a,lb,1);break;case 205:case 224:case 225:case 226:a.N=fe;Uq(a,lb,lb.Sb?4:2);break;case 232:a.N=fe;Uq(a,lb,lb.Sb?5:3);break;case 154:a.N=fe;Uq(a,lb,lb.Sb?7:5);break;case 255:var $n=a.tb(lb)&14591;if(4351==$n||6399==$n)a.N=fe,rr(a,lb);break;case 243:case 242:Uq(a,lb,1);Zn=yg=!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:Zn&&(a.N=fe,Uq(a,lb,1))}while(yg);a.N?(a.Sd(a.A, lb,1);yg=!0;break;case 204:case 206:a.N=fe;Uq(a,lb,1);break;case 205:case 224:case 225:case 226:a.N=fe;Uq(a,lb,lb.Sb?4:2);break;case 232:a.N=fe;Uq(a,lb,lb.Sb?5:3);break;case 154:a.N=fe;Uq(a,lb,lb.Sb?7:5);break;case 255:var $n=a.tb(lb)&14591;if(4351==$n||6399==$n)a.N=fe,rr(a,lb);break;case 243:case 242:Uq(a,lb,1);Zn=yg=!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:Zn&&(a.N=fe,Uq(a,lb,1))}while(yg);a.N?(a.Sd(a.A,
lb,!0),a.Ke()||(a.V&&a.V.yd(),a.N=0)):Mr(a,Yn?"tr":"t")}break;case "r":if("reset"==b){a.V&&a.V.reset();break}jr(a,g);break;case "t":Mr(a,g[0],g[1]);break;case "u":kr(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Hr(a,b.substr(3))||(d=!1);break}a.O("PCjs version 1.21.7 ("+a.F.ia+",RELEASE,NOPREFETCH"+(vb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.O(ya());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var $e;void 0!==g[3]&&($e=+g[3]);switch(g[2]){case "int":a.F.Y.jf=$e;break;case "start":a.F.Y.Jf= lb,!0),a.Ke()||(a.V&&a.V.yd(),a.N=0)):Mr(a,Yn?"tr":"t")}break;case "r":if("reset"==b){a.V&&a.V.reset();break}jr(a,g);break;case "t":Mr(a,g[0],g[1]);break;case "u":kr(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Hr(a,b.substr(3))||(d=!1);break}a.O("PCjs version 1.21.7 ("+a.F.ia+",RELEASE,NOPREFETCH"+(vb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.O(ya());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var $e;void 0!==g[3]&&($e=+g[3]);switch(g[2]){case "int":a.F.Y.jf=$e;break;case "start":a.F.Y.Jf=
$e;break;case "stop":a.F.Y.lf=$e;break;default:a.O("unknown cs option");break a}void 0!==$e&&Pc(a.F);a.O("checksums "+(a.F.la.Ye?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Xc(a.F,+g[2])||a.O("warning: using 1x multiplier, previous target not reached"));a.O("target speed: "+(a.F.Y.Fe.toFixed(2)+"Mhz")+" ("+a.F.Y.Yd+"x)");break;default:a.O("unknown option: "+g[1])}else a.O("execution options:"),a.O("\tcs int #\tset checksum cycle interval to #"),a.O("\tcs start #\tset checksum cycle start count to #"), $e;break;case "stop":a.F.Y.lf=$e;break;default:a.O("unknown cs option");break a}void 0!==$e&&Pc(a.F);a.O("checksums "+(a.F.la.Ye?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Xc(a.F,+g[2])||a.O("warning: using 1x multiplier, previous target not reached"));a.O("target speed: "+(a.F.Y.Fe.toFixed(2)+"Mhz")+" ("+a.F.Y.Yd+"x)");break;default:a.O("unknown option: "+g[1])}else a.O("execution options:"),a.O("\tcs int #\tset checksum cycle interval to #"),a.O("\tcs start #\tset checksum cycle start count to #"),
a.O("\tcs stop #\tset checksum cycle stop count to #"),a.O("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){Kr(a,b.substr(1));break}var af="commands:",Ai;for(Ai in pq)af+="\n"+ma(Ai,7)+pq[Ai];Tf(a)||(af+="\nnote: frequency/history disabled if no exec breakpoints");a.O(af);break;default:a.O("unknown command: "+b),d=!1}}}catch(ao){a.O("debugger error: "+(ao.stack||ao.message)),d=!1}return d}function mq(a,b,c){b=cr(a,b,c);for(var d in b)if(!qr(a,b[d]))return!1;return!0} a.O("\tcs stop #\tset checksum cycle stop count to #"),a.O("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){Kr(a,b.substr(1));break}var af="commands:",Bi;for(Bi in pq)af+="\n"+ma(Bi,7)+pq[Bi];Tf(a)||(af+="\nnote: frequency/history disabled if no exec breakpoints");a.O(af);break;default:a.O("unknown command: "+b),d=!1}}}catch(ao){a.O("debugger error: "+(ao.stack||ao.message)),d=!1}return d}function mq(a,b,c){b=cr(a,b,c);for(var d in b)if(!qr(a,b[d]))return!1;return!0}
Qa(function(){for(var a=nb(document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=jb(c),d=new hq(d);mb(d,c)}});function hf(a,b,c){this.id=a.id;this.key=Or(a,b,c);this.ha=a.ha;Pr(this,a.gk)}function Or(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} Qa(function(){for(var a=nb(document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=jb(c),d=new hq(d);mb(d,c)}});function hf(a,b,c){this.id=a.id;this.key=Or(a,b,c);this.ha=a.ha;Pr(this,a.gk)}function Or(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}
hf.prototype={constructor:hf,value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.A=!0):this.A?!0:Ca()&&(a=Ea(this.key))?(this[this.id]=a,this.A=!0):!1},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Pr(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)== hf.prototype={constructor:hf,value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.A=!0):this.A?!0:Ca()&&(a=Ea(this.key))?(this[this.id]=a,this.A=!0):!1},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Pr(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 Pr(a,b){a[a.id]={};b&&N(a,"parms",b);a.A=!1}function Qr(a){var b=!0;if(Ca()){var c=JSON.stringify(a[a.id]);Fa(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Rr(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){w(c.message||c),b=!1}return b}function Sr(a,b){return a[a.id][b]||null}function N(a,b,c){try{a[a.id][b]=c}catch(d){}} this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}}};function Pr(a,b){a[a.id]={};b&&N(a,"parms",b);a.A=!1}function Qr(a){var b=!0;if(Ca()){var c=JSON.stringify(a[a.id]);Fa(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Rr(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){w(c.message||c),b=!1}return b}function Sr(a,b){return a[a.id][b]||null}function N(a,b,c){try{a[a.id][b]=c}catch(d){}}

View file

@ -370,7 +370,7 @@ function Bi(a,b){var c=b;if(a)for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e
function jj(a,b,c,d){if(c=a.ka[c]){d=d?a.D[b][0]:a.D[b][1]=a.D[b][0];c=Za(c,"pcjs-bitCell");for(var e=0;e<c.length;e++){var f=kj(a,b,e);c[e].setAttribute("title",f&&f.gd||"Reserved");lj(c[e],d&1<<e?!1:!0);c[e].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");lj(b,c);var d=b.getAttribute("id").split("-"),e=1<<+d[1]-1;switch(d[0]){case Ci:a.D[0][0]=a.D[0][0]&~e|(c?0:e);break;case Gi:a.D[1][0]=a.D[1][0]&~e|(c?0:e)}mj(a)}}(a,c[e])}}} function jj(a,b,c,d){if(c=a.ka[c]){d=d?a.D[b][0]:a.D[b][1]=a.D[b][0];c=Za(c,"pcjs-bitCell");for(var e=0;e<c.length;e++){var f=kj(a,b,e);c[e].setAttribute("title",f&&f.gd||"Reserved");lj(c[e],d&1<<e?!1:!0);c[e].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");lj(b,c);var d=b.getAttribute("id").split("-"),e=1<<+d[1]-1;switch(d[0]){case Ci:a.D[0][0]=a.D[0][0]&~e|(c?0:e);break;case Gi:a.D[1][0]=a.D[1][0]&~e|(c?0:e)}mj(a)}}(a,c[e])}}}
function mj(a){var b=a.ka.swdesc;if(null!=b){var c;c=""+(Yi(a,!0)+"Kb");c+=", "+(+ +Zi(a,3,!0)?"":"No ")+"Coprocessor";c+=", "+{0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"}[+Zi(a,Fi,!0)]+" Monitor";c+=", "+ +Zi(a,Ei,!0)+" Floppy Drives";if(null!=a.D[0][1]&&a.D[0][1]!=a.D[0][0]||null!=a.D[1][1]&&a.D[1][1]!=a.D[1][0])c+=" (Reset required)";b.textContent=c}} function mj(a){var b=a.ka.swdesc;if(null!=b){var c;c=""+(Yi(a,!0)+"Kb");c+=", "+(+ +Zi(a,3,!0)?"":"No ")+"Coprocessor";c+=", "+{0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"}[+Zi(a,Fi,!0)]+" Monitor";c+=", "+ +Zi(a,Ei,!0)+" Floppy Drives";if(null!=a.D[0][1]&&a.D[0][1]!=a.D[0][0]||null!=a.D[1][1]&&a.D[1][1]!=a.D[1][0])c+=" (Reset required)";b.textContent=c}}
function nj(a,b,c){a=a.G[b];var d=a.$b[c],e=d.gb[a.Ib];a.Ib^=1;b||0!=c||a.Ib||(d.gb[0]++,255<d.gb[0]&&(d.gb[0]=0,d.gb[1]++,255<d.gb[1]&&(d.gb[1]=0)));return e}function oj(a,b,c,d){a=a.G[b];c=a.$b[c];c.gb[a.Ib]=c.sf[a.Ib]=d;a.Ib^=1}function pj(a,b,c){a=a.G[b];var d=a.$b[c],e=d.hb[a.Ib];a.Ib^=1;b||0!=c||a.Ib||(d.hb[0]--,0>d.hb[0]&&(d.hb[0]=255,d.hb[1]--,0>d.hb[1]&&(d.hb[1]=255)));return e}function qj(a,b,c,d){a=a.G[b];c=a.$b[c];c.hb[a.Ib]=c.jc[a.Ib]=d;a.Ib^=1} function nj(a,b,c){a=a.G[b];var d=a.$b[c],e=d.gb[a.Ib];a.Ib^=1;b||0!=c||a.Ib||(d.gb[0]++,255<d.gb[0]&&(d.gb[0]=0,d.gb[1]++,255<d.gb[1]&&(d.gb[1]=0)));return e}function oj(a,b,c,d){a=a.G[b];c=a.$b[c];c.gb[a.Ib]=c.sf[a.Ib]=d;a.Ib^=1}function pj(a,b,c){a=a.G[b];var d=a.$b[c],e=d.hb[a.Ib];a.Ib^=1;b||0!=c||a.Ib||(d.hb[0]--,0>d.hb[0]&&(d.hb[0]=255,d.hb[1]--,0>d.hb[1]&&(d.hb[1]=255)));return e}function qj(a,b,c,d){a=a.G[b];c=a.$b[c];c.hb[a.Ib]=c.jc[a.Ib]=d;a.Ib^=1}
function rj(a,b){var c=a.G[b],d=c.Db|1;c.Db&=-16;return d}function wj(a,b,c){a=a.G[b];b=c&3;a.Db=a.Db&~(16<<b)|(c&4)<<b+2;a.Gh=c}function xj(a,b,c){b=a.G[b];var d=c&3,e=b.$b[d];e.Qd=!!(c&4);e.Qd||yj(a,b.Vk+d)}function zj(a,b){for(var c=a.G[b],d=0;d<c.$b.length;d++)ej(c,d)}function Aj(a,b,c){return a.G[b].$b[c].tf}function Bj(a,b,c,d){a.G[b].$b[c].tf=d}function Cj(a,b,c,d,e){gj(a.G[b>>2].$b[b&3],c,d,e)} function rj(a,b){var c=a.G[b],d=c.Db|1;c.Db&=-16;return d}function sj(a,b,c){a=a.G[b];b=c&3;a.Db=a.Db&~(16<<b)|(c&4)<<b+2;a.Gh=c}function xj(a,b,c){b=a.G[b];var d=c&3,e=b.$b[d];e.Qd=!!(c&4);e.Qd||yj(a,b.Vk+d)}function zj(a,b){for(var c=a.G[b],d=0;d<c.$b.length;d++)ej(c,d)}function Aj(a,b,c){return a.G[b].$b[c].tf}function Bj(a,b,c,d){a.G[b].$b[c].tf=d}function Cj(a,b,c,d,e){gj(a.G[b>>2].$b[b&3],c,d,e)}
function yj(a,b,c){b=a.G[b>>2].$b[b&3];b.yf&&b.kg&&b.Mf?(c&&(b.done=c),b.Qd||Dj(a,b,!0)):c&&c(!0)}function Dj(a,b,c){c&&(b.count=b.hb[1]<<8|b.hb[0],b.type=b.mode&12,b.Sh=b.Yc=!1);for(var d=!1;0<=b.count&&(c=b.tf<<16|b.gb[1]<<8|b.gb[0],4==b.type?(d=!0,function(c){b.kg.call(b.yf,b.Mf,-1,function(f,g){0>f&&(b.Sh||(b.Sh=!0),f=255);b.Qd||a.ha.Mc(c,f);(d=g)&&setTimeout(function(){Ej(b)||Dj(a,b)},0)})}(c)):8==b.type?(c=a.ha.Jb(c),0>b.kg.call(b.yf,b.Mf,c)&&(b.Yc=!0)):0!=b.type&&(b.Yc=!0)),!d&&!Ej(b););} function yj(a,b,c){b=a.G[b>>2].$b[b&3];b.yf&&b.kg&&b.Mf?(c&&(b.done=c),b.Qd||Dj(a,b,!0)):c&&c(!0)}function Dj(a,b,c){c&&(b.count=b.hb[1]<<8|b.hb[0],b.type=b.mode&12,b.Sh=b.Yc=!1);for(var d=!1;0<=b.count&&(c=b.tf<<16|b.gb[1]<<8|b.gb[0],4==b.type?(d=!0,function(c){b.kg.call(b.yf,b.Mf,-1,function(f,g){0>f&&(b.Sh||(b.Sh=!0),f=255);b.Qd||a.ha.Mc(c,f);(d=g)&&setTimeout(function(){Ej(b)||Dj(a,b)},0)})}(c)):8==b.type?(c=a.ha.Jb(c),0>b.kg.call(b.yf,b.Mf,c)&&(b.Yc=!0)):0!=b.type&&(b.Yc=!0)),!d&&!Ej(b););}
function Ej(a){if(!a.Yc&&0<=--a.count&&(a.mode&32?(a.gb[0]--,0>a.gb[0]&&(a.gb[0]=255,a.gb[1]--,0>a.gb[1]&&(a.gb[1]=255))):(a.gb[0]++,255<a.gb[0]&&(a.gb[0]=0,a.gb[1]++,255<a.gb[1]&&(a.gb[1]=0))),!a.Qd))return!1;var b=a.controller;b.Db=b.Db&~(16<<a.Vh)|1<<a.Vh;a.mode&16||(a.Qd=!0,a.yf=a.Mf=null);a.done&&(a.done(!a.Yc),a.done=null);return!0}function Fj(a,b){var c=0,d=a.gc[b];if(null!=d.Je)switch(d.Je&3){case 2:c=d.ac;break;case 3:c=d.Cc}return c} function Ej(a){if(!a.Yc&&0<=--a.count&&(a.mode&32?(a.gb[0]--,0>a.gb[0]&&(a.gb[0]=255,a.gb[1]--,0>a.gb[1]&&(a.gb[1]=255))):(a.gb[0]++,255<a.gb[0]&&(a.gb[0]=0,a.gb[1]++,255<a.gb[1]&&(a.gb[1]=0))),!a.Qd))return!1;var b=a.controller;b.Db=b.Db&~(16<<a.Vh)|1<<a.Vh;a.mode&16||(a.Qd=!0,a.yf=a.Mf=null);a.done&&(a.done(!a.Yc),a.done=null);return!0}function Fj(a,b){var c=0,d=a.gc[b];if(null!=d.Je)switch(d.Je&3){case 2:c=d.ac;break;case 3:c=d.Cc}return c}
function Gj(a,b,c){b=a.gc[b];if(c&16)b.md=0,b.Sc[b.md++]=c,b.Vc=0,b.Ld=7,b.ac=b.Cc=0,b.Je=10;else if(c&8)b.Je=c;else{var d=c&224;if(d&32){var e=0;if(96==(d&96))e=1<<(c&7);else for(c=b.Ld+1;;){c&=7;d=1<<c;if(b.Cc&d){e=d;break}if(c++==b.Ld)break}b.Cc&e&&(b.Cc&=~e,Hj(a))}else 192==d&&(b.Ld=c&7)}}function Ij(a,b,c){var d=a.gc[b];d.md<d.Sc.length?(d.Sc[d.md++]=c,2==d.md&&d.Sc[0]&2&&d.md++,3!=d.md||d.Sc[0]&1||d.md++):(d.Vc=c,d=a.A,d.L|=4,Hj(a,b||253!=c?0:6))} function Gj(a,b,c){b=a.gc[b];if(c&16)b.md=0,b.Sc[b.md++]=c,b.Vc=0,b.Ld=7,b.ac=b.Cc=0,b.Je=10;else if(c&8)b.Je=c;else{var d=c&224;if(d&32){var e=0;if(96==(d&96))e=1<<(c&7);else for(c=b.Ld+1;;){c&=7;d=1<<c;if(b.Cc&d){e=d;break}if(c++==b.Ld)break}b.Cc&e&&(b.Cc&=~e,Hj(a))}else 192==d&&(b.Ld=c&7)}}function Ij(a,b,c){var d=a.gc[b];d.md<d.Sc.length?(d.Sc[d.md++]=c,2==d.md&&d.Sc[0]&2&&d.md++,3!=d.md||d.Sc[0]&1||d.md++):(d.Vc=c,d=a.A,d.L|=4,Hj(a,b||253!=c?0:6))}
@ -394,10 +394,10 @@ var Ki={0:function(){return nj(this,0,0)},1:function(){return pj(this,0,0)},2:fu
0,2)},67:function(){return this.xa},129:function(){return Aj(this,0,2)},130:function(){return Aj(this,0,3)},131:function(){return Aj(this,0,1)},135:function(){return Aj(this,0,0)}},Mi={96:S.prototype.Bk,97:S.prototype.Ck,98:S.prototype.Dk,99:S.prototype.Ek},Qi={96:S.prototype.Oj,97:S.prototype.Pj,100:S.prototype.Qj,112:S.prototype.dk,113:S.prototype.ek,128:function(){return this.I[7]},132:function(){return this.I[0]},133:function(){return this.I[1]},134:function(){return this.I[2]},136:function(){return this.I[3]}, 0,2)},67:function(){return this.xa},129:function(){return Aj(this,0,2)},130:function(){return Aj(this,0,3)},131:function(){return Aj(this,0,1)},135:function(){return Aj(this,0,0)}},Mi={96:S.prototype.Bk,97:S.prototype.Ck,98:S.prototype.Dk,99:S.prototype.Ek},Qi={96:S.prototype.Oj,97:S.prototype.Pj,100:S.prototype.Qj,112:S.prototype.dk,113:S.prototype.ek,128:function(){return this.I[7]},132:function(){return this.I[0]},133:function(){return this.I[1]},134:function(){return this.I[2]},136:function(){return this.I[3]},
137:function(){return Aj(this,1,2)},138:function(){return Aj(this,1,3)},139:function(){return Aj(this,1,1)},140:function(){return this.I[4]},141:function(){return this.I[5]},142:function(){return this.I[6]},143:function(){return Aj(this,1,0)},160:function(){return Fj(this,1)},161:function(){return this.gc[1].Vc},192:function(){return nj(this,1,0)},194:function(){return pj(this,1,0)},196:function(){return nj(this,1,1)},198:function(){return pj(this,1,1)},200:function(){return nj(this,1,2)},202:function(){return pj(this, 137:function(){return Aj(this,1,2)},138:function(){return Aj(this,1,3)},139:function(){return Aj(this,1,1)},140:function(){return this.I[4]},141:function(){return this.I[5]},142:function(){return this.I[6]},143:function(){return Aj(this,1,0)},160:function(){return Fj(this,1)},161:function(){return this.gc[1].Vc},192:function(){return nj(this,1,0)},194:function(){return pj(this,1,0)},196:function(){return nj(this,1,1)},198:function(){return pj(this,1,1)},200:function(){return nj(this,1,2)},202:function(){return pj(this,
1,2)},204:function(){return nj(this,1,3)},206:function(){return pj(this,1,3)},208:function(){return rj(this,1)},218:function(){return this.G[1].dg}},Oi={96:S.prototype.Mj,97:S.prototype.Lj,100:S.prototype.Nj,102:function(){return this.D[0][1]},103:function(){return this.D[1][1]}},Si={72:function(){return Jj(this,1,0)},73:function(){return Jj(this,1,1)},74:function(){return Jj(this,1,2)},75:function(){return this.za}},Li={0:function(a,b){oj(this,0,0,b)},1:function(a,b){qj(this,0,0,b)},2:function(a, 1,2)},204:function(){return nj(this,1,3)},206:function(){return pj(this,1,3)},208:function(){return rj(this,1)},218:function(){return this.G[1].dg}},Oi={96:S.prototype.Mj,97:S.prototype.Lj,100:S.prototype.Nj,102:function(){return this.D[0][1]},103:function(){return this.D[1][1]}},Si={72:function(){return Jj(this,1,0)},73:function(){return Jj(this,1,1)},74:function(){return Jj(this,1,2)},75:function(){return this.za}},Li={0:function(a,b){oj(this,0,0,b)},1:function(a,b){qj(this,0,0,b)},2:function(a,
b){oj(this,0,1,b)},3:function(a,b){qj(this,0,1,b)},4:function(a,b){oj(this,0,2,b)},5:function(a,b){qj(this,0,2,b)},6:function(a,b){oj(this,0,3,b)},7:function(a,b){qj(this,0,3,b)},8:function(a,b){this.G[0].bg=b},9:function(a,b){wj(this,0,b)},10:function(a,b){xj(this,0,b)},11:function(a,b){this.G[0].$b[b&3].mode=b},12:function(){this.G[0].Ib=0},13:function(){zj(this,0)},32:function(a,b){Gj(this,0,b)},33:function(a,b){Ij(this,0,b)},64:function(a,b){Mj(this,0,0,b)},65:function(a,b){Mj(this,0,1,b)},66:function(a, b){oj(this,0,1,b)},3:function(a,b){qj(this,0,1,b)},4:function(a,b){oj(this,0,2,b)},5:function(a,b){qj(this,0,2,b)},6:function(a,b){oj(this,0,3,b)},7:function(a,b){qj(this,0,3,b)},8:function(a,b){this.G[0].bg=b},9:function(a,b){sj(this,0,b)},10:function(a,b){xj(this,0,b)},11:function(a,b){this.G[0].$b[b&3].mode=b},12:function(){this.G[0].Ib=0},13:function(){zj(this,0)},32:function(a,b){Gj(this,0,b)},33:function(a,b){Ij(this,0,b)},64:function(a,b){Mj(this,0,0,b)},65:function(a,b){Mj(this,0,1,b)},66:function(a,
b){Mj(this,0,2,b)},67:function(a,b){Oj(this,0,b)},129:function(a,b){Bj(this,0,2,b)},130:function(a,b){Bj(this,0,3,b)},131:function(a,b){Bj(this,0,1,b)},135:function(a,b){Bj(this,0,0,b)}},Ni={96:S.prototype.Ol,97:S.prototype.Pl,98:S.prototype.Ql,99:S.prototype.Rl,160:S.prototype.ej},Ri={96:S.prototype.bl,97:S.prototype.cl,100:S.prototype.al,112:S.prototype.ql,113:S.prototype.rl,128:function(a,b){this.I[7]=b},132:function(a,b){this.I[0]=b},133:function(a,b){this.I[1]=b},134:function(a,b){this.I[2]= b){Mj(this,0,2,b)},67:function(a,b){Oj(this,0,b)},129:function(a,b){Bj(this,0,2,b)},130:function(a,b){Bj(this,0,3,b)},131:function(a,b){Bj(this,0,1,b)},135:function(a,b){Bj(this,0,0,b)}},Ni={96:S.prototype.Ol,97:S.prototype.Pl,98:S.prototype.Ql,99:S.prototype.Rl,160:S.prototype.ej},Ri={96:S.prototype.bl,97:S.prototype.cl,100:S.prototype.al,112:S.prototype.ql,113:S.prototype.rl,128:function(a,b){this.I[7]=b},132:function(a,b){this.I[0]=b},133:function(a,b){this.I[1]=b},134:function(a,b){this.I[2]=
b},136:function(a,b){this.I[3]=b},137:function(a,b){Bj(this,1,2,b)},138:function(a,b){Bj(this,1,3,b)},139:function(a,b){Bj(this,1,1,b)},140:function(a,b){this.I[4]=b},141:function(a,b){this.I[5]=b},142:function(a,b){this.I[6]=b},143:function(a,b){Bj(this,1,0,b)},160:function(a,b){Gj(this,1,b)},161:function(a,b){Ij(this,1,b)},192:function(a,b){oj(this,1,0,b)},194:function(a,b){qj(this,1,0,b)},196:function(a,b){oj(this,1,1,b)},198:function(a,b){qj(this,1,1,b)},200:function(a,b){oj(this,1,2,b)},202:function(a, b},136:function(a,b){this.I[3]=b},137:function(a,b){Bj(this,1,2,b)},138:function(a,b){Bj(this,1,3,b)},139:function(a,b){Bj(this,1,1,b)},140:function(a,b){this.I[4]=b},141:function(a,b){this.I[5]=b},142:function(a,b){this.I[6]=b},143:function(a,b){Bj(this,1,0,b)},160:function(a,b){Gj(this,1,b)},161:function(a,b){Ij(this,1,b)},192:function(a,b){oj(this,1,0,b)},194:function(a,b){qj(this,1,0,b)},196:function(a,b){oj(this,1,1,b)},198:function(a,b){qj(this,1,1,b)},200:function(a,b){oj(this,1,2,b)},202:function(a,
b){qj(this,1,2,b)},204:function(a,b){oj(this,1,3,b)},206:function(a,b){qj(this,1,3,b)},208:function(a,b){this.G[1].bg=b},210:function(a,b){wj(this,1,b)},212:function(a,b){xj(this,1,b)},214:function(a,b){this.G[1].$b[b&3].mode=b},216:function(){this.G[1].Ib=0},218:function(){zj(this,1)},240:S.prototype.Bl,241:S.prototype.Cl},Pi={96:S.prototype.$k,97:S.prototype.Zk,160:S.prototype.ej},Ti={72:function(a,b){Mj(this,1,0,b)},73:function(a,b){Mj(this,1,1,b)},74:function(a,b){Mj(this,1,2,b)},75:function(a, b){qj(this,1,2,b)},204:function(a,b){oj(this,1,3,b)},206:function(a,b){qj(this,1,3,b)},208:function(a,b){this.G[1].bg=b},210:function(a,b){sj(this,1,b)},212:function(a,b){xj(this,1,b)},214:function(a,b){this.G[1].$b[b&3].mode=b},216:function(){this.G[1].Ib=0},218:function(){zj(this,1)},240:S.prototype.Bl,241:S.prototype.Cl},Pi={96:S.prototype.$k,97:S.prototype.Zk,160:S.prototype.ej},Ti={72:function(a,b){Mj(this,1,0,b)},73:function(a,b){Mj(this,1,1,b)},74:function(a,b){Mj(this,1,2,b)},75:function(a,
b){Oj(this,1,b)}};Ea(function(){for(var a=Za(document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new S(d);Ya(d,c);mj(d)}}); b){Oj(this,1,b)}};Ea(function(){for(var a=Za(document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new S(d);Ya(d,c);mj(d)}});
function ak(a){Ia.call(this,"ROM",a,ak);this.B=null;this.I=a.addr;this.D=a.size;this.G=a.alias;this.H=a.file;this.P=fa(this.H);this.C=a.notify;this.L=null;if(this.C&&(a=this.C.indexOf("["),0<a)){try{this.L=eval(this.C.substr(a))}catch(d){}this.C=this.C.substr(0,a)}if(this.H){a=this.H;var b=ga(this.P);"json"!=b&&"hex"!=b&&(a=qa()+"/api/v1/dump?file="+this.H+"&format=bytes&decimal=true");var c=this;pa(a,null,!0,function(a,b,f){bk(c,a,b,f)})}}Qa(ak); function ak(a){Ia.call(this,"ROM",a,ak);this.B=null;this.I=a.addr;this.D=a.size;this.G=a.alias;this.H=a.file;this.P=fa(this.H);this.C=a.notify;this.L=null;if(this.C&&(a=this.C.indexOf("["),0<a)){try{this.L=eval(this.C.substr(a))}catch(d){}this.C=this.C.substr(0,a)}if(this.H){a=this.H;var b=ga(this.P);"json"!=b&&"hex"!=b&&(a=qa()+"/api/v1/dump?file="+this.H+"&format=bytes&decimal=true");var c=this;pa(a,null,!0,function(a,b,f){bk(c,a,b,f)})}}Qa(ak);
ak.prototype.pc=function(a,b,c,d){this.ha=b;this.A=c;this.Ia=d;ck(this)};ak.prototype.Vb=function(){this.K&&(this.Ia&&this.Ia.A(this.id,0,this.I>>>4,0,this.I,this.D,this.K),delete this.K);return!0};ak.prototype.Ub=function(){return!0}; ak.prototype.pc=function(a,b,c,d){this.ha=b;this.A=c;this.Ia=d;ck(this)};ak.prototype.Vb=function(){this.K&&(this.Ia&&this.Ia.A(this.id,0,this.I>>>4,0,this.I,this.D,this.K),delete this.K);return!0};ak.prototype.Ub=function(){return!0};
@ -472,8 +472,8 @@ function Jk(a,b,c,d){if(d)a.Ba("Unable to load font ROM (error "+d+": "+b+")");e
function sl(a,b){if(1==b)return a.oa[0]=Ok[0],a.oa[1]=Ok[7],a.oa;if(2==b){var c=a.D.ff;if(a.D===a.B){var d=a.B.Kc[0],c=d&7;d&16&&(c|=8);18!=a.B.Kc[1]&&(c|=32)}a.oa[0]=Ok[c&15];c=c&32?Qk:Pk;for(d=0;d<c.length;d++)a.oa[d+1]=Ok[c[d]];return a.oa}if(a.R===a.Cb)return Ok;a.La&&b&&!a.oa[16]&&(a.La=!1);if(!a.La){var c=a.B,d=c.ze,e,f,g,h,k;if(8==b)for(f=0;256>f;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.oa[f]=[h,k,g,255];else{var m=d&&d[255];e=null!=c.Kc[15]?c.Kc:Rk;for(f=0;16>f;f++)g=e[f]&63,m?(g|= function sl(a,b){if(1==b)return a.oa[0]=Ok[0],a.oa[1]=Ok[7],a.oa;if(2==b){var c=a.D.ff;if(a.D===a.B){var d=a.B.Kc[0],c=d&7;d&16&&(c|=8);18!=a.B.Kc[1]&&(c|=32)}a.oa[0]=Ok[c&15];c=c&32?Qk:Pk;for(d=0;d<c.length;d++)a.oa[d+1]=Ok[c[d]];return a.oa}if(a.R===a.Cb)return Ok;a.La&&b&&!a.oa[16]&&(a.La=!1);if(!a.La){var c=a.B,d=c.ze,e,f,g,h,k;if(8==b)for(f=0;256>f;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.oa[f]=[h,k,g,255];else{var m=d&&d[255];e=null!=c.Kc[15]?c.Kc:Rk;for(f=0;16>f;f++)g=e[f]&63,m?(g|=
(c.Kc[20]&12)<<4,c.Kc[16]&128&&(g&=-49,g|=(c.Kc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.oa[f]=[h,k,g,255]}a.La=!0}return a.oa}function dk(a,b,c,d){a.Ab=b;a.Xa=c;a.Ja=d} (c.Kc[20]&12)<<4,c.Kc[16]&128&&(g&=-49,g|=(c.Kc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.oa[f]=[h,k,g,255]}a.La=!0}return a.oa}function dk(a,b,c,d){a.Ab=b;a.Xa=c;a.Ja=d}
function ol(a,b){var c=!1;if(window&&a.Ab&&(!b||a.I)){var d=0,e=a.Ja?a.Ja:8,f=sl(a);null!=a.Xa[0]&&tl(a,3,a.Xa[0],d,e,8,a.Ab,f)&&(c=!0);d=a.Ja?0:2048;e=a.Ja?a.Ja:9;null!=a.Xa[1]&&(tl(a,1,a.Xa[1],d,e,14,a.Ab,Mk,Nk)&&(c=!0),a.Ja&&tl(a,a.Ra,a.Xa[1],0,a.Ja,14,a.Ab,f)&&(c=!0))}return c}function tl(a,b,c,d,e,f,g,h,k){var m=!1;null!=c&&(ul(a,b,c,d,e,f,g,h,k)&&(m=!0),a.Zd&&ul(a,b<<1,c,d,e,f,g,h,k)&&(m=!0));return m} function ol(a,b){var c=!1;if(window&&a.Ab&&(!b||a.I)){var d=0,e=a.Ja?a.Ja:8,f=sl(a);null!=a.Xa[0]&&tl(a,3,a.Xa[0],d,e,8,a.Ab,f)&&(c=!0);d=a.Ja?0:2048;e=a.Ja?a.Ja:9;null!=a.Xa[1]&&(tl(a,1,a.Xa[1],d,e,14,a.Ab,Mk,Nk)&&(c=!0),a.Ja&&tl(a,a.Ra,a.Xa[1],0,a.Ja,14,a.Ab,f)&&(c=!0))}return c}function tl(a,b,c,d,e,f,g,h,k){var m=!1;null!=c&&(ul(a,b,c,d,e,f,g,h,k)&&(m=!0),a.Zd&&ul(a,b<<1,c,d,e,f,g,h,k)&&(m=!0));return m}
function ul(a,b,c,d,e,f,g,h,k){var m=!1,p=b&1?0:1,x=a.xa[b],r=16>h.length?h.length:16;x||(x={tc:e<<p,uc:f<<p,be:Array(r),Ch:h.slice(0,r),Ge:k,ag:Array(r)});for(k=0;k<r;k++){var z=h[k],E=x.be[k]?x.Ch[k]:[];if(z[0]!==E[0]||z[1]!==E[1]||z[2]!==E[2]){var m=x,E=k,J=p,W=c,da=d,ua=e,va=f,qd=g,bn=[0,0,0,0],ue=document.createElement("canvas");ue.width=m.tc<<4;ue.height=m.uc<<4;for(var sj=ue.getContext("2d"),Ab=void 0,Oc=void 0,ac=void 0,ve=8>va||!da?va:8,Hf=sj.createImageData(m.tc,m.uc),Ab=0;256>Ab;Ab++){for(ac= function ul(a,b,c,d,e,f,g,h,k){var m=!1,p=b&1?0:1,x=a.xa[b],r=16>h.length?h.length:16;x||(x={tc:e<<p,uc:f<<p,be:Array(r),Ch:h.slice(0,r),Ge:k,ag:Array(r)});for(k=0;k<r;k++){var z=h[k],E=x.be[k]?x.Ch[k]:[];if(z[0]!==E[0]||z[1]!==E[1]||z[2]!==E[2]){var m=x,E=k,J=p,W=c,da=d,ua=e,va=f,qd=g,bn=[0,0,0,0],ue=document.createElement("canvas");ue.width=m.tc<<4;ue.height=m.uc<<4;for(var tj=ue.getContext("2d"),Ab=void 0,Oc=void 0,ac=void 0,ve=8>va||!da?va:8,Hf=tj.createImageData(m.tc,m.uc),Ab=0;256>Ab;Ab++){for(ac=
0;ac<va;ac++)for(var cn=m.Ge&&E&1&&ac>=va-2,dn=qd[ac<ve?W+Ab*ve+ac:da+Ab*ve+ac-ve],If=0;If<=J;If++)for(Oc=0;Oc<ua;Oc++){var tj=Oc<<J,uj=(ac<<J)+If,vj=cn||dn&128>>(8<=Oc&&192<=Ab&&223>=Ab?7:Oc)?z:bn;vl(Hf,tj,uj,vj);J&&vl(Hf,tj+1,uj,vj)}sj.putImageData(Hf,(Ab&15)*m.tc,(Ab>>4)*m.uc)}m.be[E]="#"+ea(z[0],2)+ea(z[1],2)+ea(z[2],2);m.Ch[E]=z;m.ag[E]=ue;m=!0}}a.xa[b]=x;return m}function wl(a){0<a.za||0<=a.ia?0>a.Ea&&(a.Ea=0):a.Ea=-1} 0;ac<va;ac++)for(var cn=m.Ge&&E&1&&ac>=va-2,dn=qd[ac<ve?W+Ab*ve+ac:da+Ab*ve+ac-ve],If=0;If<=J;If++)for(Oc=0;Oc<ua;Oc++){var uj=Oc<<J,vj=(ac<<J)+If,wj=cn||dn&128>>(8<=Oc&&192<=Ab&&223>=Ab?7:Oc)?z:bn;vl(Hf,uj,vj,wj);J&&vl(Hf,uj+1,vj,wj)}tj.putImageData(Hf,(Ab&15)*m.tc,(Ab>>4)*m.uc)}m.be[E]="#"+ea(z[0],2)+ea(z[1],2)+ea(z[2],2);m.Ch[E]=z;m.ag[E]=ue;m=!0}}a.xa[b]=x;return m}function wl(a){0<a.za||0<=a.ia?0>a.Ea&&(a.Ea=0):a.Ea=-1}
function rl(a){if(a.I){for(var b=10;15>=b;b++)if(null==a.D.ab[b])return;var c=a.D.ab[10],b=c&31,d=a.D.ab[11]&31,e=a.D.ab[9]&31,f=!1;a.D===a.B&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)xl(a);else{c=a.D.ab[15]+((a.D.ab[14]&63)<<8);a.ia!=c&&(xl(a),a.ia=c);d=d-b+1;if(a.td!=b||a.Gc!=d)a.td=b,a.Gc=d;a.Da=e+1;wl(a)}}} function rl(a){if(a.I){for(var b=10;15>=b;b++)if(null==a.D.ab[b])return;var c=a.D.ab[10],b=c&31,d=a.D.ab[11]&31,e=a.D.ab[9]&31,f=!1;a.D===a.B&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)xl(a);else{c=a.D.ab[15]+((a.D.ab[14]&63)<<8);a.ia!=c&&(xl(a),a.ia=c);d=d-b+1;if(a.td!=b||a.Gc!=d)a.td=b,a.Gc=d;a.Da=e+1;wl(a)}}}
function xl(a){if(0<=a.ia){if(void 0!==a.S){var b=a.S[a.ia];if(b&131072){var b=b&-131073,c=a.ia%a.H,d=a.ia/a.H|0;a.I&&a.xa[a.I]&&(a.Ga&&yl(a,c,d,b,a.Ga),yl(a,c,d,b));a.S[a.ia]=b}}a.ia=-1}} function xl(a){if(0<=a.ia){if(void 0!==a.S){var b=a.S[a.ia];if(b&131072){var b=b&-131073,c=a.ia%a.H,d=a.ia/a.H|0;a.I&&a.xa[a.I]&&(a.Ga&&yl(a,c,d,b,a.Ga),yl(a,c,d,b));a.S[a.ia]=b}}a.ia=-1}}
function zl(a){var b,c=a.D;a.Zc=!1;var d=c.Hd[5];if(null!=d){b=1024;var e=0,f=c.Hd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.Hc=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.Ra==ek&&(e=3,c.Hc=f&7)}d&8&&(b=1280);c=c.Be[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.Zc=!0));b|=e}return b} function zl(a){var b,c=a.D;a.Zc=!1;var d=c.Hd[5];if(null!=d){b=1024;var e=0,f=c.Hd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.Hc=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.Ra==ek&&(e=3,c.Hc=f&7)}d&8&&(b=1280);c=c.Be[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.Zc=!0));b|=e}return b}
@ -546,7 +546,7 @@ var sm={3:{jd:3,yd:0,name:aa.Fm},4:{jd:2,yd:1,name:aa.Dm},5:{jd:9,yd:7,name:aa.N
l.zb=function(a,b,c){var d=this;switch(b){case "listDisks":this.ka[b]=c;if(this.W){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.W?a.text>b.text?1:a.text<b.text?-1:0:a.value>b.value?1:a.value<b.value?-1:0});for(a=0;a<b.length;a++)c.options[a]=b[a]}c.onchange=function(){var a=d.ka.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){n("FDC option error: "+h.message)}b=g.desc;void 0=== l.zb=function(a,b,c){var d=this;switch(b){case "listDisks":this.ka[b]=c;if(this.W){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.W?a.text>b.text?1:a.text<b.text?-1:0:a.value>b.value?1:a.value<b.value?-1:0});for(a=0;a<b.length;a++)c.options[a]=b[a]}c.onchange=function(){var a=d.ka.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){n("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.ka[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tm(d,a)},!0;case "loadDrive":return this.ka[b]=c,c.onclick=function(){var a=d.ka.listDisks;a&&um(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.Y){c.parentNode.removeChild(c);break}this.ka[b]=c;c.onclick=function(){var a=d.ka.listDrives;a&&a.options&&d.B&&(a=ca(a.value, 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.ka[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tm(d,a)},!0;case "loadDrive":return this.ka[b]=c,c.onclick=function(){var a=d.ka.listDisks;a&&um(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.Y){c.parentNode.removeChild(c);break}this.ka[b]=c;c.onclick=function(){var a=d.ka.listDrives;a&&a.options&&d.B&&(a=ca(a.value,
10),(a=d.B[a])?(a=a.ta)?(a=za(pm(a),"octet-stream",!0,a.nh.replace(".json",".img")),n(a)):d.Ba("No diskette loaded in drive."):d.Ba("No diskette drive selected."))};return!0;case "mountDrive":if(!this.Y){c.parentNode.removeChild(c);break}this.ka[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;um(d,fa(b,!0),b,a)}return!1};return!0}return!1}; 10),(a=d.B[a])?(a=a.ta)?(a=za(pm(a),"octet-stream",!0,a.nh.replace(".json",".img")),n(a)):d.Ba("No diskette loaded in drive."):d.Ba("No diskette drive selected."))};return!0;case "mountDrive":if(!this.Y){c.parentNode.removeChild(c);break}this.ka[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;um(d,fa(b,!0),b,a)}return!1};return!0}return!1};
l.pc=function(a,b,c,d){this.ha=b;this.A=c;this.Ia=d;this.ba=a;this.P=kb(a,"ChipSet");if((this.K=jc(this.ba,"autoMount")||this.K)&&"string"==typeof this.K)try{this.K=eval("("+this.K+")")}catch(e){n("FDC auto-mount error: "+e.message+" ("+this.K+")"),this.K=null}vm(this);Nb(b,this,wm);Pb(b,this,xm);this.Y&&ym(this,"Local Disk","?");ym(this,"Remote Disk","??");zm(this)||ab(this)}; l.pc=function(a,b,c,d){this.ha=b;this.A=c;this.Ia=d;this.ba=a;this.P=kb(a,"ChipSet");if((this.K=jc(this.ba,"autoMount")||this.K)&&"string"==typeof this.K)try{this.K=eval("("+this.K+")")}catch(e){n("FDC auto-mount error: "+e.message+" ("+this.K+")"),this.K=null}vm(this);Nb(b,this,wm);Pb(b,this,xm);ym(this,"None","",!0);this.Y&&ym(this,"Local Disk","?");ym(this,"Remote Disk","??");zm(this)||ab(this)};
l.Vb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ba.jg){this.C=[];for(var c=0;c<this.B.length;c++)Am(this,c,!0);zm(this,!0)}}else if(!this.restore(a))return!1;if(c=this.ka.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.value="";for(var d=0;d<this.Z;d++){var e=document.createElement("option");e.value=d;e.text=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.Z&&(c.value="0",tm(this,0))}}return!0};l.Ub=function(a){return a?this.save():!0};l.reset=function(){vm(this)}; l.Vb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ba.jg){this.C=[];for(var c=0;c<this.B.length;c++)Am(this,c,!0);zm(this,!0)}}else if(!this.restore(a))return!1;if(c=this.ka.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.value="";for(var d=0;d<this.Z;d++){var e=document.createElement("option");e.value=d;e.text=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.Z&&(c.value="0",tm(this,0))}}return!0};l.Ub=function(a){return a?this.save():!0};l.reset=function(){vm(this)};
l.save=function(){var a=new ce(this),b=0,c=[];c[b++]=this.Qa;c[b++]=0;c[b++]=this.aa;c[b++]=this.I;c[b++]=this.G;c[b++]=this.D;c[b++]=this.S;for(var d=b++,e=0,f=[],g=0;g<this.B.length;g++){var h=e++,k=this.B[g],m=0,p=[];p[m++]=k.kb;p[m++]=[k.name,k.ib,k.jb,k.eb,k.nb,k.oe,k.Hf,k.Ue,k.Ve];p[m++]=k.Ya;p[m++]=k.wd+100;p[m++]=k.xb;p[m++]=k.mb;p[m++]=k.xd;p[m++]=k.wb;p[m++]=k.Ua;p[m++]=k.me;p[m++]=k.ij;p[m]=k.Vd;f[h]=p}c[d]=f;d=b++;for(e=0;e<this.B.length;e++)f=this.B[e],f.ta&&Bm(this,f.Vd,f.ta);c[d]=this.C; l.save=function(){var a=new ce(this),b=0,c=[];c[b++]=this.Qa;c[b++]=0;c[b++]=this.aa;c[b++]=this.I;c[b++]=this.G;c[b++]=this.D;c[b++]=this.S;for(var d=b++,e=0,f=[],g=0;g<this.B.length;g++){var h=e++,k=this.B[g],m=0,p=[];p[m++]=k.kb;p[m++]=[k.name,k.ib,k.jb,k.eb,k.nb,k.oe,k.Hf,k.Ue,k.Ve];p[m++]=k.Ya;p[m++]=k.wd+100;p[m++]=k.xb;p[m++]=k.mb;p[m++]=k.xd;p[m++]=k.wb;p[m++]=k.Ua;p[m++]=k.me;p[m++]=k.ij;p[m]=k.Vd;f[h]=p}c[d]=f;d=b++;for(e=0;e<this.B.length;e++)f=this.B[e],f.ta&&Bm(this,f.Vd,f.ta);c[d]=this.C;
c[b++]=this.L;c[b]=this.H;C(a,0,c);return a.data()};l.restore=function(a){return vm(this,a[0])}; c[b++]=this.L;c[b]=this.H;C(a,0,c);return a.data()};l.restore=function(a){return vm(this,a[0])};
@ -557,7 +557,7 @@ function zm(a,b){b||(a.R=0);if(a.K)for(var c in a.K){var d=a.K[c],e=d.path,f;if(
function um(a,b,c,d){var e,f=a.ka.listDrives;if(f&&!isNaN(e=ca(f.value,10))&&0<=e&&e<a.B.length)if(c)if("?"==c)a.Ba('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=fa(c)}for(;0>Cm(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;h<f.C.length;h++)if(f.C[h][1]==g){f.C.splice(h,1);break}Am(a, function um(a,b,c,d){var e,f=a.ka.listDrives;if(f&&!isNaN(e=ca(f.value,10))&&0<=e&&e<a.B.length)if(c)if("?"==c)a.Ba('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=fa(c)}for(;0>Cm(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;h<f.C.length;h++)if(f.C[h][1]==g){f.C.splice(h,1);break}Am(a,
e,!1,!0)}}else Am(a,e);else a.Ba("Unable to load the selected drive")}function Cm(a,b,c,d,e,f){var g=a.B[b];if(d&&g.Vd!=d){Am(a,b,e,!0);if(g.Qc)return a.Ba("Drive "+b+" busy"),0;g.Qc=!0;e&&(g.Nd=!0,a.R++);g.me=!!f;return(new am(a,g,"preload")).load(c,d,f,a.Mh)?1:0}return-1} e,!1,!0)}}else Am(a,e);else a.Ba("Unable to load the selected drive")}function Cm(a,b,c,d,e,f){var g=a.B[b];if(d&&g.Vd!=d){Am(a,b,e,!0);if(g.Qc)return a.Ba("Drive "+b+" busy"),0;g.Qc=!0;e&&(g.Nd=!0,a.R++);g.me=!!f;return(new am(a,g,"preload")).load(c,d,f,a.Mh)?1:0}return-1}
l.Mh=function(a,b,c,d,e){var f;a.Qc=!1;b&&(f=b.info(),b&&f[0]>a.ib||f[1]>a.jb)&&(this.Ba('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Qa)),b=null);b?(a.ta=b,a.ij=c,a.Vd=d,Dm(this,c,d,b),f=b.info(),this.L|=128,this.Ba('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Qa),a.Nd||e),a.Hf=f[0],a.Ue=f[1],a.Ve=f[2],this.ba&&uc(this.ba)):a.me=!1;a.Nd&&(a.Nd=!1,--this.R||ab(this));tm(this,a.Qa)}; l.Mh=function(a,b,c,d,e){var f;a.Qc=!1;b&&(f=b.info(),b&&f[0]>a.ib||f[1]>a.jb)&&(this.Ba('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Qa)),b=null);b?(a.ta=b,a.ij=c,a.Vd=d,Dm(this,c,d,b),f=b.info(),this.L|=128,this.Ba('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Qa),a.Nd||e),a.Hf=f[0],a.Ue=f[1],a.Ve=f[2],this.ba&&uc(this.ba)):a.me=!1;a.Nd&&(a.Nd=!1,--this.R||ab(this));tm(this,a.Qa)};
function ym(a,b,c){if((a=a.ka.listDisks)&&a.options){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=document.createElement("option");d.text=b;d.value=c;a.appendChild(d)}} function ym(a,b,c,d){if((a=a.ka.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 tm(a,b){if(0<=b&&b<a.B.length){var c=a.B[b],d=a.ka.listDisks,e=a.ka.listDrives;if(d&&e&&d.options&&e.options&&(e=ca(e.value,10),c=c.me?"?":c.Vd,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function Am(a,b,c,d){var e=a.B[b];e.ta&&(Bm(a,e.Vd,e.ta),e.ij="",e.Vd="",e.ta=null,e.me=!1,a.L|=128,d||a.Ba("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||tm(a,b))} function tm(a,b){if(0<=b&&b<a.B.length){var c=a.B[b],d=a.ka.listDisks,e=a.ka.listDrives;if(d&&e&&d.options&&e.options&&(e=ca(e.value,10),c=c.me?"?":c.Vd,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function Am(a,b,c,d){var e=a.B[b];e.ta&&(Bm(a,e.Vd,e.ta),e.ij="",e.Vd="",e.ta=null,e.me=!1,a.L|=128,d||a.Ba("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||tm(a,b))}
function Dm(a,b,c,d){var e;for(e=0;e<a.C.length;e++)if(a.C[e][1]==c){d.restore(a.C[e][2]);return}a.C[e]=[b,c,[]]}function Bm(a,b,c){var d;for(d=0;d<a.C.length;d++)if(a.C[d][1]==b){a.C[d][2]=c.save();break}}l.Al=function(a,b){b&4?this.S&4||this.S&8&&this.P&&Te(this.P,6):vm(this);this.S=b};l.lk=function(){return 80};l.nk=function(){return this.aa};l.kk=function(){var a=0;this.G<this.D&&(a=this.I[this.G]);this.S&8&&this.P&&Se(this.P,6);++this.G>=this.D&&(this.aa&=-81,this.G=this.D=0);return a}; function Dm(a,b,c,d){var e;for(e=0;e<a.C.length;e++)if(a.C[e][1]==c){d.restore(a.C[e][2]);return}a.C[e]=[b,c,[]]}function Bm(a,b,c){var d;for(d=0;d<a.C.length;d++)if(a.C[d][1]==b){a.C[d][2]=c.save();break}}l.Al=function(a,b){b&4?this.S&4||this.S&8&&this.P&&Te(this.P,6):vm(this);this.S=b};l.lk=function(){return 80};l.nk=function(){return this.aa};l.kk=function(){var a=0;this.G<this.D&&(a=this.I[this.G]);this.S&8&&this.P&&Se(this.P,6);++this.G>=this.D&&(this.aa&=-81,this.G=this.D=0);return a};
l.zl=function(a,b){this.D<this.I.length&&(this.I[this.D++]=b);var c=this.I[0]&31;if(void 0!==sm[c]&&this.D>=sm[c].jd){var d=!1;this.G=0;var c=Em(this),e,f,g,h,k,m=c&31;switch(m){case 3:Em(this);Em(this);Fm(this);break;case 4:f=Em(this);this.Qa=f&3;e=this.B[this.Qa];Fm(this);Gm(this,(e.kb&-16777216)>>>24);break;case 5:case 6:f=Em(this);d=f>>2&1;this.Qa=f&3;e=this.B[this.Qa];e.Ya=d;f=e.xb=Em(this);g=Em(this);h=e.mb=Em(this);k=Em(this);e.wb=128<<k;e.xd=Em(this);Em(this);Em(this);6==m?(m=e,m.kb=72,m.ta&& l.zl=function(a,b){this.D<this.I.length&&(this.I[this.D++]=b);var c=this.I[0]&31;if(void 0!==sm[c]&&this.D>=sm[c].jd){var d=!1;this.G=0;var c=Em(this),e,f,g,h,k,m=c&31;switch(m){case 3:Em(this);Em(this);Fm(this);break;case 4:f=Em(this);this.Qa=f&3;e=this.B[this.Qa];Fm(this);Gm(this,(e.kb&-16777216)>>>24);break;case 5:case 6:f=Em(this);d=f>>2&1;this.Qa=f&3;e=this.B[this.Qa];e.Ya=d;f=e.xb=Em(this);g=Em(this);h=e.mb=Em(this);k=Em(this);e.wb=128<<k;e.xd=Em(this);Em(this);Em(this);6==m?(m=e,m.kb=72,m.ta&&

View file

@ -655,6 +655,8 @@ FDC.prototype.initBus = function(cmp, bus, cpu, dbg)
bus.addPortInputTable(this, FDC.aPortInput); bus.addPortInputTable(this, FDC.aPortInput);
bus.addPortOutputTable(this, FDC.aPortOutput); bus.addPortOutputTable(this, FDC.aPortOutput);
this.addDiskette("None", "", true);
if (this.fLocalDisks) { if (this.fLocalDisks) {
this.addDiskette("Local Disk", "?"); this.addDiskette("Local Disk", "?");
} }
@ -1517,12 +1519,13 @@ FDC.prototype.doneLoadDiskette = function onFDCLoadNotify(drive, disk, sDiskette
}; };
/** /**
* addDiskette(sName, sPath) * addDiskette(sName, sPath, fTop)
* *
* @param {string} sName * @param {string} sName
* @param {string} sPath * @param {string} sPath
* @param {boolean} [fTop] (default is bottom)
*/ */
FDC.prototype.addDiskette = function(sName, sPath) FDC.prototype.addDiskette = function(sName, sPath, fTop)
{ {
var controlDisks = this.bindings["listDisks"]; var controlDisks = this.bindings["listDisks"];
if (controlDisks && controlDisks.options) { if (controlDisks && controlDisks.options) {
@ -1532,7 +1535,11 @@ FDC.prototype.addDiskette = function(sName, sPath)
var controlOption = document.createElement("option"); var controlOption = document.createElement("option");
controlOption.text = sName; controlOption.text = sName;
controlOption.value = sPath; controlOption.value = sPath;
controlDisks.appendChild(controlOption); if (fTop && controlDisks.childNodes[0]) {
controlDisks.insertBefore(controlOption, controlDisks.childNodes[0]);
} else {
controlDisks.appendChild(controlOption);
}
} }
}; };

View file

@ -2,7 +2,6 @@
<fdc id="fdcNEC" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"BASIC Programs",path:"/pubs/pc/programming/Graphics_for_the_IBM_PC/programs/disk.json"}}' pos="left" padleft="8px" padbottom="8px"> <fdc id="fdcNEC" automount='{A:{name:"PC-DOS 2.00 (Disk 1)",path:"/disks/pc/dos/ibm/2.00/PCDOS200-DISK1.json"}, B:{name:"BASIC Programs",path:"/pubs/pc/programming/Graphics_for_the_IBM_PC/programs/disk.json"}}' pos="left" padleft="8px" padbottom="8px">
<control type="list" binding="listDrives"/> <control type="list" binding="listDrives"/>
<control type="list" binding="listDisks"> <control type="list" binding="listDisks">
<disk path="">None</disk>
<manifest ref="/disks/pc/dos/ibm/1.00/manifest.xml" disk="*"/> <manifest ref="/disks/pc/dos/ibm/1.00/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/dos/ibm/1.10/manifest.xml" disk="*"/> <manifest ref="/disks/pc/dos/ibm/1.10/manifest.xml" disk="*"/>
<manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/> <manifest ref="/disks/pc/dos/ibm/2.00/manifest.xml" disk="*"/>

View file

@ -175,7 +175,7 @@ function $h(a,b){this.A-=-1===this.C?-1===this.D?this.B.Lj:this.B.Kj:this.B.Ij;r
function ci(a,b){var c=this.L>>3&7;switch(c){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ia||80386==this.ia&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.aa=this.I;break;case 4:this.aa=I(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return $h.call(this,0,b)} function ci(a,b){var c=this.L>>3&7;switch(c){case 0:this.aa=this.G;break;case 2:this.aa=this.M;break;case 3:this.aa=this.H;break;default:if(80286==this.ia||80386==this.ia&&4!=c&&5!=c){C.call(this,6);break}switch(c){case 1:this.aa=this.I;break;case 4:this.aa=I(this);break;case 5:this.aa=this.P;break;case 6:this.aa=this.K;break;case 7:this.aa=this.J}}return $h.call(this,0,b)}
function di(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.va.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ia){b=this.Ob.Z;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ia){b=this.Pb.Z;break}default:C.call(this,6),b=a}-1!==this.C&&nd(this,2);return $h.call(this,0,b)} function di(a,b){switch(this.L>>3&7){case 0:b=this.Xa.Z;break;case 1:b=this.va.Z;break;case 2:b=this.ta.Z;break;case 3:b=this.vb.Z;break;case 4:if(80386<=this.ia){b=this.Ob.Z;break}C.call(this,6);b=a;break;case 5:if(80386<=this.ia){b=this.Pb.Z;break}default:C.call(this,6),b=a}-1!==this.C&&nd(this,2);return $h.call(this,0,b)}
function Rh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ja=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ja=a*b|0,this.wa=0}function ei(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,128)}function fi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,this.Ia)&this.R} function Rh(a,b){if(a&-65536||b&-65536){var c=b&65535,d=b>>>16,e=a&65535,f=a>>>16,g=c*e,e=(g>>>16)+d*e,h=e>>>16,e=(e&65535)+c*f;this.ja=e<<16|g&65535;this.wa=h+((e>>>16)+d*f)|0}else this.ja=a*b|0,this.wa=0}function ei(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,128)}function fi(a,b){this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return vf(this,a|b,this.Ia)&this.R}
function gi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function hi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function Bi(){return uf(this)?1:0}function Ci(){return pf(this)?1:0}function Di(){return pf(this)?0:1}function Ei(){return sf(this)?1:0}function Fi(){return sf(this)?0:1}function Gi(){return pf(this)||sf(this)?1:0} function gi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}function hi(a,b){var c=a-b-Bf(this)|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function ii(){return uf(this)?1:0}function Ci(){return pf(this)?1:0}function Di(){return pf(this)?0:1}function Ei(){return sf(this)?1:0}function Fi(){return sf(this)?0:1}function Gi(){return pf(this)||sf(this)?1:0}
function Hi(){return pf(this)||sf(this)?0:1}function Ii(){return tf(this)?1:0}function Ji(){return tf(this)?0:1}function Ki(){return qf(this)?1:0}function Li(){return qf(this)?0:1}function Mi(){return!tf(this)!=!uf(this)?1:0}function Ni(){return!tf(this)!=!uf(this)?0:1}function Oi(){return sf(this)||!tf(this)!=!uf(this)?1:0}function Pi(){return sf(this)||!tf(this)!=!uf(this)?0:1}function Qi(a,b){return Ri.call(this,a,b,this.xa())}function Si(a,b){return Ti.call(this,a,b,this.xa())} function Hi(){return pf(this)||sf(this)?0:1}function Ii(){return tf(this)?1:0}function Ji(){return tf(this)?0:1}function Ki(){return qf(this)?1:0}function Li(){return qf(this)?0:1}function Mi(){return!tf(this)!=!uf(this)?1:0}function Ni(){return!tf(this)!=!uf(this)?0:1}function Oi(){return sf(this)||!tf(this)!=!uf(this)?1:0}function Pi(){return sf(this)||!tf(this)!=!uf(this)?0:1}function Qi(a,b){return Ri.call(this,a,b,this.xa())}function Si(a,b){return Ti.call(this,a,b,this.xa())}
function Ui(a,b){return Ri.call(this,a,b,this.I&31)}function Vi(a,b){return Ti.call(this,a,b,this.I&31)}function Wi(a,b){return Xi.call(this,a,b,this.xa())}function Yi(a,b){return Zi.call(this,a,b,this.xa())}function $i(a,b){return Xi.call(this,a,b,this.I&31)}function aj(a,b){return Zi.call(this,a,b,this.I&31)}function bj(a,b){var c=a-b|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255} function Ui(a,b){return Ri.call(this,a,b,this.I&31)}function Vi(a,b){return Ti.call(this,a,b,this.I&31)}function Wi(a,b){return Xi.call(this,a,b,this.xa())}function Yi(a,b){return Zi.call(this,a,b,this.xa())}function $i(a,b){return Xi.call(this,a,b,this.I&31)}function aj(a,b){return Zi.call(this,a,b,this.I&31)}function bj(a,b){var c=a-b|0;of(this,a,b,c,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&255}
function cj(a,b){var c=a-b|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function dj(a,b){vf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function ej(a,b){vf(this,a&b,this.Ia);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function fj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<<c)|(b&d)<<c} function cj(a,b){var c=a-b|0;of(this,a,b,c,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c&this.R}function dj(a,b){vf(this,a&b,128);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function ej(a,b){vf(this,a&b,this.Ia);this.A-=-1===this.C?-1===this.D?this.B.ai:this.B.Tf:this.B.Tf;this.S|=2;return a}function fj(a,b){var c=this.G&this.R,d=(1<<(this.I&31))-1;return a&~(d<<c)|(b&d)<<c}
@ -348,8 +348,8 @@ M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=ve(this,a&7
M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?he.call(this):(we(this,a&7,this.Ce[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?he.call(this):(this.Ce[b]=ve(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[129]=function(){var a=this.Ma();uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; M[36]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?he.call(this):(we(this,a&7,this.Ce[b]),this.A-=12)}};M[38]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;6>b?he.call(this):(this.Ce[b]=ve(this,a&7),this.A-=12)}};M[128]=function(){var a=this.Ma();uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[129]=function(){var a=this.Ma();uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};
M[130]=function(){var a=this.Ma();pf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[131]=function(){var a=this.Ma();pf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[132]=function(){var a=this.Ma();sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[133]=function(){var a=this.Ma();sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[134]=function(){var a=this.Ma();pf(this)||sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb}; M[130]=function(){var a=this.Ma();pf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[131]=function(){var a=this.Ma();pf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[132]=function(){var a=this.Ma();sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[133]=function(){var a=this.Ma();sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[134]=function(){var a=this.Ma();pf(this)||sf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};
M[135]=function(){var a=this.Ma();pf(this)||sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[136]=function(){var a=this.Ma();tf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[137]=function(){var a=this.Ma();tf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[138]=function(){var a=this.Ma();qf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[139]=function(){var a=this.Ma();qf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)}; M[135]=function(){var a=this.Ma();pf(this)||sf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[136]=function(){var a=this.Ma();tf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[137]=function(){var a=this.Ma();tf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[138]=function(){var a=this.Ma();qf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[139]=function(){var a=this.Ma();qf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};
M[140]=function(){var a=this.Ma();!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[141]=function(){var a=this.Ma();!tf(this)==!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[142]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[143]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[144]=function(){qj.call(this,Bi)}; M[140]=function(){var a=this.Ma();!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[141]=function(){var a=this.Ma();!tf(this)==!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[142]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?(O(this,K(this)+a),this.A-=this.B.ab):this.A-=this.B.bb};M[143]=function(){var a=this.Ma();sf(this)||!tf(this)!=!uf(this)?this.A-=this.B.bb:(O(this,K(this)+a),this.A-=this.B.ab)};M[144]=function(){qj.call(this,ii)};
M[145]=function(){qj.call(this,Bi)};M[146]=function(){qj.call(this,Ci)};M[147]=function(){qj.call(this,Di)};M[148]=function(){qj.call(this,Ei)};M[149]=function(){qj.call(this,Fi)};M[150]=function(){qj.call(this,Gi)};M[151]=function(){qj.call(this,Hi)};M[152]=function(){qj.call(this,Ii)};M[153]=function(){qj.call(this,Ji)};M[154]=function(){qj.call(this,Ki)};M[155]=function(){qj.call(this,Li)};M[156]=function(){qj.call(this,Mi)};M[157]=function(){qj.call(this,Ni)};M[158]=function(){qj.call(this,Oi)}; M[145]=function(){qj.call(this,ii)};M[146]=function(){qj.call(this,Ci)};M[147]=function(){qj.call(this,Di)};M[148]=function(){qj.call(this,Ei)};M[149]=function(){qj.call(this,Fi)};M[150]=function(){qj.call(this,Gi)};M[151]=function(){qj.call(this,Hi)};M[152]=function(){qj.call(this,Ii)};M[153]=function(){qj.call(this,Ji)};M[154]=function(){qj.call(this,Ki)};M[155]=function(){qj.call(this,Li)};M[156]=function(){qj.call(this,Mi)};M[157]=function(){qj.call(this,Ni)};M[158]=function(){qj.call(this,Oi)};
M[159]=function(){qj.call(this,Pi)};M[160]=function(){pd(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ie};M[161]=function(){this.U=this.ga;var a=D(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};M[163]=function(){this.fa.call(this,Dh);-1!==this.D&&(this.A-=6)};M[164]=function(){this.fa.call(this,2==this.ba?Qi:Si);this.A-=-1===this.D?3:7};M[165]=function(){this.fa.call(this,2==this.ba?Ui:Vi);this.A-=-1===this.D?3:7};M[168]=function(){pd(this,this.Pb.Z,this.ba,2);this.A-=this.B.Ie}; M[159]=function(){qj.call(this,Pi)};M[160]=function(){pd(this,this.Ob.Z,this.ba,2);this.A-=this.B.Ie};M[161]=function(){this.U=this.ga;var a=D(this);this.Ob.load(a);this.A-=this.B.zc;this.U=-1};M[163]=function(){this.fa.call(this,Dh);-1!==this.D&&(this.A-=6)};M[164]=function(){this.fa.call(this,2==this.ba?Qi:Si);this.A-=-1===this.D?3:7};M[165]=function(){this.fa.call(this,2==this.ba?Ui:Vi);this.A-=-1===this.D?3:7};M[168]=function(){pd(this,this.Pb.Z,this.ba,2);this.A-=this.B.Ie};
M[169]=function(){this.U=this.ga;var a=D(this);this.Pb.load(a);this.A-=this.B.zc;this.U=-1};M[171]=function(){this.fa.call(this,Gh);-1!==this.D&&(this.A-=5)};M[172]=function(){this.fa.call(this,2==this.ba?Wi:Yi);this.A-=-1===this.D?3:7};M[173]=function(){this.fa.call(this,2==this.ba?$i:aj);this.A-=-1===this.D?3:7};M[175]=function(){this.W.call(this,2==this.ba?Nh:Ph)};M[178]=function(){this.W.call(this,Zh)};M[179]=function(){this.fa.call(this,Fh);-1!==this.D&&(this.A-=5)}; M[169]=function(){this.U=this.ga;var a=D(this);this.Pb.load(a);this.A-=this.B.zc;this.U=-1};M[171]=function(){this.fa.call(this,Gh);-1!==this.D&&(this.A-=5)};M[172]=function(){this.fa.call(this,2==this.ba?Wi:Yi);this.A-=-1===this.D?3:7};M[173]=function(){this.fa.call(this,2==this.ba?$i:aj);this.A-=-1===this.D?3:7};M[175]=function(){this.W.call(this,2==this.ba?Nh:Ph)};M[178]=function(){this.W.call(this,Zh)};M[179]=function(){this.fa.call(this,Fh);-1!==this.D&&(this.A-=5)};
M[180]=function(){this.W.call(this,Wh)};M[181]=function(){this.W.call(this,Xh)}; M[180]=function(){this.W.call(this,Wh)};M[181]=function(){this.W.call(this,Xh)};
@ -597,7 +597,7 @@ var sp={3:{Vd:3,ie:0,name:aa.Zn},4:{Vd:2,ie:1,name:aa.Xn},5:{Vd:9,ie:7,name:aa.i
m.Qb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.ga){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.ga?a.text>b.text?1:a.text<b.text?-1:0:a.value>b.value?1:a.value<b.value?-1:0});for(a=0;a<b.length;a++)c.options[a]=b[a]}c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){w("FDC option error: "+h.message)}b=g.desc;void 0=== m.Qb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.ga){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.ga?a.text>b.text?1:a.text<b.text?-1:0:a.value>b.value?1:a.value<b.value?-1:0});for(a=0;a<b.length;a++)c.options[a]=b[a]}c.onchange=function(){var a=d.qa.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){w("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.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&up(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ja){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ca(a.value, 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.qa[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tp(d,a)},!0;case "loadDrive":return this.qa[b]=c,c.onclick=function(){var a=d.qa.listDisks;a&&up(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.ja){c.parentNode.removeChild(c);break}this.qa[b]=c;c.onclick=function(){var a=d.qa.listDrives;a&&a.options&&d.A&&(a=ca(a.value,
10),(a=d.A[a])?(a=a.za)?(a=Ia(pp(a),"octet-stream",!0,a.Ng.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ja){c.parentNode.removeChild(c);break}this.qa[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;up(d,fa(b,!0),b,a)}return!1};return!0}return!1}; 10),(a=d.A[a])?(a=a.za)?(a=Ia(pp(a),"octet-stream",!0,a.Ng.replace(".json",".img")),w(a)):d.Na("No diskette loaded in drive."):d.Na("No diskette drive selected."))};return!0;case "mountDrive":if(!this.ja){c.parentNode.removeChild(c);break}this.qa[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;up(d,fa(b,!0),b,a)}return!1};return!0}return!1};
m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.N=Eb(a,"ChipSet");if((this.U=Nc(this.V,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}vp(this);hc(b,this,wp);lc(b,this,xp);this.ja&&yp(this,"Local Disk","?");yp(this,"Remote Disk","??");zp(this)||rb(this)}; m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.N=Eb(a,"ChipSet");if((this.U=Nc(this.V,"autoMount")||this.U)&&"string"==typeof this.U)try{this.U=eval("("+this.U+")")}catch(e){w("FDC auto-mount error: "+e.message+" ("+this.U+")"),this.U=null}vp(this);hc(b,this,wp);lc(b,this,xp);yp(this,"None","",!0);this.ja&&yp(this,"Local Disk","?");yp(this,"Remote Disk","??");zp(this)||rb(this)};
m.ic=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.V.dh){this.B=[];for(var c=0;c<this.A.length;c++)Ap(this,c,!0);zp(this,!0)}}else if(!this.restore(a))return!1;if(c=this.qa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.value="";for(var d=0;d<this.ka;d++){var e=document.createElement("option");e.value=d;e.text=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.ka&&(c.value="0",tp(this,0))}}return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){vp(this)}; m.ic=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.V.dh){this.B=[];for(var c=0;c<this.A.length;c++)Ap(this,c,!0);zp(this,!0)}}else if(!this.restore(a))return!1;if(c=this.qa.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.value="";for(var d=0;d<this.ka;d++){var e=document.createElement("option");e.value=d;e.text=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.ka&&(c.value="0",tp(this,0))}}return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){vp(this)};
m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.hb;c[b++]=0;c[b++]=this.ma;c[b++]=this.W;c[b++]=this.L;c[b++]=this.C;c[b++]=this.aa;for(var d=b++,e=0,f=[],g=0;g<this.A.length;g++){var h=e++,k=this.A[g],l=0,n=[];n[l++]=k.Cb;n[l++]=[k.name,k.Bb,k.ub,k.lb,k.Va,k.bf,k.zg,k.Nf,k.Of];n[l++]=k.kb;n[l++]=k.ge+100;n[l++]=k.Rb;n[l++]=k.xb;n[l++]=k.he;n[l++]=k.Hb;n[l++]=k.eb;n[l++]=k.$e;n[l++]=k.kk;n[l]=k.Le;f[h]=n}c[d]=f;d=b++;for(e=0;e<this.A.length;e++)f=this.A[e],f.za&&Bp(this,f.Le,f.za);c[d]= m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.hb;c[b++]=0;c[b++]=this.ma;c[b++]=this.W;c[b++]=this.L;c[b++]=this.C;c[b++]=this.aa;for(var d=b++,e=0,f=[],g=0;g<this.A.length;g++){var h=e++,k=this.A[g],l=0,n=[];n[l++]=k.Cb;n[l++]=[k.name,k.Bb,k.ub,k.lb,k.Va,k.bf,k.zg,k.Nf,k.Of];n[l++]=k.kb;n[l++]=k.ge+100;n[l++]=k.Rb;n[l++]=k.xb;n[l++]=k.he;n[l++]=k.Hb;n[l++]=k.eb;n[l++]=k.$e;n[l++]=k.kk;n[l]=k.Le;f[h]=n}c[d]=f;d=b++;for(e=0;e<this.A.length;e++)f=this.A[e],f.za&&Bp(this,f.Le,f.za);c[d]=
this.B;c[b++]=this.X;c[b]=this.kc;N(a,0,c);return a.data()};m.restore=function(a){return vp(this,a[0])}; this.B;c[b++]=this.X;c[b]=this.kc;N(a,0,c);return a.data()};m.restore=function(a){return vp(this,a[0])};
@ -609,7 +609,7 @@ function zp(a,b){b||(a.fa=0);if(a.U)for(var c in a.U){var d=a.U[c],e=d.path,f;if
function up(a,b,c,d){var e,f=a.qa.listDrives;if(f&&!isNaN(e=ca(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Na('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=fa(c)}for(;0>Cp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;h<f.B.length;h++)if(f.B[h][1]==g){f.B.splice(h,1);break}Ap(a, function up(a,b,c,d){var e,f=a.qa.listDrives;if(f&&!isNaN(e=ca(f.value,10))&&0<=e&&e<a.A.length)if(c)if("?"==c)a.Na('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=fa(c)}for(;0>Cp(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;h<f.B.length;h++)if(f.B[h][1]==g){f.B.splice(h,1);break}Ap(a,
e,!1,!0)}}else Ap(a,e);else a.Na("Unable to load the selected drive")}function Cp(a,b,c,d,e,f){var g=a.A[b];if(d&&g.Le!=d){Ap(a,b,e,!0);if(g.bd)return a.Na("Drive "+b+" busy"),0;g.bd=!0;e&&(g.Ae=!0,a.fa++,A(a)&&y(a,"loading diskette '"+c+"'"));g.$e=!!f;return(new Ho(a,g,"preload")).load(c,d,f,a.Hi)?1:0}return-1} e,!1,!0)}}else Ap(a,e);else a.Na("Unable to load the selected drive")}function Cp(a,b,c,d,e,f){var g=a.A[b];if(d&&g.Le!=d){Ap(a,b,e,!0);if(g.bd)return a.Na("Drive "+b+" busy"),0;g.bd=!0;e&&(g.Ae=!0,a.fa++,A(a)&&y(a,"loading diskette '"+c+"'"));g.$e=!!f;return(new Ho(a,g,"preload")).load(c,d,f,a.Hi)?1:0}return-1}
m.Hi=function(a,b,c,d,e){var f;a.bd=!1;b&&(f=b.info(),b&&f[0]>a.Bb||f[1]>a.ub)&&(this.Na('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.kk=c,a.Le=d,Dp(this,c,d,b),f=b.info(),this.X|=128,this.Na('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Ae||e),a.zg=f[0],a.Nf=f[1],a.Of=f[2],this.V&&this.V.yd()):a.$e=!1;a.Ae&&(a.Ae=!1,--this.fa||rb(this));tp(this,a.hb)}; m.Hi=function(a,b,c,d,e){var f;a.bd=!1;b&&(f=b.info(),b&&f[0]>a.Bb||f[1]>a.ub)&&(this.Na('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.hb)),b=null);b?(a.za=b,a.kk=c,a.Le=d,Dp(this,c,d,b),f=b.info(),this.X|=128,this.Na('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.hb),a.Ae||e),a.zg=f[0],a.Nf=f[1],a.Of=f[2],this.V&&this.V.yd()):a.$e=!1;a.Ae&&(a.Ae=!1,--this.fa||rb(this));tp(this,a.hb)};
function yp(a,b,c){if((a=a.qa.listDisks)&&a.options){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=document.createElement("option");d.text=b;d.value=c;a.appendChild(d)}} function yp(a,b,c,d){if((a=a.qa.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 tp(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.qa.listDisks,e=a.qa.listDrives;if(d&&e&&d.options&&e.options&&(e=ca(e.value,10),c=c.$e?"?":c.Le,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function Ap(a,b,c,d){var e=a.A[b];e.za&&(Bp(a,e.Le,e.za),e.kk="",e.Le="",e.za=null,e.$e=!1,a.X|=128,d||a.Na("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||tp(a,b))} function tp(a,b){if(0<=b&&b<a.A.length){var c=a.A[b],d=a.qa.listDisks,e=a.qa.listDrives;if(d&&e&&d.options&&e.options&&(e=ca(e.value,10),c=c.$e?"?":c.Le,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function Ap(a,b,c,d){var e=a.A[b];e.za&&(Bp(a,e.Le,e.za),e.kk="",e.Le="",e.za=null,e.$e=!1,a.X|=128,d||a.Na("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||tp(a,b))}
function Dp(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 Bp(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}}m.Qm=function(a,b,c){x(this,a,b,c,"OUTPUT");b&4?this.aa&4||this.aa&8&&this.N&&eg(this.N,6):vp(this);this.aa=b};m.vl=function(a,b){x(this,a,null,b,"DIAG",80);return 80};m.xl=function(a,b){x(this,a,null,b,"STATUS",this.ma);return this.ma}; function Dp(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 Bp(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}}m.Qm=function(a,b,c){x(this,a,b,c,"OUTPUT");b&4?this.aa&4||this.aa&8&&this.N&&eg(this.N,6):vp(this);this.aa=b};m.vl=function(a,b){x(this,a,null,b,"DIAG",80);return 80};m.xl=function(a,b){x(this,a,null,b,"STATUS",this.ma);return this.ma};
m.ul=function(a,b){var c=0;this.L<this.C&&(c=this.W[this.L]);this.aa&8&&this.N&&dg(this.N,6);A(this)&&x(this,a,null,b,"DATA["+this.L+"]",c);++this.L>=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; m.ul=function(a,b){var c=0;this.L<this.C&&(c=this.W[this.L]);this.aa&8&&this.N&&dg(this.N,6);A(this)&&x(this,a,null,b,"DATA["+this.L+"]",c);++this.L>=this.C&&(this.ma&=-81,this.L=this.C=0);return c};
@ -760,23 +760,23 @@ Zq(a,g[1],!0);if(q)if(a.ua=q,void 0===g[2])a.O("begin assemble at "+Sq(q)),a.Ea=
a.O("\tbc [a]\tclear breakpoint at addr [a]"),a.O("\tbl\tlist all breakpoints"),a.O("\tbn [n]\tbreak after [n] instruction(s)");else{var H=F.charAt(1);if("l"==H){var L=0,L=L+pr(a,a.A),L=L+pr(a,a.ra);(L+=pr(a,a.ga))||a.O("no breakpoints")}else if("n"==H)a.Oa=Eq(a,v),a.O("break after "+a.Oa+" instruction(s)");else if(void 0===v)a.O("missing breakpoint address");else{var V={};if("*"!=v&&(V=Zq(a,v,!0,!0),!V))break a;v=null==V.Ra?v:u(V.Ra);"c"==H?null==V.Ra?(jq(a),a.O("all breakpoints cleared")):Rq(a, a.O("\tbc [a]\tclear breakpoint at addr [a]"),a.O("\tbl\tlist all breakpoints"),a.O("\tbn [n]\tbreak after [n] instruction(s)");else{var H=F.charAt(1);if("l"==H){var L=0,L=L+pr(a,a.A),L=L+pr(a,a.ra);(L+=pr(a,a.ga))||a.O("no breakpoints")}else if("n"==H)a.Oa=Eq(a,v),a.O("break after "+a.Oa+" instruction(s)");else if(void 0===v)a.O("missing breakpoint address");else{var V={};if("*"!=v&&(V=Zq(a,v,!0,!0),!V))break a;v=null==V.Ra?v:u(V.Ra);"c"==H?null==V.Ra?(jq(a),a.O("all breakpoints cleared")):Rq(a,
a.A,V)||Rq(a,a.ra,V)||Rq(a,a.ga,V)||a.O("breakpoint missing: "+Sq(V)):"i"==H?a.O("breakpoint "+(gc(a.ea,V.Ra)?"enabled":"cleared")+": port "+v+" (input)"):"o"==H?a.O("breakpoint "+(kc(a.ea,V.Ra)?"enabled":"cleared")+": port "+v+" (output)"):null!=V.Ra&&(br(a,V,E),"p"==H?a.Sd(a.A,V):"r"==H?a.Sd(a.ra,V):"w"==H?a.Sd(a.ga,V):a.O("unknown breakpoint command: "+H))}}}break;case "c":Fr(a);break;case "d":a:{var P=g,bb,ia=P[0],ja=P[1],Ha=P[2],Xa=P[3];if("?"==ja){var Ba="";for(bb in wq)a.$a[bb]&&(Ba&&(Ba+= a.A,V)||Rq(a,a.ra,V)||Rq(a,a.ga,V)||a.O("breakpoint missing: "+Sq(V)):"i"==H?a.O("breakpoint "+(gc(a.ea,V.Ra)?"enabled":"cleared")+": port "+v+" (input)"):"o"==H?a.O("breakpoint "+(kc(a.ea,V.Ra)?"enabled":"cleared")+": port "+v+" (output)"):null!=V.Ra&&(br(a,V,E),"p"==H?a.Sd(a.A,V):"r"==H?a.Sd(a.ra,V):"w"==H?a.Sd(a.ga,V):a.O("unknown breakpoint command: "+H))}}}break;case "c":Fr(a);break;case "d":a:{var P=g,bb,ia=P[0],ja=P[1],Ha=P[2],Xa=P[3];if("?"==ja){var Ba="";for(bb in wq)a.$a[bb]&&(Ba&&(Ba+=
","),Ba+=bb);Ba+=",state,symbols";a.O("dump memory commands:");a.O("\tdb [a] [#] dump # bytes at address a");a.O("\tdw [a] [#] dump # words at address a");a.O("\tdd [a] [#] dump # dwords at address a");a.O("\tdh [#] [#] dump # instructions from history");a.O("\tdi [#] dump descriptor info for IDT #");a.O("\tds [#] dump descriptor info for selector #");Ba.length&&a.O("dump extension commands:\n\t"+Ba)}else if("state"==ja){var Vb=Nr(a.V,!0);"console"==Ha?console.log(Vb):(Fr(a), ","),Ba+=bb);Ba+=",state,symbols";a.O("dump memory commands:");a.O("\tdb [a] [#] dump # bytes at address a");a.O("\tdw [a] [#] dump # words at address a");a.O("\tdd [a] [#] dump # dwords at address a");a.O("\tdh [#] [#] dump # instructions from history");a.O("\tdi [#] dump descriptor info for IDT #");a.O("\tds [#] dump descriptor info for selector #");Ba.length&&a.O("dump extension commands:\n\t"+Ba)}else if("state"==ja){var Vb=Nr(a.V,!0);"console"==Ha?console.log(Vb):(Fr(a),
a.O(Vb))}else if("symbols"==ja)for(var wa=0;wa<a.B.length;wa++){var Vd=a.B[wa],Rc;for(Rc in Vd.Rd)if("."!=Rc.charAt(0)){var Wd=Vd.Rd[Rc],Ie=Wd.o;if(void 0!==Ie){var Xd=Wd.s;void 0===Xd&&(Xd=Vd.Z);var Je=Vd.Rd[Rc].l;Je&&(Rc=Je);a.O(Iq(Ie,Xd)+" "+Rc)}}}else{if("ds"==ia||"dg"==ia||"dl"==ia)ia="d",P=[ia,"desc",ja];"d"==ia&&"page"==ja&&(ia="dp",P.shift());if("dp"==ia){P.shift();var ii=P[0];if(ii){var Te=a.dc(Zq(a,ii));if(-1===Te)a.O("invalid address: "+ii);else{var be,Da=null;if(80386<=a.F.ia){var ce= a.O(Vb))}else if("symbols"==ja)for(var wa=0;wa<a.B.length;wa++){var Vd=a.B[wa],Rc;for(Rc in Vd.Rd)if("."!=Rc.charAt(0)){var Wd=Vd.Rd[Rc],Ie=Wd.o;if(void 0!==Ie){var Xd=Wd.s;void 0===Xd&&(Xd=Vd.Z);var Je=Vd.Rd[Rc].l;Je&&(Rc=Je);a.O(Iq(Ie,Xd)+" "+Rc)}}}else{if("ds"==ia||"dg"==ia||"dl"==ia)ia="d",P=[ia,"desc",ja];"d"==ia&&"page"==ja&&(ia="dp",P.shift());if("dp"==ia){P.shift();var ji=P[0];if(ji){var Te=a.dc(Zq(a,ji));if(-1===Te)a.O("invalid address: "+ji);else{var be,Da=null;if(80386<=a.F.ia){var ce=
a.ea,Da={};Da.bk=(Te&-4194304)>>>20;Da.ui=a.F.Pd+Da.bk;Da.yb=ce.sa[(Da.ui&ce.Gb)>>>ce.La];Da.Ui=Da.yb.Nd(Da.bk);Da.ck=(Te&4190208)>>>10;Da.vi=(Da.Ui&-4096)+Da.ck;Da.zb=ce.sa[(Da.vi&ce.Gb)>>>ce.La];Da.Vi=Da.zb.Nd(Da.ck);Da.Fk=(Da.Vi&-4096)+(Te&4095)}if(be=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var qd="%"+r(Te),qd=qd+(" %%"+dr(be.ui,be.Ui)),qd=qd+(" %%"+dr(be.vi,be.Vi,!0)), a.ea,Da={};Da.bk=(Te&-4194304)>>>20;Da.ui=a.F.Pd+Da.bk;Da.yb=ce.sa[(Da.ui&ce.Gb)>>>ce.La];Da.Ui=Da.yb.Nd(Da.bk);Da.ck=(Te&4190208)>>>10;Da.vi=(Da.Ui&-4096)+Da.ck;Da.zb=ce.sa[(Da.vi&ce.Gb)>>>ce.La];Da.Vi=Da.zb.Nd(Da.ck);Da.Fk=(Da.Vi&-4096)+(Te&4095)}if(be=Da){a.O("linear PDE addr PDE PTE addr PTE physical");a.O("--------- ---------- -------- ---------- -------- ----------");var qd="%"+r(Te),qd=qd+(" %%"+dr(be.ui,be.Ui)),qd=qd+(" %%"+dr(be.vi,be.Vi,!0)),
qd=qd+(" %%"+r(be.Fk));a.O(qd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Jr(a,P);break a}for(bb in wq)if(P[1]==bb){var En=a.$a[bb];En?(P.shift(),P.shift(),En(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var Fn=ja,Gn=Ha,Hn="",In=0,tb=a.Fa,tc=a.ja;if(tc.length){var Db=+Fn||a.Ub,de=+Gn||10;isNaN(Db)?Db=de:Hn="more ";Db>tc.length&&(a.O("note: only "+tc.length+" available"),Db=tc.length); qd=qd+(" %%"+r(be.Fk));a.O(qd)}else a.O("unsupported operation")}}else a.O("missing address")}else{if("d"==ia){if("disk"==ja){P[0]="l";P[1]="json";Jr(a,P);break a}for(bb in wq)if(P[1]==bb){var En=a.$a[bb];En?(P.shift(),P.shift(),En(P)):a.O("no dump registered for "+ja);break a}ja||(ia=a.Cc||"db")}else a.Cc=ia;if("dh"==ia){var Fn=ja,Gn=Ha,Hn="",In=0,tb=a.Fa,tc=a.ja;if(tc.length){var Db=+Fn||a.Ub,de=+Gn||10;isNaN(Db)?Db=de:Hn="more ";Db>tc.length&&(a.O("note: only "+tc.length+" available"),Db=tc.length);
tb-=Db;0>tb&&(null==tc[tc.length-1].Z?(Db=tb+Db,tb=0):tb+=tc.length);var ji=[];"call"==Gn&&(de=1E5,ji=["CALL"]);for(void 0!==Fn&&a.O(Db+" instructions earlier:");0<de&&tb!=a.Fa;){var rd=tc[tb++];if(null==rd.Z)break;var Ue=iq(a,rd.Ra,rd.Z,rd.Da,rd.type,rd.Sb,rd.pc),gs=Db--,Jn=rr(a,Ue,"history",gs);(!ji.length||0<=Jn.indexOf(ji[0]))&&a.O(Jn);Ue.Se&&(tb+=Ue.Se,de-=Ue.Se,Db-=Ue.Se);tb>=tc.length&&(tb=0);a.Ub=Db;In++;de--}}In||(a.O("no "+Hn+"history available"),a.Ub=void 0)}else if("di"==ia){P.shift(); tb-=Db;0>tb&&(null==tc[tc.length-1].Z?(Db=tb+Db,tb=0):tb+=tc.length);var ki=[];"call"==Gn&&(de=1E5,ki=["CALL"]);for(void 0!==Fn&&a.O(Db+" instructions earlier:");0<de&&tb!=a.Fa;){var rd=tc[tb++];if(null==rd.Z)break;var Ue=iq(a,rd.Ra,rd.Z,rd.Da,rd.type,rd.Sb,rd.pc),gs=Db--,Jn=rr(a,Ue,"history",gs);(!ki.length||0<=Jn.indexOf(ki[0]))&&a.O(Jn);Ue.Se&&(tb+=Ue.Se,de-=Ue.Se,Db-=Ue.Se);tb>=tc.length&&(tb=0);a.Ub=Db;In++;de--}}In||(a.O("no "+Hn+"history available"),a.Ub=void 0)}else if("di"==ia){P.shift();
var ki=P[0];if(ki){var Ve=Eq(a,ki);if(void 0===Ve||0>Ve||255<Ve)a.O("invalid vector: "+ki);else{var Kn="&",Ln=!!(a.F.Za&1),Mn=!1,pg=a.F.Mc+(Ve<<(Ln?3:2)),li=a.F.na(pg+0),hs=a.F.na(pg+2);Ln&&(Kn="#",a.F.na(pg+4)&2048&&(Mn=!0,li|=a.F.na(pg+6)<<16));a.O("dumpIDT("+u(Ve)+"): "+Kn+r(hs,4)+":"+r(li,Mn?8:4))}}else a.O("no IDT vector")}else if("dt"==ia)P.shift(),a.O("no information");else{var ee=Zq(a,ja);if(ee&&(null!=ee.Z||null!=ee.Da)){var qg=0;Ha&&("l"==Ha.charAt(0)&&(Ha=Ha.substr(1)||Xa),qg=Eq(a,Ha)>>> var li=P[0];if(li){var Ve=Eq(a,li);if(void 0===Ve||0>Ve||255<Ve)a.O("invalid vector: "+li);else{var Kn="&",Ln=!!(a.F.Za&1),Mn=!1,pg=a.F.Mc+(Ve<<(Ln?3:2)),mi=a.F.na(pg+0),hs=a.F.na(pg+2);Ln&&(Kn="#",a.F.na(pg+4)&2048&&(Mn=!0,mi|=a.F.na(pg+6)<<16));a.O("dumpIDT("+u(Ve)+"): "+Kn+r(hs,4)+":"+r(mi,Mn?8:4))}}else a.O("no IDT vector")}else if("dt"==ia)P.shift(),a.O("no information");else{var ee=Zq(a,ja);if(ee&&(null!=ee.Z||null!=ee.Da)){var qg=0;Ha&&("l"==Ha.charAt(0)&&(Ha=Ha.substr(1)||Xa),qg=Eq(a,Ha)>>>
0,65536<qg&&(qg=65536));for(var sd="",is=(qg||128)+15>>4||1,mi="dd"==ia?4:"dw"==ia?2:1,Nn=0;Nn<is;Nn++){for(var rg=0,ni=0,We="",oi="",ja=Sq(ee),pi=0;16>pi;pi++){var sg=a.Qa(ee,1),rg=rg|sg<<(ni++<<3);ni==mi&&(We+=r(rg,2*mi),We+=1==mi?7==pi?"-":" ":" ",rg=ni=0);oi+=32<=sg&&128>sg?String.fromCharCode(sg):"."}sd&&(sd+="\n");sd+=ja+" "+We+" "+oi}sd&&a.O(sd);a.Db=ee}}}}}break;case "e":if("else"==g[0])break;var tg=1,On=255,Pn=a.Qa,Qn=a.qc;"ew"==g[0]&&(tg=2,On=65535,Pn=a.na,Qn=a.jb);var Rn=tg<<1,Sn=g[1]; 0,65536<qg&&(qg=65536));for(var sd="",is=(qg||128)+15>>4||1,ni="dd"==ia?4:"dw"==ia?2:1,Nn=0;Nn<is;Nn++){for(var rg=0,oi=0,We="",pi="",ja=Sq(ee),qi=0;16>qi;qi++){var sg=a.Qa(ee,1),rg=rg|sg<<(oi++<<3);oi==ni&&(We+=r(rg,2*ni),We+=1==ni?7==qi?"-":" ":" ",rg=oi=0);pi+=32<=sg&&128>sg?String.fromCharCode(sg):"."}sd&&(sd+="\n");sd+=ja+" "+We+" "+pi}sd&&a.O(sd);a.Db=ee}}}}}break;case "e":if("else"==g[0])break;var tg=1,On=255,Pn=a.Qa,Qn=a.qc;"ew"==g[0]&&(tg=2,On=65535,Pn=a.na,Qn=a.jb);var Rn=tg<<1,Sn=g[1];
if(null==Sn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var ug=Zq(a,Sn);if(ug)for(var vg=2;vg<g.length;vg++){var Xe=ar(a,g[vg]);if(void 0===Xe){a.O("unrecognized value: "+g[vg]);break}Xe&~On&&a.O("warning: "+r(Xe)+" exceeds "+tg+"-byte value");var js=Pn.call(a,ug);a.O("changing "+Sq(ug)+" from 0x"+r(js,Rn)+" to 0x"+r(Xe,Rn));Qn.call(a,ug,Xe,tg)}}break;case "f":Gr(a,g[1]);break;case "g":a:{var Tn=g[1],ks=b;"gt"==g[0]&& if(null==Sn)a.O("edit memory commands:"),a.O("\teb [a] [...] edit bytes at address a"),a.O("\tew [a] [...] edit words at address a");else{var ug=Zq(a,Sn);if(ug)for(var vg=2;vg<g.length;vg++){var Xe=ar(a,g[vg]);if(void 0===Xe){a.O("unrecognized value: "+g[vg]);break}Xe&~On&&a.O("warning: "+r(Xe)+" exceeds "+tg+"-byte value");var js=Pn.call(a,ug);a.O("changing "+Sq(ug)+" from 0x"+r(js,Rn)+" to 0x"+r(Xe,Rn));Qn.call(a,ug,Xe,tg)}}break;case "f":Gr(a,g[1]);break;case "g":a:{var Tn=g[1],ks=b;"gt"==g[0]&&
(a.cb=!0);if(void 0!==Tn){var qi=Zq(a,Tn,!0);if(!qi)break a;br(a,qi,ks);a.Sd(a.A,qi,!0)}a.Ke(!0)||c||a.O("cpu busy or unavailable, run command ignored")}break;case "h":var ri;a.la.Ib?(ri="halting",a.Wb()):ri="already halted";c||a.O(ri);break;case "i":if("if"==g[0]){var si;var Ye=b.substr(2),Ye=na(Ye);ar(a,Ye)?(c||a.O("true: "+Ye),si=!0):(c||a.O("false: "+Ye),si=!1);si||(d=!1);break}if("int"==g[0]){var wg;a:switch(Eq(a,g[1])){case 19:kk(a,19,a.F.Ga,!0);a.ya=a.pa;wg=!0;break a;case 33:kk(a,33,a.F.Ga, (a.cb=!0);if(void 0!==Tn){var ri=Zq(a,Tn,!0);if(!ri)break a;br(a,ri,ks);a.Sd(a.A,ri,!0)}a.Ke(!0)||c||a.O("cpu busy or unavailable, run command ignored")}break;case "h":var si;a.la.Ib?(si="halting",a.Wb()):si="already halted";c||a.O(si);break;case "i":if("if"==g[0]){var ti;var Ye=b.substr(2),Ye=na(Ye);ar(a,Ye)?(c||a.O("true: "+Ye),ti=!0):(c||a.O("false: "+Ye),ti=!1);ti||(d=!1);break}if("int"==g[0]){var wg;a:switch(Eq(a,g[1])){case 19:kk(a,19,a.F.Ga,!0);a.ya=a.pa;wg=!0;break a;case 33:kk(a,33,a.F.Ga,
!0);a.ya=a.pa;wg=!0;break a;default:wg=!1}wg||(d=!1);break}var ti=g[1];if(ti&&"?"!=ti){var ui=Eq(a,ti);if(void 0!==ui){var ls=ic(a.ea,ui,1);a.O(u(ui)+": "+t(ls))}}else a.O("input commands:"),a.O("\ti [p]\tread port [p]"),a.O("warning: port accesses can affect hardware state");break;case "k":var ms=g[0];if("?"==g[1])a.O("stack trace commands:"),a.O("\tk\tshow frame addresses"),a.O("\tks\tshow symbol information");else{var vi=0,Un=a.F.va.Z,Ze=iq(a),Tc=iq(a,I(a.F),a.F.ta.Z);for(a.O("stack trace for "+ !0);a.ya=a.pa;wg=!0;break a;default:wg=!1}wg||(d=!1);break}var ui=g[1];if(ui&&"?"!=ui){var vi=Eq(a,ui);if(void 0!==vi){var ls=ic(a.ea,vi,1);a.O(u(vi)+": "+t(ls))}}else a.O("input commands:"),a.O("\ti [p]\tread port [p]"),a.O("warning: port accesses can affect hardware state");break;case "k":var ms=g[0];if("?"==g[1])a.O("stack trace commands:"),a.O("\tk\tshow frame addresses"),a.O("\tks\tshow symbol information");else{var wi=0,Un=a.F.va.Z,Ze=iq(a),Tc=iq(a,I(a.F),a.F.ta.Z);for(a.O("stack trace for "+
Sq(Tc));10>vi;){for(var uc=null,ns=256;Tc.Ra>>>0<a.F.Lg>>>0;){Ze.Ra=a.tb(Tc,!0);if(null==Tc.Da||!ns--)break;Ze.Z=Un;if(uc=Lr(a,Ze))break;Ze.Z=a.tb(Tc);if(uc=Lr(a,Ze,!0)){Un=a.tb(Tc,!0);0<uc.indexOf("INT")&&a.tb(Tc,!0);break}}if(!uc||null==uc)break;var Vn=null;if("ks"==ms){var Wn=uc.match(/[0-9A-F]+$/);Wn&&(Vn=Ir(a,Wn[0]))}uc=ma(uc,50)+" ;"+(Vn||"stack="+Sq(Tc));a.O(uc);vi++}vi||a.O("no return addresses found")}break;case "l":if("ln"==g[0]){Ir(a,g[1],!0);break}Jr(a,g);break;case "m":if("mouse"==g[0]){var wi= Sq(Tc));10>wi;){for(var uc=null,ns=256;Tc.Ra>>>0<a.F.Lg>>>0;){Ze.Ra=a.tb(Tc,!0);if(null==Tc.Da||!ns--)break;Ze.Z=Un;if(uc=Lr(a,Ze))break;Ze.Z=a.tb(Tc);if(uc=Lr(a,Ze,!0)){Un=a.tb(Tc,!0);0<uc.indexOf("INT")&&a.tb(Tc,!0);break}}if(!uc||null==uc)break;var Vn=null;if("ks"==ms){var Wn=uc.match(/[0-9A-F]+$/);Wn&&(Vn=Ir(a,Wn[0]))}uc=ma(uc,50)+" ;"+(Vn||"stack="+Sq(Tc));a.O(uc);wi++}wi||a.O("no return addresses found")}break;case "l":if("ln"==g[0]){Ir(a,g[1],!0);break}Jr(a,g);break;case "m":if("mouse"==g[0]){var xi=
g[1],xg=g[2];if(a.W){var Xn=1;"-"==xg.charAt(0)&&(Xn=-1,xg=xg.substr(1));var td=Eq(a,xg,wi);if(void 0!==td)switch(td=td*Xn|0,wi){case "x":a.W.Hf(td,0);break;case "y":a.W.Hf(0,td);break;case "click":a.W.je(td,!0);a.W.je(td,!1);break;default:a.O("unknown action: "+wi)}}else a.O("no mouse");break}a:{var vc,wc=null,Oa=g[1];"?"==Oa&&(Oa=void 0);if(void 0!==Oa){var ud=0;if("all"==Oa)ud=1610481663,Oa=null;else if("on"==Oa)wc=!0,Oa=null;else if("off"==Oa)wc=!1,Oa=null;else{"keys"==Oa&&(Oa="key");"kbd"==Oa&& g[1],xg=g[2];if(a.W){var Xn=1;"-"==xg.charAt(0)&&(Xn=-1,xg=xg.substr(1));var td=Eq(a,xg,xi);if(void 0!==td)switch(td=td*Xn|0,xi){case "x":a.W.Hf(td,0);break;case "y":a.W.Hf(0,td);break;case "click":a.W.je(td,!0);a.W.je(td,!1);break;default:a.O("unknown action: "+xi)}}else a.O("no mouse");break}a:{var vc,wc=null,Oa=g[1];"?"==Oa&&(Oa=void 0);if(void 0!==Oa){var ud=0;if("all"==Oa)ud=1610481663,Oa=null;else if("on"==Oa)wc=!0,Oa=null;else if("off"==Oa)wc=!1,Oa=null;else{"keys"==Oa&&(Oa="key");"kbd"==Oa&&
(Oa="keyboard");for(vc in wq)if(Oa==vc){ud=wq[vc];wc=!!(a.wc&ud);break}if(!ud){a.O("unknown message category: "+Oa);break a}}ud&&("on"==g[2]?(a.wc|=ud,wc=!0):"off"==g[2]&&(a.wc&=~ud,wc=!1))}var os=0,Uc="";for(vc in wq)if(!Oa||Oa==vc){var ps=!!(a.wc&wq[vc]);if(null===wc||wc==ps)Uc&&(Uc+=","),++os%10||(Uc+="\n\t"),"key"==vc&&(vc="keys"),Uc+=vc}void 0===Oa&&a.O("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.O((null!==wc?wc?"messages on: ":"messages off: ":"message categories:\n\t")+ (Oa="keyboard");for(vc in wq)if(Oa==vc){ud=wq[vc];wc=!!(a.wc&ud);break}if(!ud){a.O("unknown message category: "+Oa);break a}}ud&&("on"==g[2]?(a.wc|=ud,wc=!0):"off"==g[2]&&(a.wc&=~ud,wc=!1))}var os=0,Uc="";for(vc in wq)if(!Oa||Oa==vc){var ps=!!(a.wc&wq[vc]);if(null===wc||wc==ps)Uc&&(Uc+=","),++os%10||(Uc+="\n\t"),"key"==vc&&(vc="keys"),Uc+=vc}void 0===Oa&&a.O("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.O((null!==wc?wc?"messages on: ":"messages off: ":"message categories:\n\t")+
(Uc||"none"));kq(a)}break;case "o":var xi=g[1],qs=g[2];if(xi&&"?"!=xi){var yi=Eq(a,xi,"port #"),zi=Eq(a,qs);void 0!==yi&&void 0!==zi&&(mc(a.ea,yi,1,zi),a.O(u(yi)+": "+t(zi)))}else a.O("output commands:"),a.O("\to [p] [b]\twrite byte [b] to port [p]"),a.O("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){Kr(a,b.substr(5));break}var Yn="pr"==g[0]?1:0,fe=1+Yn;if(a.N)a.O("step in progress");else{var yg,Zn=!1,lb=iq(a,K(a.F),a.F.va.Z);do switch(yg=!1,a.Qa(lb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Uq(a, (Uc||"none"));kq(a)}break;case "o":var yi=g[1],qs=g[2];if(yi&&"?"!=yi){var zi=Eq(a,yi,"port #"),Ai=Eq(a,qs);void 0!==zi&&void 0!==Ai&&(mc(a.ea,zi,1,Ai),a.O(u(zi)+": "+t(Ai)))}else a.O("output commands:"),a.O("\to [p] [b]\twrite byte [b] to port [p]"),a.O("warning: port accesses can affect hardware state");break;case "p":if("print"==g[0]){Kr(a,b.substr(5));break}var Yn="pr"==g[0]?1:0,fe=1+Yn;if(a.N)a.O("step in progress");else{var yg,Zn=!1,lb=iq(a,K(a.F),a.F.va.Z);do switch(yg=!1,a.Qa(lb)){case 38:case 46:case 54:case 62:case 100:case 101:case 102:case 103:case 240:Uq(a,
lb,1);yg=!0;break;case 204:case 206:a.N=fe;Uq(a,lb,1);break;case 205:case 224:case 225:case 226:a.N=fe;Uq(a,lb,lb.Sb?4:2);break;case 232:a.N=fe;Uq(a,lb,lb.Sb?5:3);break;case 154:a.N=fe;Uq(a,lb,lb.Sb?7:5);break;case 255:var $n=a.tb(lb)&14591;if(4351==$n||6399==$n)a.N=fe,rr(a,lb);break;case 243:case 242:Uq(a,lb,1);Zn=yg=!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:Zn&&(a.N=fe,Uq(a,lb,1))}while(yg);a.N?(a.Sd(a.A, lb,1);yg=!0;break;case 204:case 206:a.N=fe;Uq(a,lb,1);break;case 205:case 224:case 225:case 226:a.N=fe;Uq(a,lb,lb.Sb?4:2);break;case 232:a.N=fe;Uq(a,lb,lb.Sb?5:3);break;case 154:a.N=fe;Uq(a,lb,lb.Sb?7:5);break;case 255:var $n=a.tb(lb)&14591;if(4351==$n||6399==$n)a.N=fe,rr(a,lb);break;case 243:case 242:Uq(a,lb,1);Zn=yg=!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:Zn&&(a.N=fe,Uq(a,lb,1))}while(yg);a.N?(a.Sd(a.A,
lb,!0),a.Ke()||(a.V&&a.V.yd(),a.N=0)):Mr(a,Yn?"tr":"t")}break;case "r":if("reset"==b){a.V&&a.V.reset();break}jr(a,g);break;case "t":Mr(a,g[0],g[1]);break;case "u":kr(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Hr(a,b.substr(3))||(d=!1);break}a.O("PCjs version 1.21.7 ("+a.F.ia+",RELEASE,NOPREFETCH"+(vb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.O(ya());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var $e;void 0!==g[3]&&($e=+g[3]);switch(g[2]){case "int":a.F.Y.jf=$e;break;case "start":a.F.Y.Jf= lb,!0),a.Ke()||(a.V&&a.V.yd(),a.N=0)):Mr(a,Yn?"tr":"t")}break;case "r":if("reset"==b){a.V&&a.V.reset();break}jr(a,g);break;case "t":Mr(a,g[0],g[1]);break;case "u":kr(a,g[1],g[2],8);break;case "v":if("var"==g[0]){Hr(a,b.substr(3))||(d=!1);break}a.O("PCjs version 1.21.7 ("+a.F.ia+",RELEASE,NOPREFETCH"+(vb?",TYPEDARRAYS":",LONGARRAYS")+",NOBACKTRACK)");a.O(ya());break;case "x":a:if(g[1]&&"?"!=g[1])switch(g[1]){case "cs":var $e;void 0!==g[3]&&($e=+g[3]);switch(g[2]){case "int":a.F.Y.jf=$e;break;case "start":a.F.Y.Jf=
$e;break;case "stop":a.F.Y.lf=$e;break;default:a.O("unknown cs option");break a}void 0!==$e&&Pc(a.F);a.O("checksums "+(a.F.la.Ye?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Xc(a.F,+g[2])||a.O("warning: using 1x multiplier, previous target not reached"));a.O("target speed: "+(a.F.Y.Fe.toFixed(2)+"Mhz")+" ("+a.F.Y.Yd+"x)");break;default:a.O("unknown option: "+g[1])}else a.O("execution options:"),a.O("\tcs int #\tset checksum cycle interval to #"),a.O("\tcs start #\tset checksum cycle start count to #"), $e;break;case "stop":a.F.Y.lf=$e;break;default:a.O("unknown cs option");break a}void 0!==$e&&Pc(a.F);a.O("checksums "+(a.F.la.Ye?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(Xc(a.F,+g[2])||a.O("warning: using 1x multiplier, previous target not reached"));a.O("target speed: "+(a.F.Y.Fe.toFixed(2)+"Mhz")+" ("+a.F.Y.Yd+"x)");break;default:a.O("unknown option: "+g[1])}else a.O("execution options:"),a.O("\tcs int #\tset checksum cycle interval to #"),a.O("\tcs start #\tset checksum cycle start count to #"),
a.O("\tcs stop #\tset checksum cycle stop count to #"),a.O("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){Kr(a,b.substr(1));break}var af="commands:",Ai;for(Ai in pq)af+="\n"+ma(Ai,7)+pq[Ai];Tf(a)||(af+="\nnote: frequency/history disabled if no exec breakpoints");a.O(af);break;default:a.O("unknown command: "+b),d=!1}}}catch(ao){a.O("debugger error: "+(ao.stack||ao.message)),d=!1}return d}function mq(a,b,c){b=cr(a,b,c);for(var d in b)if(!qr(a,b[d]))return!1;return!0} a.O("\tcs stop #\tset checksum cycle stop count to #"),a.O("\tsp #\t\tset speed multiplier to #");break;case "?":if(g[1]){Kr(a,b.substr(1));break}var af="commands:",Bi;for(Bi in pq)af+="\n"+ma(Bi,7)+pq[Bi];Tf(a)||(af+="\nnote: frequency/history disabled if no exec breakpoints");a.O(af);break;default:a.O("unknown command: "+b),d=!1}}}catch(ao){a.O("debugger error: "+(ao.stack||ao.message)),d=!1}return d}function mq(a,b,c){b=cr(a,b,c);for(var d in b)if(!qr(a,b[d]))return!1;return!0}
Qa(function(){for(var a=nb(document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=jb(c),d=new hq(d);mb(d,c)}});function hf(a,b,c){this.id=a.id;this.key=Or(a,b,c);this.ha=a.ha;Pr(this,a.gk)}function Or(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} Qa(function(){for(var a=nb(document,"pcjs","debugger"),b=0;b<a.length;b++){var c=a[b],d=jb(c),d=new hq(d);mb(d,c)}});function hf(a,b,c){this.id=a.id;this.key=Or(a,b,c);this.ha=a.ha;Pr(this,a.gk)}function Or(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}
hf.prototype={constructor:hf,value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.A=!0):this.A?!0:Ca()&&(a=Ea(this.key))?(this[this.id]=a,this.A=!0):!1},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Pr(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)== hf.prototype={constructor:hf,value:function(){return this[this.id]},data:function(){return this[this.id]},load:function(a){return a?(this[this.id]=a,this.A=!0):this.A?!0:Ca()&&(a=Ea(this.key))?(this[this.id]=a,this.A=!0):!1},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Pr(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 Pr(a,b){a[a.id]={};b&&N(a,"parms",b);a.A=!1}function Qr(a){var b=!0;if(Ca()){var c=JSON.stringify(a[a.id]);Fa(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Rr(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){w(c.message||c),b=!1}return b}function Sr(a,b){return a[a.id][b]||null}function N(a,b,c){try{a[a.id][b]=c}catch(d){}} this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,1);c=0}}};function Pr(a,b){a[a.id]={};b&&N(a,"parms",b);a.A=!1}function Qr(a){var b=!0;if(Ca()){var c=JSON.stringify(a[a.id]);Fa(a.key,c)||(w("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Rr(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){w(c.message||c),b=!1}return b}function Sr(a,b){return a[a.id][b]||null}function N(a,b,c){try{a[a.id][b]=c}catch(d){}}

View file

@ -370,7 +370,7 @@ function Bi(a,b){var c=b;if(a)for(var c=0,d=1,e=0;e<a.length;e++)"0"==a.charAt(e
function jj(a,b,c,d){if(c=a.ka[c]){d=d?a.D[b][0]:a.D[b][1]=a.D[b][0];c=Za(c,"pcjs-bitCell");for(var e=0;e<c.length;e++){var f=kj(a,b,e);c[e].setAttribute("title",f&&f.gd||"Reserved");lj(c[e],d&1<<e?!1:!0);c[e].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");lj(b,c);var d=b.getAttribute("id").split("-"),e=1<<+d[1]-1;switch(d[0]){case Ci:a.D[0][0]=a.D[0][0]&~e|(c?0:e);break;case Gi:a.D[1][0]=a.D[1][0]&~e|(c?0:e)}mj(a)}}(a,c[e])}}} function jj(a,b,c,d){if(c=a.ka[c]){d=d?a.D[b][0]:a.D[b][1]=a.D[b][0];c=Za(c,"pcjs-bitCell");for(var e=0;e<c.length;e++){var f=kj(a,b,e);c[e].setAttribute("title",f&&f.gd||"Reserved");lj(c[e],d&1<<e?!1:!0);c[e].onclick=function(a,b){return function(){var c="1"!=b.getAttribute("data-value");lj(b,c);var d=b.getAttribute("id").split("-"),e=1<<+d[1]-1;switch(d[0]){case Ci:a.D[0][0]=a.D[0][0]&~e|(c?0:e);break;case Gi:a.D[1][0]=a.D[1][0]&~e|(c?0:e)}mj(a)}}(a,c[e])}}}
function mj(a){var b=a.ka.swdesc;if(null!=b){var c;c=""+(Yi(a,!0)+"Kb");c+=", "+(+ +Zi(a,3,!0)?"":"No ")+"Coprocessor";c+=", "+{0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"}[+Zi(a,Fi,!0)]+" Monitor";c+=", "+ +Zi(a,Ei,!0)+" Floppy Drives";if(null!=a.D[0][1]&&a.D[0][1]!=a.D[0][0]||null!=a.D[1][1]&&a.D[1][1]!=a.D[1][0])c+=" (Reset required)";b.textContent=c}} function mj(a){var b=a.ka.swdesc;if(null!=b){var c;c=""+(Yi(a,!0)+"Kb");c+=", "+(+ +Zi(a,3,!0)?"":"No ")+"Coprocessor";c+=", "+{0:"Enhanced Color",1:"TV",2:"Color",3:"Monochrome"}[+Zi(a,Fi,!0)]+" Monitor";c+=", "+ +Zi(a,Ei,!0)+" Floppy Drives";if(null!=a.D[0][1]&&a.D[0][1]!=a.D[0][0]||null!=a.D[1][1]&&a.D[1][1]!=a.D[1][0])c+=" (Reset required)";b.textContent=c}}
function nj(a,b,c){a=a.G[b];var d=a.$b[c],e=d.gb[a.Ib];a.Ib^=1;b||0!=c||a.Ib||(d.gb[0]++,255<d.gb[0]&&(d.gb[0]=0,d.gb[1]++,255<d.gb[1]&&(d.gb[1]=0)));return e}function oj(a,b,c,d){a=a.G[b];c=a.$b[c];c.gb[a.Ib]=c.sf[a.Ib]=d;a.Ib^=1}function pj(a,b,c){a=a.G[b];var d=a.$b[c],e=d.hb[a.Ib];a.Ib^=1;b||0!=c||a.Ib||(d.hb[0]--,0>d.hb[0]&&(d.hb[0]=255,d.hb[1]--,0>d.hb[1]&&(d.hb[1]=255)));return e}function qj(a,b,c,d){a=a.G[b];c=a.$b[c];c.hb[a.Ib]=c.jc[a.Ib]=d;a.Ib^=1} function nj(a,b,c){a=a.G[b];var d=a.$b[c],e=d.gb[a.Ib];a.Ib^=1;b||0!=c||a.Ib||(d.gb[0]++,255<d.gb[0]&&(d.gb[0]=0,d.gb[1]++,255<d.gb[1]&&(d.gb[1]=0)));return e}function oj(a,b,c,d){a=a.G[b];c=a.$b[c];c.gb[a.Ib]=c.sf[a.Ib]=d;a.Ib^=1}function pj(a,b,c){a=a.G[b];var d=a.$b[c],e=d.hb[a.Ib];a.Ib^=1;b||0!=c||a.Ib||(d.hb[0]--,0>d.hb[0]&&(d.hb[0]=255,d.hb[1]--,0>d.hb[1]&&(d.hb[1]=255)));return e}function qj(a,b,c,d){a=a.G[b];c=a.$b[c];c.hb[a.Ib]=c.jc[a.Ib]=d;a.Ib^=1}
function rj(a,b){var c=a.G[b],d=c.Db|1;c.Db&=-16;return d}function wj(a,b,c){a=a.G[b];b=c&3;a.Db=a.Db&~(16<<b)|(c&4)<<b+2;a.Gh=c}function xj(a,b,c){b=a.G[b];var d=c&3,e=b.$b[d];e.Qd=!!(c&4);e.Qd||yj(a,b.Vk+d)}function zj(a,b){for(var c=a.G[b],d=0;d<c.$b.length;d++)ej(c,d)}function Aj(a,b,c){return a.G[b].$b[c].tf}function Bj(a,b,c,d){a.G[b].$b[c].tf=d}function Cj(a,b,c,d,e){gj(a.G[b>>2].$b[b&3],c,d,e)} function rj(a,b){var c=a.G[b],d=c.Db|1;c.Db&=-16;return d}function sj(a,b,c){a=a.G[b];b=c&3;a.Db=a.Db&~(16<<b)|(c&4)<<b+2;a.Gh=c}function xj(a,b,c){b=a.G[b];var d=c&3,e=b.$b[d];e.Qd=!!(c&4);e.Qd||yj(a,b.Vk+d)}function zj(a,b){for(var c=a.G[b],d=0;d<c.$b.length;d++)ej(c,d)}function Aj(a,b,c){return a.G[b].$b[c].tf}function Bj(a,b,c,d){a.G[b].$b[c].tf=d}function Cj(a,b,c,d,e){gj(a.G[b>>2].$b[b&3],c,d,e)}
function yj(a,b,c){b=a.G[b>>2].$b[b&3];b.yf&&b.kg&&b.Mf?(c&&(b.done=c),b.Qd||Dj(a,b,!0)):c&&c(!0)}function Dj(a,b,c){c&&(b.count=b.hb[1]<<8|b.hb[0],b.type=b.mode&12,b.Sh=b.Yc=!1);for(var d=!1;0<=b.count&&(c=b.tf<<16|b.gb[1]<<8|b.gb[0],4==b.type?(d=!0,function(c){b.kg.call(b.yf,b.Mf,-1,function(f,g){0>f&&(b.Sh||(b.Sh=!0),f=255);b.Qd||a.ha.Mc(c,f);(d=g)&&setTimeout(function(){Ej(b)||Dj(a,b)},0)})}(c)):8==b.type?(c=a.ha.Jb(c),0>b.kg.call(b.yf,b.Mf,c)&&(b.Yc=!0)):0!=b.type&&(b.Yc=!0)),!d&&!Ej(b););} function yj(a,b,c){b=a.G[b>>2].$b[b&3];b.yf&&b.kg&&b.Mf?(c&&(b.done=c),b.Qd||Dj(a,b,!0)):c&&c(!0)}function Dj(a,b,c){c&&(b.count=b.hb[1]<<8|b.hb[0],b.type=b.mode&12,b.Sh=b.Yc=!1);for(var d=!1;0<=b.count&&(c=b.tf<<16|b.gb[1]<<8|b.gb[0],4==b.type?(d=!0,function(c){b.kg.call(b.yf,b.Mf,-1,function(f,g){0>f&&(b.Sh||(b.Sh=!0),f=255);b.Qd||a.ha.Mc(c,f);(d=g)&&setTimeout(function(){Ej(b)||Dj(a,b)},0)})}(c)):8==b.type?(c=a.ha.Jb(c),0>b.kg.call(b.yf,b.Mf,c)&&(b.Yc=!0)):0!=b.type&&(b.Yc=!0)),!d&&!Ej(b););}
function Ej(a){if(!a.Yc&&0<=--a.count&&(a.mode&32?(a.gb[0]--,0>a.gb[0]&&(a.gb[0]=255,a.gb[1]--,0>a.gb[1]&&(a.gb[1]=255))):(a.gb[0]++,255<a.gb[0]&&(a.gb[0]=0,a.gb[1]++,255<a.gb[1]&&(a.gb[1]=0))),!a.Qd))return!1;var b=a.controller;b.Db=b.Db&~(16<<a.Vh)|1<<a.Vh;a.mode&16||(a.Qd=!0,a.yf=a.Mf=null);a.done&&(a.done(!a.Yc),a.done=null);return!0}function Fj(a,b){var c=0,d=a.gc[b];if(null!=d.Je)switch(d.Je&3){case 2:c=d.ac;break;case 3:c=d.Cc}return c} function Ej(a){if(!a.Yc&&0<=--a.count&&(a.mode&32?(a.gb[0]--,0>a.gb[0]&&(a.gb[0]=255,a.gb[1]--,0>a.gb[1]&&(a.gb[1]=255))):(a.gb[0]++,255<a.gb[0]&&(a.gb[0]=0,a.gb[1]++,255<a.gb[1]&&(a.gb[1]=0))),!a.Qd))return!1;var b=a.controller;b.Db=b.Db&~(16<<a.Vh)|1<<a.Vh;a.mode&16||(a.Qd=!0,a.yf=a.Mf=null);a.done&&(a.done(!a.Yc),a.done=null);return!0}function Fj(a,b){var c=0,d=a.gc[b];if(null!=d.Je)switch(d.Je&3){case 2:c=d.ac;break;case 3:c=d.Cc}return c}
function Gj(a,b,c){b=a.gc[b];if(c&16)b.md=0,b.Sc[b.md++]=c,b.Vc=0,b.Ld=7,b.ac=b.Cc=0,b.Je=10;else if(c&8)b.Je=c;else{var d=c&224;if(d&32){var e=0;if(96==(d&96))e=1<<(c&7);else for(c=b.Ld+1;;){c&=7;d=1<<c;if(b.Cc&d){e=d;break}if(c++==b.Ld)break}b.Cc&e&&(b.Cc&=~e,Hj(a))}else 192==d&&(b.Ld=c&7)}}function Ij(a,b,c){var d=a.gc[b];d.md<d.Sc.length?(d.Sc[d.md++]=c,2==d.md&&d.Sc[0]&2&&d.md++,3!=d.md||d.Sc[0]&1||d.md++):(d.Vc=c,d=a.A,d.L|=4,Hj(a,b||253!=c?0:6))} function Gj(a,b,c){b=a.gc[b];if(c&16)b.md=0,b.Sc[b.md++]=c,b.Vc=0,b.Ld=7,b.ac=b.Cc=0,b.Je=10;else if(c&8)b.Je=c;else{var d=c&224;if(d&32){var e=0;if(96==(d&96))e=1<<(c&7);else for(c=b.Ld+1;;){c&=7;d=1<<c;if(b.Cc&d){e=d;break}if(c++==b.Ld)break}b.Cc&e&&(b.Cc&=~e,Hj(a))}else 192==d&&(b.Ld=c&7)}}function Ij(a,b,c){var d=a.gc[b];d.md<d.Sc.length?(d.Sc[d.md++]=c,2==d.md&&d.Sc[0]&2&&d.md++,3!=d.md||d.Sc[0]&1||d.md++):(d.Vc=c,d=a.A,d.L|=4,Hj(a,b||253!=c?0:6))}
@ -394,10 +394,10 @@ var Ki={0:function(){return nj(this,0,0)},1:function(){return pj(this,0,0)},2:fu
0,2)},67:function(){return this.xa},129:function(){return Aj(this,0,2)},130:function(){return Aj(this,0,3)},131:function(){return Aj(this,0,1)},135:function(){return Aj(this,0,0)}},Mi={96:S.prototype.Bk,97:S.prototype.Ck,98:S.prototype.Dk,99:S.prototype.Ek},Qi={96:S.prototype.Oj,97:S.prototype.Pj,100:S.prototype.Qj,112:S.prototype.dk,113:S.prototype.ek,128:function(){return this.I[7]},132:function(){return this.I[0]},133:function(){return this.I[1]},134:function(){return this.I[2]},136:function(){return this.I[3]}, 0,2)},67:function(){return this.xa},129:function(){return Aj(this,0,2)},130:function(){return Aj(this,0,3)},131:function(){return Aj(this,0,1)},135:function(){return Aj(this,0,0)}},Mi={96:S.prototype.Bk,97:S.prototype.Ck,98:S.prototype.Dk,99:S.prototype.Ek},Qi={96:S.prototype.Oj,97:S.prototype.Pj,100:S.prototype.Qj,112:S.prototype.dk,113:S.prototype.ek,128:function(){return this.I[7]},132:function(){return this.I[0]},133:function(){return this.I[1]},134:function(){return this.I[2]},136:function(){return this.I[3]},
137:function(){return Aj(this,1,2)},138:function(){return Aj(this,1,3)},139:function(){return Aj(this,1,1)},140:function(){return this.I[4]},141:function(){return this.I[5]},142:function(){return this.I[6]},143:function(){return Aj(this,1,0)},160:function(){return Fj(this,1)},161:function(){return this.gc[1].Vc},192:function(){return nj(this,1,0)},194:function(){return pj(this,1,0)},196:function(){return nj(this,1,1)},198:function(){return pj(this,1,1)},200:function(){return nj(this,1,2)},202:function(){return pj(this, 137:function(){return Aj(this,1,2)},138:function(){return Aj(this,1,3)},139:function(){return Aj(this,1,1)},140:function(){return this.I[4]},141:function(){return this.I[5]},142:function(){return this.I[6]},143:function(){return Aj(this,1,0)},160:function(){return Fj(this,1)},161:function(){return this.gc[1].Vc},192:function(){return nj(this,1,0)},194:function(){return pj(this,1,0)},196:function(){return nj(this,1,1)},198:function(){return pj(this,1,1)},200:function(){return nj(this,1,2)},202:function(){return pj(this,
1,2)},204:function(){return nj(this,1,3)},206:function(){return pj(this,1,3)},208:function(){return rj(this,1)},218:function(){return this.G[1].dg}},Oi={96:S.prototype.Mj,97:S.prototype.Lj,100:S.prototype.Nj,102:function(){return this.D[0][1]},103:function(){return this.D[1][1]}},Si={72:function(){return Jj(this,1,0)},73:function(){return Jj(this,1,1)},74:function(){return Jj(this,1,2)},75:function(){return this.za}},Li={0:function(a,b){oj(this,0,0,b)},1:function(a,b){qj(this,0,0,b)},2:function(a, 1,2)},204:function(){return nj(this,1,3)},206:function(){return pj(this,1,3)},208:function(){return rj(this,1)},218:function(){return this.G[1].dg}},Oi={96:S.prototype.Mj,97:S.prototype.Lj,100:S.prototype.Nj,102:function(){return this.D[0][1]},103:function(){return this.D[1][1]}},Si={72:function(){return Jj(this,1,0)},73:function(){return Jj(this,1,1)},74:function(){return Jj(this,1,2)},75:function(){return this.za}},Li={0:function(a,b){oj(this,0,0,b)},1:function(a,b){qj(this,0,0,b)},2:function(a,
b){oj(this,0,1,b)},3:function(a,b){qj(this,0,1,b)},4:function(a,b){oj(this,0,2,b)},5:function(a,b){qj(this,0,2,b)},6:function(a,b){oj(this,0,3,b)},7:function(a,b){qj(this,0,3,b)},8:function(a,b){this.G[0].bg=b},9:function(a,b){wj(this,0,b)},10:function(a,b){xj(this,0,b)},11:function(a,b){this.G[0].$b[b&3].mode=b},12:function(){this.G[0].Ib=0},13:function(){zj(this,0)},32:function(a,b){Gj(this,0,b)},33:function(a,b){Ij(this,0,b)},64:function(a,b){Mj(this,0,0,b)},65:function(a,b){Mj(this,0,1,b)},66:function(a, b){oj(this,0,1,b)},3:function(a,b){qj(this,0,1,b)},4:function(a,b){oj(this,0,2,b)},5:function(a,b){qj(this,0,2,b)},6:function(a,b){oj(this,0,3,b)},7:function(a,b){qj(this,0,3,b)},8:function(a,b){this.G[0].bg=b},9:function(a,b){sj(this,0,b)},10:function(a,b){xj(this,0,b)},11:function(a,b){this.G[0].$b[b&3].mode=b},12:function(){this.G[0].Ib=0},13:function(){zj(this,0)},32:function(a,b){Gj(this,0,b)},33:function(a,b){Ij(this,0,b)},64:function(a,b){Mj(this,0,0,b)},65:function(a,b){Mj(this,0,1,b)},66:function(a,
b){Mj(this,0,2,b)},67:function(a,b){Oj(this,0,b)},129:function(a,b){Bj(this,0,2,b)},130:function(a,b){Bj(this,0,3,b)},131:function(a,b){Bj(this,0,1,b)},135:function(a,b){Bj(this,0,0,b)}},Ni={96:S.prototype.Ol,97:S.prototype.Pl,98:S.prototype.Ql,99:S.prototype.Rl,160:S.prototype.ej},Ri={96:S.prototype.bl,97:S.prototype.cl,100:S.prototype.al,112:S.prototype.ql,113:S.prototype.rl,128:function(a,b){this.I[7]=b},132:function(a,b){this.I[0]=b},133:function(a,b){this.I[1]=b},134:function(a,b){this.I[2]= b){Mj(this,0,2,b)},67:function(a,b){Oj(this,0,b)},129:function(a,b){Bj(this,0,2,b)},130:function(a,b){Bj(this,0,3,b)},131:function(a,b){Bj(this,0,1,b)},135:function(a,b){Bj(this,0,0,b)}},Ni={96:S.prototype.Ol,97:S.prototype.Pl,98:S.prototype.Ql,99:S.prototype.Rl,160:S.prototype.ej},Ri={96:S.prototype.bl,97:S.prototype.cl,100:S.prototype.al,112:S.prototype.ql,113:S.prototype.rl,128:function(a,b){this.I[7]=b},132:function(a,b){this.I[0]=b},133:function(a,b){this.I[1]=b},134:function(a,b){this.I[2]=
b},136:function(a,b){this.I[3]=b},137:function(a,b){Bj(this,1,2,b)},138:function(a,b){Bj(this,1,3,b)},139:function(a,b){Bj(this,1,1,b)},140:function(a,b){this.I[4]=b},141:function(a,b){this.I[5]=b},142:function(a,b){this.I[6]=b},143:function(a,b){Bj(this,1,0,b)},160:function(a,b){Gj(this,1,b)},161:function(a,b){Ij(this,1,b)},192:function(a,b){oj(this,1,0,b)},194:function(a,b){qj(this,1,0,b)},196:function(a,b){oj(this,1,1,b)},198:function(a,b){qj(this,1,1,b)},200:function(a,b){oj(this,1,2,b)},202:function(a, b},136:function(a,b){this.I[3]=b},137:function(a,b){Bj(this,1,2,b)},138:function(a,b){Bj(this,1,3,b)},139:function(a,b){Bj(this,1,1,b)},140:function(a,b){this.I[4]=b},141:function(a,b){this.I[5]=b},142:function(a,b){this.I[6]=b},143:function(a,b){Bj(this,1,0,b)},160:function(a,b){Gj(this,1,b)},161:function(a,b){Ij(this,1,b)},192:function(a,b){oj(this,1,0,b)},194:function(a,b){qj(this,1,0,b)},196:function(a,b){oj(this,1,1,b)},198:function(a,b){qj(this,1,1,b)},200:function(a,b){oj(this,1,2,b)},202:function(a,
b){qj(this,1,2,b)},204:function(a,b){oj(this,1,3,b)},206:function(a,b){qj(this,1,3,b)},208:function(a,b){this.G[1].bg=b},210:function(a,b){wj(this,1,b)},212:function(a,b){xj(this,1,b)},214:function(a,b){this.G[1].$b[b&3].mode=b},216:function(){this.G[1].Ib=0},218:function(){zj(this,1)},240:S.prototype.Bl,241:S.prototype.Cl},Pi={96:S.prototype.$k,97:S.prototype.Zk,160:S.prototype.ej},Ti={72:function(a,b){Mj(this,1,0,b)},73:function(a,b){Mj(this,1,1,b)},74:function(a,b){Mj(this,1,2,b)},75:function(a, b){qj(this,1,2,b)},204:function(a,b){oj(this,1,3,b)},206:function(a,b){qj(this,1,3,b)},208:function(a,b){this.G[1].bg=b},210:function(a,b){sj(this,1,b)},212:function(a,b){xj(this,1,b)},214:function(a,b){this.G[1].$b[b&3].mode=b},216:function(){this.G[1].Ib=0},218:function(){zj(this,1)},240:S.prototype.Bl,241:S.prototype.Cl},Pi={96:S.prototype.$k,97:S.prototype.Zk,160:S.prototype.ej},Ti={72:function(a,b){Mj(this,1,0,b)},73:function(a,b){Mj(this,1,1,b)},74:function(a,b){Mj(this,1,2,b)},75:function(a,
b){Oj(this,1,b)}};Ea(function(){for(var a=Za(document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new S(d);Ya(d,c);mj(d)}}); b){Oj(this,1,b)}};Ea(function(){for(var a=Za(document,"pcjs","chipset"),b=0;b<a.length;b++){var c=a[b],d=Wa(c),d=new S(d);Ya(d,c);mj(d)}});
function ak(a){Ia.call(this,"ROM",a,ak);this.B=null;this.I=a.addr;this.D=a.size;this.G=a.alias;this.H=a.file;this.P=fa(this.H);this.C=a.notify;this.L=null;if(this.C&&(a=this.C.indexOf("["),0<a)){try{this.L=eval(this.C.substr(a))}catch(d){}this.C=this.C.substr(0,a)}if(this.H){a=this.H;var b=ga(this.P);"json"!=b&&"hex"!=b&&(a=qa()+"/api/v1/dump?file="+this.H+"&format=bytes&decimal=true");var c=this;pa(a,null,!0,function(a,b,f){bk(c,a,b,f)})}}Qa(ak); function ak(a){Ia.call(this,"ROM",a,ak);this.B=null;this.I=a.addr;this.D=a.size;this.G=a.alias;this.H=a.file;this.P=fa(this.H);this.C=a.notify;this.L=null;if(this.C&&(a=this.C.indexOf("["),0<a)){try{this.L=eval(this.C.substr(a))}catch(d){}this.C=this.C.substr(0,a)}if(this.H){a=this.H;var b=ga(this.P);"json"!=b&&"hex"!=b&&(a=qa()+"/api/v1/dump?file="+this.H+"&format=bytes&decimal=true");var c=this;pa(a,null,!0,function(a,b,f){bk(c,a,b,f)})}}Qa(ak);
ak.prototype.pc=function(a,b,c,d){this.ha=b;this.A=c;this.Ia=d;ck(this)};ak.prototype.Vb=function(){this.K&&(this.Ia&&this.Ia.A(this.id,0,this.I>>>4,0,this.I,this.D,this.K),delete this.K);return!0};ak.prototype.Ub=function(){return!0}; ak.prototype.pc=function(a,b,c,d){this.ha=b;this.A=c;this.Ia=d;ck(this)};ak.prototype.Vb=function(){this.K&&(this.Ia&&this.Ia.A(this.id,0,this.I>>>4,0,this.I,this.D,this.K),delete this.K);return!0};ak.prototype.Ub=function(){return!0};
@ -472,8 +472,8 @@ function Jk(a,b,c,d){if(d)a.Ba("Unable to load font ROM (error "+d+": "+b+")");e
function sl(a,b){if(1==b)return a.oa[0]=Ok[0],a.oa[1]=Ok[7],a.oa;if(2==b){var c=a.D.ff;if(a.D===a.B){var d=a.B.Kc[0],c=d&7;d&16&&(c|=8);18!=a.B.Kc[1]&&(c|=32)}a.oa[0]=Ok[c&15];c=c&32?Qk:Pk;for(d=0;d<c.length;d++)a.oa[d+1]=Ok[c[d]];return a.oa}if(a.R===a.Cb)return Ok;a.La&&b&&!a.oa[16]&&(a.La=!1);if(!a.La){var c=a.B,d=c.ze,e,f,g,h,k;if(8==b)for(f=0;256>f;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.oa[f]=[h,k,g,255];else{var m=d&&d[255];e=null!=c.Kc[15]?c.Kc:Rk;for(f=0;16>f;f++)g=e[f]&63,m?(g|= function sl(a,b){if(1==b)return a.oa[0]=Ok[0],a.oa[1]=Ok[7],a.oa;if(2==b){var c=a.D.ff;if(a.D===a.B){var d=a.B.Kc[0],c=d&7;d&16&&(c|=8);18!=a.B.Kc[1]&&(c|=32)}a.oa[0]=Ok[c&15];c=c&32?Qk:Pk;for(d=0;d<c.length;d++)a.oa[d+1]=Ok[c[d]];return a.oa}if(a.R===a.Cb)return Ok;a.La&&b&&!a.oa[16]&&(a.La=!1);if(!a.La){var c=a.B,d=c.ze,e,f,g,h,k;if(8==b)for(f=0;256>f;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.oa[f]=[h,k,g,255];else{var m=d&&d[255];e=null!=c.Kc[15]?c.Kc:Rk;for(f=0;16>f;f++)g=e[f]&63,m?(g|=
(c.Kc[20]&12)<<4,c.Kc[16]&128&&(g&=-49,g|=(c.Kc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.oa[f]=[h,k,g,255]}a.La=!0}return a.oa}function dk(a,b,c,d){a.Ab=b;a.Xa=c;a.Ja=d} (c.Kc[20]&12)<<4,c.Kc[16]&128&&(g&=-49,g|=(c.Kc[20]&3)<<4),g=d[g],h=g<<2&252,k=g>>4&252,g=g>>10&252):(h=(g&4?170:0)|(g&32?85:0),k=(g&2?170:0)|(g&16?85:0),g=(g&1?170:0)|(g&8?85:0)),a.oa[f]=[h,k,g,255]}a.La=!0}return a.oa}function dk(a,b,c,d){a.Ab=b;a.Xa=c;a.Ja=d}
function ol(a,b){var c=!1;if(window&&a.Ab&&(!b||a.I)){var d=0,e=a.Ja?a.Ja:8,f=sl(a);null!=a.Xa[0]&&tl(a,3,a.Xa[0],d,e,8,a.Ab,f)&&(c=!0);d=a.Ja?0:2048;e=a.Ja?a.Ja:9;null!=a.Xa[1]&&(tl(a,1,a.Xa[1],d,e,14,a.Ab,Mk,Nk)&&(c=!0),a.Ja&&tl(a,a.Ra,a.Xa[1],0,a.Ja,14,a.Ab,f)&&(c=!0))}return c}function tl(a,b,c,d,e,f,g,h,k){var m=!1;null!=c&&(ul(a,b,c,d,e,f,g,h,k)&&(m=!0),a.Zd&&ul(a,b<<1,c,d,e,f,g,h,k)&&(m=!0));return m} function ol(a,b){var c=!1;if(window&&a.Ab&&(!b||a.I)){var d=0,e=a.Ja?a.Ja:8,f=sl(a);null!=a.Xa[0]&&tl(a,3,a.Xa[0],d,e,8,a.Ab,f)&&(c=!0);d=a.Ja?0:2048;e=a.Ja?a.Ja:9;null!=a.Xa[1]&&(tl(a,1,a.Xa[1],d,e,14,a.Ab,Mk,Nk)&&(c=!0),a.Ja&&tl(a,a.Ra,a.Xa[1],0,a.Ja,14,a.Ab,f)&&(c=!0))}return c}function tl(a,b,c,d,e,f,g,h,k){var m=!1;null!=c&&(ul(a,b,c,d,e,f,g,h,k)&&(m=!0),a.Zd&&ul(a,b<<1,c,d,e,f,g,h,k)&&(m=!0));return m}
function ul(a,b,c,d,e,f,g,h,k){var m=!1,p=b&1?0:1,x=a.xa[b],r=16>h.length?h.length:16;x||(x={tc:e<<p,uc:f<<p,be:Array(r),Ch:h.slice(0,r),Ge:k,ag:Array(r)});for(k=0;k<r;k++){var z=h[k],E=x.be[k]?x.Ch[k]:[];if(z[0]!==E[0]||z[1]!==E[1]||z[2]!==E[2]){var m=x,E=k,J=p,W=c,da=d,ua=e,va=f,qd=g,bn=[0,0,0,0],ue=document.createElement("canvas");ue.width=m.tc<<4;ue.height=m.uc<<4;for(var sj=ue.getContext("2d"),Ab=void 0,Oc=void 0,ac=void 0,ve=8>va||!da?va:8,Hf=sj.createImageData(m.tc,m.uc),Ab=0;256>Ab;Ab++){for(ac= function ul(a,b,c,d,e,f,g,h,k){var m=!1,p=b&1?0:1,x=a.xa[b],r=16>h.length?h.length:16;x||(x={tc:e<<p,uc:f<<p,be:Array(r),Ch:h.slice(0,r),Ge:k,ag:Array(r)});for(k=0;k<r;k++){var z=h[k],E=x.be[k]?x.Ch[k]:[];if(z[0]!==E[0]||z[1]!==E[1]||z[2]!==E[2]){var m=x,E=k,J=p,W=c,da=d,ua=e,va=f,qd=g,bn=[0,0,0,0],ue=document.createElement("canvas");ue.width=m.tc<<4;ue.height=m.uc<<4;for(var tj=ue.getContext("2d"),Ab=void 0,Oc=void 0,ac=void 0,ve=8>va||!da?va:8,Hf=tj.createImageData(m.tc,m.uc),Ab=0;256>Ab;Ab++){for(ac=
0;ac<va;ac++)for(var cn=m.Ge&&E&1&&ac>=va-2,dn=qd[ac<ve?W+Ab*ve+ac:da+Ab*ve+ac-ve],If=0;If<=J;If++)for(Oc=0;Oc<ua;Oc++){var tj=Oc<<J,uj=(ac<<J)+If,vj=cn||dn&128>>(8<=Oc&&192<=Ab&&223>=Ab?7:Oc)?z:bn;vl(Hf,tj,uj,vj);J&&vl(Hf,tj+1,uj,vj)}sj.putImageData(Hf,(Ab&15)*m.tc,(Ab>>4)*m.uc)}m.be[E]="#"+ea(z[0],2)+ea(z[1],2)+ea(z[2],2);m.Ch[E]=z;m.ag[E]=ue;m=!0}}a.xa[b]=x;return m}function wl(a){0<a.za||0<=a.ia?0>a.Ea&&(a.Ea=0):a.Ea=-1} 0;ac<va;ac++)for(var cn=m.Ge&&E&1&&ac>=va-2,dn=qd[ac<ve?W+Ab*ve+ac:da+Ab*ve+ac-ve],If=0;If<=J;If++)for(Oc=0;Oc<ua;Oc++){var uj=Oc<<J,vj=(ac<<J)+If,wj=cn||dn&128>>(8<=Oc&&192<=Ab&&223>=Ab?7:Oc)?z:bn;vl(Hf,uj,vj,wj);J&&vl(Hf,uj+1,vj,wj)}tj.putImageData(Hf,(Ab&15)*m.tc,(Ab>>4)*m.uc)}m.be[E]="#"+ea(z[0],2)+ea(z[1],2)+ea(z[2],2);m.Ch[E]=z;m.ag[E]=ue;m=!0}}a.xa[b]=x;return m}function wl(a){0<a.za||0<=a.ia?0>a.Ea&&(a.Ea=0):a.Ea=-1}
function rl(a){if(a.I){for(var b=10;15>=b;b++)if(null==a.D.ab[b])return;var c=a.D.ab[10],b=c&31,d=a.D.ab[11]&31,e=a.D.ab[9]&31,f=!1;a.D===a.B&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)xl(a);else{c=a.D.ab[15]+((a.D.ab[14]&63)<<8);a.ia!=c&&(xl(a),a.ia=c);d=d-b+1;if(a.td!=b||a.Gc!=d)a.td=b,a.Gc=d;a.Da=e+1;wl(a)}}} function rl(a){if(a.I){for(var b=10;15>=b;b++)if(null==a.D.ab[b])return;var c=a.D.ab[10],b=c&31,d=a.D.ab[11]&31,e=a.D.ab[9]&31,f=!1;a.D===a.B&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)xl(a);else{c=a.D.ab[15]+((a.D.ab[14]&63)<<8);a.ia!=c&&(xl(a),a.ia=c);d=d-b+1;if(a.td!=b||a.Gc!=d)a.td=b,a.Gc=d;a.Da=e+1;wl(a)}}}
function xl(a){if(0<=a.ia){if(void 0!==a.S){var b=a.S[a.ia];if(b&131072){var b=b&-131073,c=a.ia%a.H,d=a.ia/a.H|0;a.I&&a.xa[a.I]&&(a.Ga&&yl(a,c,d,b,a.Ga),yl(a,c,d,b));a.S[a.ia]=b}}a.ia=-1}} function xl(a){if(0<=a.ia){if(void 0!==a.S){var b=a.S[a.ia];if(b&131072){var b=b&-131073,c=a.ia%a.H,d=a.ia/a.H|0;a.I&&a.xa[a.I]&&(a.Ga&&yl(a,c,d,b,a.Ga),yl(a,c,d,b));a.S[a.ia]=b}}a.ia=-1}}
function zl(a){var b,c=a.D;a.Zc=!1;var d=c.Hd[5];if(null!=d){b=1024;var e=0,f=c.Hd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.Hc=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.Ra==ek&&(e=3,c.Hc=f&7)}d&8&&(b=1280);c=c.Be[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.Zc=!0));b|=e}return b} function zl(a){var b,c=a.D;a.Zc=!1;var d=c.Hd[5];if(null!=d){b=1024;var e=0,f=c.Hd[3]&31;switch(d&3){case 0:if(f){e=32;switch(f&24){case 8:e=96;break;case 16:e=160;break;case 24:e=224}c.Hc=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.Ra==ek&&(e=3,c.Hc=f&7)}d&8&&(b=1280);c=c.Be[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.Zc=!0));b|=e}return b}
@ -546,7 +546,7 @@ var sm={3:{jd:3,yd:0,name:aa.Fm},4:{jd:2,yd:1,name:aa.Dm},5:{jd:9,yd:7,name:aa.N
l.zb=function(a,b,c){var d=this;switch(b){case "listDisks":this.ka[b]=c;if(this.W){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.W?a.text>b.text?1:a.text<b.text?-1:0:a.value>b.value?1:a.value<b.value?-1:0});for(a=0;a<b.length;a++)c.options[a]=b[a]}c.onchange=function(){var a=d.ka.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){n("FDC option error: "+h.message)}b=g.desc;void 0=== l.zb=function(a,b,c){var d=this;switch(b){case "listDisks":this.ka[b]=c;if(this.W){b=[];for(a=0;a<c.options.length;a++)b.push(c.options[a]);b.sort(function(a,b){return"path"!=d.W?a.text>b.text?1:a.text<b.text?-1:0:a.value>b.value?1:a.value<b.value?-1:0});for(a=0;a<b.length;a++)c.options[a]=b[a]}c.onchange=function(){var a=d.ka.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){n("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.ka[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tm(d,a)},!0;case "loadDrive":return this.ka[b]=c,c.onclick=function(){var a=d.ka.listDisks;a&&um(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.Y){c.parentNode.removeChild(c);break}this.ka[b]=c;c.onclick=function(){var a=d.ka.listDrives;a&&a.options&&d.B&&(a=ca(a.value, 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.ka[b]=c,c.onchange=function(){var a=ca(c.value,10);null!=a&&tm(d,a)},!0;case "loadDrive":return this.ka[b]=c,c.onclick=function(){var a=d.ka.listDisks;a&&um(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.Y){c.parentNode.removeChild(c);break}this.ka[b]=c;c.onclick=function(){var a=d.ka.listDrives;a&&a.options&&d.B&&(a=ca(a.value,
10),(a=d.B[a])?(a=a.ta)?(a=za(pm(a),"octet-stream",!0,a.nh.replace(".json",".img")),n(a)):d.Ba("No diskette loaded in drive."):d.Ba("No diskette drive selected."))};return!0;case "mountDrive":if(!this.Y){c.parentNode.removeChild(c);break}this.ka[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;um(d,fa(b,!0),b,a)}return!1};return!0}return!1}; 10),(a=d.B[a])?(a=a.ta)?(a=za(pm(a),"octet-stream",!0,a.nh.replace(".json",".img")),n(a)):d.Ba("No diskette loaded in drive."):d.Ba("No diskette drive selected."))};return!0;case "mountDrive":if(!this.Y){c.parentNode.removeChild(c);break}this.ka[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;um(d,fa(b,!0),b,a)}return!1};return!0}return!1};
l.pc=function(a,b,c,d){this.ha=b;this.A=c;this.Ia=d;this.ba=a;this.P=kb(a,"ChipSet");if((this.K=jc(this.ba,"autoMount")||this.K)&&"string"==typeof this.K)try{this.K=eval("("+this.K+")")}catch(e){n("FDC auto-mount error: "+e.message+" ("+this.K+")"),this.K=null}vm(this);Nb(b,this,wm);Pb(b,this,xm);this.Y&&ym(this,"Local Disk","?");ym(this,"Remote Disk","??");zm(this)||ab(this)}; l.pc=function(a,b,c,d){this.ha=b;this.A=c;this.Ia=d;this.ba=a;this.P=kb(a,"ChipSet");if((this.K=jc(this.ba,"autoMount")||this.K)&&"string"==typeof this.K)try{this.K=eval("("+this.K+")")}catch(e){n("FDC auto-mount error: "+e.message+" ("+this.K+")"),this.K=null}vm(this);Nb(b,this,wm);Pb(b,this,xm);ym(this,"None","",!0);this.Y&&ym(this,"Local Disk","?");ym(this,"Remote Disk","??");zm(this)||ab(this)};
l.Vb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ba.jg){this.C=[];for(var c=0;c<this.B.length;c++)Am(this,c,!0);zm(this,!0)}}else if(!this.restore(a))return!1;if(c=this.ka.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.value="";for(var d=0;d<this.Z;d++){var e=document.createElement("option");e.value=d;e.text=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.Z&&(c.value="0",tm(this,0))}}return!0};l.Ub=function(a){return a?this.save():!0};l.reset=function(){vm(this)}; l.Vb=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.ba.jg){this.C=[];for(var c=0;c<this.B.length;c++)Am(this,c,!0);zm(this,!0)}}else if(!this.restore(a))return!1;if(c=this.ka.listDrives){for(;c.firstChild;)c.removeChild(c.firstChild);c.value="";for(var d=0;d<this.Z;d++){var e=document.createElement("option");e.value=d;e.text=String.fromCharCode(65+d)+":";c.appendChild(e)}0<this.Z&&(c.value="0",tm(this,0))}}return!0};l.Ub=function(a){return a?this.save():!0};l.reset=function(){vm(this)};
l.save=function(){var a=new ce(this),b=0,c=[];c[b++]=this.Qa;c[b++]=0;c[b++]=this.aa;c[b++]=this.I;c[b++]=this.G;c[b++]=this.D;c[b++]=this.S;for(var d=b++,e=0,f=[],g=0;g<this.B.length;g++){var h=e++,k=this.B[g],m=0,p=[];p[m++]=k.kb;p[m++]=[k.name,k.ib,k.jb,k.eb,k.nb,k.oe,k.Hf,k.Ue,k.Ve];p[m++]=k.Ya;p[m++]=k.wd+100;p[m++]=k.xb;p[m++]=k.mb;p[m++]=k.xd;p[m++]=k.wb;p[m++]=k.Ua;p[m++]=k.me;p[m++]=k.ij;p[m]=k.Vd;f[h]=p}c[d]=f;d=b++;for(e=0;e<this.B.length;e++)f=this.B[e],f.ta&&Bm(this,f.Vd,f.ta);c[d]=this.C; l.save=function(){var a=new ce(this),b=0,c=[];c[b++]=this.Qa;c[b++]=0;c[b++]=this.aa;c[b++]=this.I;c[b++]=this.G;c[b++]=this.D;c[b++]=this.S;for(var d=b++,e=0,f=[],g=0;g<this.B.length;g++){var h=e++,k=this.B[g],m=0,p=[];p[m++]=k.kb;p[m++]=[k.name,k.ib,k.jb,k.eb,k.nb,k.oe,k.Hf,k.Ue,k.Ve];p[m++]=k.Ya;p[m++]=k.wd+100;p[m++]=k.xb;p[m++]=k.mb;p[m++]=k.xd;p[m++]=k.wb;p[m++]=k.Ua;p[m++]=k.me;p[m++]=k.ij;p[m]=k.Vd;f[h]=p}c[d]=f;d=b++;for(e=0;e<this.B.length;e++)f=this.B[e],f.ta&&Bm(this,f.Vd,f.ta);c[d]=this.C;
c[b++]=this.L;c[b]=this.H;C(a,0,c);return a.data()};l.restore=function(a){return vm(this,a[0])}; c[b++]=this.L;c[b]=this.H;C(a,0,c);return a.data()};l.restore=function(a){return vm(this,a[0])};
@ -557,7 +557,7 @@ function zm(a,b){b||(a.R=0);if(a.K)for(var c in a.K){var d=a.K[c],e=d.path,f;if(
function um(a,b,c,d){var e,f=a.ka.listDrives;if(f&&!isNaN(e=ca(f.value,10))&&0<=e&&e<a.B.length)if(c)if("?"==c)a.Ba('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=fa(c)}for(;0>Cm(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;h<f.C.length;h++)if(f.C[h][1]==g){f.C.splice(h,1);break}Am(a, function um(a,b,c,d){var e,f=a.ka.listDrives;if(f&&!isNaN(e=ca(f.value,10))&&0<=e&&e<a.B.length)if(c)if("?"==c)a.Ba('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=fa(c)}for(;0>Cm(a,e,b,c,!1,d)&&window.confirm("Click OK to reload the original disk.\n(WARNING: All disk changes will be discarded)");){for(var f=a,g=c,h=void 0,h=0;h<f.C.length;h++)if(f.C[h][1]==g){f.C.splice(h,1);break}Am(a,
e,!1,!0)}}else Am(a,e);else a.Ba("Unable to load the selected drive")}function Cm(a,b,c,d,e,f){var g=a.B[b];if(d&&g.Vd!=d){Am(a,b,e,!0);if(g.Qc)return a.Ba("Drive "+b+" busy"),0;g.Qc=!0;e&&(g.Nd=!0,a.R++);g.me=!!f;return(new am(a,g,"preload")).load(c,d,f,a.Mh)?1:0}return-1} e,!1,!0)}}else Am(a,e);else a.Ba("Unable to load the selected drive")}function Cm(a,b,c,d,e,f){var g=a.B[b];if(d&&g.Vd!=d){Am(a,b,e,!0);if(g.Qc)return a.Ba("Drive "+b+" busy"),0;g.Qc=!0;e&&(g.Nd=!0,a.R++);g.me=!!f;return(new am(a,g,"preload")).load(c,d,f,a.Mh)?1:0}return-1}
l.Mh=function(a,b,c,d,e){var f;a.Qc=!1;b&&(f=b.info(),b&&f[0]>a.ib||f[1]>a.jb)&&(this.Ba('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Qa)),b=null);b?(a.ta=b,a.ij=c,a.Vd=d,Dm(this,c,d,b),f=b.info(),this.L|=128,this.Ba('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Qa),a.Nd||e),a.Hf=f[0],a.Ue=f[1],a.Ve=f[2],this.ba&&uc(this.ba)):a.me=!1;a.Nd&&(a.Nd=!1,--this.R||ab(this));tm(this,a.Qa)}; l.Mh=function(a,b,c,d,e){var f;a.Qc=!1;b&&(f=b.info(),b&&f[0]>a.ib||f[1]>a.jb)&&(this.Ba('Diskette "'+c+'" too large for drive '+String.fromCharCode(65+a.Qa)),b=null);b?(a.ta=b,a.ij=c,a.Vd=d,Dm(this,c,d,b),f=b.info(),this.L|=128,this.Ba('Mounted diskette "'+c+'" in drive '+String.fromCharCode(65+a.Qa),a.Nd||e),a.Hf=f[0],a.Ue=f[1],a.Ve=f[2],this.ba&&uc(this.ba)):a.me=!1;a.Nd&&(a.Nd=!1,--this.R||ab(this));tm(this,a.Qa)};
function ym(a,b,c){if((a=a.ka.listDisks)&&a.options){for(var d=0;d<a.options.length;d++)if(a.options[d].value==c)return;d=document.createElement("option");d.text=b;d.value=c;a.appendChild(d)}} function ym(a,b,c,d){if((a=a.ka.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 tm(a,b){if(0<=b&&b<a.B.length){var c=a.B[b],d=a.ka.listDisks,e=a.ka.listDrives;if(d&&e&&d.options&&e.options&&(e=ca(e.value,10),c=c.me?"?":c.Vd,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function Am(a,b,c,d){var e=a.B[b];e.ta&&(Bm(a,e.Vd,e.ta),e.ij="",e.Vd="",e.ta=null,e.me=!1,a.L|=128,d||a.Ba("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||tm(a,b))} function tm(a,b){if(0<=b&&b<a.B.length){var c=a.B[b],d=a.ka.listDisks,e=a.ka.listDrives;if(d&&e&&d.options&&e.options&&(e=ca(e.value,10),c=c.me?"?":c.Vd,!isNaN(e)&&e==b)){for(e=0;e<d.options.length;e++)if(d.options[e].value==c){d.selectedIndex!=e&&(d.selectedIndex=e);break}e==d.options.length&&(d.selectedIndex=0)}}}function Am(a,b,c,d){var e=a.B[b];e.ta&&(Bm(a,e.Vd,e.ta),e.ij="",e.Vd="",e.ta=null,e.me=!1,a.L|=128,d||a.Ba("Drive "+String.fromCharCode(65+b)+" unloaded",c),c||d||tm(a,b))}
function Dm(a,b,c,d){var e;for(e=0;e<a.C.length;e++)if(a.C[e][1]==c){d.restore(a.C[e][2]);return}a.C[e]=[b,c,[]]}function Bm(a,b,c){var d;for(d=0;d<a.C.length;d++)if(a.C[d][1]==b){a.C[d][2]=c.save();break}}l.Al=function(a,b){b&4?this.S&4||this.S&8&&this.P&&Te(this.P,6):vm(this);this.S=b};l.lk=function(){return 80};l.nk=function(){return this.aa};l.kk=function(){var a=0;this.G<this.D&&(a=this.I[this.G]);this.S&8&&this.P&&Se(this.P,6);++this.G>=this.D&&(this.aa&=-81,this.G=this.D=0);return a}; function Dm(a,b,c,d){var e;for(e=0;e<a.C.length;e++)if(a.C[e][1]==c){d.restore(a.C[e][2]);return}a.C[e]=[b,c,[]]}function Bm(a,b,c){var d;for(d=0;d<a.C.length;d++)if(a.C[d][1]==b){a.C[d][2]=c.save();break}}l.Al=function(a,b){b&4?this.S&4||this.S&8&&this.P&&Te(this.P,6):vm(this);this.S=b};l.lk=function(){return 80};l.nk=function(){return this.aa};l.kk=function(){var a=0;this.G<this.D&&(a=this.I[this.G]);this.S&8&&this.P&&Se(this.P,6);++this.G>=this.D&&(this.aa&=-81,this.G=this.D=0);return a};
l.zl=function(a,b){this.D<this.I.length&&(this.I[this.D++]=b);var c=this.I[0]&31;if(void 0!==sm[c]&&this.D>=sm[c].jd){var d=!1;this.G=0;var c=Em(this),e,f,g,h,k,m=c&31;switch(m){case 3:Em(this);Em(this);Fm(this);break;case 4:f=Em(this);this.Qa=f&3;e=this.B[this.Qa];Fm(this);Gm(this,(e.kb&-16777216)>>>24);break;case 5:case 6:f=Em(this);d=f>>2&1;this.Qa=f&3;e=this.B[this.Qa];e.Ya=d;f=e.xb=Em(this);g=Em(this);h=e.mb=Em(this);k=Em(this);e.wb=128<<k;e.xd=Em(this);Em(this);Em(this);6==m?(m=e,m.kb=72,m.ta&& l.zl=function(a,b){this.D<this.I.length&&(this.I[this.D++]=b);var c=this.I[0]&31;if(void 0!==sm[c]&&this.D>=sm[c].jd){var d=!1;this.G=0;var c=Em(this),e,f,g,h,k,m=c&31;switch(m){case 3:Em(this);Em(this);Fm(this);break;case 4:f=Em(this);this.Qa=f&3;e=this.B[this.Qa];Fm(this);Gm(this,(e.kb&-16777216)>>>24);break;case 5:case 6:f=Em(this);d=f>>2&1;this.Qa=f&3;e=this.B[this.Qa];e.Ya=d;f=e.xb=Em(this);g=Em(this);h=e.mb=Em(this);k=Em(this);e.wb=128<<k;e.xd=Em(this);Em(this);Em(this);6==m?(m=e,m.kb=72,m.ta&&