From cb9aef41858873c084d5e15eefd2de657c524092 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Thu, 14 Apr 2016 22:49:09 -0700 Subject: [PATCH 01/54] Add support for --private to server.js (for my private builds only) --- modules/htmlout/lib/htmlout.js | 29 +++++++++++++++++++++-------- server.js | 3 ++- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/modules/htmlout/lib/htmlout.js b/modules/htmlout/lib/htmlout.js index 234898b74..8d72d8438 100644 --- a/modules/htmlout/lib/htmlout.js +++ b/modules/htmlout/lib/htmlout.js @@ -88,6 +88,11 @@ var fServerDebug = false; */ var logFile = null; +/* + * fPrivate determines the insertion of private.js + */ +var fPrivate = false; + /* * fRebuild controls the rebuilding of cached "index.html" files, assuming fCache is true; fRebuild is false * by default, and it can be set for all requests using the setOptions() 'rebuild' property, or for individual @@ -674,6 +679,7 @@ HTMLOut.logError = function(err, fForce) * 'console' fConsole * 'debug' fServerDebug * 'logfile' logFile + * 'private' fPrivate * 'rebuild' fRebuild * 'senddef' fSendDefault * 'sockets' fSockets @@ -698,6 +704,9 @@ HTMLOut.setOptions = function(options) logFile = options['logfile']; HTTPAPI.setLogFile(logFile); } + if (options['private'] !== undefined) { + fPrivate = options['private']; + } if (options['rebuild'] !== undefined) { fRebuild = options['rebuild']; } @@ -1872,15 +1881,19 @@ HTMLOut.prototype.processMachines = function(aMachines, buildOptions, done) */ if ((asFiles = aMachineFiles[sClass].slice())) { var i; - if (fNoDebug) { - /* - * We need to find the shared "defines.js" source file, and follow it with "nodebug.js". - */ - for (i = 0; i < asFiles.length; i++) { - if (asFiles[i].indexOf("shared/lib/defines.js") >= 0) { - asFiles.splice(i + 1, 0, asFiles[i].replace("defines.js", "nodebug.js")); - break; + /* + * We need to find the shared "defines.js" source file, because we may need to follow it + * with "nodebug.js" and/or "private.js". + */ + for (i = 0; i < asFiles.length; i++) { + if (asFiles[i].indexOf("shared/lib/defines.js") >= 0) { + if (fPrivate) { + asFiles.splice(i + 1, 0, asFiles[i].replace("defines.js", "private.js")); } + if (fNoDebug) { + asFiles.splice(i + 1, 0, asFiles[i].replace("defines.js", "nodebug.js")); + } + break; } } if (!fDebugger) { diff --git a/server.js b/server.js index 1a2897ad7..0743fce79 100644 --- a/server.js +++ b/server.js @@ -59,6 +59,7 @@ var fCache = (args.argv['cache'] === undefined? true : args.argv['cache']); var fConsole = (args.argv['console'] === undefined? false : args.argv['console']); var fDebug = (args.argv['debug'] === undefined? false : args.argv['debug']); var fLogging = (args.argv['logging'] === undefined? false : args.argv['logging']); +var fPrivate = (args.argv['private'] === undefined? false : args.argv['private']); var fRebuild = (args.argv['rebuild'] === undefined? false : args.argv['rebuild']); var fSockets = (args.argv['sockets'] === undefined? false : args.argv['sockets']); @@ -72,7 +73,7 @@ HTMLOut.setRoot(sServerRoot); * 'debug' and 'rebuild' options OFF, which is why we warn if they're enabled. */ if (fConsole || fDebug || fRebuild) console.log("warning: non-production options enabled"); -HTMLOut.setOptions({'cache': fCache, 'console': fConsole, 'debug': fDebug, 'rebuild': fRebuild, 'sockets': fSockets}); +HTMLOut.setOptions({'cache': fCache, 'console': fConsole, 'debug': fDebug, 'private': fPrivate, 'rebuild': fRebuild, 'sockets': fSockets}); var app = express(); app.enable("strict routing"); From 3c8e7fb78f49c94dec093596875a9fa6f9293725 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Thu, 14 Apr 2016 22:56:51 -0700 Subject: [PATCH 02/54] Add support for --private to server.js (for my private builds only) --- modules/htmlout/lib/htmlout.js | 5 ++++- modules/shared/lib/private.js | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/htmlout/lib/htmlout.js b/modules/htmlout/lib/htmlout.js index 8d72d8438..d4b43c5cd 100644 --- a/modules/htmlout/lib/htmlout.js +++ b/modules/htmlout/lib/htmlout.js @@ -89,7 +89,10 @@ var fServerDebug = false; var logFile = null; /* - * fPrivate determines the insertion of private.js + * fPrivate will be set to true to by setOptions() if the server was started with '--private', giving the Node + * server an option comparable to Jekyll's site.pcjs.private setting, and triggering the load of "private.js" as + * appropriate. Currently, the only (checked-in) use of the private setting is to set the client's PRIVATE global + * and trigger the loading of alternate (ie, private) XML files in embed.js. */ var fPrivate = false; diff --git a/modules/shared/lib/private.js b/modules/shared/lib/private.js index dbcbe9c9b..70d7bab28 100644 --- a/modules/shared/lib/private.js +++ b/modules/shared/lib/private.js @@ -38,5 +38,8 @@ * PRIVATE enables certain private features that we don't want enabled on the public web server, so by default, * PRIVATE is false. For Jekyll configurations, if site.pcjs.private is set, this file gets included, overriding * the default. + * + * Currently, the only (checked-in) use of the private setting is to set the client's PRIVATE global and trigger + * the loading of alternate (ie, private) XML files in embed.js. */ PRIVATE = true; From fd80ab38125de4daf9e994e3f184e6c05afa09c9 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Thu, 14 Apr 2016 23:07:52 -0700 Subject: [PATCH 03/54] IBM BASIC Compiler 1.00 directory listings --- disks/pc/tools/ibm/bascom/1.00/README.md | 37 ++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/disks/pc/tools/ibm/bascom/1.00/README.md b/disks/pc/tools/ibm/bascom/1.00/README.md index fc29aea28..5c2a929e1 100644 --- a/disks/pc/tools/ibm/bascom/1.00/README.md +++ b/disks/pc/tools/ibm/bascom/1.00/README.md @@ -6,3 +6,40 @@ permalink: /disks/pc/tools/ibm/bascom/1.00/ IBM BASIC Compiler 1.00 --- + +### Directory of IBM BASIC Compiler 1.00 (Disk 1) + + Volume in drive A has no label + + Directory of A:\ + + BASCOM COM 41600 05-07-82 12:00p + LINK EXE 41856 05-07-82 12:00p + DEMO BAS 7424 05-07-82 12:00p + SAMPLE BAT 127 05-07-82 12:00p + CREATE BAT 86 05-07-82 12:00p + COM BAT 410 05-07-82 12:00p + EASY BAT 546 05-07-82 12:00p + BIG BAT 783 05-07-82 12:00p + SUBRT BAT 862 05-07-82 12:00p + 9 file(s) 93694 bytes + + Total files listed: + 9 file(s) 93694 bytes + 64000 bytes free + +### Directory of IBM BASIC Compiler 1.00 (Disk 2) + + Volume in drive A has no label + + Directory of A:\ + + BASCOM LIB 103936 05-07-82 12:00p + BASRUN EXE 31744 05-07-82 12:00p + BASRUN LIB 3072 05-07-82 12:00p + IBMCOM OBJ 3200 05-07-82 12:00p + 4 file(s) 141952 bytes + + Total files listed: + 4 file(s) 141952 bytes + 17920 bytes free From 84d3f0da00e81a65f1d928acca9ebef257bb63f9 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Fri, 15 Apr 2016 12:03:17 -0700 Subject: [PATCH 04/54] Starting on v1.21.7 (with live register display fixes) --- _config.yml | 2 +- apps/pc/1981/visicalc/manifest.xml | 2 +- apps/pc/1982/esuite/manifest.xml | 2 +- apps/pc/1985/rogue/manifest.xml | 2 +- apps/pc/1987/thinktank/manifest.xml | 2 +- apps/pc/1988/moria/manifest.xml | 2 +- apps/pc/1992/moria/manifest.xml | 2 +- devices/c1p/machine/32kb/machine.xml | 2 +- .../c1p/machine/8kb/all/debugger/machine.xml | 2 +- devices/c1p/machine/8kb/all/machine.xml | 2 +- devices/c1p/machine/8kb/array/machine.xml | 2 +- .../machine/8kb/large/debugger/machine.xml | 2 +- devices/c1p/machine/8kb/large/machine.xml | 2 +- devices/c1p/machine/8kb/small/machine.xml | 2 +- .../5150/cga/384kb/softkbd/machine.xml | 2 +- .../5150/cga/64kb/donkey/debugger/machine.xml | 2 +- .../machine/5150/cga/64kb/donkey/machine.xml | 2 +- .../machine/5150/cga/64kb/softkbd/machine.xml | 2 +- devices/pc/machine/5150/dual/64kb/machine.xml | 2 +- .../5150/mda/64kb/debugger/machine.xml | 2 +- devices/pc/machine/5150/mda/64kb/machine.xml | 2 +- .../machine/5150/mda/64kb/softkbd/machine.xml | 2 +- .../machine/5160/cga/256kb/array/machine.xml | 2 +- .../5160/cga/256kb/demo/debugger/machine.xml | 2 +- .../machine/5160/cga/256kb/demo/machine.xml | 2 +- .../5160/cga/256kb/softkbd/machine.xml | 2 +- .../cga/256kb/win101/debugger/machine.xml | 2 +- .../machine/5160/cga/256kb/win101/machine.xml | 2 +- .../5160/cga/256kb/win101/softkbd/machine.xml | 2 +- .../5160/cga/512kb/win101/softkbd/machine.xml | 2 +- .../5160/cga/640kb/debugger/machine.xml | 2 +- devices/pc/machine/5160/cga/640kb/machine.xml | 2 +- .../5160/cga/640kb/softkbd/machine.xml | 2 +- .../5160/ega/256kb/debugger/machine.xml | 2 +- devices/pc/machine/5160/ega/256kb/machine.xml | 2 +- .../machine/5160/ega/640kb/array/machine.xml | 2 +- .../5160/ega/640kb/debugger/machine.xml | 2 +- devices/pc/machine/5160/ega/640kb/machine.xml | 2 +- .../5160/mda/256kb/debugger/machine.xml | 2 +- .../mda/256kb/fake188/debugger/machine.xml | 2 +- .../5160/mda/256kb/fake188/machine.xml | 2 +- devices/pc/machine/5160/mda/256kb/machine.xml | 2 +- .../machine/5160/mda/64kb/softkbd/machine.xml | 2 +- .../5170/cga/640kb/rev3/debugger/machine.xml | 2 +- .../machine/5170/cga/640kb/rev3/machine.xml | 2 +- .../5170/ega/1152kb/rev1/debugger/machine.xml | 2 +- .../machine/5170/ega/1152kb/rev1/machine.xml | 2 +- .../rev3/debugger/backtrack/machine.xml | 2 +- .../5170/ega/1152kb/rev3/debugger/machine.xml | 2 +- .../machine/5170/ega/1152kb/rev3/machine.xml | 2 +- .../rev3/debugger/backtrack/machine.xml | 2 +- .../5170/ega/2048kb/rev3/debugger/machine.xml | 2 +- .../machine/5170/ega/2048kb/rev3/machine.xml | 2 +- .../5170/ega/640kb/rev1/debugger/machine.xml | 2 +- .../machine/5170/ega/640kb/rev1/machine.xml | 2 +- .../5170/mda/640kb/rev3/debugger/machine.xml | 2 +- .../machine/5170/mda/640kb/rev3/machine.xml | 2 +- .../5170/vga/2048kb/debugger/machine.xml | 2 +- .../pc/machine/5170/vga/2048kb/machine.xml | 2 +- .../5170/vga/4096kb/debugger/machine.xml | 2 +- .../pc/machine/5170/vga/4096kb/machine.xml | 2 +- .../att/6300/cga/640kb/debugger/machine.xml | 2 +- .../pc/machine/att/6300/cga/640kb/machine.xml | 2 +- .../mpc1600/cga/640kb/debugger/machine.xml | 2 +- .../machine/cdp/mpc1600/cga/640kb/machine.xml | 2 +- .../ega/2048kb/debugger/machine.xml | 2 +- .../compaq/deskpro386/ega/2048kb/machine.xml | 2 +- .../ega/4096kb/debugger/machine.xml | 2 +- .../compaq/deskpro386/ega/4096kb/machine.xml | 2 +- .../2048kb/debugger/backtrack/machine.xml | 2 +- .../other/2048kb/debugger/machine.xml | 2 +- .../vga/2048kb/debugger/machine.xml | 2 +- .../compaq/deskpro386/vga/2048kb/machine.xml | 2 +- .../vga/4096kb/debugger/machine.xml | 2 +- .../compaq/deskpro386/vga/4096kb/machine.xml | 2 +- devices/pc/machine/custom/machine.xml | 2 +- .../z150/cga/640kb/debugger/machine.xml | 2 +- .../machine/zenith/z150/cga/640kb/machine.xml | 2 +- disks/pc/apps/ibm/topview/1.01/manifest.xml | 2 +- disks/pc/apps/lotus/123/1.0a/manifest.xml | 2 +- .../apps/micropro/wordstar/3.30/manifest.xml | 2 +- .../apps/micropro/wordstar/4.00/manifest.xml | 2 +- .../pc/apps/microsoft/chart/2.02/manifest.xml | 2 +- .../apps/microsoft/winword/2.0c/manifest.xml | 2 +- disks/pc/apps/microsoft/word/3.0/manifest.xml | 2 +- disks/pc/apps/microsoft/word/3.1/manifest.xml | 2 +- disks/pc/apps/microsoft/word/5.0/manifest.xml | 2 +- disks/pc/cpm/1.1b/machine.xml | 2 +- disks/pc/cpm/1.1b/manifest.xml | 2 +- disks/pc/diags/ibm/manifest.xml | 2 +- disks/pc/dos/compaq/1.11/manifest.xml | 2 +- disks/pc/dos/compaq/1.12/manifest.xml | 2 +- disks/pc/dos/compaq/2.12/manifest.xml | 2 +- disks/pc/dos/compaq/3.10/manifest.xml | 2 +- disks/pc/dos/compaq/3.31/manifest.xml | 2 +- disks/pc/dos/ibm/1.00/manifest.xml | 2 +- disks/pc/dos/ibm/1.10/manifest.xml | 2 +- disks/pc/dos/ibm/2.00/manifest.xml | 2 +- disks/pc/dos/ibm/2.10/manifest.xml | 2 +- disks/pc/dos/ibm/3.00/manifest.xml | 2 +- disks/pc/dos/ibm/3.10/manifest.xml | 2 +- disks/pc/dos/ibm/3.20/manifest.xml | 2 +- disks/pc/dos/ibm/3.30/manifest.xml | 2 +- disks/pc/dos/ibm/4.00/manifest.xml | 2 +- disks/pc/dos/ibm/5.00/manifest.xml | 2 +- disks/pc/dos/ibm/6.10/manifest.xml | 2 +- disks/pc/dos/ibm/6.30/manifest.xml | 2 +- disks/pc/dos/ibm/7.00/manifest.xml | 2 +- disks/pc/dos/microsoft/3.20/manifest.xml | 2 +- disks/pc/dos/microsoft/3.21/manifest.xml | 2 +- disks/pc/dos/microsoft/3.30/manifest.xml | 2 +- disks/pc/dos/microsoft/3.31/manifest.xml | 2 +- disks/pc/dos/microsoft/4.00/manifest.xml | 2 +- disks/pc/dos/microsoft/4.01/720K/manifest.xml | 2 +- disks/pc/dos/microsoft/4.01/manifest.xml | 2 +- disks/pc/dos/microsoft/4.0M/manifest.xml | 2 +- disks/pc/dos/microsoft/5.00/manifest.xml | 2 +- disks/pc/dos/microsoft/6.00/manifest.xml | 2 +- disks/pc/dos/microsoft/6.20/manifest.xml | 2 +- disks/pc/dos/microsoft/6.22/manifest.xml | 2 +- disks/pc/empty/manifest.xml | 2 +- disks/pc/games/id/wolf3d/manifest.xml | 2 +- disks/pc/games/infocom/hhiker/manifest.xml | 2 +- disks/pc/games/infocom/machine.xml | 2 +- disks/pc/games/infocom/planet/manifest.xml | 2 +- .../games/infocom/zork1/debugger/machine.xml | 2 +- disks/pc/games/infocom/zork1/manifest.xml | 2 +- disks/pc/games/infocom/zork2/manifest.xml | 2 +- disks/pc/games/infocom/zork3/manifest.xml | 2 +- .../pc/games/microsoft/adventure/machine.xml | 2 +- .../pc/games/microsoft/adventure/manifest.xml | 2 +- .../microsoft/flightsim/1982/manifest.xml | 2 +- .../microsoft/flightsim/1984/manifest.xml | 2 +- disks/pc/minix/1.1/manifest.xml | 2 +- disks/pc/os2/ibm/1.0/manifest.xml | 2 +- disks/pc/os2/ibm/1.1/manifest.xml | 2 +- disks/pc/os2/ibm/1.3/manifest.xml | 2 +- disks/pc/os2/microsoft/1.0/manifest.xml | 2 +- disks/pc/os2/misc/manifest.xml | 2 +- .../tools/borland/pascal/3.00b/manifest.xml | 2 +- .../tools/borland/pascal/3.01a/manifest.xml | 2 +- disks/pc/tools/ibm/bascom/1.00/manifest.xml | 2 +- disks/pc/tools/microsoft/basic/manifest.xml | 2 +- disks/pc/tools/microsoft/c/2.03/manifest.xml | 2 +- disks/pc/tools/microsoft/c/3.00/manifest.xml | 2 +- disks/pc/tools/microsoft/c/4.00/manifest.xml | 2 +- disks/pc/tools/microsoft/c/5.00/manifest.xml | 2 +- .../tools/microsoft/c/5.10-os2/manifest.xml | 2 +- disks/pc/tools/microsoft/c/5.10/manifest.xml | 2 +- .../pc/tools/microsoft/masm/1.00/manifest.xml | 2 +- .../pc/tools/microsoft/masm/3.00/manifest.xml | 2 +- .../pc/tools/microsoft/masm/3.01/manifest.xml | 2 +- .../pc/tools/microsoft/masm/4.00/manifest.xml | 2 +- .../pc/tools/microsoft/masm/5.00/manifest.xml | 2 +- .../pc/tools/microsoft/masm/5.10/manifest.xml | 2 +- .../pc/tools/microsoft/masm/6.00/manifest.xml | 2 +- .../pc/tools/microsoft/masm/6.11/manifest.xml | 2 +- .../tools/microsoft/mouse/5.00/manifest.xml | 2 +- .../tools/microsoft/os2/sdk/1.02/manifest.xml | 2 +- .../microsoft/windows/sdk/1.01/manifest.xml | 2 +- .../microsoft/windows/sdk/1.03/manifest.xml | 2 +- .../microsoft/windows/sdk/1.04/manifest.xml | 2 +- .../microsoft/windows/sdk/2.03/manifest.xml | 2 +- .../microsoft/windows/sdk/3.00/manifest.xml | 2 +- disks/pc/tools/misc/manifest.xml | 2 +- disks/pc/unix/ibm/pcix/1.0/manifest.xml | 2 +- .../unix/microport/system-v/2.3/manifest.xml | 2 +- .../pc/unix/sco/xenix/8086/2.1.3/manifest.xml | 2 +- disks/pc/windows/1.00/manifest.xml | 2 +- disks/pc/windows/1.01/manifest.xml | 2 +- disks/pc/windows/1.02/manifest.xml | 2 +- disks/pc/windows/1.03/manifest.xml | 2 +- disks/pc/windows/1.03a/manifest.xml | 2 +- disks/pc/windows/1.03b/manifest.xml | 2 +- disks/pc/windows/1.04/manifest.xml | 2 +- disks/pc/windows/2.03/manifest.xml | 2 +- disks/pc/windows/2.0x/manifest.xml | 2 +- disks/pc/windows/2.10/manifest.xml | 2 +- disks/pc/windows/2.11/manifest.xml | 2 +- disks/pc/windows/3.00/720K/manifest.xml | 2 +- disks/pc/windows/3.00/manifest.xml | 2 +- disks/pc/windows/3.10/manifest.xml | 2 +- disks/pc/windows/3.11/manifest.xml | 2 +- disks/pc/windows/win95/4.00.499/manifest.xml | 2 +- disks/pc/windows/win95/4.00.950/manifest.xml | 2 +- disks/pc/windows/wincomm/manifest.xml | 2 +- docs/pcjs/examples/components.xsl | 2 +- docs/pcjs/examples/pc-dbg.js | 24 +++---- docs/pcjs/examples/pc.js | 18 +++--- modules/pcjs/lib/computer.js | 33 ++++++++-- modules/pcjs/lib/cpu.js | 4 +- modules/pcjs/lib/panel.js | 63 ++++++++++--------- modules/pcjs/lib/x86cpu.js | 4 +- package.json | 2 +- .../demos/machine-debugger.xml | 2 +- .../Graphics_for_the_IBM_PC/demos/machine.xml | 2 +- pubs/pc/programming/manifest.xml | 2 +- .../reference/ibm/5150/techref/manifest.xml | 2 +- .../reference/ibm/5160/techref/manifest.xml | 2 +- pubs/pc/reference/ibm/5170/setup/manifest.xml | 2 +- .../reference/ibm/5170/techref/manifest.xml | 2 +- pubs/pc/reference/ibm/ps2/manifest.xml | 2 +- pubs/pc/reference/ibm/video/ega/manifest.xml | 2 +- pubs/pc/reference/intel/80286/manifest.xml | 2 +- .../software/os2/microsoft/sdk10/manifest.xml | 2 +- pubs/pc/software/windows/sdk200/manifest.xml | 2 +- 206 files changed, 286 insertions(+), 260 deletions(-) diff --git a/_config.yml b/_config.yml index 09dc8f1b3..6478df75a 100644 --- a/_config.yml +++ b/_config.yml @@ -32,7 +32,7 @@ gems: pcjs: domain: pcjs.org # whereas site.url is used for linking purposes, site.pcjs.domain is used for display purposes - version: 1.21.6 # IMPORTANT: keep pcjs.version in sync with package.json:version + version: 1.21.7 # IMPORTANT: keep pcjs.version in sync with package.json:version compiled: true # by default, the compiled pcjs.version scripts will be used (eg, pc.js or pc-dbg.js) pc_scripts: # if pcjs.compiled is false, the following scripts will be included instead, in the order listed - /modules/shared/lib/defines.js diff --git a/apps/pc/1981/visicalc/manifest.xml b/apps/pc/1981/visicalc/manifest.xml index afb061172..9235da82f 100644 --- a/apps/pc/1981/visicalc/manifest.xml +++ b/apps/pc/1981/visicalc/manifest.xml @@ -1,5 +1,5 @@ - + VisiCalc diff --git a/apps/pc/1982/esuite/manifest.xml b/apps/pc/1982/esuite/manifest.xml index 51ca52324..de0607cf3 100644 --- a/apps/pc/1982/esuite/manifest.xml +++ b/apps/pc/1982/esuite/manifest.xml @@ -1,5 +1,5 @@ - + Executive Suite diff --git a/apps/pc/1985/rogue/manifest.xml b/apps/pc/1985/rogue/manifest.xml index 3930f3139..d04aa21fe 100644 --- a/apps/pc/1985/rogue/manifest.xml +++ b/apps/pc/1985/rogue/manifest.xml @@ -1,5 +1,5 @@ - + Rogue diff --git a/apps/pc/1987/thinktank/manifest.xml b/apps/pc/1987/thinktank/manifest.xml index 628c25468..ef9ffadc2 100644 --- a/apps/pc/1987/thinktank/manifest.xml +++ b/apps/pc/1987/thinktank/manifest.xml @@ -1,5 +1,5 @@ - + ThinkTank 2.41NP diff --git a/apps/pc/1988/moria/manifest.xml b/apps/pc/1988/moria/manifest.xml index 0296e5199..ff5bf60bf 100644 --- a/apps/pc/1988/moria/manifest.xml +++ b/apps/pc/1988/moria/manifest.xml @@ -1,5 +1,5 @@ - + The Dungeons of Moria 4.872 diff --git a/apps/pc/1992/moria/manifest.xml b/apps/pc/1992/moria/manifest.xml index c7d53db6e..b6c2262b8 100644 --- a/apps/pc/1992/moria/manifest.xml +++ b/apps/pc/1992/moria/manifest.xml @@ -1,5 +1,5 @@ - + The Dungeons of Moria 5.5 diff --git a/devices/c1p/machine/32kb/machine.xml b/devices/c1p/machine/32kb/machine.xml index 60cd7ebc5..dcf88ebf2 100644 --- a/devices/c1p/machine/32kb/machine.xml +++ b/devices/c1p/machine/32kb/machine.xml @@ -1,5 +1,5 @@ - + OSI Challenger 1P (32Kb) with Disk Support diff --git a/devices/c1p/machine/8kb/all/debugger/machine.xml b/devices/c1p/machine/8kb/all/debugger/machine.xml index c29d4dee8..13b5837b4 100644 --- a/devices/c1p/machine/8kb/all/debugger/machine.xml +++ b/devices/c1p/machine/8kb/all/debugger/machine.xml @@ -1,5 +1,5 @@ - + OSI Challenger 1P (8Kb, Additional Software) diff --git a/devices/c1p/machine/8kb/all/machine.xml b/devices/c1p/machine/8kb/all/machine.xml index a071cce97..cb8b1d88f 100644 --- a/devices/c1p/machine/8kb/all/machine.xml +++ b/devices/c1p/machine/8kb/all/machine.xml @@ -1,5 +1,5 @@ - + OSI Challenger 1P (8Kb, Additional Software) diff --git a/devices/c1p/machine/8kb/array/machine.xml b/devices/c1p/machine/8kb/array/machine.xml index eb6a66dae..3bb88c9a6 100644 --- a/devices/c1p/machine/8kb/array/machine.xml +++ b/devices/c1p/machine/8kb/array/machine.xml @@ -1,5 +1,5 @@ - + Challenger 1P (8Kb) "Server Array" diff --git a/devices/c1p/machine/8kb/large/debugger/machine.xml b/devices/c1p/machine/8kb/large/debugger/machine.xml index a16a735b8..40b505061 100644 --- a/devices/c1p/machine/8kb/large/debugger/machine.xml +++ b/devices/c1p/machine/8kb/large/debugger/machine.xml @@ -1,5 +1,5 @@ - + OSI Challenger 1P (8Kb) with Debugger diff --git a/devices/c1p/machine/8kb/large/machine.xml b/devices/c1p/machine/8kb/large/machine.xml index 88f6ee508..ca63fed88 100644 --- a/devices/c1p/machine/8kb/large/machine.xml +++ b/devices/c1p/machine/8kb/large/machine.xml @@ -1,5 +1,5 @@ - + OSI Challenger 1P (circa 1978) diff --git a/devices/c1p/machine/8kb/small/machine.xml b/devices/c1p/machine/8kb/small/machine.xml index bcc9b6466..34d80df60 100644 --- a/devices/c1p/machine/8kb/small/machine.xml +++ b/devices/c1p/machine/8kb/small/machine.xml @@ -1,5 +1,5 @@ - + diff --git a/devices/pc/machine/5150/cga/384kb/softkbd/machine.xml b/devices/pc/machine/5150/cga/384kb/softkbd/machine.xml index 6cf0c91ba..d7b702bf1 100644 --- a/devices/pc/machine/5150/cga/384kb/softkbd/machine.xml +++ b/devices/pc/machine/5150/cga/384kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 384K diff --git a/devices/pc/machine/5150/cga/64kb/donkey/debugger/machine.xml b/devices/pc/machine/5150/cga/64kb/donkey/debugger/machine.xml index 6f3637b0d..76ffe26dc 100644 --- a/devices/pc/machine/5150/cga/64kb/donkey/debugger/machine.xml +++ b/devices/pc/machine/5150/cga/64kb/donkey/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 64K diff --git a/devices/pc/machine/5150/cga/64kb/donkey/machine.xml b/devices/pc/machine/5150/cga/64kb/donkey/machine.xml index 5494d9834..d217906ed 100644 --- a/devices/pc/machine/5150/cga/64kb/donkey/machine.xml +++ b/devices/pc/machine/5150/cga/64kb/donkey/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 64K diff --git a/devices/pc/machine/5150/cga/64kb/softkbd/machine.xml b/devices/pc/machine/5150/cga/64kb/softkbd/machine.xml index 5ccbf4160..3fafd4c9b 100644 --- a/devices/pc/machine/5150/cga/64kb/softkbd/machine.xml +++ b/devices/pc/machine/5150/cga/64kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), CGA, 64K diff --git a/devices/pc/machine/5150/dual/64kb/machine.xml b/devices/pc/machine/5150/dual/64kb/machine.xml index 87b67f653..71d923220 100644 --- a/devices/pc/machine/5150/dual/64kb/machine.xml +++ b/devices/pc/machine/5150/dual/64kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) with Dual Displays diff --git a/devices/pc/machine/5150/mda/64kb/debugger/machine.xml b/devices/pc/machine/5150/mda/64kb/debugger/machine.xml index 151f54c82..f2439dc7c 100644 --- a/devices/pc/machine/5150/mda/64kb/debugger/machine.xml +++ b/devices/pc/machine/5150/mda/64kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) with Monochrome Display diff --git a/devices/pc/machine/5150/mda/64kb/machine.xml b/devices/pc/machine/5150/mda/64kb/machine.xml index 17e4c9b3f..eb7ce184c 100644 --- a/devices/pc/machine/5150/mda/64kb/machine.xml +++ b/devices/pc/machine/5150/mda/64kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) with Monochrome Display diff --git a/devices/pc/machine/5150/mda/64kb/softkbd/machine.xml b/devices/pc/machine/5150/mda/64kb/softkbd/machine.xml index e3407d1f9..c7c2ac1e1 100644 --- a/devices/pc/machine/5150/mda/64kb/softkbd/machine.xml +++ b/devices/pc/machine/5150/mda/64kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150), MDA, 64K diff --git a/devices/pc/machine/5160/cga/256kb/array/machine.xml b/devices/pc/machine/5160/cga/256kb/array/machine.xml index 4121939e0..b8f7dd18a 100644 --- a/devices/pc/machine/5160/cga/256kb/array/machine.xml +++ b/devices/pc/machine/5160/cga/256kb/array/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256K, 10Mb Drive diff --git a/devices/pc/machine/5160/cga/256kb/demo/debugger/machine.xml b/devices/pc/machine/5160/cga/256kb/demo/debugger/machine.xml index 915350158..61436e090 100644 --- a/devices/pc/machine/5160/cga/256kb/demo/debugger/machine.xml +++ b/devices/pc/machine/5160/cga/256kb/demo/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256Kb, 10Mb Drive diff --git a/devices/pc/machine/5160/cga/256kb/demo/machine.xml b/devices/pc/machine/5160/cga/256kb/demo/machine.xml index b67dc0cb3..aa47dd1dd 100644 --- a/devices/pc/machine/5160/cga/256kb/demo/machine.xml +++ b/devices/pc/machine/5160/cga/256kb/demo/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256Kb, 10Mb Drive diff --git a/devices/pc/machine/5160/cga/256kb/softkbd/machine.xml b/devices/pc/machine/5160/cga/256kb/softkbd/machine.xml index c3ab99763..f4fc83870 100644 --- a/devices/pc/machine/5160/cga/256kb/softkbd/machine.xml +++ b/devices/pc/machine/5160/cga/256kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256K, 10Mb Drive diff --git a/devices/pc/machine/5160/cga/256kb/win101/debugger/machine.xml b/devices/pc/machine/5160/cga/256kb/win101/debugger/machine.xml index dc7697c0b..a744db7f4 100644 --- a/devices/pc/machine/5160/cga/256kb/win101/debugger/machine.xml +++ b/devices/pc/machine/5160/cga/256kb/win101/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160) running Windows 1.01 diff --git a/devices/pc/machine/5160/cga/256kb/win101/machine.xml b/devices/pc/machine/5160/cga/256kb/win101/machine.xml index 73fce96e3..e05ce65cb 100644 --- a/devices/pc/machine/5160/cga/256kb/win101/machine.xml +++ b/devices/pc/machine/5160/cga/256kb/win101/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160) running Windows 1.01 diff --git a/devices/pc/machine/5160/cga/256kb/win101/softkbd/machine.xml b/devices/pc/machine/5160/cga/256kb/win101/softkbd/machine.xml index fa0842a98..32b26a1b8 100644 --- a/devices/pc/machine/5160/cga/256kb/win101/softkbd/machine.xml +++ b/devices/pc/machine/5160/cga/256kb/win101/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 256K, Windows 1.01 diff --git a/devices/pc/machine/5160/cga/512kb/win101/softkbd/machine.xml b/devices/pc/machine/5160/cga/512kb/win101/softkbd/machine.xml index f2aec62e1..18f9442f3 100644 --- a/devices/pc/machine/5160/cga/512kb/win101/softkbd/machine.xml +++ b/devices/pc/machine/5160/cga/512kb/win101/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 512K, WIN101 diff --git a/devices/pc/machine/5160/cga/640kb/debugger/machine.xml b/devices/pc/machine/5160/cga/640kb/debugger/machine.xml index a8c4e8311..9cdf0da3f 100644 --- a/devices/pc/machine/5160/cga/640kb/debugger/machine.xml +++ b/devices/pc/machine/5160/cga/640kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive diff --git a/devices/pc/machine/5160/cga/640kb/machine.xml b/devices/pc/machine/5160/cga/640kb/machine.xml index 2b94eaf44..89662dfc0 100644 --- a/devices/pc/machine/5160/cga/640kb/machine.xml +++ b/devices/pc/machine/5160/cga/640kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive diff --git a/devices/pc/machine/5160/cga/640kb/softkbd/machine.xml b/devices/pc/machine/5160/cga/640kb/softkbd/machine.xml index 50f6686b6..cc0033d9f 100644 --- a/devices/pc/machine/5160/cga/640kb/softkbd/machine.xml +++ b/devices/pc/machine/5160/cga/640kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), CGA, 640K, 10Mb Drive diff --git a/devices/pc/machine/5160/ega/256kb/debugger/machine.xml b/devices/pc/machine/5160/ega/256kb/debugger/machine.xml index 84730cc63..ceb3fd6f8 100644 --- a/devices/pc/machine/5160/ega/256kb/debugger/machine.xml +++ b/devices/pc/machine/5160/ega/256kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), 64K EGA, 256K RAM, 10Mb Hard Disk diff --git a/devices/pc/machine/5160/ega/256kb/machine.xml b/devices/pc/machine/5160/ega/256kb/machine.xml index 611b06664..e4f9485f6 100644 --- a/devices/pc/machine/5160/ega/256kb/machine.xml +++ b/devices/pc/machine/5160/ega/256kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), 64K EGA, 256K RAM, 10Mb Hard Disk diff --git a/devices/pc/machine/5160/ega/640kb/array/machine.xml b/devices/pc/machine/5160/ega/640kb/array/machine.xml index 9decc27d9..d4dad71a8 100644 --- a/devices/pc/machine/5160/ega/640kb/array/machine.xml +++ b/devices/pc/machine/5160/ega/640kb/array/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Disk diff --git a/devices/pc/machine/5160/ega/640kb/debugger/machine.xml b/devices/pc/machine/5160/ega/640kb/debugger/machine.xml index c8ad75a7f..9b3e966b3 100644 --- a/devices/pc/machine/5160/ega/640kb/debugger/machine.xml +++ b/devices/pc/machine/5160/ega/640kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Disk diff --git a/devices/pc/machine/5160/ega/640kb/machine.xml b/devices/pc/machine/5160/ega/640kb/machine.xml index a3aedd285..d2295c63b 100644 --- a/devices/pc/machine/5160/ega/640kb/machine.xml +++ b/devices/pc/machine/5160/ega/640kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT, 128K EGA, 640K RAM, 10Mb Hard Disk diff --git a/devices/pc/machine/5160/mda/256kb/debugger/machine.xml b/devices/pc/machine/5160/mda/256kb/debugger/machine.xml index d68860988..d6f6ebe51 100644 --- a/devices/pc/machine/5160/mda/256kb/debugger/machine.xml +++ b/devices/pc/machine/5160/mda/256kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive diff --git a/devices/pc/machine/5160/mda/256kb/fake188/debugger/machine.xml b/devices/pc/machine/5160/mda/256kb/fake188/debugger/machine.xml index 927d08bcb..30f781123 100644 --- a/devices/pc/machine/5160/mda/256kb/fake188/debugger/machine.xml +++ b/devices/pc/machine/5160/mda/256kb/fake188/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive diff --git a/devices/pc/machine/5160/mda/256kb/fake188/machine.xml b/devices/pc/machine/5160/mda/256kb/fake188/machine.xml index c81e7dd9a..789351bb8 100644 --- a/devices/pc/machine/5160/mda/256kb/fake188/machine.xml +++ b/devices/pc/machine/5160/mda/256kb/fake188/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive diff --git a/devices/pc/machine/5160/mda/256kb/machine.xml b/devices/pc/machine/5160/mda/256kb/machine.xml index 7b202822d..2aaf84fcd 100644 --- a/devices/pc/machine/5160/mda/256kb/machine.xml +++ b/devices/pc/machine/5160/mda/256kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 256Kb, 10Mb Drive diff --git a/devices/pc/machine/5160/mda/64kb/softkbd/machine.xml b/devices/pc/machine/5160/mda/64kb/softkbd/machine.xml index 07684dfc3..5563af6ac 100644 --- a/devices/pc/machine/5160/mda/64kb/softkbd/machine.xml +++ b/devices/pc/machine/5160/mda/64kb/softkbd/machine.xml @@ -1,5 +1,5 @@ - + IBM PC XT (Model 5160), MDA, 64K, 10Mb Drive diff --git a/devices/pc/machine/5170/cga/640kb/rev3/debugger/machine.xml b/devices/pc/machine/5170/cga/640kb/rev3/debugger/machine.xml index 341165c0a..446f86437 100644 --- a/devices/pc/machine/5170/cga/640kb/rev3/debugger/machine.xml +++ b/devices/pc/machine/5170/cga/640kb/rev3/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz, 640Kb, Dual Floppy) with Color Display diff --git a/devices/pc/machine/5170/cga/640kb/rev3/machine.xml b/devices/pc/machine/5170/cga/640kb/rev3/machine.xml index 1d608d418..20cca5fa8 100644 --- a/devices/pc/machine/5170/cga/640kb/rev3/machine.xml +++ b/devices/pc/machine/5170/cga/640kb/rev3/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz, 640Kb, Dual Floppy) with Color Display diff --git a/devices/pc/machine/5170/ega/1152kb/rev1/debugger/machine.xml b/devices/pc/machine/5170/ega/1152kb/rev1/debugger/machine.xml index 731dee65e..57ffae888 100644 --- a/devices/pc/machine/5170/ega/1152kb/rev1/debugger/machine.xml +++ b/devices/pc/machine/5170/ega/1152kb/rev1/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (6Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk diff --git a/devices/pc/machine/5170/ega/1152kb/rev1/machine.xml b/devices/pc/machine/5170/ega/1152kb/rev1/machine.xml index 91366a89c..fac4c32c5 100644 --- a/devices/pc/machine/5170/ega/1152kb/rev1/machine.xml +++ b/devices/pc/machine/5170/ega/1152kb/rev1/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (6Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk diff --git a/devices/pc/machine/5170/ega/1152kb/rev3/debugger/backtrack/machine.xml b/devices/pc/machine/5170/ega/1152kb/rev3/debugger/backtrack/machine.xml index 7d5042171..ceed065e1 100644 --- a/devices/pc/machine/5170/ega/1152kb/rev3/debugger/backtrack/machine.xml +++ b/devices/pc/machine/5170/ega/1152kb/rev3/debugger/backtrack/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk diff --git a/devices/pc/machine/5170/ega/1152kb/rev3/debugger/machine.xml b/devices/pc/machine/5170/ega/1152kb/rev3/debugger/machine.xml index 992ace1bb..5fc57bec0 100644 --- a/devices/pc/machine/5170/ega/1152kb/rev3/debugger/machine.xml +++ b/devices/pc/machine/5170/ega/1152kb/rev3/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk diff --git a/devices/pc/machine/5170/ega/1152kb/rev3/machine.xml b/devices/pc/machine/5170/ega/1152kb/rev3/machine.xml index 1e90ed44d..bc10dd981 100644 --- a/devices/pc/machine/5170/ega/1152kb/rev3/machine.xml +++ b/devices/pc/machine/5170/ega/1152kb/rev3/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz), 128Kb EGA, 1152Kb RAM, 20Mb Hard Disk diff --git a/devices/pc/machine/5170/ega/2048kb/rev3/debugger/backtrack/machine.xml b/devices/pc/machine/5170/ega/2048kb/rev3/debugger/backtrack/machine.xml index 2c75ab0fc..65d3c78b2 100644 --- a/devices/pc/machine/5170/ega/2048kb/rev3/debugger/backtrack/machine.xml +++ b/devices/pc/machine/5170/ega/2048kb/rev3/debugger/backtrack/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz), 128Kb EGA, 2Mb RAM, 20Mb Hard Disk diff --git a/devices/pc/machine/5170/ega/2048kb/rev3/debugger/machine.xml b/devices/pc/machine/5170/ega/2048kb/rev3/debugger/machine.xml index f246879e8..71b864f9a 100644 --- a/devices/pc/machine/5170/ega/2048kb/rev3/debugger/machine.xml +++ b/devices/pc/machine/5170/ega/2048kb/rev3/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz), 128Kb EGA, 2Mb RAM, 20Mb Hard Disk diff --git a/devices/pc/machine/5170/ega/2048kb/rev3/machine.xml b/devices/pc/machine/5170/ega/2048kb/rev3/machine.xml index b2fe742a6..cb3b62c9b 100644 --- a/devices/pc/machine/5170/ega/2048kb/rev3/machine.xml +++ b/devices/pc/machine/5170/ega/2048kb/rev3/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz), 128Kb EGA, 2Mb RAM, 20Mb Hard Disk diff --git a/devices/pc/machine/5170/ega/640kb/rev1/debugger/machine.xml b/devices/pc/machine/5170/ega/640kb/rev1/debugger/machine.xml index d15234636..7a31dffc7 100644 --- a/devices/pc/machine/5170/ega/640kb/rev1/debugger/machine.xml +++ b/devices/pc/machine/5170/ega/640kb/rev1/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT, 128K EGA, 640Kb RAM diff --git a/devices/pc/machine/5170/ega/640kb/rev1/machine.xml b/devices/pc/machine/5170/ega/640kb/rev1/machine.xml index 3ef8584b0..b9424fbf4 100644 --- a/devices/pc/machine/5170/ega/640kb/rev1/machine.xml +++ b/devices/pc/machine/5170/ega/640kb/rev1/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT, 128K EGA, 640Kb RAM diff --git a/devices/pc/machine/5170/mda/640kb/rev3/debugger/machine.xml b/devices/pc/machine/5170/mda/640kb/rev3/debugger/machine.xml index 67dd0a96d..7a999f84c 100644 --- a/devices/pc/machine/5170/mda/640kb/rev3/debugger/machine.xml +++ b/devices/pc/machine/5170/mda/640kb/rev3/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz, 640Kb, Dual Floppy) with Monochrome Display diff --git a/devices/pc/machine/5170/mda/640kb/rev3/machine.xml b/devices/pc/machine/5170/mda/640kb/rev3/machine.xml index db238eba6..9997eea45 100644 --- a/devices/pc/machine/5170/mda/640kb/rev3/machine.xml +++ b/devices/pc/machine/5170/mda/640kb/rev3/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz, 640Kb, Dual Floppy) with Monochrome Display diff --git a/devices/pc/machine/5170/vga/2048kb/debugger/machine.xml b/devices/pc/machine/5170/vga/2048kb/debugger/machine.xml index 6d50df095..515ac40fd 100644 --- a/devices/pc/machine/5170/vga/2048kb/debugger/machine.xml +++ b/devices/pc/machine/5170/vga/2048kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz, 2Mb, 20Mb Hard Disk) with VGA Display diff --git a/devices/pc/machine/5170/vga/2048kb/machine.xml b/devices/pc/machine/5170/vga/2048kb/machine.xml index 19900d0fa..bedcef70e 100644 --- a/devices/pc/machine/5170/vga/2048kb/machine.xml +++ b/devices/pc/machine/5170/vga/2048kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz, 2Mb, 20Mb Hard Disk) with VGA Display diff --git a/devices/pc/machine/5170/vga/4096kb/debugger/machine.xml b/devices/pc/machine/5170/vga/4096kb/debugger/machine.xml index 1e899b5f2..588d74615 100644 --- a/devices/pc/machine/5170/vga/4096kb/debugger/machine.xml +++ b/devices/pc/machine/5170/vga/4096kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz, 4Mb, 20Mb Hard Disk) with VGA Display diff --git a/devices/pc/machine/5170/vga/4096kb/machine.xml b/devices/pc/machine/5170/vga/4096kb/machine.xml index b3cac099c..c2c401114 100644 --- a/devices/pc/machine/5170/vga/4096kb/machine.xml +++ b/devices/pc/machine/5170/vga/4096kb/machine.xml @@ -1,5 +1,5 @@ - + IBM PC AT (8Mhz), VGA, 4Mb RAM, 20Mb Hard Disk diff --git a/devices/pc/machine/att/6300/cga/640kb/debugger/machine.xml b/devices/pc/machine/att/6300/cga/640kb/debugger/machine.xml index 9470414ec..b277c950f 100644 --- a/devices/pc/machine/att/6300/cga/640kb/debugger/machine.xml +++ b/devices/pc/machine/att/6300/cga/640kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + AT&T Personal Computer 6300 with Color Display diff --git a/devices/pc/machine/att/6300/cga/640kb/machine.xml b/devices/pc/machine/att/6300/cga/640kb/machine.xml index 50c17e52c..367d32181 100644 --- a/devices/pc/machine/att/6300/cga/640kb/machine.xml +++ b/devices/pc/machine/att/6300/cga/640kb/machine.xml @@ -1,5 +1,5 @@ - + AT&T Personal Computer 6300 with Color Display diff --git a/devices/pc/machine/cdp/mpc1600/cga/640kb/debugger/machine.xml b/devices/pc/machine/cdp/mpc1600/cga/640kb/debugger/machine.xml index 2a9747efd..a1fe2f940 100644 --- a/devices/pc/machine/cdp/mpc1600/cga/640kb/debugger/machine.xml +++ b/devices/pc/machine/cdp/mpc1600/cga/640kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + Columbia Data Products MPC 1600 with Color Display diff --git a/devices/pc/machine/cdp/mpc1600/cga/640kb/machine.xml b/devices/pc/machine/cdp/mpc1600/cga/640kb/machine.xml index eb5519585..56b40c8d1 100644 --- a/devices/pc/machine/cdp/mpc1600/cga/640kb/machine.xml +++ b/devices/pc/machine/cdp/mpc1600/cga/640kb/machine.xml @@ -1,5 +1,5 @@ - + Columbia Data Products MPC 1600 with Color Display diff --git a/devices/pc/machine/compaq/deskpro386/ega/2048kb/debugger/machine.xml b/devices/pc/machine/compaq/deskpro386/ega/2048kb/debugger/machine.xml index 75ac626ee..435ec2151 100644 --- a/devices/pc/machine/compaq/deskpro386/ega/2048kb/debugger/machine.xml +++ b/devices/pc/machine/compaq/deskpro386/ega/2048kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 2Mb RAM, 128Kb EGA diff --git a/devices/pc/machine/compaq/deskpro386/ega/2048kb/machine.xml b/devices/pc/machine/compaq/deskpro386/ega/2048kb/machine.xml index d43c1841c..dc11d4e2d 100644 --- a/devices/pc/machine/compaq/deskpro386/ega/2048kb/machine.xml +++ b/devices/pc/machine/compaq/deskpro386/ega/2048kb/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 2Mb RAM, 128Kb EGA diff --git a/devices/pc/machine/compaq/deskpro386/ega/4096kb/debugger/machine.xml b/devices/pc/machine/compaq/deskpro386/ega/4096kb/debugger/machine.xml index d954217a0..971a90a84 100644 --- a/devices/pc/machine/compaq/deskpro386/ega/4096kb/debugger/machine.xml +++ b/devices/pc/machine/compaq/deskpro386/ega/4096kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 4Mb RAM, 128Kb EGA diff --git a/devices/pc/machine/compaq/deskpro386/ega/4096kb/machine.xml b/devices/pc/machine/compaq/deskpro386/ega/4096kb/machine.xml index bb741323b..c251be56a 100644 --- a/devices/pc/machine/compaq/deskpro386/ega/4096kb/machine.xml +++ b/devices/pc/machine/compaq/deskpro386/ega/4096kb/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 4Mb RAM, 128Kb EGA diff --git a/devices/pc/machine/compaq/deskpro386/other/2048kb/debugger/backtrack/machine.xml b/devices/pc/machine/compaq/deskpro386/other/2048kb/debugger/backtrack/machine.xml index d91f6a0d9..972ccb519 100644 --- a/devices/pc/machine/compaq/deskpro386/other/2048kb/debugger/backtrack/machine.xml +++ b/devices/pc/machine/compaq/deskpro386/other/2048kb/debugger/backtrack/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 2Mb RAM, COMPAQ VGA, 20Mb Hard Disk diff --git a/devices/pc/machine/compaq/deskpro386/other/2048kb/debugger/machine.xml b/devices/pc/machine/compaq/deskpro386/other/2048kb/debugger/machine.xml index 8eafd3941..a494dcac2 100644 --- a/devices/pc/machine/compaq/deskpro386/other/2048kb/debugger/machine.xml +++ b/devices/pc/machine/compaq/deskpro386/other/2048kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 2Mb RAM, COMPAQ VGA, 20Mb Hard Disk diff --git a/devices/pc/machine/compaq/deskpro386/vga/2048kb/debugger/machine.xml b/devices/pc/machine/compaq/deskpro386/vga/2048kb/debugger/machine.xml index 5106f0277..cea7a8303 100644 --- a/devices/pc/machine/compaq/deskpro386/vga/2048kb/debugger/machine.xml +++ b/devices/pc/machine/compaq/deskpro386/vga/2048kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 2Mb RAM, IBM VGA, 20Mb Hard Disk diff --git a/devices/pc/machine/compaq/deskpro386/vga/2048kb/machine.xml b/devices/pc/machine/compaq/deskpro386/vga/2048kb/machine.xml index da21cc5f2..860402968 100644 --- a/devices/pc/machine/compaq/deskpro386/vga/2048kb/machine.xml +++ b/devices/pc/machine/compaq/deskpro386/vga/2048kb/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 2Mb RAM, IBM VGA, 20Mb Hard Disk diff --git a/devices/pc/machine/compaq/deskpro386/vga/4096kb/debugger/machine.xml b/devices/pc/machine/compaq/deskpro386/vga/4096kb/debugger/machine.xml index b65f95fba..90e780935 100644 --- a/devices/pc/machine/compaq/deskpro386/vga/4096kb/debugger/machine.xml +++ b/devices/pc/machine/compaq/deskpro386/vga/4096kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 4Mb RAM, IBM VGA, 20Mb Hard Disk diff --git a/devices/pc/machine/compaq/deskpro386/vga/4096kb/machine.xml b/devices/pc/machine/compaq/deskpro386/vga/4096kb/machine.xml index 328c45e86..28c217755 100644 --- a/devices/pc/machine/compaq/deskpro386/vga/4096kb/machine.xml +++ b/devices/pc/machine/compaq/deskpro386/vga/4096kb/machine.xml @@ -1,5 +1,5 @@ - + COMPAQ DeskPro 386, 4Mb RAM, IBM VGA, 20Mb Hard Disk diff --git a/devices/pc/machine/custom/machine.xml b/devices/pc/machine/custom/machine.xml index b22ab1061..6e2200196 100644 --- a/devices/pc/machine/custom/machine.xml +++ b/devices/pc/machine/custom/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) with Monochrome Display diff --git a/devices/pc/machine/zenith/z150/cga/640kb/debugger/machine.xml b/devices/pc/machine/zenith/z150/cga/640kb/debugger/machine.xml index 5523a01b0..c56d4fe48 100644 --- a/devices/pc/machine/zenith/z150/cga/640kb/debugger/machine.xml +++ b/devices/pc/machine/zenith/z150/cga/640kb/debugger/machine.xml @@ -1,5 +1,5 @@ - + Zenith Z-150 with Color Display diff --git a/devices/pc/machine/zenith/z150/cga/640kb/machine.xml b/devices/pc/machine/zenith/z150/cga/640kb/machine.xml index b02ce5ac6..386900458 100644 --- a/devices/pc/machine/zenith/z150/cga/640kb/machine.xml +++ b/devices/pc/machine/zenith/z150/cga/640kb/machine.xml @@ -1,5 +1,5 @@ - + Zenith Z-150 with Color Display diff --git a/disks/pc/apps/ibm/topview/1.01/manifest.xml b/disks/pc/apps/ibm/topview/1.01/manifest.xml index a8fdbe4b5..cc6ef4b99 100644 --- a/disks/pc/apps/ibm/topview/1.01/manifest.xml +++ b/disks/pc/apps/ibm/topview/1.01/manifest.xml @@ -1,5 +1,5 @@ - + TopView 1.01 diff --git a/disks/pc/apps/lotus/123/1.0a/manifest.xml b/disks/pc/apps/lotus/123/1.0a/manifest.xml index 012175204..e99818260 100644 --- a/disks/pc/apps/lotus/123/1.0a/manifest.xml +++ b/disks/pc/apps/lotus/123/1.0a/manifest.xml @@ -1,5 +1,5 @@ - + 1-2-3 1.0a diff --git a/disks/pc/apps/micropro/wordstar/3.30/manifest.xml b/disks/pc/apps/micropro/wordstar/3.30/manifest.xml index 3ad929077..60dd895ed 100644 --- a/disks/pc/apps/micropro/wordstar/3.30/manifest.xml +++ b/disks/pc/apps/micropro/wordstar/3.30/manifest.xml @@ -1,5 +1,5 @@ - + WordStar 3.30 diff --git a/disks/pc/apps/micropro/wordstar/4.00/manifest.xml b/disks/pc/apps/micropro/wordstar/4.00/manifest.xml index c2d0a9454..6d66435e6 100644 --- a/disks/pc/apps/micropro/wordstar/4.00/manifest.xml +++ b/disks/pc/apps/micropro/wordstar/4.00/manifest.xml @@ -1,5 +1,5 @@ - + WordStar 4.00 diff --git a/disks/pc/apps/microsoft/chart/2.02/manifest.xml b/disks/pc/apps/microsoft/chart/2.02/manifest.xml index 26da3ae06..0e2b84342 100644 --- a/disks/pc/apps/microsoft/chart/2.02/manifest.xml +++ b/disks/pc/apps/microsoft/chart/2.02/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Chart 2.02 diff --git a/disks/pc/apps/microsoft/winword/2.0c/manifest.xml b/disks/pc/apps/microsoft/winword/2.0c/manifest.xml index d4d08e556..b9095197c 100644 --- a/disks/pc/apps/microsoft/winword/2.0c/manifest.xml +++ b/disks/pc/apps/microsoft/winword/2.0c/manifest.xml @@ -1,5 +1,5 @@ - + Word for Windows 2.0c diff --git a/disks/pc/apps/microsoft/word/3.0/manifest.xml b/disks/pc/apps/microsoft/word/3.0/manifest.xml index 64478b5e0..b46c8c223 100644 --- a/disks/pc/apps/microsoft/word/3.0/manifest.xml +++ b/disks/pc/apps/microsoft/word/3.0/manifest.xml @@ -1,5 +1,5 @@ - + MS Word 3.0 diff --git a/disks/pc/apps/microsoft/word/3.1/manifest.xml b/disks/pc/apps/microsoft/word/3.1/manifest.xml index 812982c0f..afae03eed 100644 --- a/disks/pc/apps/microsoft/word/3.1/manifest.xml +++ b/disks/pc/apps/microsoft/word/3.1/manifest.xml @@ -1,5 +1,5 @@ - + MS Word 3.1 diff --git a/disks/pc/apps/microsoft/word/5.0/manifest.xml b/disks/pc/apps/microsoft/word/5.0/manifest.xml index 4b9ce3103..9da0fefe8 100644 --- a/disks/pc/apps/microsoft/word/5.0/manifest.xml +++ b/disks/pc/apps/microsoft/word/5.0/manifest.xml @@ -1,5 +1,5 @@ - + MS Word 5.0 diff --git a/disks/pc/cpm/1.1b/machine.xml b/disks/pc/cpm/1.1b/machine.xml index f96a08c8a..b65bfdfc7 100644 --- a/disks/pc/cpm/1.1b/machine.xml +++ b/disks/pc/cpm/1.1b/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) running CP/M-86 diff --git a/disks/pc/cpm/1.1b/manifest.xml b/disks/pc/cpm/1.1b/manifest.xml index 75cd8cf03..a7df53645 100644 --- a/disks/pc/cpm/1.1b/manifest.xml +++ b/disks/pc/cpm/1.1b/manifest.xml @@ -1,5 +1,5 @@ - + CP/M-86 1.1B diff --git a/disks/pc/diags/ibm/manifest.xml b/disks/pc/diags/ibm/manifest.xml index d2abf17c2..26006ab85 100644 --- a/disks/pc/diags/ibm/manifest.xml +++ b/disks/pc/diags/ibm/manifest.xml @@ -1,5 +1,5 @@ - + IBM PC Diagnostics Diagnostics diff --git a/disks/pc/dos/compaq/1.11/manifest.xml b/disks/pc/dos/compaq/1.11/manifest.xml index 82262f9ae..622bed0a4 100644 --- a/disks/pc/dos/compaq/1.11/manifest.xml +++ b/disks/pc/dos/compaq/1.11/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 1.11 diff --git a/disks/pc/dos/compaq/1.12/manifest.xml b/disks/pc/dos/compaq/1.12/manifest.xml index b64fc3c2b..08b948c86 100644 --- a/disks/pc/dos/compaq/1.12/manifest.xml +++ b/disks/pc/dos/compaq/1.12/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 1.12 diff --git a/disks/pc/dos/compaq/2.12/manifest.xml b/disks/pc/dos/compaq/2.12/manifest.xml index 4e9394707..218ba3d06 100644 --- a/disks/pc/dos/compaq/2.12/manifest.xml +++ b/disks/pc/dos/compaq/2.12/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 2.12 diff --git a/disks/pc/dos/compaq/3.10/manifest.xml b/disks/pc/dos/compaq/3.10/manifest.xml index 9f7625365..0dbe67549 100644 --- a/disks/pc/dos/compaq/3.10/manifest.xml +++ b/disks/pc/dos/compaq/3.10/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.10 diff --git a/disks/pc/dos/compaq/3.31/manifest.xml b/disks/pc/dos/compaq/3.31/manifest.xml index fd6d53a23..f3bbe4a34 100644 --- a/disks/pc/dos/compaq/3.31/manifest.xml +++ b/disks/pc/dos/compaq/3.31/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.31 diff --git a/disks/pc/dos/ibm/1.00/manifest.xml b/disks/pc/dos/ibm/1.00/manifest.xml index 6f00b61b6..03d75432e 100644 --- a/disks/pc/dos/ibm/1.00/manifest.xml +++ b/disks/pc/dos/ibm/1.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 1.00 diff --git a/disks/pc/dos/ibm/1.10/manifest.xml b/disks/pc/dos/ibm/1.10/manifest.xml index 9efb40613..398382c72 100644 --- a/disks/pc/dos/ibm/1.10/manifest.xml +++ b/disks/pc/dos/ibm/1.10/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 1.10 diff --git a/disks/pc/dos/ibm/2.00/manifest.xml b/disks/pc/dos/ibm/2.00/manifest.xml index 0628707ac..91232ea0b 100644 --- a/disks/pc/dos/ibm/2.00/manifest.xml +++ b/disks/pc/dos/ibm/2.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 2.00 diff --git a/disks/pc/dos/ibm/2.10/manifest.xml b/disks/pc/dos/ibm/2.10/manifest.xml index 3e0966c11..47fd5932e 100644 --- a/disks/pc/dos/ibm/2.10/manifest.xml +++ b/disks/pc/dos/ibm/2.10/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 2.10 diff --git a/disks/pc/dos/ibm/3.00/manifest.xml b/disks/pc/dos/ibm/3.00/manifest.xml index dfc7ad2a0..ba2411668 100644 --- a/disks/pc/dos/ibm/3.00/manifest.xml +++ b/disks/pc/dos/ibm/3.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 3.00 diff --git a/disks/pc/dos/ibm/3.10/manifest.xml b/disks/pc/dos/ibm/3.10/manifest.xml index 99b466bbd..33a922b23 100644 --- a/disks/pc/dos/ibm/3.10/manifest.xml +++ b/disks/pc/dos/ibm/3.10/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 3.10 diff --git a/disks/pc/dos/ibm/3.20/manifest.xml b/disks/pc/dos/ibm/3.20/manifest.xml index 62876b47f..0a056c29b 100644 --- a/disks/pc/dos/ibm/3.20/manifest.xml +++ b/disks/pc/dos/ibm/3.20/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 3.20 diff --git a/disks/pc/dos/ibm/3.30/manifest.xml b/disks/pc/dos/ibm/3.30/manifest.xml index 7ebbed52a..1763ea0b1 100644 --- a/disks/pc/dos/ibm/3.30/manifest.xml +++ b/disks/pc/dos/ibm/3.30/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 3.30 diff --git a/disks/pc/dos/ibm/4.00/manifest.xml b/disks/pc/dos/ibm/4.00/manifest.xml index 65b4ea6f2..eba143487 100644 --- a/disks/pc/dos/ibm/4.00/manifest.xml +++ b/disks/pc/dos/ibm/4.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 4.00 diff --git a/disks/pc/dos/ibm/5.00/manifest.xml b/disks/pc/dos/ibm/5.00/manifest.xml index 1eaa92cb1..1ae0792ff 100644 --- a/disks/pc/dos/ibm/5.00/manifest.xml +++ b/disks/pc/dos/ibm/5.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 5.00 diff --git a/disks/pc/dos/ibm/6.10/manifest.xml b/disks/pc/dos/ibm/6.10/manifest.xml index b948dcf9b..640c86e66 100644 --- a/disks/pc/dos/ibm/6.10/manifest.xml +++ b/disks/pc/dos/ibm/6.10/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 6.10 diff --git a/disks/pc/dos/ibm/6.30/manifest.xml b/disks/pc/dos/ibm/6.30/manifest.xml index de0c05370..bf345387b 100644 --- a/disks/pc/dos/ibm/6.30/manifest.xml +++ b/disks/pc/dos/ibm/6.30/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 6.30 diff --git a/disks/pc/dos/ibm/7.00/manifest.xml b/disks/pc/dos/ibm/7.00/manifest.xml index 978c3b412..f53ea3c0e 100644 --- a/disks/pc/dos/ibm/7.00/manifest.xml +++ b/disks/pc/dos/ibm/7.00/manifest.xml @@ -1,5 +1,5 @@ - + PC-DOS 7.00 diff --git a/disks/pc/dos/microsoft/3.20/manifest.xml b/disks/pc/dos/microsoft/3.20/manifest.xml index 56e41b832..9e33549e3 100644 --- a/disks/pc/dos/microsoft/3.20/manifest.xml +++ b/disks/pc/dos/microsoft/3.20/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.20 diff --git a/disks/pc/dos/microsoft/3.21/manifest.xml b/disks/pc/dos/microsoft/3.21/manifest.xml index 1b2397056..efa5e98af 100644 --- a/disks/pc/dos/microsoft/3.21/manifest.xml +++ b/disks/pc/dos/microsoft/3.21/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.21 diff --git a/disks/pc/dos/microsoft/3.30/manifest.xml b/disks/pc/dos/microsoft/3.30/manifest.xml index 075d0a0c9..fc924a125 100644 --- a/disks/pc/dos/microsoft/3.30/manifest.xml +++ b/disks/pc/dos/microsoft/3.30/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.30 diff --git a/disks/pc/dos/microsoft/3.31/manifest.xml b/disks/pc/dos/microsoft/3.31/manifest.xml index afd700365..c6a6f87ae 100644 --- a/disks/pc/dos/microsoft/3.31/manifest.xml +++ b/disks/pc/dos/microsoft/3.31/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 3.31 diff --git a/disks/pc/dos/microsoft/4.00/manifest.xml b/disks/pc/dos/microsoft/4.00/manifest.xml index 99f08dada..92fba26c3 100644 --- a/disks/pc/dos/microsoft/4.00/manifest.xml +++ b/disks/pc/dos/microsoft/4.00/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 4.00 diff --git a/disks/pc/dos/microsoft/4.01/720K/manifest.xml b/disks/pc/dos/microsoft/4.01/720K/manifest.xml index 9aa4af302..971ba73fd 100644 --- a/disks/pc/dos/microsoft/4.01/720K/manifest.xml +++ b/disks/pc/dos/microsoft/4.01/720K/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 4.01 diff --git a/disks/pc/dos/microsoft/4.01/manifest.xml b/disks/pc/dos/microsoft/4.01/manifest.xml index 6125d126b..d77e1dc0c 100644 --- a/disks/pc/dos/microsoft/4.01/manifest.xml +++ b/disks/pc/dos/microsoft/4.01/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 4.01 diff --git a/disks/pc/dos/microsoft/4.0M/manifest.xml b/disks/pc/dos/microsoft/4.0M/manifest.xml index 44fa257be..59d29876f 100644 --- a/disks/pc/dos/microsoft/4.0M/manifest.xml +++ b/disks/pc/dos/microsoft/4.0M/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 4.0M diff --git a/disks/pc/dos/microsoft/5.00/manifest.xml b/disks/pc/dos/microsoft/5.00/manifest.xml index 5fdbdd4c0..d601a6f0b 100644 --- a/disks/pc/dos/microsoft/5.00/manifest.xml +++ b/disks/pc/dos/microsoft/5.00/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 5.00 diff --git a/disks/pc/dos/microsoft/6.00/manifest.xml b/disks/pc/dos/microsoft/6.00/manifest.xml index 71379588d..c4900fb4a 100644 --- a/disks/pc/dos/microsoft/6.00/manifest.xml +++ b/disks/pc/dos/microsoft/6.00/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 6.00 diff --git a/disks/pc/dos/microsoft/6.20/manifest.xml b/disks/pc/dos/microsoft/6.20/manifest.xml index 796f6c873..ae358b45c 100644 --- a/disks/pc/dos/microsoft/6.20/manifest.xml +++ b/disks/pc/dos/microsoft/6.20/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 6.20 diff --git a/disks/pc/dos/microsoft/6.22/manifest.xml b/disks/pc/dos/microsoft/6.22/manifest.xml index 3e0d0f1e3..816527ba3 100644 --- a/disks/pc/dos/microsoft/6.22/manifest.xml +++ b/disks/pc/dos/microsoft/6.22/manifest.xml @@ -1,5 +1,5 @@ - + MS-DOS 6.22 diff --git a/disks/pc/empty/manifest.xml b/disks/pc/empty/manifest.xml index b6fcc213f..372dc21ea 100644 --- a/disks/pc/empty/manifest.xml +++ b/disks/pc/empty/manifest.xml @@ -1,5 +1,5 @@ - + Empty Diskettes diff --git a/disks/pc/games/id/wolf3d/manifest.xml b/disks/pc/games/id/wolf3d/manifest.xml index a9dc9478a..c71809aa8 100644 --- a/disks/pc/games/id/wolf3d/manifest.xml +++ b/disks/pc/games/id/wolf3d/manifest.xml @@ -1,5 +1,5 @@ - + Wolfenstein 3D diff --git a/disks/pc/games/infocom/hhiker/manifest.xml b/disks/pc/games/infocom/hhiker/manifest.xml index 031ad0ff6..5fd3dc7b7 100644 --- a/disks/pc/games/infocom/hhiker/manifest.xml +++ b/disks/pc/games/infocom/hhiker/manifest.xml @@ -1,5 +1,5 @@ - + The Hitchhiker's Guide to the Galaxy diff --git a/disks/pc/games/infocom/machine.xml b/disks/pc/games/infocom/machine.xml index 97bb111d4..c41cc94fe 100644 --- a/disks/pc/games/infocom/machine.xml +++ b/disks/pc/games/infocom/machine.xml @@ -1,5 +1,5 @@ - + IBM PC Model 5150 (CGA, 64K) diff --git a/disks/pc/games/infocom/planet/manifest.xml b/disks/pc/games/infocom/planet/manifest.xml index 3808c2913..7cec373a6 100644 --- a/disks/pc/games/infocom/planet/manifest.xml +++ b/disks/pc/games/infocom/planet/manifest.xml @@ -1,5 +1,5 @@ - + Planetfall diff --git a/disks/pc/games/infocom/zork1/debugger/machine.xml b/disks/pc/games/infocom/zork1/debugger/machine.xml index d419bb9ab..a4c8af928 100644 --- a/disks/pc/games/infocom/zork1/debugger/machine.xml +++ b/disks/pc/games/infocom/zork1/debugger/machine.xml @@ -1,5 +1,5 @@ - + Zork I (IBM PC Model 5150) diff --git a/disks/pc/games/infocom/zork1/manifest.xml b/disks/pc/games/infocom/zork1/manifest.xml index 1716b9c64..f4c601d7c 100644 --- a/disks/pc/games/infocom/zork1/manifest.xml +++ b/disks/pc/games/infocom/zork1/manifest.xml @@ -1,5 +1,5 @@ - + Zork I diff --git a/disks/pc/games/infocom/zork2/manifest.xml b/disks/pc/games/infocom/zork2/manifest.xml index b2ff1d87e..f9aa6c3d4 100644 --- a/disks/pc/games/infocom/zork2/manifest.xml +++ b/disks/pc/games/infocom/zork2/manifest.xml @@ -1,5 +1,5 @@ - + Zork II diff --git a/disks/pc/games/infocom/zork3/manifest.xml b/disks/pc/games/infocom/zork3/manifest.xml index a918d75c2..856184d06 100644 --- a/disks/pc/games/infocom/zork3/manifest.xml +++ b/disks/pc/games/infocom/zork3/manifest.xml @@ -1,5 +1,5 @@ - + Zork III diff --git a/disks/pc/games/microsoft/adventure/machine.xml b/disks/pc/games/microsoft/adventure/machine.xml index a80403262..6223f1b3e 100644 --- a/disks/pc/games/microsoft/adventure/machine.xml +++ b/disks/pc/games/microsoft/adventure/machine.xml @@ -1,5 +1,5 @@ - + IBM PC (Model 5150) running Microsoft Adventure diff --git a/disks/pc/games/microsoft/adventure/manifest.xml b/disks/pc/games/microsoft/adventure/manifest.xml index 511557aab..d4693131a 100644 --- a/disks/pc/games/microsoft/adventure/manifest.xml +++ b/disks/pc/games/microsoft/adventure/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Adventure 1.00 diff --git a/disks/pc/games/microsoft/flightsim/1982/manifest.xml b/disks/pc/games/microsoft/flightsim/1982/manifest.xml index 94bab877b..607293c31 100644 --- a/disks/pc/games/microsoft/flightsim/1982/manifest.xml +++ b/disks/pc/games/microsoft/flightsim/1982/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Flight Simulator diff --git a/disks/pc/games/microsoft/flightsim/1984/manifest.xml b/disks/pc/games/microsoft/flightsim/1984/manifest.xml index b10af2a85..4764962fb 100644 --- a/disks/pc/games/microsoft/flightsim/1984/manifest.xml +++ b/disks/pc/games/microsoft/flightsim/1984/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Flight Simulator diff --git a/disks/pc/minix/1.1/manifest.xml b/disks/pc/minix/1.1/manifest.xml index 5a5251c72..ec1026c7c 100644 --- a/disks/pc/minix/1.1/manifest.xml +++ b/disks/pc/minix/1.1/manifest.xml @@ -1,5 +1,5 @@ - + MINIX 1.1 diff --git a/disks/pc/os2/ibm/1.0/manifest.xml b/disks/pc/os2/ibm/1.0/manifest.xml index ec7ca7ec8..ceda785ec 100644 --- a/disks/pc/os2/ibm/1.0/manifest.xml +++ b/disks/pc/os2/ibm/1.0/manifest.xml @@ -1,5 +1,5 @@ - + IBM OS/2 1.0 diff --git a/disks/pc/os2/ibm/1.1/manifest.xml b/disks/pc/os2/ibm/1.1/manifest.xml index b19af9757..4eb25d030 100644 --- a/disks/pc/os2/ibm/1.1/manifest.xml +++ b/disks/pc/os2/ibm/1.1/manifest.xml @@ -1,5 +1,5 @@ - + IBM OS/2 1.1 diff --git a/disks/pc/os2/ibm/1.3/manifest.xml b/disks/pc/os2/ibm/1.3/manifest.xml index d74e81be5..f56b56c63 100644 --- a/disks/pc/os2/ibm/1.3/manifest.xml +++ b/disks/pc/os2/ibm/1.3/manifest.xml @@ -1,5 +1,5 @@ - + IBM OS/2 1.3 diff --git a/disks/pc/os2/microsoft/1.0/manifest.xml b/disks/pc/os2/microsoft/1.0/manifest.xml index c0b66615b..8c24b44c1 100644 --- a/disks/pc/os2/microsoft/1.0/manifest.xml +++ b/disks/pc/os2/microsoft/1.0/manifest.xml @@ -1,5 +1,5 @@ - + MS OS/2 1.0 diff --git a/disks/pc/os2/misc/manifest.xml b/disks/pc/os2/misc/manifest.xml index 0c931f5c8..f1d3eeb73 100644 --- a/disks/pc/os2/misc/manifest.xml +++ b/disks/pc/os2/misc/manifest.xml @@ -1,5 +1,5 @@ - + OS/2 Prototype Disks diff --git a/disks/pc/tools/borland/pascal/3.00b/manifest.xml b/disks/pc/tools/borland/pascal/3.00b/manifest.xml index 53d7fe9db..7d88ff00b 100644 --- a/disks/pc/tools/borland/pascal/3.00b/manifest.xml +++ b/disks/pc/tools/borland/pascal/3.00b/manifest.xml @@ -1,5 +1,5 @@ - + Borland Turbo Pascal diff --git a/disks/pc/tools/borland/pascal/3.01a/manifest.xml b/disks/pc/tools/borland/pascal/3.01a/manifest.xml index 44b3347c1..e8038ecac 100644 --- a/disks/pc/tools/borland/pascal/3.01a/manifest.xml +++ b/disks/pc/tools/borland/pascal/3.01a/manifest.xml @@ -1,5 +1,5 @@ - + Borland Turbo Pascal diff --git a/disks/pc/tools/ibm/bascom/1.00/manifest.xml b/disks/pc/tools/ibm/bascom/1.00/manifest.xml index e8567f562..48e830105 100644 --- a/disks/pc/tools/ibm/bascom/1.00/manifest.xml +++ b/disks/pc/tools/ibm/bascom/1.00/manifest.xml @@ -1,5 +1,5 @@ - + IBM BASIC Compiler 1.00 diff --git a/disks/pc/tools/microsoft/basic/manifest.xml b/disks/pc/tools/microsoft/basic/manifest.xml index d1b9a706a..825605816 100644 --- a/disks/pc/tools/microsoft/basic/manifest.xml +++ b/disks/pc/tools/microsoft/basic/manifest.xml @@ -1,5 +1,5 @@ - + MS BASIC diff --git a/disks/pc/tools/microsoft/c/2.03/manifest.xml b/disks/pc/tools/microsoft/c/2.03/manifest.xml index f655d807d..51731af33 100644 --- a/disks/pc/tools/microsoft/c/2.03/manifest.xml +++ b/disks/pc/tools/microsoft/c/2.03/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft C Compiler 2.03 diff --git a/disks/pc/tools/microsoft/c/3.00/manifest.xml b/disks/pc/tools/microsoft/c/3.00/manifest.xml index 0108eac12..da53593d5 100644 --- a/disks/pc/tools/microsoft/c/3.00/manifest.xml +++ b/disks/pc/tools/microsoft/c/3.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft C Compiler 3.00 diff --git a/disks/pc/tools/microsoft/c/4.00/manifest.xml b/disks/pc/tools/microsoft/c/4.00/manifest.xml index f99a07dc8..4f05f7474 100644 --- a/disks/pc/tools/microsoft/c/4.00/manifest.xml +++ b/disks/pc/tools/microsoft/c/4.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft C Compiler 4.00 diff --git a/disks/pc/tools/microsoft/c/5.00/manifest.xml b/disks/pc/tools/microsoft/c/5.00/manifest.xml index 70c18fdca..f6572a716 100644 --- a/disks/pc/tools/microsoft/c/5.00/manifest.xml +++ b/disks/pc/tools/microsoft/c/5.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft C Compiler 5.00 diff --git a/disks/pc/tools/microsoft/c/5.10-os2/manifest.xml b/disks/pc/tools/microsoft/c/5.10-os2/manifest.xml index c35c2587d..d52595eaa 100644 --- a/disks/pc/tools/microsoft/c/5.10-os2/manifest.xml +++ b/disks/pc/tools/microsoft/c/5.10-os2/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft C Compiler 5.10-OS2 diff --git a/disks/pc/tools/microsoft/c/5.10/manifest.xml b/disks/pc/tools/microsoft/c/5.10/manifest.xml index 0ce1871d2..aa7042912 100644 --- a/disks/pc/tools/microsoft/c/5.10/manifest.xml +++ b/disks/pc/tools/microsoft/c/5.10/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft C Compiler 5.10 diff --git a/disks/pc/tools/microsoft/masm/1.00/manifest.xml b/disks/pc/tools/microsoft/masm/1.00/manifest.xml index ccfd02f8c..7f571867f 100644 --- a/disks/pc/tools/microsoft/masm/1.00/manifest.xml +++ b/disks/pc/tools/microsoft/masm/1.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 1.00 diff --git a/disks/pc/tools/microsoft/masm/3.00/manifest.xml b/disks/pc/tools/microsoft/masm/3.00/manifest.xml index db48b9987..a17433635 100644 --- a/disks/pc/tools/microsoft/masm/3.00/manifest.xml +++ b/disks/pc/tools/microsoft/masm/3.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 3.00 diff --git a/disks/pc/tools/microsoft/masm/3.01/manifest.xml b/disks/pc/tools/microsoft/masm/3.01/manifest.xml index c2aae1802..b429503b7 100644 --- a/disks/pc/tools/microsoft/masm/3.01/manifest.xml +++ b/disks/pc/tools/microsoft/masm/3.01/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 3.01 diff --git a/disks/pc/tools/microsoft/masm/4.00/manifest.xml b/disks/pc/tools/microsoft/masm/4.00/manifest.xml index b77163d97..a619236fa 100644 --- a/disks/pc/tools/microsoft/masm/4.00/manifest.xml +++ b/disks/pc/tools/microsoft/masm/4.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 4.00 diff --git a/disks/pc/tools/microsoft/masm/5.00/manifest.xml b/disks/pc/tools/microsoft/masm/5.00/manifest.xml index 6514fd1f6..5f08b03e2 100644 --- a/disks/pc/tools/microsoft/masm/5.00/manifest.xml +++ b/disks/pc/tools/microsoft/masm/5.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 5.00 diff --git a/disks/pc/tools/microsoft/masm/5.10/manifest.xml b/disks/pc/tools/microsoft/masm/5.10/manifest.xml index 072b4191b..cceb48adc 100644 --- a/disks/pc/tools/microsoft/masm/5.10/manifest.xml +++ b/disks/pc/tools/microsoft/masm/5.10/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 5.10 diff --git a/disks/pc/tools/microsoft/masm/6.00/manifest.xml b/disks/pc/tools/microsoft/masm/6.00/manifest.xml index 8bc54e313..b1e1597b7 100644 --- a/disks/pc/tools/microsoft/masm/6.00/manifest.xml +++ b/disks/pc/tools/microsoft/masm/6.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 6.00 diff --git a/disks/pc/tools/microsoft/masm/6.11/manifest.xml b/disks/pc/tools/microsoft/masm/6.11/manifest.xml index 842a2394b..90cba8a06 100644 --- a/disks/pc/tools/microsoft/masm/6.11/manifest.xml +++ b/disks/pc/tools/microsoft/masm/6.11/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Macro Assembler 6.11 diff --git a/disks/pc/tools/microsoft/mouse/5.00/manifest.xml b/disks/pc/tools/microsoft/mouse/5.00/manifest.xml index 3d13bae55..922c799f4 100644 --- a/disks/pc/tools/microsoft/mouse/5.00/manifest.xml +++ b/disks/pc/tools/microsoft/mouse/5.00/manifest.xml @@ -1,5 +1,5 @@ - + MS Mouse 5.00 diff --git a/disks/pc/tools/microsoft/os2/sdk/1.02/manifest.xml b/disks/pc/tools/microsoft/os2/sdk/1.02/manifest.xml index e58161762..c96b0fd68 100644 --- a/disks/pc/tools/microsoft/os2/sdk/1.02/manifest.xml +++ b/disks/pc/tools/microsoft/os2/sdk/1.02/manifest.xml @@ -1,5 +1,5 @@ - + MS OS/2 SDK 1.02 diff --git a/disks/pc/tools/microsoft/windows/sdk/1.01/manifest.xml b/disks/pc/tools/microsoft/windows/sdk/1.01/manifest.xml index 5df180e5c..1ee684d9f 100644 --- a/disks/pc/tools/microsoft/windows/sdk/1.01/manifest.xml +++ b/disks/pc/tools/microsoft/windows/sdk/1.01/manifest.xml @@ -1,5 +1,5 @@ - + Windows SDK 1.01 diff --git a/disks/pc/tools/microsoft/windows/sdk/1.03/manifest.xml b/disks/pc/tools/microsoft/windows/sdk/1.03/manifest.xml index 10379b0d9..08ee6d8cc 100644 --- a/disks/pc/tools/microsoft/windows/sdk/1.03/manifest.xml +++ b/disks/pc/tools/microsoft/windows/sdk/1.03/manifest.xml @@ -1,5 +1,5 @@ - + Windows SDK 1.03 diff --git a/disks/pc/tools/microsoft/windows/sdk/1.04/manifest.xml b/disks/pc/tools/microsoft/windows/sdk/1.04/manifest.xml index 7bc6df384..0ab3d2ce9 100644 --- a/disks/pc/tools/microsoft/windows/sdk/1.04/manifest.xml +++ b/disks/pc/tools/microsoft/windows/sdk/1.04/manifest.xml @@ -1,5 +1,5 @@ - + Windows SDK 1.04 os2museum.com diff --git a/disks/pc/tools/microsoft/windows/sdk/2.03/manifest.xml b/disks/pc/tools/microsoft/windows/sdk/2.03/manifest.xml index b51593b4e..8a172ceab 100644 --- a/disks/pc/tools/microsoft/windows/sdk/2.03/manifest.xml +++ b/disks/pc/tools/microsoft/windows/sdk/2.03/manifest.xml @@ -1,5 +1,5 @@ - + Windows SDK 2.03 os2museum.com diff --git a/disks/pc/tools/microsoft/windows/sdk/3.00/manifest.xml b/disks/pc/tools/microsoft/windows/sdk/3.00/manifest.xml index 90d14bf2a..c5dd80c9d 100644 --- a/disks/pc/tools/microsoft/windows/sdk/3.00/manifest.xml +++ b/disks/pc/tools/microsoft/windows/sdk/3.00/manifest.xml @@ -1,5 +1,5 @@ - + Windows SDK 3.00 diff --git a/disks/pc/tools/misc/manifest.xml b/disks/pc/tools/misc/manifest.xml index 8d47b9748..45a107352 100644 --- a/disks/pc/tools/misc/manifest.xml +++ b/disks/pc/tools/misc/manifest.xml @@ -1,5 +1,5 @@ - + Enhanced DEBUG PC DOS Retro: Enhanced DEBUG for PC DOS and MS-DOS diff --git a/disks/pc/unix/ibm/pcix/1.0/manifest.xml b/disks/pc/unix/ibm/pcix/1.0/manifest.xml index 73a8bb8ab..206a8462f 100644 --- a/disks/pc/unix/ibm/pcix/1.0/manifest.xml +++ b/disks/pc/unix/ibm/pcix/1.0/manifest.xml @@ -1,5 +1,5 @@ - + PC/IX 1.0 diff --git a/disks/pc/unix/microport/system-v/2.3/manifest.xml b/disks/pc/unix/microport/system-v/2.3/manifest.xml index 9bb92f93c..fdd05e54e 100644 --- a/disks/pc/unix/microport/system-v/2.3/manifest.xml +++ b/disks/pc/unix/microport/system-v/2.3/manifest.xml @@ -1,5 +1,5 @@ - + Microport's AT&T UNIX System V-AT 2.3 (5¨) diff --git a/disks/pc/unix/sco/xenix/8086/2.1.3/manifest.xml b/disks/pc/unix/sco/xenix/8086/2.1.3/manifest.xml index 50e82d69d..268a40137 100644 --- a/disks/pc/unix/sco/xenix/8086/2.1.3/manifest.xml +++ b/disks/pc/unix/sco/xenix/8086/2.1.3/manifest.xml @@ -1,5 +1,5 @@ - + SCO Xenix 8086 Operating System v2.1.3 diff --git a/disks/pc/windows/1.00/manifest.xml b/disks/pc/windows/1.00/manifest.xml index d25bd88da..645d46d4b 100644 --- a/disks/pc/windows/1.00/manifest.xml +++ b/disks/pc/windows/1.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.00 diff --git a/disks/pc/windows/1.01/manifest.xml b/disks/pc/windows/1.01/manifest.xml index 889d73c4e..6861503d9 100644 --- a/disks/pc/windows/1.01/manifest.xml +++ b/disks/pc/windows/1.01/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.01 diff --git a/disks/pc/windows/1.02/manifest.xml b/disks/pc/windows/1.02/manifest.xml index 90deb410e..1a3bfe18a 100644 --- a/disks/pc/windows/1.02/manifest.xml +++ b/disks/pc/windows/1.02/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.02 diff --git a/disks/pc/windows/1.03/manifest.xml b/disks/pc/windows/1.03/manifest.xml index 3b3f326e0..1504cb854 100644 --- a/disks/pc/windows/1.03/manifest.xml +++ b/disks/pc/windows/1.03/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.03 diff --git a/disks/pc/windows/1.03a/manifest.xml b/disks/pc/windows/1.03a/manifest.xml index e038f2b0b..5e9f9d749 100644 --- a/disks/pc/windows/1.03a/manifest.xml +++ b/disks/pc/windows/1.03a/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.03a diff --git a/disks/pc/windows/1.03b/manifest.xml b/disks/pc/windows/1.03b/manifest.xml index 0c46705f8..5b6e11ab4 100644 --- a/disks/pc/windows/1.03b/manifest.xml +++ b/disks/pc/windows/1.03b/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.03b diff --git a/disks/pc/windows/1.04/manifest.xml b/disks/pc/windows/1.04/manifest.xml index d14828764..c59ff3eac 100644 --- a/disks/pc/windows/1.04/manifest.xml +++ b/disks/pc/windows/1.04/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 1.04 os2museum.com diff --git a/disks/pc/windows/2.03/manifest.xml b/disks/pc/windows/2.03/manifest.xml index 1bfecc7a4..ad4ddc367 100644 --- a/disks/pc/windows/2.03/manifest.xml +++ b/disks/pc/windows/2.03/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 2.03 diff --git a/disks/pc/windows/2.0x/manifest.xml b/disks/pc/windows/2.0x/manifest.xml index 91a946c7d..f8e409ea3 100644 --- a/disks/pc/windows/2.0x/manifest.xml +++ b/disks/pc/windows/2.0x/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows/386 2.0x diff --git a/disks/pc/windows/2.10/manifest.xml b/disks/pc/windows/2.10/manifest.xml index d9b5c3bb4..cdb136446 100644 --- a/disks/pc/windows/2.10/manifest.xml +++ b/disks/pc/windows/2.10/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows/386 2.10 diff --git a/disks/pc/windows/2.11/manifest.xml b/disks/pc/windows/2.11/manifest.xml index 0f1dffa32..cb9258108 100644 --- a/disks/pc/windows/2.11/manifest.xml +++ b/disks/pc/windows/2.11/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 2.11 diff --git a/disks/pc/windows/3.00/720K/manifest.xml b/disks/pc/windows/3.00/720K/manifest.xml index 4ba66e817..0b007394c 100644 --- a/disks/pc/windows/3.00/720K/manifest.xml +++ b/disks/pc/windows/3.00/720K/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 3.00 diff --git a/disks/pc/windows/3.00/manifest.xml b/disks/pc/windows/3.00/manifest.xml index 14b38e1af..a692aef8b 100644 --- a/disks/pc/windows/3.00/manifest.xml +++ b/disks/pc/windows/3.00/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 3.00 diff --git a/disks/pc/windows/3.10/manifest.xml b/disks/pc/windows/3.10/manifest.xml index 5a0643026..971758001 100644 --- a/disks/pc/windows/3.10/manifest.xml +++ b/disks/pc/windows/3.10/manifest.xml @@ -1,5 +1,5 @@ - + Microsoft Windows 3.10 diff --git a/disks/pc/windows/3.11/manifest.xml b/disks/pc/windows/3.11/manifest.xml index 689b7efa6..10cb63439 100644 --- a/disks/pc/windows/3.11/manifest.xml +++ b/disks/pc/windows/3.11/manifest.xml @@ -1,5 +1,5 @@ - + Windows for Workgroups 3.11 diff --git a/disks/pc/windows/win95/4.00.499/manifest.xml b/disks/pc/windows/win95/4.00.499/manifest.xml index 8c99288c9..aa472bd90 100644 --- a/disks/pc/windows/win95/4.00.499/manifest.xml +++ b/disks/pc/windows/win95/4.00.499/manifest.xml @@ -1,5 +1,5 @@ - + Windows 95 (Build 499) diff --git a/disks/pc/windows/win95/4.00.950/manifest.xml b/disks/pc/windows/win95/4.00.950/manifest.xml index d7db2fcd1..3db9a0826 100644 --- a/disks/pc/windows/win95/4.00.950/manifest.xml +++ b/disks/pc/windows/win95/4.00.950/manifest.xml @@ -1,5 +1,5 @@ - + Windows 95 (RTM) 4.00.950 diff --git a/disks/pc/windows/wincomm/manifest.xml b/disks/pc/windows/wincomm/manifest.xml index b645e4a7e..e9cbd0206 100644 --- a/disks/pc/windows/wincomm/manifest.xml +++ b/disks/pc/windows/wincomm/manifest.xml @@ -1,5 +1,5 @@ - + Windows COMM Driver (Source) diff --git a/docs/pcjs/examples/components.xsl b/docs/pcjs/examples/components.xsl index ab4a01dc4..50d1f9615 100644 --- a/docs/pcjs/examples/components.xsl +++ b/docs/pcjs/examples/components.xsl @@ -11,7 +11,7 @@ pc pcjs - 1.21.6 + 1.21.7 www.pcjs.org diff --git a/docs/pcjs/examples/pc-dbg.js b/docs/pcjs/examples/pc-dbg.js index e0d6e5934..793397570 100644 --- a/docs/pcjs/examples/pc-dbg.js +++ b/docs/pcjs/examples/pc-dbg.js @@ -75,10 +75,10 @@ m.Qb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa a=!0;break;case "speed":this.qa[b]=c;a=!0;break;case "setSpeed":this.qa[b]=c,c.onclick=function(){Xc(d,d.Y.Yd<<1,!0)},c.textContent=this.Y.Fe.toFixed(2)+"Mhz",a=!0}return a};function Yc(a,b){if(a.la.Ib){var c=a.A-b;a.A-=c;a.fb-=c}}function Zc(a,b,c){a.uc+=b;c&&(a.fb=a.A=0)} function $c(a,b){var c=30;60>c&&(c=60);2>c&&(c=2);var d=1;b&&1a.Y.ug&&(c=Math.round(c/a.Y.Yd));return c}function Oc(a){a.Y.pe=0;a.uc=a.Ub=a.fb=a.A=0;Pc(a);Xc(a,1)} function Xc(a,b,c){var d=!1;if(void 0!==b){.8>a.Y.pe/a.Y.Fe?b=1:d=!0;a.Y.Yd=b;b=a.Y.ug*a.Y.Yd;if(a.Y.Fe!=b){a.Y.Fe=b;b=a.Y.Fe.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.V&&a.V.yd()}Zc(a,a.Ub);a.Ub=0;a.Y.hf=pa();a.Y.Ge=0;$c(a);return d} -m.Ke=function(a){if(pb(this,!0)){if(!this.la.Ib){Xc(this);this.V&&this.V.start(this.Y.hf,Wc(this));this.la.Ib=!0;this.la.eh=!0;this.N&&ad(this.N);var b=this.qa.run;b&&(b.textContent="Halt");this.V&&(this.V.qd(),a&&this.V.yd(!0))}this.Y.sh>=this.Y.Jd&&$c(this,!0);this.Y.Mf=0;this.Y.vg=pa();this.Y.Ge&&(a=this.Y.vg-this.Y.Ge,a>this.Y.Xi&&(this.Y.hf+=a,this.Y.hf>this.Y.vg&&(this.Y.hf=this.Y.vg)));try{do{var c=this.la.Ye?1:this.Y.km;if(this.N){bd(this.N);var d=this.N;a=c;var e=d.W[0];if(e.Be){var f=(Wc(d.F, -d.ka)-e.xd)/d.gb|0,g=cd(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.ua-Wc(k.F,k.ka);0l&&(a=l)}c=a}try{this.vf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.fb-this.A;this.Ub+=n;this.Y.Mf+=n;Zc(this,0,!0);Vc(this,n);this.Y.Lf-=n;0>=this.Y.Lf&&(this.Y.Lf+=this.Y.Zi,this.V&&dd(this.V));this.Y.Kf-=n;0>=this.Y.Kf&&(this.Y.Kf+=this.Y.Yi,this.V&&this.V.qd());this.Y.mf-=n;if(0>=this.Y.mf){this.Y.mf+=this.Y.rh;break}}while(this.la.Ib)}catch(q){this.Wb(); -Qc(this);this.V&&this.V.stop(pa(),Wc(this));pb(this,!1);ub(this,q.stack||q.message);return}c=setTimeout;d=this.pi;this.Y.Ge=pa();e=this.Y.Xi;this.Y.Mf&&(e=Math.round(e*this.Y.Mf/this.Y.rh));e-=this.Y.Ge-this.Y.vg;if(f=this.Y.Ge-this.Y.hf)this.Y.pe=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&bd(this.N,!0),Xc(this));if(0>e||this.Y.pe=this.Y.Jd&&$c(this,!0);this.Y.Mf=0;this.Y.vg=pa();this.Y.Ge&&(a=this.Y.vg-this.Y.Ge,a>this.Y.Xi&&(this.Y.hf+=a,this.Y.hf>this.Y.vg&&(this.Y.hf=this.Y.vg)));try{do{var c=this.la.Ye?1:this.Y.km;if(this.N){bd(this.N);var d=this.N;a=c;var e=d.W[0];if(e.Be){var f= +(Wc(d.F,d.ka)-e.xd)/d.gb|0,g=cd(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.ua-Wc(k.F,k.ka);0l&&(a=l)}c=a}try{this.vf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.fb-this.A;this.Ub+=n;this.Y.Mf+=n;Zc(this,0,!0);Vc(this,n);this.Y.Lf-=n;0>=this.Y.Lf&&(this.Y.Lf+=this.Y.Zi,this.V&&dd(this.V));this.Y.Kf-=n;0>=this.Y.Kf&&(this.Y.Kf+=this.Y.Yi,this.V&&this.V.qd());this.Y.mf-=n;if(0>=this.Y.mf){this.Y.mf+=this.Y.rh; +break}}while(this.la.Ib)}catch(q){this.Wb();Qc(this);this.V&&this.V.stop(pa(),Wc(this));pb(this,!1);ub(this,q.stack||q.message);return}c=setTimeout;d=this.pi;this.Y.Ge=pa();e=this.Y.Xi;this.Y.Mf&&(e=Math.round(e*this.Y.Mf/this.Y.rh));e-=this.Y.Ge-this.Y.vg;if(f=this.Y.Ge-this.Y.hf)this.Y.pe=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&bd(this.N,!0),Xc(this));if(0>e||this.Y.pethis.id&&C.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.gm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0}; m.fm=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Td-c|0))return this.C=!0,a=hd(this,c,a),-1!==a&&(a+=this.Xf),a;C.call(b,13,a|2);return-1};m.Di=function(a){return this.Aa+a|0};m.Fi=function(a){return this.Aa+a|0};m.Ci=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.og()};m.Ik=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.og()};m.og=function(){C.call(this.F,13,0);return-1};m.Ei=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.pg()}; @@ -128,8 +128,8 @@ function Nf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,4);return a.S&1?0:a.oa(a m.Ma=function(){var a=mf(this,this.ba),b=this.tb(this.Ga);this.Ga=a;return b};m.T=function(){var a=mf(this,1),b=this.Qa(this.Ga)<<24>>24;this.Ga=a;return b};function D(a){var b=a.tb(a.ga);a.ga=a.ga+a.ba|0;var c=a.Lg-a.ga|0;0>c&&0<=(a.Lg^a.ga)&&(8088>=a.ia||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?G(a,a.ga-a.ta.Aa&a.ta.Ba):-1>c&&C.call(a,12,0));return b} function pd(a,b,c,d){c=a.ga-c|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ia||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.ga=c}function J(a,b){var c=a.ga-a.ba|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ia||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));a.rc(c,b);a.ga=c} function Sf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ia)2this.ia?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ca&512){var f=Uf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5;Vf.call(this, f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ia&&(this.Ja[6]|=16384);Vf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Wf(this.ha,this.Ga,c)){this.Wb();break}c=1}this.S=0;this.X[this.xa()].call(this)}while(0Vr){if(d.load(this.aa)){this.V=new hf(this,Xr,"failsafe");this.V.load()&&(as(this,d),a=2,Pr(this.V));N(this.V,"timestamp",qa());Qr(this.V);var e=this.A&&!this.W;if(1==a||za("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=Rr(d)){var f=Sr(d,"code"),g=Sr(d,"data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!= @@ -791,7 +791,7 @@ g?(this.Na("Error: "+g),"unable to verify user"==g&&(Fa("user",""),this.B=null)) function bs(a,b,c,d,e){if(!b.la.cc){b.la.cc=!0;if(b.ic){var f=null;e&&((f=Sr(c,b.id))||(f=Sr(c,b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.ic(f,d)&&f&&(w("Unable to restore state for "+b.type),a.ja&&!a.ra?(c.clear(),a.A=Vr,window&&window.location.reload()):a.pa=!0,b.ic(null),e=!1)}if(!d&&b.tk)for(a=b.tk.split("|"),c=0;ca[1];a=a[2];this.la.cc=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.ka||(this.O("PCjs v"+Xr+"\nCopyright \u00a9 2012-2016 Jeff Parsons \nLicense: GPL version 3 or later "),this.ka=!0);this.F&&(bs(this,this.F,b,c,a),Sc(this.F));this.pa&&(as(this,b),b.clear());!c&&this.V&&(this.V.clear(),delete this.V);this.N=0}; function as(a,b){if(za("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.wa,d=a.ke(),e=b.toString(),f={app:"PCjs"};f.ver=Xr;f.url=c;f.user=d;f.type="bug";f.data=e;va("http://www.pcjs.org/api/v1/report",f,!0)}} -function Nr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new hf(a,Xr),g=new hf(a,Xr,"validate"),h=qa();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.21.6");N(f,"url",window?window.location.href:null);N(f,"browser",ya());a.F&&a.F.hc&&(c&&a.F.Wb(),d=a.F.hc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.cc=!1,!1===d&&(e=null)));for(var h=gb(a.id),k=0;k>>d.La;f=f+g-1>>>d.La;e.$g=0;for(e.Ud=0;h<=f;)g=d.sa[h],e.$g+=g.size,g.size&&(e.Rg.push(sa(Hb,h,0,0,g.type)),e.Ud++),h++;c.A=e;c.ya=c.A.Ud*c.ea.Nb/691200;d=0;c.A.Ai=0;c.A.Af||(c.A.Af=[]);var e=-1,h=0,k=-1;for(f=0;f>1),k=g.y+(g.A>>1),l=g.A,g.ad>1,h.U+=(h.X>>1)-2,Jb(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Jb(c,"This space intentionally left blank");c.context.drawImage(c.aa,0,0,c.aa.width,c.aa.height,c.sb,c.Jb,c.$a,c.fb);c.Ja=!1}} @@ -810,9 +810,9 @@ function rs(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{if(c){fb(c,b,a);v function ss(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");va(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, "");a=a.replace(d[0],g);ss(a,b,c)}})}else c(a,null)} function ts(a,b,c,d){function e(a){if(void 0===h){var b=g&&nb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--es||Sa(!0));k=!1}var g,h,k=!0;es++;eb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c|| -(c="/versions/pcjs/1.21.6/components.xsl");l=function(d,h){h?fs(c,null,null,!1,e,function(d,k){if(k)if(fb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--es||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--es||Sa(!0)):f("invalid machine element: "+ +(c="/versions/pcjs/1.21.7/components.xsl");l=function(d,h){h?fs(c,null,null,!1,e,function(d,k){if(k)if(fb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--es||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--es||Sa(!0)):f("invalid machine element: "+ a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?fs(b,a,d,!0,e,l):rs(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}window.embedPC=function(a,b,c,d){Sa(!1);return ts(a,b,c,d)};window.enableEvents=Sa;window.sendEvent=Ta; function us(a,b,c,d){if(!c&&b){d.push(b);a=eb[d[0]];b=null;for(var e in a)if(ha(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?va(b,null,!0,function(a,b){vs(b,d)}):vs(null,d)}else w("Error ("+c+") requesting "+a)} function vs(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=eb[f],k={},l;for(l in h){var n=h[l],q=ga(l);if("xml"==q){for(q=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, "©"),c=Ia(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
\n'),c+="...\n",c+=' +
+ + + + + + + + + + + + + +
+ + + + js + , + + +
+
+ + + + + + + + + + + + + , + + + + + + + + + + + + .machine + . + + + + + + + + + + + + + + border:1px solid black;border-radius:10px; + border:; + + + + + + left:; + + + + + + top:; + + + + + + + + width:; + width:auto;max-width:; + + + + + + + + height:; + + + + + + padding:; + + padding-top:; + padding-right:; + padding-bottom:; + padding-left:; + + + + + + float:left; + float:right; + margin:0 auto; + position:; + position:absolute; + + + + + overflow:auto;width:100%; + background-color:; + + + + - -component + +
+ + + + + + +
+ +
+
+ +
+ +
+
+ +
+ + +
[XML]
+ +
+ +
+
+
+
+ + + + + text-align:center; + + + +

+
+ + +
+
+ + + + type:'' + + + binding:'' + + + + border:1px solid black; + border:; + + + + + + width:; + + + + + + height:; + + + + + + left:; + + + + + + top:; + + + + + + position:absolute; + float:left; + float:right; + margin:0 auto; + ; + float:left; + + + + + + + + +
+ + + font-size:; + + + + + -label + + + width:; + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+
+
+ +
+
+ +

+
+ +
+
+
+ + +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + null + + + + + + ,autoStart: + + + + + + + + + + + + + + + 600 + + + + + keyboard + ,model: + + + + + + + + + + + + + + + false + + + + + serial + ,demo: + + + + + + + + + + + + + + disk + + + + + + + + + + + + + + + 0 + + + + + + + + + + + rom + ,size:,image:'' + + + + + + + + + + + + + + + 0 + + + + + ram + ,size: + + + + + + + + + + + + + + + 600 + + + + + + 256 + + + + + + 224 + + + + + + 32 + + + + + + 32 + + + + + + 0 + + + + + + 0 + + + + + + + + + + + + black + + + + + video + ,model:,screenWidth:,screenHeight:,charCols:,charRows:,charWidth:,charHeight:,charSet:'',screenColor:'' + + + + + + + + + + + + + + debugger + + + + + + + + + + + + + + panel + + + + + + + + + + + + + [ + {} + , + ] + + + + computer + ,modules: + + + + + type:'',refID:'',start:,end: + + + diff --git a/versions/c1pjs/1.21.7/document.css b/versions/c1pjs/1.21.7/document.css new file mode 100644 index 000000000..7072b406e --- /dev/null +++ b/versions/c1pjs/1.21.7/document.css @@ -0,0 +1,162 @@ +@CHARSET "UTF-8"; + +.page { + margin: 2% 2%; + padding: 2% 2%; + min-width: 30em; + overflow: auto; + font-size: large; + font-family: Helvetica, Arial, sans-serif; + background: #303030; + color: #ccc; + +} +.page-header { +} +.page-header-title { + text-align: center; + +} +.page a { + color: #7fc07f; + text-decoration: none; +} +a.footlink, a.paralink { + text-decoration: none; +} +a.footlink:link, a.paralink:link { + color: blue; +} +a.footlink:visited, a.paralink:visited { + color: blue; +} +.galleryitem { + float: left; + width: 200px; +} +.item { + float: left; + width: 2em; + text-indent: 1em; +} +.list { + margin-left: 3em; + text-indent: 0; + text-align: justify; +} +ul { + list-style: none; +} +div.pnumber { + float: left; + width: 2em; + text-indent: 1em; +} +div.pitem { + margin-left: 10em; +} +p.indent, .justified p { + text-indent: 2em; + text-align: justify; + line-height: 1.5em; +} +p.noindent { + text-indent: 0; + text-align: justify; +} +p.center, .center { + text-align: center; +} +li.para { + margin-top: 1em; + margin-bottom: 1em; +} +.left { + text-align: left; +} +.right { + text-align: right; +} +blockquote.tag { + font-size: small; + font-family: Monaco, Fixed, monospace; + margin-top: 0; + margin-bottom: 0; +} +.blockquote { + padding-left: 1em; + text-indent: 0; + text-align: justify; +} +.italics { + font-style: italic; +} +.medium { + font-size: medium; +} +.small { + font-size: x-small; +} +.smallcaps { + font-variant: small-caps; +} +.strike { + text-decoration: line-through; +} +.summation, .bracelist { + display: inline-block; + position: relative; + vertical-align: middle; + text-align: center; + margin-bottom: 0.5ex; + text-indent: 0; +} +.bracelist-symbol { + font-size: 3em; + vertical-align: -40%; +} +.summation .summation-lower, .summation .summation-upper, .bracelist-item { + display: block; + font-size: 75%; + text-align: center; +} +.summation .summation-upper { + margin-bottom: 0; + margin-left: 0.8ex; + font-style: italic; +} +.summation .summation-lower{ + margin-bottom: -0.6ex; + font-style: italic; +} +.summation .summation-symbol { + font-size: 2em; +} +p sup { + vertical-align: baseline; + position: relative; + bottom: .5em; + font-size: small; +} +p sub { + vertical-align: baseline; + position: relative; + bottom: -.5em; + font-size: small; +} +.footnote { + font-size: medium; + text-indent: 1em; + text-align: justify; + margin-top: .5em; +} +.image-right { + float: right; + margin-left: 1em; + margin-top: 1em; + margin-bottom: 1em; +} +.image-caption { + font-size: small; + text-align: center; +} \ No newline at end of file diff --git a/versions/c1pjs/1.21.7/document.xsl b/versions/c1pjs/1.21.7/document.xsl new file mode 100644 index 000000000..b8836aef7 --- /dev/null +++ b/versions/c1pjs/1.21.7/document.xsl @@ -0,0 +1,452 @@ + + + + + +]> + + + + + + + + + +

+
+ + + + + + + +

+
+ +

+
+
+
+ + + + + + +
+
+ + +
+ +   + + +
+
+ +
+
+ + + + + + + + + + + + + + + + +

+
+ + +

+
+ + +

+
+ + +
+
+ + +
+
+ + + + + + + + + + + + + + +
+
+ + +
+
+ + +
  • +
    + + +
    image
    +
    + + +
    +
    + + + + +
    {.}
    +
    + +
    {.}
    +
    +
    +
    + + + + + + + + + + < + > + + + + × + + ÷ + σ + + + + + + + + + + + + { + + + + + + + + + + [] + + + + +
    + +
    +
    + + + , and + + + + + MDY + + + + + + + + + + + + + + + + + + + + January + February + March + April + May + June + July + August + September + October + November + December + + + , + + + + + +

    + +
    +
    + + +
    + {.}
    +
    +
    +
    + + + +

    Timeline

    +
    + +

    +
    +
    + +
    +
    + + + + + + + + + +

    +
    + +
    +
    +
    + + + +

    People

    +
    + +

    +
    +
    + +
    +
    + + +

    + +
    + + +

    +
      + +
    +
    + + + + + + + + + + +
  • + +
  • +
    + + + +

    +
    +

    + +

    +
    +
    + + + + false + + + + + + [Original] + + + + + + + + + + [] + + +
    by
    + + +
    + [Source: + + + + + + + ] +
    +
    +
    + + + +

    Resources

    +
    + +

    +
    +
    + +
    +
    + + +

    + +
    + + + +

    +
    +
      + +
    +
    + + +
  • +
    + + + +

    +
    +
    + +
    +
    + + + +

    +
    + +
    + + + +

    +
    +
      + +
    +
    + + + + + +
      + +
    +
    + + + + +
  • +
    + +
  • +
    + +
  • +
    +
    +
    + + +
  • +
    + + + + + + + + + + +
    + < ="" + + ></> + ></> + /> + +
    +
    + +
    diff --git a/versions/c1pjs/1.21.7/machine.xsl b/versions/c1pjs/1.21.7/machine.xsl new file mode 100644 index 000000000..3ba4bba92 --- /dev/null +++ b/versions/c1pjs/1.21.7/machine.xsl @@ -0,0 +1,49 @@ + + + + +]> + + + + + + + + + + + <xsl:value-of select="$SITEHOST"/> + + + + +
    + +
    +

    +
    + + + + js + , + +
    +
    + +
    + + + + -dbg + + + + + + +
    + +
    diff --git a/versions/c1pjs/1.21.7/manifest.xsl b/versions/c1pjs/1.21.7/manifest.xsl new file mode 100644 index 000000000..9a78e735e --- /dev/null +++ b/versions/c1pjs/1.21.7/manifest.xsl @@ -0,0 +1,247 @@ + + + + +]> + + + + + + + + + + + <xsl:value-of select="$SITEHOST"/> + + + + +
    + +
    +

    Document Manifest

    +
    +
      + + + + None + + + + + + + + + + + + + + + + +
    +
    +
    +

    + +
    +
    +
    + + +
    + + + + + + + + + + + <xsl:value-of select="$SITEHOST"/> + + + + +
    + +
    +

    Software Manifest

    +
    +
      + + + + None + + + + + Unknown + + + + + None + + + + + None + + + + + + + + + + + + + UpdatedReleased + + Unknown + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + + + + + + + +

    No default machine specified for '' in manifest.xml

    +
    + +
    +
    +
    + + + + -dbg + + + + + + +
    + + + + + Unknown + +
  • +
      + + + + + + + + +
    • + + + + + + + + + + + + + + + + + + + + + + + + + +
        + +
      • + + + + + + +
      • +
        +
      +
      +
    • +
      + + + + + + + + +
    +
  • +
    +
    + +
    diff --git a/versions/c1pjs/1.21.7/outline.xsl b/versions/c1pjs/1.21.7/outline.xsl new file mode 100644 index 000000000..e317eb991 --- /dev/null +++ b/versions/c1pjs/1.21.7/outline.xsl @@ -0,0 +1,47 @@ + + + + +]> + + + + + + + + + + + + + + + + + + <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> + + + + + +
    +
    + +
    +
    + + + + -dbg + + + + + + +
    + +
    diff --git a/versions/pcjs/1.21.7/common.css b/versions/pcjs/1.21.7/common.css new file mode 100644 index 000000000..48999bc28 --- /dev/null +++ b/versions/pcjs/1.21.7/common.css @@ -0,0 +1,262 @@ +@CHARSET "UTF-8"; +/** + @author Jeff Parsons (@jeffpar) + @website http://www.pcjs.org/ + @created 2013-05-05 + @modified 2014-02-23 + @license http://www.gnu.org/licenses/gpl.html + */ +body { + margin: 0; + background: #202020; +} +h1, h2 { + margin-top: 0; + color: #cccccc; +} +h1, h2, h3, h4 { + word-wrap: break-word; +} + +h4 a { + color: #cccccc !important; +} +p { + line-height: 1.5em; +} +img { + max-width: 100%; +} +a img { + vertical-align: bottom; +} +pre, code { + color: #000000; + background-color: #cccccc; + font-family: Monaco, Consolas, "Lucida Console", monospace; + font-size: 12px; +} +pre { + margin: 1em 2em; + padding: 1em; + border-radius: 5px; + overflow: auto; +} +code { + padding: 1px; +} +pre a, code a { + color: #006400 !important; +} +.common { + width: 100%; + margin: 0 auto; + color: #cccccc; +} +.common a { + + color: #7fc07f; + text-decoration: none; +} +.common hr { + border-color: #808080; +} +.common a:hover { + text-decoration: underline; +} +.common, .machine { + font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; + font-size: 15px; +} +.machine { + margin: 15px; + overflow: hidden; +} +.c1pjs { + overflow: visible; +} +.machine-placeholder { + text-align: center; + font-weight: bold; +} +.common-top { + background: #202020; + font-size: small; +} +.common-top-left { + float: left; + width: 60%; +} +.common-top-left ul { + line-height: 1.5em; + list-style-type: none; + margin: 0; + padding: 1em 1em 1em 9px; + overflow: hidden; +} +.common-top-left ul li { + display: block; + float: left; +} +.common-top-left ul li a { + border-right: 1px solid #6f6f6f; + padding: 2px 6px 2px 6px; +} +.common-top-left ul li:last-child a { + border-right: none; +} +.common-top-right { + float: right; + width: 40%; +} +.common-top-right p { + float: right; + margin: 0; + padding: 1em; +} +.common-middle { + clear: both; + padding: 1px 1em 1px 1em; + background: #404040; +} +.common-sidebar { + float: left; + font-size: small; + width: 140px; + padding-bottom: 20px; + overflow: hidden; + white-space: nowrap; + word-wrap: break-word; +} +.common-list { + list-style-type: none; + margin-top: 0; + margin-bottom: 0; + padding-left: 0; +} +.common-list li { + + padding-bottom: 7px; +} +.common-list-data { + list-style-type: none; + margin-top: 0; + margin-bottom: 0; + padding-left: 0; +} +.common-list-data li { + line-height: 1.5em; +} +.common-list-data-items, .common-list-data-subitems { + font-size: x-small; + list-style-type: none; + margin-top: 0; + margin-bottom: 0; + padding-left: 2em; +} +.common-list-data-items li, .common-list-data-subitems li { + padding-bottom: 0; +} +.common-main { + margin-left: 150px; + +} +.common-image-gallery { + margin: 0 auto; + text-align: center; +} +.common-image-gallery:after { + content: ''; + display: block; +} +.common-image-frame { + display: inline-block; + margin: 8px; + text-align: center; +} +.common-image-link { + padding: 5px; + border: 1px solid black; + border-radius: 5px; + background-color: #FAEBD7; +} +.common-image-label { + font-size: x-small; +} +.common-bottom { + clear: both; + padding-top: 1em; +} +.common-bottom:after { + content: ''; + display: block; + clear: both; +} +.common-reference { + float: left; + font-size: x-small; +} +.common-reference a { + text-decoration: none; +} +.common-copyright { + float: right; + font-size: x-small; +} +.common-copyright a { + text-decoration: none; +} +.md-list { +} +.md-list li { + line-height: 1.5em; + margin-bottom: 1em; +} +.md-list li p { + padding-left: 2em; +} +.md-list-compact { +} +.md-list-compact li { + margin-bottom: 0; +} +.md-list-none { + list-style-type: none; + padding-left: 2em; +} +.md-list-none li { + margin-bottom: 0; +} +@media screen and (max-width: 900px) { + + .common-sidebar { + width: 100%; + white-space: normal; + } + .common-list { + padding-left: 0; + } + .common-list-data { + padding-left: 0; + } + .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { + width: 130px; + float: left; + overflow: hidden; + vertical-align: top; + padding-right: 1em; + margin-top: 0; + } + .common-list-data-subitems { + display: none; + } + .common-main { + clear: both; + margin-left: 0; + padding-left: 0; + padding-right: 0; + } + .md-list-none { + padding-left: 1em; + } +} diff --git a/versions/pcjs/1.21.7/common.xsl b/versions/pcjs/1.21.7/common.xsl new file mode 100644 index 000000000..6d034b08f --- /dev/null +++ b/versions/pcjs/1.21.7/common.xsl @@ -0,0 +1,59 @@ + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    +

    Powered by JavaScript and GitHub

    +
    +
    +
    + + +
    +

    + +
    +
    + +
    diff --git a/versions/pcjs/1.21.7/components.css b/versions/pcjs/1.21.7/components.css new file mode 100644 index 000000000..b0e03456c --- /dev/null +++ b/versions/pcjs/1.21.7/components.css @@ -0,0 +1,148 @@ +@CHARSET "UTF-8"; + + +*:not(input,textarea) { + -webkit-user-select: none; +} +.pcjs-embed { +} +.pcjs-embed:after { + clear:both; +} +.pcjs-machine { +} +.pcjs-name, .pcjs-menu { + clear: both; + font-weight: bold; + padding-bottom: 4px; +} +.pcjs-menu { + float: left; +} +.pcjs-canvas { + width: 100%; + height: auto; +} +.pcjs-container { + color: #000000; + position: relative; +} +.pcjs-label { + font-size: small; + line-height: 19px; + vertical-align: middle; + float: left; + font-family: "Lucida Console", monospace; +} +.pcjs-control textarea { + font-family: Monaco, monospace; + font-size: x-small; +} +.pcjs-fieldset { + border: none; + margin: 0; + padding: 0; +} +.pcjs-flag { + font-family: "Lucida Console", monospace; + font-size: small; + text-align: center; + line-height: 19px; + vertical-align: middle; +} +.pcjs-register { + font-family: "Lucida Console", monospace; + font-size: small; + text-align: center; + line-height: 19px; + vertical-align: middle; + border: 1px solid black; +} +.pcjs-switches { + float: left; +} +.pcjs-bitBucket { + float: left; + width: 19px; + height: 38px; +} +.pcjs-bitCell { + float: left; + width: 19px; + height: 19px; + margin-right: -1px; + margin-bottom: -1px; + border: 1px solid black; + text-align: center; + line-height: 19px; +} +.pcjs-bitCellLeft { + border-left: 1px solid black; +} +.pcjs-bitLabel { + font-size: xx-small; + text-align: center; +} +.pcjs-description, .pcjs-status { + font-size: x-small; + line-height: 2em; +} +.pcjs-key { + border: 1px solid black; + font-size: x-small; + text-align: center; + position: absolute; + height: 34px; + line-height: 34px; + background-color: #ffffff; +} +.pcjs-led { + float: left; + width: 8px; + height: 8px; + margin: 4px; + border: 1px solid black; + text-align: center; + line-height: 19px; + background-color: #000000; +} +.pcjs-video-object { + clear: both; + height: auto; + position: relative; + line-height: 0; +} +.pcjs-video-object textarea { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0; + border: 0; + padding: 0; + line-height: 0; +} +.pcjs-reference { + float: left; + font-size: x-small; +} +.pcjs-reference a { + text-decoration: none; +} +.pcjs-copyright { + float: right; + font-size: x-small; +} +.pcjs-copyright a { + text-decoration: none; +} + +@media screen and (max-width: 900px) { + .pcjs-textarea { + width: 100% !important; + } + .pcjs-registers { + width: 100% !important; + } +} diff --git a/versions/pcjs/1.21.7/components.xsl b/versions/pcjs/1.21.7/components.xsl new file mode 100644 index 000000000..804497507 --- /dev/null +++ b/versions/pcjs/1.21.7/components.xsl @@ -0,0 +1,1127 @@ + + + + + + + + + + + pc + pcjs + 1.21.7 + www.pcjs.org + + + + + + + + + + + + + + + + + /devices/pc/machine/5150/mda/64kb/machine.xml + + + + + + + + + + + + + + + + + + + + + + + + + + float: + +
    + + + + + + + + + + js + + + "" + + + + + +
    +
    + + + + + + + + + + + + + + + , + + + + + + + + + + + + + .machine + . + . + + + + + + + + + + + + + + + + + + + + ,comment:'' + + + + + + border:1px solid black;border-radius:15px; + border:; + + + + + + left:; + + + + + + top:; + + + + + + + + width:; + width:auto;max-width:; + + + + + + + + height:; + + + + + + padding:; + + padding-top:; + padding-right:; + padding-bottom:; + padding-left:; + + + + + + float:left; + float:right; + margin:0 auto;clear:both; + position:; + position:relative; + + + + + overflow:auto;width:100%; + background-color:; + + + + - -component + +
    + + + + + + +
    + + + + + + + +
    +
    + +
    + +
    +
    + + + + +
    + + +
    [XML]
    + +
    + + +
    +
    +
    +
    + + + + + text-align:center; + + + +

    +
    + + +
    +
    + + + + + + +
    +
    + + + + type:'' + + + binding:'' + + + value:'' + + + + border:1px solid black; + border:; + + + + + + width:; + + + + + + height:; + + + + + + left:; + + + + + + top:; + + + + + + padding:; + + padding-top:; + padding-right:; + padding-bottom:; + padding-left:; + + + + + + float:left; + float:right; + margin:0 auto; + position:; + position:relative; + float:left; + + + + + + + + + + + + + + + + + + +
    + + + font-size:; + + + + + -label + + + + width:; + width:; + + + + + + + + text-align:right; + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + + + + + + + + + desc:'' + + ,href:'' + + + + + + + + + + + + + + + desc:'' + + ,href:'' + + + + + + + + ; + + + + + + + + + + + + + + + : + + + + + + + + + + + + + + + + + desc:'' + + ,href:'' + + + + + + + + + + + + ; + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8088 + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + + null + + + + + + + -1 + + + + + + + -1 + + + + + + + -1 + + + + + + ,model:,stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: + + + + + + + + + + + + + + + 8087 + + + + + + + + + + + + ,model:,stepping:'' + + + + + + + + + + + + + + + 5150 + + + + + + + + + + + + + + + + + + true + + + + + + false + + + + + + {} + + + + + + + + + + + + + + + + + chipset + ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' + + + + + + + + + + + + + + + + + + + + keyboard + ,model:'' + + + + + + + + + + + + + + + 0 + + + + + + + + + + + parallel + ,adapter:,binding:'' + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + serial + ,adapter:,binding:'',tabSize:,charBOL: + + + + + + + + + + + + + + + + + + + + mouse + ,serial:'' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fdc + ,autoMount:'',sortBy:'' + + + + + + + + + + + + + + + + + + + + + xt + + + + + hdc + ,drives:'',type:'' + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + null + + + + + + + + + + + + + + + + + rom + ,addr:,size:,alias:,file:'',notify:'' + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + true + + + + + ram + ,addr:,size:,test: + + + + + + + + + + + + + + + + + + + + + null + + + + + + + 256 + + + + + + + 224 + + + + + + 0 + + + + + + + + + + + + false + + + + + + + 80 + + + + + + + 25 + + + + + + + + + + + + + + + black + + + + + + + + + + + + + + false + + + + + video + ,model:'',mode:,screenWidth:,screenHeight:,memory:,switches:'',scale:,charCols:,charRows:,fontROM:'',screenColor:'',touchScreen:'',autoLock: + + + + + + + + + + + + + + + + + + + + + + + + + + debugger + ,commands:'',messages:'' + + + + + + + + + + + + + + panel + + + + + + + + + + + + + + + + + + + + + true + + + + + + + 20 + + + + + + 0 + + + + + + + + + + + + computer + ,autoPower:,busWidth:,resume:,state:'' + + + + + + + +
    diff --git a/versions/pcjs/1.21.7/document.css b/versions/pcjs/1.21.7/document.css new file mode 100644 index 000000000..7072b406e --- /dev/null +++ b/versions/pcjs/1.21.7/document.css @@ -0,0 +1,162 @@ +@CHARSET "UTF-8"; + +.page { + margin: 2% 2%; + padding: 2% 2%; + min-width: 30em; + overflow: auto; + font-size: large; + font-family: Helvetica, Arial, sans-serif; + background: #303030; + color: #ccc; + +} +.page-header { +} +.page-header-title { + text-align: center; + +} +.page a { + color: #7fc07f; + text-decoration: none; +} +a.footlink, a.paralink { + text-decoration: none; +} +a.footlink:link, a.paralink:link { + color: blue; +} +a.footlink:visited, a.paralink:visited { + color: blue; +} +.galleryitem { + float: left; + width: 200px; +} +.item { + float: left; + width: 2em; + text-indent: 1em; +} +.list { + margin-left: 3em; + text-indent: 0; + text-align: justify; +} +ul { + list-style: none; +} +div.pnumber { + float: left; + width: 2em; + text-indent: 1em; +} +div.pitem { + margin-left: 10em; +} +p.indent, .justified p { + text-indent: 2em; + text-align: justify; + line-height: 1.5em; +} +p.noindent { + text-indent: 0; + text-align: justify; +} +p.center, .center { + text-align: center; +} +li.para { + margin-top: 1em; + margin-bottom: 1em; +} +.left { + text-align: left; +} +.right { + text-align: right; +} +blockquote.tag { + font-size: small; + font-family: Monaco, Fixed, monospace; + margin-top: 0; + margin-bottom: 0; +} +.blockquote { + padding-left: 1em; + text-indent: 0; + text-align: justify; +} +.italics { + font-style: italic; +} +.medium { + font-size: medium; +} +.small { + font-size: x-small; +} +.smallcaps { + font-variant: small-caps; +} +.strike { + text-decoration: line-through; +} +.summation, .bracelist { + display: inline-block; + position: relative; + vertical-align: middle; + text-align: center; + margin-bottom: 0.5ex; + text-indent: 0; +} +.bracelist-symbol { + font-size: 3em; + vertical-align: -40%; +} +.summation .summation-lower, .summation .summation-upper, .bracelist-item { + display: block; + font-size: 75%; + text-align: center; +} +.summation .summation-upper { + margin-bottom: 0; + margin-left: 0.8ex; + font-style: italic; +} +.summation .summation-lower{ + margin-bottom: -0.6ex; + font-style: italic; +} +.summation .summation-symbol { + font-size: 2em; +} +p sup { + vertical-align: baseline; + position: relative; + bottom: .5em; + font-size: small; +} +p sub { + vertical-align: baseline; + position: relative; + bottom: -.5em; + font-size: small; +} +.footnote { + font-size: medium; + text-indent: 1em; + text-align: justify; + margin-top: .5em; +} +.image-right { + float: right; + margin-left: 1em; + margin-top: 1em; + margin-bottom: 1em; +} +.image-caption { + font-size: small; + text-align: center; +} \ No newline at end of file diff --git a/versions/pcjs/1.21.7/document.xsl b/versions/pcjs/1.21.7/document.xsl new file mode 100644 index 000000000..36ed52615 --- /dev/null +++ b/versions/pcjs/1.21.7/document.xsl @@ -0,0 +1,452 @@ + + + + + +]> + + + + + + + + + +

    +
    + + + + + + + +

    +
    + +

    +
    +
    +
    + + + + + + +
    +
    + + +
    + +   + + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + +

    +
    + + +

    +
    + + +

    +
    + + +
    +
    + + +
    +
    + + + + + + + + + + + + + + +
    +
    + + +
    +
    + + +
  • +
    + + +
    image
    +
    + + +
    +
    + + + + +
    {.}
    +
    + +
    {.}
    +
    +
    +
    + + + + + + + + + + < + > + + + + × + + ÷ + σ + + + + + + + + + + + + { + + + + + + + + + + [] + + + + +
    + +
    +
    + + + , and + + + + + MDY + + + + + + + + + + + + + + + + + + + + January + February + March + April + May + June + July + August + September + October + November + December + + + , + + + + + +

    + +
    +
    + + +
    + {.}
    +
    +
    +
    + + + +

    Timeline

    +
    + +

    +
    +
    + +
    +
    + + + + + + + + + +

    +
    + +
    +
    +
    + + + +

    People

    +
    + +

    +
    +
    + +
    +
    + + +

    + +
    + + +

    +
      + +
    +
    + + + + + + + + + + +
  • + +
  • +
    + + + +

    +
    +

    + +

    +
    +
    + + + + false + + + + + + [Original] + + + + + + + + + + [] + + +
    by
    + + +
    + [Source: + + + + + + + ] +
    +
    +
    + + + +

    Resources

    +
    + +

    +
    +
    + +
    +
    + + +

    + +
    + + + +

    +
    +
      + +
    +
    + + +
  • +
    + + + +

    +
    +
    + +
    +
    + + + +

    +
    + +
    + + + +

    +
    +
      + +
    +
    + + + + + +
      + +
    +
    + + + + +
  • +
    + +
  • +
    + +
  • +
    +
    +
    + + +
  • +
    + + + + + + + + + + +
    + < ="" + + ></> + ></> + /> + +
    +
    + +
    diff --git a/versions/pcjs/1.21.7/machine.xsl b/versions/pcjs/1.21.7/machine.xsl new file mode 100644 index 000000000..7122e932d --- /dev/null +++ b/versions/pcjs/1.21.7/machine.xsl @@ -0,0 +1,49 @@ + + + + +]> + + + + + + + + + + + <xsl:value-of select="$SITEHOST"/> + + + + +
    + +
    +

    +
    + + + + js + , + +
    +
    + +
    + + + + -dbg + + + + + + +
    + +
    diff --git a/versions/pcjs/1.21.7/manifest.xsl b/versions/pcjs/1.21.7/manifest.xsl new file mode 100644 index 000000000..28388d94f --- /dev/null +++ b/versions/pcjs/1.21.7/manifest.xsl @@ -0,0 +1,247 @@ + + + + +]> + + + + + + + + + + + <xsl:value-of select="$SITEHOST"/> + + + + +
    + +
    +

    Document Manifest

    +
    +
      + + + + None + + + + + + + + + + + + + + + + +
    +
    +
    +

    + +
    +
    +
    + + +
    + + + + + + + + + + + <xsl:value-of select="$SITEHOST"/> + + + + +
    + +
    +

    Software Manifest

    +
    +
      + + + + None + + + + + Unknown + + + + + None + + + + + None + + + + + + + + + + + + + UpdatedReleased + + Unknown + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + + + + + + + +

    No default machine specified for '' in manifest.xml

    +
    + +
    +
    +
    + + + + -dbg + + + + + + +
    + + + + + Unknown + +
  • +
      + + + + + + + + +
    • + + + + + + + + + + + + + + + + + + + + + + + + + +
        + +
      • + + + + + + +
      • +
        +
      +
      +
    • +
      + + + + + + + + +
    +
  • +
    +
    + +
    diff --git a/versions/pcjs/1.21.7/outline.xsl b/versions/pcjs/1.21.7/outline.xsl new file mode 100644 index 000000000..45801160a --- /dev/null +++ b/versions/pcjs/1.21.7/outline.xsl @@ -0,0 +1,47 @@ + + + + +]> + + + + + + + + + + + + + + + + + + <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> + + + + + +
    +
    + +
    +
    + + + + -dbg + + + + + + +
    + +
    diff --git a/versions/pcjs/1.21.7/pc-dbg.js b/versions/pcjs/1.21.7/pc-dbg.js new file mode 100644 index 000000000..1c1d25c8f --- /dev/null +++ b/versions/pcjs/1.21.7/pc-dbg.js @@ -0,0 +1,818 @@ +(function(){var m,aa,ba={163840:[40,1,8],184320:[40,1,9],327680:[40,2,8],368640:[40,2,9],737280:[80,2,9],1228800:[80,2,15],1474560:[80,2,18],2949120:[80,2,36],21368320:[615,4,17]}; +function ca(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} +function da(a,b){var c="";void 0===b?b=32:32>=1;return c}function ea(a,b){var c="";if(!b||4>=8;return c}function r(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function t(a){return"0x"+r(a,2)} +function u(a){return"0x"+r(a,4)}function fa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function la(a){return a.replace(/[&<>"']/g,function(a){return ka[a]})} +function ma(a,b,c){return c?(" "+a).slice(-b):(a+" ").slice(0,b)}function na(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}function oa(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[g]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}var ra=[31,28,31,30,31,30,31,31,30,31,30,31];function sa(a,b){var c=0,d=1,e;for(e in a){if(d>=arguments.length)break;var f=a[e],g=arguments[d++],c=c&~f.mh|g<>a.shift} +function ua(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c=this.x&&a=this.y&&b=c>>2);d?(b=new Bb(a.x,a.y,a.ad,a.A*b/c|0),a.y+=b.A,a.A-=b.A):(b=new Bb(a.x,a.y,a.ad*b/c|0,a.A),a.x+=b.ad,a.ad-=b.ad);return b}m=zb.prototype; +m.Qb=function(a,b,c,d){return this.V&&this.V.Qb(a,b,c,d)||this.F&&this.F.Qb(a,b,c,d)||this.B&&this.B.Qb(a,b,c,d)||this.ha&&this.ha.Qb(a,b,c,d)?!0:this.parent.Qb.call(this,a,b,c,d)};m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.B=Eb(a,"Keyboard")};m.ic=function(a,b){b||Fb();return!0};m.hc=function(){return!0};m.je=function(a,b){a.button||(this.fa=b?0:-1,Gb(this,a,b))};m.Hf=function(a){Gb(this,a)}; +function Gb(a,b,c){var d=1280/null.offsetWidth,e=720/null.offsetHeight,f=null.getBoundingClientRect(),d=(b.clientX-f.left)*d|0;b=(b.clientY-f.top)*e|0;null==c&&(a.fa||(a.fa=Math.abs(a.L-d)>Math.abs(a.W-b)?1:2),1==a.fa?b=a.W:2==a.fa&&(d=a.L));a.L=d;a.W=b;if(0<=d&&1280>d&&0<=b&&720>b){a:{c=d;if(960>c&&a.A&&a.A.Pe)for(f=0;fd&&(f=d);c=f;break a}c=-1}if(-1!==c&&(c&=-16,c!=a.Ca)){b=c;if(a.context&&a.ja&&a.ka){e=a.ja.width;a.ka.fillStyle="black";a.ka.fillRect(0,360,e,360);Ib(a,378,a.ja,a.ka);a.pa=a.Ea.width/24|0;if(null==b)Jb(a,"Mouse over memory to dump");else for(Jb(a,"0x"+r(b),null,0,1),f=1;16>=f;f++){d="";for(g=1;8>=g;g++){var h;h=a.ea;var k=b++;h=h.sa[(k&h.Gb)>>>h.La].se(k&h.A,k);Jb(a,r(h,2),null,1);d+=32<=h&&128>h?String.fromCharCode(h):"."}Jb(a,d,null,0,1)}a.context.drawImage(a.ja,0,360,e,360,a.rb,a.Db,a.Pa,a.cb)}a.Ca= +c}}}m.qd=function(){};function Kb(a,b,c,d){a.A.Af[a.A.Ai++]={Qk:b,Ud:c,type:d};return sa(Hb,b,c,0,d)}function Ib(a,b,c,d){var e,f=null.style.color,g=a.Oa=10;a.C=g;a.U=b;a.X=a.wa=18;e||(e=a.ua||a.wa+"px Monaco, Lucida Console, Courier New");a.ga=a.ua=e;c&&(a.Ea=c);d&&(a.N=d,a.Fa=f||"white")} +function Jb(a,b,c,d,e){a.N.font=a.ga;a.N.fillStyle=a.Fa;a.N.fillText(b,a.C,a.U);a.C+=a.pa;null!=c&&(16!=a.Tb?b=c.toString():(b=8>a.Ka?"0x":"",b+=r(c,a.Ka)),a.N.fillText(b,a.C,a.U),a.C+=a.pa);d&&(a.C+=a.pa*d);e&&(a.C=a.Oa,a.U+=(a.X+2)*(e||1))}function Fb(){for(var a=!1,b=nb(document,"pcjs","panel"),c=0;c=this.N?12:24>=this.N?14:15;this.Nb=1<>2;this.A=this.Nb-1;this.U=this.X/this.Nb|0;this.ea=this.U-1;this.B=[];this.C=[];this.L=this.W=!1;this.aa=[];this.fa=[];a=new B;Mb(a,this.ha);this.sa=Array(this.U);for(b=0;b>>a.La;0a.Nb?a.Nb:c;if(g&&g.size){if(g.type==d&&g.controller==e){if(b+c<=g.Da)return g.Ne+=g.Da-b,g.Da=b,!0;if(b>=g.Da+g.Ne){k=g.size-(b-h);k>c&&(k=c);g.Ne=b-g.Da+k;c-=k;b=h+a.Nb;continue}}return Tb(a,1,b,c)}g=a.sa[f];b=new B(b,k,a.Nb,d,e);Mb(b,a.ha,g);a.sa[f++]=b;b=h+a.Nb;c-=k}return 0>=c?(Ub(a.F),!0):Tb(a,2,b,c)} +function Rb(a,b){if(32==a.N)b?a.V&&(Wb(a,1048576,1048576,a.V),a.V=null):a.V||(a.V=Xb(a,1048576,1048576),Wb(a,1048576,1048576,Xb(a,0,1048576)));else if(20>>this.La;0>>a.La;0>>=a.La;0>>a.La;0>>this.La].jc(a&this.A,a)}; +m.na=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;return b!=this.A?this.sa[c].rf(b,a):this.sa[c++].jc(b,a)|this.sa[c&this.ea].jc(0,a+1)<<8};function ec(a,b){var c=b&a.A,d=(b&a.Gb)>>>a.La;return c!=a.A?a.sa[d].cg(c,b):a.sa[d++].se(c,b)|a.sa[d&a.ea].se(0,b+1)<<8}m.oa=function(a){var b=a&this.A,c=(a&this.Gb)>>>this.La;if(b>>this.La].sc(a&this.A,b&255,a)};m.jb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;c!=this.A?this.sa[d].yf(c,b&65535,a):(this.sa[d++].sc(c,b&255,a),this.sa[d&this.ea].sc(0,b>>8&255,a+1))};function fc(a,b,c){var d=b&a.A,e=(b&a.Gb)>>>a.La;d!=a.A?a.sa[e].oi(d,c&65535,b):(a.sa[e++].wf(d,c&255,b),a.sa[e&a.ea].wf(0,c>>8&255,b+1))} +m.nb=function(a,b){var c=a&this.A,d=(a&this.Gb)>>>this.La;if(c>>=8};m.Si=function(){return null};function gc(a,b){if(void 0===b)return a.L=!a.L,a.L;void 0===a.B[b]&&(a.B[b]=[null,!1]);a.B[b][1]=!a.B[b][1];return a.B[b][1]} +function hc(a,b,c,d){void 0===d&&(d=0);for(var e in c){var f=a,g=+e+d,h=c[e].bind(b);if(void 0!==h)for(var k=+e+d;k<=g;k++)void 0!==f.B[k]?w("Input port "+u(k)+" already registered"):f.B[k]=[h,!1]}}function ic(a,b,c,d){for(var e=0,f=0;0>>=f)&k;if(void 0!==g){if(g[0])g[0](b,k,e);a.ha&&a.W!=g[1]&&nc(a.ha,b,k)}else a.ha&&(ob(a.ha,a,b,k,e),a.W&&nc(a.ha,b,k));f+=h<<3;b+=h;c-=h}}function Tb(a,b,c,d,e){b="Memory block error ("+b+": "+r(c)+","+r(d)+")";e?a.ha?a.ha.message(b):a.log(b):w(b);return!1}var oc;if(vb){var pc=new ArrayBuffer(2);(new DataView(pc)).setUint16(0,256,!0);oc=256===(new Uint16Array(pc))[0]}else oc=!1;var ac=oc; +function B(a,b,c,d,e,f){this.id=qc+=2;this.da=null;this.C=0;this.Da=a;this.Ne=b;this.size=c||0;this.type=d||rc;this.N=d==$b;this.controller=null;this.F=f;Mb(this);this.Wa=this.Ni=!1;if(c)if(e)this.controller=e,a=e.Ri(a),this.da=a[0],this.C=a[1],Yb(this,e.gh());else if(vb)this.V=new ArrayBuffer(c),this.qa=new DataView(this.V,0,c),this.Ya=new Uint8Array(this.V,0,c),this.fe=new Uint16Array(this.V,0,c>>1),this.da=new Int32Array(this.V,0,c>>2),Yb(this,ac?bc:cc);else{this.da=Array(c>>2);for(e=0;e>8&65280|a>>>24);return a} +B.prototype={constructor:B,parent:null,hh:function(a){this.Da=a},save:function(){var a,b;if(this.controller)a=null;else if(vb)for(a=Array(this.size>>2),b=0;b>8,c)},U:function(a,b, +c){this.sc(a++,b&255,c++);this.sc(a++,b>>8&255,c++);this.sc(a++,b>>16&255,c++);this.sc(a,b>>>24,c)},Fa:function(a){return this.da[a>>2]>>>((a&3)<<3)&255},sb:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b]>>a;return 24>a?c&65535:c&255|(this.da[b+1]&255)<<8},$a:function(a){var b=a>>2;a=(a&3)<<3;var c=this.da[b];a&&(c=c>>>a|this.da[b+1]<<32-a);return c},uc:function(a,b){var c=a>>2,d=(a&3)<<3;this.da[c]=this.da[c]&~(255<>2,d=(a&3)<<3;24>d?this.da[c]=this.da[c]& +~(65535<>8);this.Wa=!0},Xc:function(a,b){var c=a>>2,d=(a&3)<<3;if(d){var e=-1<>>32-d}else this.da[c]=b;this.Wa=!0},Ea:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a)||this.F&&Dc(this.F,b,1,!1);return this.se(a,b)},rb:function(a,b){this.ha&&null!=this.Da&&Cc(this.ha,this.Da+a,2)||this.F&&Dc(this.F,b,2,!1);return this.cg(a,b)},Pa:function(a,b){this.ha&& +null!=this.Da&&Cc(this.ha,this.Da+a,4)||this.F&&Dc(this.F,b,4,!1);return this.ii(a,b)},tc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a)||this.F&&Dc(this.F,c,1,!0);this.N?this.L(a,b,c):this.wf(a,b,c)},td:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,2)||this.F&&Dc(this.F,c,2,!0);this.N?this.L(a,b,c):this.oi(a,b,c)},Wc:function(a,b,c){this.ha&&null!=this.Da&&Ec(this.ha,this.Da+a,4)||this.F&&Dc(this.F,c,4,!0);this.N?this.L(a,b,c):this.ua(a,b,c)},Ja:function(a,b){this.yb.da[this.A]|= +this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.jc(a,b)},Jb:function(a,b){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.rf(a,b)},fb:function(a,b){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.ea;return this.Cd.Nd(a,b)},Uc:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.W;this.Cd.sc(a,b,c)},Hd:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|=this.W;this.Cd.yf(a,b,c)},ve:function(a,b,c){this.yb.da[this.A]|=this.ea;this.zb.da[this.B]|= +this.W;this.Cd.xf(a,b,c)},Ka:function(a,b){return Fc(this.F,b,!1).jc(a,b)},Ub:function(a,b){return Fc(this.F,b,!1).rf(a,b)},gb:function(a,b){return Fc(this.F,b,!1).Nd(a,b)},ee:function(a,b,c){Fc(this.F,c,!0).sc(a,b,c)},Id:function(a,b,c){Fc(this.F,c,!0).yf(a,b,c)},kd:function(a,b,c){Fc(this.F,c,!0).xf(a,b,c)},Ca:function(a){return this.Ya[a]},aa:function(a){return this.Ya[a]},Ia:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.jc=this.aa;return this.Ya[a]},Tb:function(a){return this.qa.getUint16(a, +!0)},pa:function(a){return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.fe[a>>1]},Db:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.rf=this.pa;return a&1?this.Ya[a]|this.Ya[a+1]<<8:this.fe[a>>1]},Oa:function(a){return this.qa.getInt32(a,!0)},ga:function(a){return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>>2]},cb:function(a){this.yb.da[this.A]|=32;this.zb.da[this.B]|=32;this.Nd=this.ga;return a&3?this.Ya[a]|this.Ya[a+1]<<8|this.Ya[a+2]<<16|this.Ya[a+3]<<24:this.da[a>> +2]},bc:function(a,b){this.Ya[a]=b;this.Wa=!0},ra:function(a,b){this.Ya[a]=b;this.Wa=!0},Cc:function(a,b){this.Ya[a]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.sc=this.ra;this.Cd.Wa=!0},rd:function(a,b){this.qa.setUint16(a,b,!0);this.Wa=!0},ya:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.fe[a>>1]=b;this.Wa=!0},Gd:function(a,b){a&1?(this.Ya[a]=b,this.Ya[a+1]=b>>8):this.fe[a>>1]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.yf=this.ya;this.Cd.Wa=!0},Vc:function(a,b){this.qa.setInt32(a, +b,!0);this.Wa=!0},wa:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.Wa=!0},jd:function(a,b){a&3?(this.Ya[a]=b,this.Ya[a+1]=b>>8,this.Ya[a+2]=b>>16,this.Ya[a+3]=b>>24):this.da[a>>2]=b;this.yb.da[this.A]|=32;this.zb.da[this.B]|=96;this.xf=this.wa;this.Cd.Wa=!0}};function Mb(a,b,c){a.ha=b;a.Te=a.Ue=0;c&&(c.F&&(a.F=c.F),(a.Te=c.Te)&&zc(a,Ac,!1),(a.Ue=c.Ue)&&Bc(a,Ac,!1))} +function Gc(a,b){b?0===--a.Ue&&(a.sc=a.N?a.L:a.wf,a.yf=a.N?a.X:a.oi,a.xf=a.N?a.U:a.ua):0===--a.Te&&(a.jc=a.se,a.rf=a.cg,a.Nd=a.ii)}function Bc(a,b,c){c&&a.Ue||(a.sc=!a.N&&b[3]||a.L,a.yf=!a.N&&b[4]||a.X,a.xf=!a.N&&b[5]||a.U);if(c||void 0===c)a.wf=b[3]||a.L,a.oi=b[4]||a.X,a.ua=b[5]||a.U}function zc(a,b,c){c&&a.Te||(a.jc=b[0]||a.ja,a.rf=b[1]||a.ka,a.Nd=b[2]||a.fa);if(c||void 0===c)a.se=b[0]||a.ja,a.cg=b[1]||a.ka,a.ii=b[2]||a.fa} +function Yb(a,b,c){b||(b=5==a.type?Hc:6==a.type?Ic:Jc);zc(a,b,c);Bc(a,b,c)}var Jc=[],dc=[B.prototype.Fa,B.prototype.sb,B.prototype.$a,B.prototype.uc,B.prototype.Dd,B.prototype.Xc],Ac=[B.prototype.Ea,B.prototype.rb,B.prototype.Pa,B.prototype.tc,B.prototype.td,B.prototype.Wc],Ic=[B.prototype.Ja,B.prototype.Jb,B.prototype.fb,B.prototype.Uc,B.prototype.Hd,B.prototype.ve],Hc=[B.prototype.Ka,B.prototype.Ub,B.prototype.gb,B.prototype.ee,B.prototype.Id,B.prototype.kd]; +if(vb)var cc=[B.prototype.Ca,B.prototype.Tb,B.prototype.Oa,B.prototype.bc,B.prototype.rd,B.prototype.Vc],bc=[B.prototype.aa,B.prototype.pa,B.prototype.ga,B.prototype.ra,B.prototype.ya,B.prototype.wa],Kc=[B.prototype.Ia,B.prototype.Db,B.prototype.cb,B.prototype.Cc,B.prototype.Gd,B.prototype.jd]; +function Lc(a,b){Ua.call(this,"CPU",a,Lc,1);var c=a.cycles||b,d=a.multiplier||1;this.Y={};this.Y.Jd=c;this.Y.Yd=d;this.Y.ug=Math.round(this.Y.Jd/1E4)/100;this.Y.Fe=this.Y.ug*this.Y.Yd;this.la.Ib=!1;this.la.eh=!1;this.la.Ki=a.autoStart;this.la.Oi=!1;this.la.Ye=!1;this.Y.If=this.Y.kf=0;this.Y.Jf=a.csStart;this.Y.jf=a.csInterval;this.Y.lf=a.csStop;this.pi=this.Ke.bind(this);rb(this)}db(Lc);var Mc=["power","reset"];m=Lc.prototype; +m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.ha=d;for(b=0;b=a.Y.kf&&(a.Y.kf+=a.Y.jf,c=!0);0<=a.Y.lf&&a.Y.lf<=Wc(a)&&(a.Y.jf=a.Y.lf=-1,Pc(a),a.Wb(),c=!0);c&&a.O(Wc(a)+" cycles: checksum="+r(a.Y.If))}} +m.Qb=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.qa[b]=c;a=!0;break;case "run":this.qa[b]=c;c.onclick=function(){var a;if(a=d.V)if(a=d.V,a.la.cc)a=!0;else{var b=null,c,h=gb(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.Y.ug&&(c=Math.round(c/a.Y.Yd));return c}function Oc(a){a.Y.pe=0;a.uc=a.Ub=a.fb=a.A=0;Pc(a);Xc(a,1)} +function Xc(a,b,c){var d=!1;if(void 0!==b){.8>a.Y.pe/a.Y.Fe?b=1:d=!0;a.Y.Yd=b;b=a.Y.ug*a.Y.Yd;if(a.Y.Fe!=b){a.Y.Fe=b;b=a.Y.Fe.toFixed(2)+"Mhz";var e=a.qa.setSpeed;e&&(e.textContent=b);a.O("target speed: "+b)}c&&a.V&&a.V.yd()}Zc(a,a.Ub);a.Ub=0;a.Y.hf=pa();a.Y.Ge=0;$c(a);return d} +m.Ke=function(a){if(pb(this,!0)){if(!this.la.Ib){Xc(this);this.V&&this.V.start(this.Y.hf,Wc(this));this.la.Ib=!0;this.la.eh=!0;this.N&&ad(this.N);var b=this.qa.run;b&&(b.textContent="Halt");this.V&&(this.V.qd(!0),a&&this.V.yd(!0))}this.Y.sh>=this.Y.Jd&&$c(this,!0);this.Y.Mf=0;this.Y.vg=pa();this.Y.Ge&&(a=this.Y.vg-this.Y.Ge,a>this.Y.Xi&&(this.Y.hf+=a,this.Y.hf>this.Y.vg&&(this.Y.hf=this.Y.vg)));try{do{var c=this.la.Ye?1:this.Y.km;if(this.N){bd(this.N);var d=this.N;a=c;var e=d.W[0];if(e.Be){var f= +(Wc(d.F,d.ka)-e.xd)/d.gb|0,g=cd(d,0)-f;6==e.mode&&(g-=f);var h=g*d.gb|0;6==e.mode&&(h>>=1);a>h&&(a=h)}var c=a,k=this.N;a=c;if(k.A&&k.A[11]&64){var l=k.ua-Wc(k.F,k.ka);0l&&(a=l)}c=a}try{this.vf(c)}catch(q){if("number"!=typeof q)throw q;}var n=this.fb-this.A;this.Ub+=n;this.Y.Mf+=n;Zc(this,0,!0);Vc(this,n);this.Y.Lf-=n;0>=this.Y.Lf&&(this.Y.Lf+=this.Y.Zi,this.V&&dd(this.V));this.Y.Kf-=n;0>=this.Y.Kf&&(this.Y.Kf+=this.Y.Yi,this.V&&this.V.qd());this.Y.mf-=n;if(0>=this.Y.mf){this.Y.mf+=this.Y.rh; +break}}while(this.la.Ib)}catch(q){this.Wb();Qc(this);this.V&&this.V.stop(pa(),Wc(this));pb(this,!1);ub(this,q.stack||q.message);return}c=setTimeout;d=this.pi;this.Y.Ge=pa();e=this.Y.Xi;this.Y.Mf&&(e=Math.round(e*this.Y.Mf/this.Y.rh));e-=this.Y.Ge-this.Y.vg;if(f=this.Y.Ge-this.Y.hf)this.Y.pe=Math.round(this.Ub/(10*f))/100,864E5<=f&&(this.uc=0,this.N&&bd(this.N,!0),Xc(this));if(0>e||this.Y.pethis.id&&C.call(e,b&&3==this.id?10:13,a&65532)}return-1};m.gm=function(a){var b=this.F;a=b.Mc+(a<<2);var c=b.na(a);b.ca&=-769;return this.load(b.na(a+2))+c|0}; +m.fm=function(a){var b=this.F;a<<=3;var c=b.Mc+a|0;if(7<=(b.Td-c|0))return this.C=!0,a=hd(this,c,a),-1!==a&&(a+=this.Xf),a;C.call(b,13,a|2);return-1};m.Di=function(a){return this.Aa+a|0};m.Fi=function(a){return this.Aa+a|0};m.Ci=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.og()};m.Ik=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.og()};m.og=function(){C.call(this.F,13,0);return-1};m.Ei=function(a,b){return(a>>>0)+b<=this.Zb?this.Aa+a|0:this.pg()}; +m.Jk=function(a,b){return(a>>>0)+b>this.Zb?this.Aa+a|0:this.pg()};m.pg=function(){C.call(this.F,13,0);return-1};function id(a,b,c,d,e){a.Z=b;a.Aa=d;a.Ta=e;a.Zb=(e>>>0)+1;a.wb=c;a.type=c&7936;a.ext=c>>16&192;a.Xb=(b&4?a.F.Bc.Aa:a.F.Ec)+(b&65528)|0;4>a.id&&fd(a,!0)}function jd(a,b,c){var d=a.F,e=d.na(b+2),f=d.na(b)|(e&255)<<16,d=d.na(b+4);a.Z=c;a.Aa=f;a.Ta=d;a.Zb=(d>>>0)+1;a.wb=e;a.type=e&7936;a.ext=0;a.Xb=b;4>a.id&&fd(a,!0)} +function hd(a,b,c,d){var e=a.F;if(!d&&c===a.A.Z)return a.Z=c,a.Aa=a.A.Aa,a.Ta=a.A.Ta,a.Zb=(a.A.Ta>>>0)+1,a.wb=a.A.wb,a.type=a.A.type,a.ext=a.A.ext,a.Xb=a.A.Xb,a.A.Z=-1,fd(a,!0,!0,!1),a.Aa;a.A.Z=-1;var f=e.na(b+0),g=e.na(b+4),h=g&7936,k=e.na(b+2)|(g&255)<<16,l=e.na(b+6),n=c&65528;if(80386<=e.ia){var q=f,k=k|(l&65280)<<16,f=f|(l&15)<<16;l&128&&(f=f<<12|4095)}switch(a.id){case 1:var p=a.C;a.cf=!1;if(p&&1==c&&a.B.length){var z=a.B[a.Xf-1];if(z&&!z())return-1}var F=c&3,v=(g&24576)>>13,z=-1,E,H;n||b>=e.Ec&& +b=a.Lb&&(F>a.Lb&&(z=D(e),kd(e,D(e),!0),G(e,z),a.cf=!0),z=0);else{if(256==h||2304==h)return ld(a,c,p)?a.Aa:-1;if(1024==h)z=2,H=0,Fh||2048==(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,11,c&65532),-1}break;case 3:if(!n||4096>h||512!=(h&2560))return C.call(e,13,c&65532),-1;if(!(g&32768))return C.call(e,12,c&65532),-1; +break;case 4:p=h&-513;if(!n||256!=p&&2304!=p)return C.call(e,13,c&65532),-1;2304==p&&(a.ti=k+e.na(k+100+2)|0,a.Ek=k+a.Ta|0);break;case 6:if(!(h&4096)&&768>>0)+1,a.wb=g,a.type=h,a.ext=l,a.Xb=b,fd(a,!0,!0,!1));return k} +function ld(a,b,c){var d=a.F,e=a.Lb,f=d.Sa.Z,g=d.Sa.Aa;if(!c){if(!(d.Sa.type&512))return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb&=-513)}if(-1===d.Sa.load(b))return!1;var h=d.Sa.Aa;if(!1!==c){if(d.Sa.type&512)return C.call(d,13,b&65532),!1;d.jb(d.Sa.Xb+4,d.Sa.wb|=512)}d.Sa.type=d.Sa.type&-513|d.Sa.wb&512;256==d.Sa.type||768==d.Sa.type?(d.jb(g+14,K(d)),d.jb(g+16,xd(d)),d.jb(g+18,d.G),d.jb(g+20,d.I),d.jb(g+22,d.M),d.jb(g+24,d.H),d.jb(g+26,I(d)),d.jb(g+28,d.P),d.jb(g+30,d.K),d.jb(g+32,d.J),d.jb(g+ +34,d.Xa.Z),d.jb(g+36,d.va.Z),d.jb(g+38,d.ta.Z),d.jb(g+40,d.vb.Z),d.Bc.load(d.na(h+42)),yd(d,d.na(h+16)|(c?16384:0)),d.G=d.na(h+18),d.I=d.na(h+20),d.M=d.na(h+22),d.H=d.na(h+24),d.P=d.na(h+28),d.K=d.na(h+30),d.J=d.na(h+32),d.Xa.load(d.na(h+34)),d.vb.load(d.na(h+40)),zd(d,d.na(h+14),d.na(h+36)),b=38,g=26,a.Lb>>0)+1)}; +function fd(a,b,c,d){void 0===c&&(c=!!(a.F.Za&1));a.cd=!1;if(c)if(a.load=a.tg,a.Wi=a.fm,a.nc=a.Ci,a.oc=a.Ei,void 0===d&&(d=!!(a.F.ca&131072)),d)a.load=a.V,a.nc=a.ea,a.oc=a.qa,a.Lb=a.Gc=3,a.ba=a.Oc=2,a.R=a.Ba=65535,a.Ta=65535,a.Zb=a.Ta+1,a.Oc=a.ba,a.Xb=-1,a.cf=!1;else{if(!(a.Z&-4))a.nc=a.og,a.oc=a.pg;else if(a.type&4096){6144==(a.type&6656)&&(a.nc=a.og);if(a.type&2048||!(a.type&512))a.oc=a.pg;1024==(a.type&3072)&&(a.nc==a.Ci&&(a.nc=a.Ik),a.oc==a.Ei&&(a.oc=a.Jk),a.cd=!0);b&&6>a.id&&a.Z&-4&&-1!==a.Xb&& +(c=a.Xb+5,d=a.F.Qa(c),d&1||a.F.qc(c,d|1))}b&&(a.Lb=a.Z&3,a.Gc=(a.wb&24576)>>13,80386>a.F.ia||!(a.ext&64)?(a.ba=2,a.R=65535):(a.ba=4,a.R=-1),a.Oc=a.ba,a.Ba=a.R)}else a.load=a.lh,a.Wi=a.gm,a.nc=a.Di,a.oc=a.Fi,a.Lb=a.Gc=0,a.Xb=-1,a.cf=!1} +function Bd(a){this.ia=a.model||8088;var b=a.stepping;this.Uc=this.ia+(b?ca(b,16):0);b=0;switch(this.ia){default:b=4772727;break;case 80286:b=6E6;break;case 80386:b=16E6}Lc.call(this,a,b);this.Yf=61442;this.Cc=1792;this.Wf=28672;this.Dd=4;this.ra=255;this.B=80286<=this.ia?xb:wb;this.X=Cd;this.bg=Dd;this.gg=Ed;this.hg=Fd;if(80186<=this.ia&&(this.X=Cd.slice(),this.bg=Dd.slice(),this.gg=Ed.slice(),this.ra=31,this.X[15]=Gd,this.X[96]=Hd,this.X[97]=Id,this.X[98]=Jd,this.X[99]=Gd,this.X[100]=Gd,this.X[101]= +Gd,this.X[102]=Gd,this.X[103]=Gd,this.X[104]=Kd,this.X[105]=Ld,this.X[106]=Md,this.X[107]=Nd,this.X[108]=Od,this.X[109]=Pd,this.X[110]=Qd,this.X[111]=Rd,this.X[192]=Sd,this.X[193]=Td,this.X[200]=Ud,this.X[201]=Yd,this.X[241]=Zd,this.bg[7]=$d,this.gg[7]=$d,80286<=this.ia)){this.Yf=2;this.Cc|=28672;this.Dd=0;this.X[15]=ae;this.tc=ge.slice();for(a=0;a=this.Uc&&(this.tc[166]=oe,this.tc[167]=pe)}}this.Id=[];this.le=[];this.ne=0;Oc(this);this.la.Wd=this.la.Mi=!1;this.Pg=0;this.ld=this.sa=[];this.La=this.Nb=this.Fa=this.Gd=this.jd=this.Gb=this.Db=0;qe(this)}db(Bd,Lc);function re(a,b,c,d){Gc((d?a.ld:a.sa)[b>>>a.La],c);d&&Ub(a)} +function se(a){var b;if(a.sa===a.ld){a.sa=Array(a.Gd);a.me=new B(null,0,0,5,null,a);Mb(a.me,a.ha);for(b=0;ba.oe&&(a.ag[a.oe++]=d);a.sa[b]=a.me}a.Hd=[]}function Ub(a){a.Za&-2147483648&&se(a)} +function Fc(a,b,c,d){var e=(b&-4194304)>>>20,f=a.ld[(a.Pd+e&a.Gb)>>>a.La],g=f.Nd(e);if(!(g&1))return d||te.call(a,b,!1,c),a.kd;if(!(g&4)&&3==a.pa)return d||te.call(a,b,!0,c),a.kd;var h=(b&4190208)>>>10,g=a.ld[((g&-4096)+h&a.Gb)>>>a.La],k=g.Nd(h);if(!(k&1))return d||te.call(a,b,!1,c),a.kd;if(!(k&4)&&3==a.pa)return d||te.call(a,b,!0,c),a.kd;c=a.ld[((k&-4096)+(b&4095)&a.Gb)>>>a.La];if(d)return c;d=b>>>a.La;k=a.sa[d];b=b&-4096;var l;0>2;b.zb=g;b.B=h>>2;vb&&ac&&c.da&&!c.controller&&!c.Te&&!c.Ue?(b.Ya=c.Ya,b.fe=c.fe,b.da=c.da,Yb(b,Kc)):(b.ea=c?yc(32):0,b.W=c?yc(96):0,Yb(b,Ic));Mb(b,a.ha,k);a.sa[d]=b;a.Hd.push(d);return b}function ue(a){a.sa!==a.ld&&(a.sa=a.ld,a.me=null,a.Hd=null,a.kd=null)}m=Bd.prototype;m.reset=function(){this.la.Ib&&this.Wb();qe(this);Oc(this);this.la.ud=!1}; +function ve(a,b){var c;switch(b){case 0:c=a.G;break;case 1:c=a.I;break;case 2:c=a.M;break;case 3:c=a.H;break;case 4:c=I(a);break;case 5:c=a.P;break;case 6:c=a.K;break;case 7:c=a.J}return c}function we(a,b,c){switch(b){case 0:a.G=c;break;case 1:a.I=c;break;case 2:a.M=c;break;case 3:a.H=c;break;case 4:G(a,c);break;case 5:a.P=c;break;case 6:a.K=c;break;case 7:a.J=c}} +function qe(a){a.G=0;a.H=0;a.I=0;a.M=0;a.gb=0;a.P=0;a.K=0;a.J=0;a.cb=!1;a.ja=a.wa=0;a.aa=0;a.ig=0;a.L=0;a.Za=65520;a.Mc=0;a.Td=1023;a.ca=a.Pa=0;a.Wc=a.td=a.Vc=a.Xc=0;a.rb=-1;a.bc=a.sb=-1;a.re=a.U=-1;a.va=new ed(a,1,"CS");a.vb=new ed(a,2,"DS");a.Xa=new ed(a,2,"ES");a.ta=new ed(a,3,"SS");G(a,0);kd(a,0);if(80386<=a.ia){switch(a.Uc){case 80562:case 80563:a.M=771;break;case 80578:a.M=772;break;case 80594:a.M=773;break;case 80595:case 80596:a.M=776}a.Za=16;a.ji=0;a.te=0;a.Pd=0;a.Ja=[0,0,0,0,null,null,0, +0];a.Ce=[null,null,null,null,null,null,0,0];a.Ob=new ed(a,2,"FS");a.Pb=new ed(a,2,"GS");ue(a)}a.qf=new ed(a,0,"NULL");a.ka=a.vb;a.Ka=a.ta;a.S=a.Ha=0;a.D=a.C=-1;a.$b=a.qf;a.ua=0;if(80286>a.ia)zd(a,0,65535);else{a.Ec=0;a.Ad=65535;a.Bc=new ed(a,5,"LDT",!0);a.Sa=new ed(a,4,"TSS",!0);a.Ea=new ed(a,6,"VER",!0);zd(a,65520,61440);var b,c=K(a);b=a.va;var d=-65536;80386>b.F.ia&&(d&=16777215);b=b.Aa=d;a.Ga=b+c|0;a.gf=(b>>>0)+(a.va.Ta>>>0)+1}yd(a,0);md(a)} +function xe(a){2==a.Oc?(a.dc=a.na,a.Oa=ye,a.$a=ze,a.Jb=Ae,2==a.ba?(a.W=Be,a.fa=Ce,a.ya=De):(a.W=Ee,a.fa=Fe,a.ya=Ge)):(a.dc=a.oa,a.Oa=He,a.$a=Ke,a.Jb=Le,2==a.ba?(a.W=Me,a.fa=Ne,a.ya=Oe):(a.W=Pe,a.fa=Qe,a.ya=Re))}function nd(a,b){a.ba!=b&&(a.Ha|=1024,a.ba=b,a.R=2==b?65535:-1,Se(a))}function Se(a){2==a.ba?(a.Ia=32768,a.tb=a.na,a.rc=a.jb,2==a.Oc?(a.W=Be,a.fa=Ce,a.ya=De):(a.W=Me,a.fa=Ne,a.ya=Oe)):(a.Ia=-2147483648,a.tb=a.oa,a.rc=a.nb,2==a.Oc?(a.W=Ee,a.fa=Fe,a.ya=Ge):(a.W=Pe,a.fa=Qe,a.ya=Re))} +function bf(a){a.Oc=a.va.Oc;a.Ba=a.va.Ba;xe(a);a.ba=a.va.ba;a.R=a.va.R;Se(a);a.Ha&=-3073}m.Qi=function(){var a=this.G+this.H+this.I+this.M+I(this)+this.P+this.K+this.J|0;return a=a+K(this)+this.va.Z+this.vb.Z+this.ta.Z+this.Xa.Z+xd(this)|0};function cf(a,b,c){void 0===a.Id[b]&&(a.Id[b]=[]);a.Id[b].push(c)}function df(a,b,c){void 0!==c&&(null==a.le[b]&&a.ne++,a.le[b]=c)}function ef(a,b){var c=a.le[b];null!=c&&(c(--a.ne),delete a.le[b])} +function ff(a,b){for(var c=a.Ja[7],d=c>>16,e=0;4>e;e++){if(c&3){var f=!!(d&1),g=a.Ja[e],g=g&~(d>>2&3);b?a.sa[g>>>a.La].Sd(g&a.Fa,f,a):Gc(a.sa[g>>>a.La],f)}c>>=2;d>>=4}}function Dc(a,b,c,d){if(!(a.S&8192)&&a.Ja[7]&255){c--;var e=a.Ja[7],f=e>>16;d=d?1:0==d?3:0;for(var g=0;4>g;g++){if(e&3&&(f&3)==d){var h=f>>2;if(b+c>=a.Ja[g]&&b<=a.Ja[g]+h){a.Ja[6]|=1<>=2;f>>=4}}} +function md(a,b,c){void 0===b&&(b=!!(a.Za&1));void 0===c&&(c=!!(a.ca&131072));a.hg=b&&!c?gf:Fd;fd(a.va,!1,b,c);fd(a.vb,!1,b,c);fd(a.ta,!1,b,c);fd(a.Xa,!1,b,c);80386<=a.ia&&(fd(a.Ob,!1,b,c),fd(a.Pb,!1,b,c));bf(a)} +m.save=function(){var a=new hf(this);N(a,0,[this.G,this.H,this.I,this.M,I(this),this.P,this.K,this.J]);var b=K(this),c=this.va.save(),d=this.vb.save(),e=this.ta.save(),f=this.Xa.save(),g;null!=this.Ec?(g=[this.Za,this.Ec,this.Ad,this.Mc,this.Td,this.Bc.save(),this.Sa.save(),this.Pa],80386<=this.ia&&(g.push(this.ji),g.push(this.te),g.push(this.Pd),g.push(this.Ja),g.push(this.Ce))):g=null;b=[b,c,d,e,f,g,xd(this)];80386<=this.ia&&(b.push(this.Ob.save()),b.push(this.Pb.save()));N(a,1,b);N(a,2,[this.ka.lc, +this.Ka.lc,this.S,this.Ha,this.ua,this.D,this.C]);N(a,3,[0,this.uc,this.Y.Yd]);b=this.ea;c=!!(this.Za&-2147483648);d=0;e=[];(f=!b.V&&b.xg==b.Gb)||Rb(b,!0);for(g=0;g>>0)+(a.va.Ta>>>0)+1;a.pa=a.va.Lb;bf(a)}function zd(a,b,c,d){var e=a.va;e.Xf=b;e.C=d;b=e.load(c);return-1!==b?(lf(a,b+(a.va.Xf&a.va.R)),a.va.cf):null} +function mf(a,b){var c=(a.Ga>>>0)+b;c>a.gf&&(8088>=a.ia||a.va.Ta==a.va.Ba?c=a.va.Aa+(c-a.gf&a.R):C.call(a,13,0));return c|0}function nf(a){a.Ga=a.re}function I(a){return a.gb&~a.ta.Ba|a.ga-a.ta.Aa}function G(a,b){a.gb=b;a.ga=a.ta.Aa+(b&a.ta.Ba)|0}function of(a,b,c,d,e,f){if(63!=(e&63)&&e!=a.resultType){var g=(e^a.resultType)&a.resultType;g&&(g&1&&pf(a),g&2&&qf(a),g&4&&rf(a),g&8&&sf(a),g&16&&tf(a),g&32&&uf(a))}f?(a.Wc=d,a.Vc=b):(a.Wc=b,a.Vc=d);a.td=c;a.Xc=d;a.resultType=e} +function vf(a,b,c,d,e){a.resultType=c|26;a.Xc=b;d?wf(a):xf(a);e?yf(a):zf(a);return b}function Af(a,b,c,d){c&d?wf(a):xf(a);(b^c)&d?yf(a):zf(a)}function Bf(a){return pf(a)?1:0}function pf(a){a.resultType&1&&(a.ca&=-2,(a.Wc^(a.Wc^a.td)&(a.td^a.Vc))&a.resultType&-2147450752&&(a.ca|=1),a.resultType&=-2);return a.ca&1}function qf(a){a.resultType&2&&(a.ca&=-5,38505>>((a.Xc^a.Xc>>4)&15)&1&&(a.ca|=4),a.resultType&=-3);return a.ca&4} +function rf(a){a.resultType&4&&(a.ca&=-17,(a.Vc^a.Wc^a.td)&16&&(a.ca|=16),a.resultType&=-5);return a.ca&16}function sf(a){a.resultType&8&&(a.ca&=-65,a.Xc&((a.resultType&-2147450752)-1|a.resultType&-2147450752)||(a.ca|=64),a.resultType&=-9);return a.ca&64}function tf(a){a.resultType&16&&(a.ca&=-129,a.Xc&a.resultType&-2147450752&&(a.ca|=128),a.resultType&=-17);return a.ca&128} +function uf(a){a.resultType&32&&(a.ca&=-2049,(a.Wc^a.Vc)&(a.td^a.Vc)&a.resultType&-2147450752&&(a.ca|=2048),a.resultType&=-33);return a.ca&2048}function xf(a){a.resultType&=-2;a.ca&=-2}function Cf(a){a.resultType&=-5;a.ca&=-17}function Df(a){a.resultType&=-9;a.ca&=-65}function zf(a){a.resultType&=-33;a.ca&=-2049}function wf(a){a.resultType&=-2;a.ca|=1}function Ef(a){a.resultType&=-5;a.ca|=16}function Ff(a){a.resultType&=-9;a.ca|=64}function yf(a){a.resultType&=-33;a.ca|=2048} +function xd(a){return a.ca&-2262|pf(a)|qf(a)|rf(a)|sf(a)|tf(a)|uf(a)}function Gf(a,b){b=b|a.Za&1|65520;a.Za=a.Za&-65536|b&65535;a.Za&1&&md(a,!0)}function yd(a,b,c){a.Za&1||(b&=~a.Wf);void 0===c&&(c=a.pa);c?b=b&-12289|a.ca&12288:a.Pa=(b&12288)>>12;c>a.Pa&&(b=b&-513|a.ca&512);a.resultType=128;a.ca=a.ca&~(a.Cc|2261)|b&(a.Cc|2261)|a.Yf;a.ca&256&&(a.ua|=2,a.S|=4)} +function Hf(a,b,c,d){var e=0;if(a.Za&1&&(a.pa>a.Pa||a.ca&131072)&&a.Sa.ti)for(var f=a.Sa.ti+(b>>>3),e=(1<>>=8,f++;return e?(A(a,256)&&y(a,"checkIOPM("+u(b)+","+c+","+(d?"input":"output")+"): trapped",!0,!0),C.call(a,13,0),!1):!0} +m.Qb=function(a,b,c){var d=!1;switch(b){case "EAX":case "EBX":case "ECX":case "EDX":case "ESP":case "EBP":case "ESI":case "EDI":case "EIP":case "AX":case "BX":case "CX":case "DX":case "SP":case "BP":case "SI":case "DI":case "IP":case "PC":case "CS":case "DS":case "SS":case "ES":case "FS":case "GS":case "CR0":case "CR2":case "CR3":case "PS":case "C":case "P":case "A":case "Z":case "S":case "T":case "I":case "D":case "V":this.qa[b]=c;this.Pg++;d=!0;break;default:d=this.parent.Qb.call(this,a,b,c)}return d}; +function If(a,b,c,d){var e=(d?a.ld:a.sa)[(b&a.Db)>>>a.La];e&&5==e.type&&(e=Fc(a,b,!1,!0));if(e){var f=b&a.Fa;if(!c||1==c)return e.se(f,b);if(2==c)return f>>this.La].jc(a&this.Fa,a)}; +m.na=function(a){var b=a&this.Fa,c=(a&this.Db)>>>this.La;this.A-=this.B.Eg;if(b>>this.La;if(b>>this.La].sc(a&this.Fa,b&255,a)}; +m.jb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Eg;c>8&255,a+1))};m.nb=function(a,b){var c=a&this.Fa,d=(a&this.Db)>>>this.La;this.A-=this.B.Eg;if(c>>=8}}; +function Jf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.nc(a.Ca,1);return a.S&1?0:a.Qa(a.D)}function Q(a,b){return Jf(a,a.ka,b)}function Kf(a,b){return Jf(a,a.Ka,b)}function Lf(a,b,c){a.$b=b;a.Ca=c&a.Ba;a.D=b.nc(a.Ca,a.ba);return a.S&1?0:a.tb(a.D)}function R(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,2);return a.S&1?0:a.na(a.D)}function Mf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,2);return a.S&1?0:a.na(a.D)}function S(a,b){a.$b=a.ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,4);return a.S&1?0:a.oa(a.D)} +function Nf(a,b){a.$b=a.Ka;a.Ca=b&a.Ba;a.D=a.$b.nc(a.Ca,4);return a.S&1?0:a.oa(a.D)}function Of(a,b){a.S&2||a.qc(a.$b.oc(a.Ca,1),b)}function Pf(a,b){a.S&2||a.jb(a.$b.oc(a.Ca,2),b)}function Qf(a,b){a.S&2||a.nb(a.$b.oc(a.Ca,4),b)}function od(a,b,c){return a.tb(b.nc(c,a.ba))}m.xa=function(){var a=mf(this,1),b=this.Qa(this.Ga);this.Ga=a;return b};function Rf(a){var b=mf(a,2),c=a.na(a.Ga);a.Ga=b;return c}function T(a){var b=mf(a,a.Oc),c=a.dc(a.Ga);a.Ga=b;return c} +m.Ma=function(){var a=mf(this,this.ba),b=this.tb(this.Ga);this.Ga=a;return b};m.T=function(){var a=mf(this,1),b=this.Qa(this.Ga)<<24>>24;this.Ga=a;return b};function D(a){var b=a.tb(a.ga);a.ga=a.ga+a.ba|0;var c=a.Lg-a.ga|0;0>c&&0<=(a.Lg^a.ga)&&(8088>=a.ia||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?G(a,a.ga-a.ta.Aa&a.ta.Ba):-1>c&&C.call(a,12,0));return b} +function pd(a,b,c,d){c=a.ga-c|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ia||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));switch(d){case 1:a.qc(c,b);break;case 2:a.jb(c,b);break;case 4:a.nb(c,b)}a.ga=c}function J(a,b){var c=a.ga-a.ba|0;0>(c-a.rd|0)&&0<=(a.rd^c)&&(8088>=a.ia||!a.ta.cd&&a.ta.Ta==a.ta.Ba||a.ta.cd&&!a.ta.Ta?(G(a,c-a.ta.Aa&a.ta.Ba),c=a.ga):C.call(a,12,0));a.rc(c,b);a.ga=c} +function Sf(a,b,c){var d=4;1==b.length&&(d=1,c=c?1:0);if(80386>a.ia)2this.ia?0:1,e=0;2>e;e++){switch(d){case 0:if(this.ua&1&&this.ca&512){var f=Uf(this.N);if(-1<=f&&(this.ua&=-2,0<=f)){this.ua&=-5;Vf.call(this, +f);d=!0;break a}}break;case 1:if(this.ua&2){this.ua&=-3;80386<=this.ia&&(this.Ja[6]|=16384);Vf.call(this,1);d=!0;break a}}d=1-d}d=!1}if(d&&!a){this.O("interrupt dispatched");this.S=0;break}if(this.ua&4){this.S=this.A=0;break}}if(b){if(Wf(this.ha,this.Ga,c)){this.Wb();break}c=1}this.S=0;this.X[this.xa()].call(this)}while(0>11;ag(this);bg(this,a[b++]);for(c=0;c=cg&&dg(a,13))}function ag(a){a.ma&=-129;a.ma&~a.kc&63&&(a.ma|=128);if(a.ma&128&&!(a.kc&128))return a=a.N,a.ia>=cg?eg(a,13):a.ya&0||Vf.call(a.F,2),!0;a=a.N;a.ia>=cg&&dg(a,13);return!1}function fg(a,b){80387<=a.ia||(b&=-65);a.ma|=b;return ag(a)} +function Zf(a){return a.ma|a.B<<11}function gg(a,b){return isFinite(b)?!0:!fg(a,Infinity===b?8:16)}function hg(a,b,c){var d=null;null!=b&&null!=c&&(d=b+c,gg(a,d)||(d=null));return d}function ig(a,b,c){var d=null;null!=b&&null!=c&&(d=b-c,gg(a,d)||(d=null));return d}function jg(a,b,c){var d=null;null!=b&&null!=c&&(d=b*c,gg(a,d)||(d=null));return d}function kg(a,b,c){var d=null;null==b||null==c||!c&&fg(a,2)||(d=b/c,gg(a,d)||(d=null));return d} +function lg(a,b,c){if(null!=b&&null!=c){var d=0;isNaN(b)||isNaN(c)?d=17664:(b-=c,0>b?d=256:0===b&&(d=16384));a.ma=a.ma&-18177|d;return!0}return!1}function mg(a,b,c){if(null==b)return null;var d=a.kc&3072;0==d?(d=Math.round(b),.5===d-b&&d%2&&d--):d=1024==d||3072==d&&0=c){if(fg(a,1))return null;d=-c}else if(d<-c){if(fg(a,1))return null;d=-c}a.L[0]=d|0;2147483648d&&(a.L[1]=-1))}return d} +function ng(a,b){var c=3;if(a.C&1<=c;c<<=1)3!=(b&3)&&(a.C|=c),b>>=2}function og(a){var b=a.B+0&7;return a.C&1<>16}function Dg(a){return a.F.oa(a.F.D)}function Eg(a){a.ua[0]=a.F.oa(a.F.D);return a.pa[0]}function Fg(a){a.L[0]=a.F.oa(a.F.D);a.L[1]=a.F.oa(a.F.D+4);return a.X[0]} +function Gg(a){a.ea[0]=a.F.oa(a.F.D);a.ea[1]=a.F.oa(a.F.D+4);a.ea[2]=a.F.na(a.F.D+8);return a.ea}m.ni=function(){this.F.nb(this.F.D,this.L[0])};m.nk=function(){this.F.nb(this.F.D,this.L[0]);this.F.nb(this.F.D+4,this.L[1])};m.qk=Xf.prototype.ni;m.pk=Xf.prototype.nk;function Hg(a){a.F.nb(a.F.D,a.ea[0]);a.F.nb(a.F.D+4,a.ea[1]);a.F.jb(a.F.D+8,a.ea[2])} +function Ig(a,b){var c=b[1],d=(b[2]&32768)>>4,e=b[2]&32767,f=b[0]>>>11|c<<21,c=c>>11&1048575;32767==e?e=2047:e&&(e+=-15360,0>=e&&(e=2047,f=c=0));a.L[0]=f;a.L[1]=c|(d|e)<<20;return a.X[0]}function Bg(a,b,c){var d=c>>20&2047,e=2147483648|(c&1048575)<<11|b>>>21;2047==d?d=32767:d?d+=15360:e&=2147483647;a.ea[0]=b<<11;a.ea[1]=e;a.ea[2]=c>>16&32768|d;return a.ea}function Jg(a,b){for(var c=0,d=1;b--;)c+=(a&15)*d,d*=10,a>>=4;return c}function Kg(a,b){for(var c=0,d=0;b--;)c|=a%10<>11;ag(a);bg(a,d.tb(b+=d.ba));!(d.Za&1)||d.ca&131072?(a.W=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.ja=c&2047,a.W|=(c&-4096)<<4,a.fa=-1,a.U=d.tb(b+=d.ba),a.U|=(d.tb(b+=d.ba)&-4096)<<4,a.ga=-1):(a.W=d.tb(b+=d.ba),c=d.tb(b+=d.ba),a.fa=c&65535,a.ja=c>>16&2047,a.U=d.tb(b+=d.ba),a.ga=d.tb(b+=d.ba)&65535);return b+d.ba} +function Og(a,b){var c=a.F;c.rc(b,a.kc);c.rc(b+=c.ba,Zf(a));c.rc(b+=c.ba,$f(a));if(!(c.Za&1)||c.ca&131072){var d=(a.fa<<4)+a.W;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096|a.ja);d=(a.ga<<4)+a.U;c.rc(b+=c.ba,d);c.rc(b+=c.ba,d>>4&-4096)}else c.rc(b+=c.ba,a.W),c.rc(b+=c.ba,a.fa|a.ja<<16),c.rc(b+=c.ba,a.U),c.rc(b+=c.ba,a.ga);return b+c.ba}var Pg=Math.log(10)/Math.LN2,Qg=Math.LOG2E,Rg=Math.PI,Sg=Math.log(2)/Math.LN10,Tg=Math.LN2,Ug=Math.pow(2,63);function Vg(){this.ma&=-32896;ag(this)} +function Wg(){lg(this,U(this,0),U(this,this.A))}function Xg(){lg(this,U(this,0),U(this,this.A))&&Lg(this)}function Yg(){Xg.call(this)}function Zg(){W(this,0,kg(this,U(this,0),Eg(this)))}function $g(){this.C&=~(1<>20&2047)-1023),this.L[1]=(this.L[1]|1072693248)&-1073741825,Mg(this,this.X[0]))},102:function(){this.B=this.B-1&7;this.ma&=-513},103:function(){this.B=this.B+1&7;this.ma&=-513},112:function(){W(this,0,U(this,0)%U(this,1))},113:function(){W(this,1,U(this, +1)*Math.log(U(this,0)+1)/Math.LN2)&&Lg(this)},114:function(){var a=U(this,0),b=null;if(0<=a||!fg(this,1))b=Math.sqrt(a),gg(this,b)||(b=null);W(this,0,b)},116:function(){W(this,0,mg(this,U(this,0),Ug))},117:function(){var a=U(this,0),b=U(this,1);null!=a&&null!=b&&W(this,0,a*Math.pow(2,0>>0);Mg(this,a)},6:function(){var a=mg(this,Lg(this));null!=a&&(this.ea[0]= +Kg(a,8),this.ea[1]=Kg(a/1E8,8),this.ea[2]=Kg(a/1E16,2),0>a&&(this.ea[2]|=32768),Hg(this))},7:function(){null!=mg(this,U(this,0),Ug)&&(this.nk(),Lg(this))},48:function(){$g.call(this);Lg(this)},49:mh,50:hh,51:hh,52:kh}},oh=[Vg,ah,bh,ch,dh,eh,ih,fh,jh,kh];Qa(function(){for(var a=nb(document,"pcjs","fpu"),b=0;b>16,c=c<<16>>16,d=d<<16>>16);this.A-=this.B.bj;(bd)&&C.call(this,5);this.S|=2;return a}function xh(a,b){var c=0;if(b){Df(this);for(var d=1;d&this.R;){if(b&d){a=c;break}d<<=1;c++}}else Ff(this);this.A-=11+3*c;return a}function yh(a,b){var c=0;if(b){Df(this);for(var d=2==this.ba?15:31,e=1<>>=1;c++;d--}}else Ff(this);this.A-=11+3*c;return a} +function zh(a,b){a&1<<(b&(2==this.ba?15:31))?wf(this):xf(this);this.A-=-1===this.D?3:6;this.S|=2;return a}function Ah(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a^c}function Bh(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a&~c}function Ch(a,b){var c=1<<(b&(2==this.ba?15:31));a&c?wf(this):xf(this);this.A-=-1===this.D?6:8;return a|c} +function Dh(a,b){if(-1===this.D)return zh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=6;this.S|=2;return a}function Eh(a,b){if(-1===this.D)return Ah.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a^b} +function Fh(a,b){if(-1===this.D)return Bh.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a&~b}function Gh(a,b){if(-1===this.D)return Ch.call(this,a,b);var c=this.ba<<3;if(b>=c||b<-c)a=Lf(this,this.$b,this.Ca+(b>>(2==this.ba?4:5))*this.ba);b=1<<(b&(2==this.ba?15:31));a&b?wf(this):xf(this);this.A-=8;return a|b} +function Hh(a,b){of(this,a,b,a-b|0,191,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.zh:this.B.Vb;this.S|=2;return a}function Ih(a,b){of(this,a,b,a-b|0,this.Ia|63,!0);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.zh:this.B.Vb;this.S|=2;return a} +function Jh(a){if(this.Tb){var b=this.Tb,c=this.ig,d=this.L,e=d>>3&7;b.A=d&7;var f=(3>(d>>6&3)?0:48)+e;(217==c||219==c)&&52<=f&&(f=e<<4|b.A);if(e=nh[c][f]){if(0>oh.indexOf(e)){var f=b.F,g=f.re;8087==b.ia&&(f.Ha&16&&g++,f.Ha&32&&g++);b.fa=f.va.Z;b.W=g-f.va.Aa;-1!==f.D&&(b.ga=f.$b.Z,b.U=f.D-f.$b.Aa);b.ja=(c&7)<<8|d}e.call(b)}}this.A-=-1===this.D?2:8;return a}function Kh(a){if(80186>this.ia)return Lh.call(this,a);C.call(this,13,0);return a}function $d(a){C.call(this,6);return a} +function Lh(a){he.call(this);return a}function Mh(a,b){var c=Nh.call(this,this.T(),b);80386>this.ia&&(this.A-=12);return c}function Oh(a,b){var c;a=this.Ma();c=2==this.ba?Nh.call(this,a,b):Ph.call(this,a,b);80386>this.ia&&(this.A-=12);return c}function Qh(a,b){var c=!1;0>b&&(b=-b|0,c=!c);0>a&&(a=-a|0,c=!c);Rh.call(this,a,b);c&&(this.ja=~this.ja+1|0,this.wa=~this.wa+(this.ja?0:1)|0)} +function Nh(a,b){var c=(a<<16>>16)*(b<<16>>16)|0;32767c?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return c&65535}function Ph(a,b){Qh.call(this,a,b);this.wa!=this.ja>>31?(wf(this),yf(this)):(xf(this),zf(this));this.A-=-1===this.D?9:12;return this.ja}function Sh(a,b){this.A-=14+(-1===this.D?0:2);Df(this);-1!==this.Ea.load(b)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(b&3)&&(Ff(this),a=this.Ea.wb&-256,2=this.pa)&&this.Ea.Gc>=(b&3))return Ff(this),this.Ea.Ta;Df(this);return a}function Zh(a,b){if(-1===this.D)return he.call(this),a;kd(this,this.na(this.D+this.ba));this.A-=this.B.of;return b} +function $h(a,b){this.A-=-1===this.C?-1===this.D?this.B.Lj:this.B.Kj:this.B.Ij;return b}function ai(a,b){switch(this.L>>3&7){case 4:this.aa=this.G;break;case 5:this.aa=this.I;break;case 6:this.aa=this.M;break;case 7:this.aa=this.H}return b}function bi(a,b){return 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 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 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 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<>(this.G&this.R)&(1<<(this.I&31))-1&this.R}function hj(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}this.A-=this.B.ci}else this.C=this.D,Of(this,a),this.A-=this.B.bi;return b} +function ij(a,b){if(-1===this.D){switch(this.L&7){case 0:this.G=this.G&~this.R|a;break;case 1:this.I=this.I&~this.R|a;break;case 2:this.M=this.M&~this.R|a;break;case 3:this.H=this.H&~this.R|a;break;case 4:G(this,I(this)&~this.R|a);break;case 5:this.P=this.H&~this.R|a;break;case 6:this.K=this.K&~this.R|a;break;case 7:this.J=this.J&~this.R|a}this.A-=this.B.ci}else this.C=this.D,this.S&2||this.rc(this.$b.oc(this.Ca,this.ba),a),this.A-=this.B.bi;return b} +function jj(a,b){var c=a^b;vf(this,c,128);this.A-=-1===this.C?-1===this.D?this.B.yc:this.B.Vb:this.B.Nc;return c}function kj(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 lj(a,b){var c=a[1]-b[1];c||(c=a[0]-b[0]);return c}function mj(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=2;return a&~this.R|b&this.R} +function nj(a,b,c){c>>>=0;if(!c||c<=b>>>0)return!1;var d=0,e=1;c=[c>>>0,0];for(a=[a>>>0,b>>>0];0>>=0,b[1]++);e+=e}do 0<=lj(a,c)&&(b=a,f=c,b[0]-=f[0],b[1]-=f[1],0>b[0]&&(b[0]>>>=0,b[1]--),d+=e),b=c,b[0]>>>=1,b[1]&1&&(b[0]=(b[0]|2147483648)>>>0),b[1]>>>=1,e/=2;while(1<=e);this.ja=d;this.wa=a[0];return!0}function oj(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=2;return a&~this.R|b&this.R} +function pj(a){this.Za=a;md(this);this.Za&-2147483648?se(this):ue(this)}function Ad(a){this.Pd=a;Ub(this)}function qj(a){this.S|=1;this.$a.call(this,a);this.A-=-1===this.D?4:5}function Ri(a,b,c){if(c){16>>16-c)&65535;vf(this,a,32768,d&32768)}return a}function Ti(a,b,c){if(c){var d=a<>>32-c;vf(this,a,-2147483648,d&-2147483648)}return a} +function Xi(a,b,c){if(c){16>>c-1;a=(d>>>1|b<<16-c)&65535;vf(this,a,32768,d&1)}return a}function Zi(a,b,c){if(c){var d=a>>>c-1;a=d>>>1|b<<32-c;vf(this,a,-2147483648,d&1)}return a}function rj(){this.A-=-1===this.D?2:this.B.Yj;return 1}function sj(){var a=this.I&255;this.A-=(-1===this.D?this.B.Uh:this.B.Th)+(a<this.rb?(-1!=this.bc&&(this.bc!==this.va.Z&&(this.va.Lb=this.bc&3,kf(this,this.bc)),this.bc=-1),this.re!==this.Ga&&lf(this,this.re),-1!=this.sb&&(this.sb!==this.ta.Z&&kd(this,this.sb),this.sb=-1),-1!==this.U&&(this.U!==this.ga&&G(this,this.gb&~this.ta.Ba|this.U-this.ta.Aa),this.U=-1)):8!=this.rb?(b=0,a=8):(b=0,a=-1,qe(this),e=d=!1)):lf(this,this.re);var f=a,g=b,h=32,k=If(this,this.Ga);204!=k||this.Td||(d=!1);this.ca&131072&&(6==f&&99== +k||13==f&&205==k)&&(d=!1);!1===d&&(h|=1);983040<=this.Ga&&1048575>=this.Ga&&(d=!1);A(this,h|-2147483648)&&(d=!0);if(A(this,h)||d){var l=this.la.Ib,f="Fault "+t(f)+(null!=g?" ("+u(g)+")":"")+" on opcode "+t(k);d&&l&&(f+=" (blocked)");this.ha?(y(this,f,d||h,!0),d&&(d=l,this.ha.Wb())):(this.Na(f),this.Wb())}if(d&&e)throw-1;if(e)throw this.rb=a,xj.call(this,a,b,c),this.re=this.Ga,this.S=1==a?this.S|8192:this.S|4096,a;} +function te(a,b,c){this.te=a;a=0;b&&(a|=1);c&&(a|=2);3==this.pa&&(a|=4);C.call(this,14,a)}function zj(a){var b=a.wb&7680;a.Z&65528&&(6144==b||7168==b||7168>b&&a.Gc>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=this.G& +-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} +function ze(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.H+this.K);this.C=this.D;break;case 1:b=Q(this,this.H+this.J);this.C=this.D;break;case 2:b=Kf(this,this.P+this.K);this.C=this.D;break;case 3:b=Kf(this,this.P+this.J);this.C=this.D;break;case 4:b=Q(this,this.K);this.C=this.D;break;case 5:b=Q(this,this.J);this.C=this.D;break;case 6:b=Q(this,T(this));this.C=this.D;break;case 7:b=Q(this,this.H);this.C=this.D;break;case 64:b=Q(this,this.H+this.K+this.T());this.C=this.D;break; +case 65:b=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=Q(this,this.K+this.T());this.C=this.D;break;case 69:b=Q(this,this.J+this.T());this.C=this.D;break;case 70:b=Kf(this,this.P+this.T());this.C=this.D;break;case 71:b=Q(this,this.H+this.T());this.C=this.D;break;case 128:b=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=Q(this,this.H+this.J+T(this)); +this.C=this.D;break;case 130:b=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=Q(this,this.K+T(this));this.C=this.D;break;case 133:b=Q(this,this.J+T(this));this.C=this.D;break;case 134:b=Kf(this,this.P+T(this));this.C=this.D;break;case 135:b=Q(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break; +case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b=this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Of(this,a);this.A-=this.B.ed;break;case 1:case 2:Of(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Of(this, +a);this.A-=this.B.Jc;break;case 6:Of(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Of(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= +this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8}} +function Ae(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.H+this.K);this.C=this.D;break;case 1:c=Q(this,this.H+this.J);this.C=this.D;break;case 2:c=Kf(this,this.P+this.K);this.C=this.D;break;case 3:c=Kf(this,this.P+this.J);this.C=this.D;break;case 4:c=Q(this,this.K);this.C=this.D;break;case 5:c=Q(this,this.J);this.C=this.D;break;case 6:c=Q(this,T(this));this.C=this.D;break;case 7:c=Q(this,this.H);this.C=this.D;break;case 64:c=Q(this,this.H+this.K+this.T());this.C=this.D;break; +case 65:c=Q(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Kf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Kf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=Q(this,this.K+this.T());this.C=this.D;break;case 69:c=Q(this,this.J+this.T());this.C=this.D;break;case 70:c=Kf(this,this.P+this.T());this.C=this.D;break;case 71:c=Q(this,this.H+this.T());this.C=this.D;break;case 128:c=Q(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=Q(this,this.H+this.J+T(this)); +this.C=this.D;break;case 130:c=Kf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Kf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=Q(this,this.K+T(this));this.C=this.D;break;case 133:c=Q(this,this.J+T(this));this.C=this.D;break;case 134:c=Kf(this,this.P+T(this));this.C=this.D;break;case 135:c=Q(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break; +case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Of(this,c);this.A-=this.B.ed;break;case 1:case 2:Of(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Of(this,c);this.A-=this.B.Jc;break;case 6:Of(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Of(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Of(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Of(this, +c);this.A-=this.B.ib;break;case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8}} +function Be(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=R(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Mf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Mf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=R(this,this.K);this.A-=this.B.Jc;break;case 5:c=R(this,this.J);this.A-=this.B.Jc;break;case 6:c=R(this,T(this));this.A-=this.B.Kd;break;case 7:c=R(this,this.H);this.A-=this.B.Jc;break;case 64:c=R(this,this.H+this.K+this.T()); +this.A-=this.B.ec;break;case 65:c=R(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Mf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Mf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=R(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=R(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Mf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=R(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=R(this,this.H+this.K+T(this));this.A-= +this.B.ec;break;case 129:c=R(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Mf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Mf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=R(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=R(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Mf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=R(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break; +case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= +this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} +function Ce(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.H+this.K);this.C=this.D;break;case 1:b=R(this,this.H+this.J);this.C=this.D;break;case 2:b=Mf(this,this.P+this.K);this.C=this.D;break;case 3:b=Mf(this,this.P+this.J);this.C=this.D;break;case 4:b=R(this,this.K);this.C=this.D;break;case 5:b=R(this,this.J);this.C=this.D;break;case 6:b=R(this,T(this));this.C=this.D;break;case 7:b=R(this,this.H);this.C=this.D;break;case 64:b=R(this,this.H+this.K+this.T());this.C=this.D;break; +case 65:b=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=R(this,this.K+this.T());this.C=this.D;break;case 69:b=R(this,this.J+this.T());this.C=this.D;break;case 70:b=Mf(this,this.P+this.T());this.C=this.D;break;case 71:b=R(this,this.H+this.T());this.C=this.D;break;case 128:b=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=R(this,this.H+this.J+T(this)); +this.C=this.D;break;case 130:b=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=R(this,this.K+T(this));this.C=this.D;break;case 133:b=R(this,this.J+T(this));this.C=this.D;break;case 134:b=Mf(this,this.P+T(this));this.C=this.D;break;case 135:b=R(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535; +break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break;case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Pf(this,a);this.A-=this.B.ed;break;case 1:case 2:Pf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this, +a);this.A-=this.B.Jc;break;case 6:Pf(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Pf(this,a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this,a);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)&-65536|a);break; +case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a}} +function De(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.H+this.K);this.C=this.D;break;case 1:c=R(this,this.H+this.J);this.C=this.D;break;case 2:c=Mf(this,this.P+this.K);this.C=this.D;break;case 3:c=Mf(this,this.P+this.J);this.C=this.D;break;case 4:c=R(this,this.K);this.C=this.D;break;case 5:c=R(this,this.J);this.C=this.D;break;case 6:c=R(this,T(this));this.C=this.D;break;case 7:c=R(this,this.H);this.C=this.D;break;case 64:c=R(this,this.H+this.K+this.T());this.C=this.D;break; +case 65:c=R(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Mf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Mf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=R(this,this.K+this.T());this.C=this.D;break;case 69:c=R(this,this.J+this.T());this.C=this.D;break;case 70:c=Mf(this,this.P+this.T());this.C=this.D;break;case 71:c=R(this,this.H+this.T());this.C=this.D;break;case 128:c=R(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=R(this,this.H+this.J+T(this)); +this.C=this.D;break;case 130:c=Mf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Mf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=R(this,this.K+T(this));this.C=this.D;break;case 133:c=R(this,this.J+T(this));this.C=this.D;break;case 134:c=Mf(this,this.P+T(this));this.C=this.D;break;case 135:c=R(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535; +break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Pf(this,c);this.A-=this.B.ed;break;case 1:case 2:Pf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Pf(this,c);this.A-=this.B.Jc;break;case 6:Pf(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Pf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Pf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Pf(this, +c);this.A-=this.B.ib;break;case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c}} +function Ee(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.H+this.K);this.A-=this.B.ed;break;case 1:c=S(this,this.H+this.J);this.A-=this.B.fd;break;case 2:c=Nf(this,this.P+this.K);this.A-=this.B.fd;break;case 3:c=Nf(this,this.P+this.J);this.A-=this.B.ed;break;case 4:c=S(this,this.K);this.A-=this.B.Jc;break;case 5:c=S(this,this.J);this.A-=this.B.Jc;break;case 6:c=S(this,T(this));this.A-=this.B.Kd;break;case 7:c=S(this,this.H);this.A-=this.B.Jc;break;case 64:c=S(this,this.H+this.K+this.T()); +this.A-=this.B.ec;break;case 65:c=S(this,this.H+this.J+this.T());this.A-=this.B.fc;break;case 66:c=Nf(this,this.P+this.K+this.T());this.A-=this.B.fc;break;case 67:c=Nf(this,this.P+this.J+this.T());this.A-=this.B.ec;break;case 68:c=S(this,this.K+this.T());this.A-=this.B.ib;break;case 69:c=S(this,this.J+this.T());this.A-=this.B.ib;break;case 70:c=Nf(this,this.P+this.T());this.A-=this.B.ib;break;case 71:c=S(this,this.H+this.T());this.A-=this.B.ib;break;case 128:c=S(this,this.H+this.K+T(this));this.A-= +this.B.ec;break;case 129:c=S(this,this.H+this.J+T(this));this.A-=this.B.fc;break;case 130:c=Nf(this,this.P+this.K+T(this));this.A-=this.B.fc;break;case 131:c=Nf(this,this.P+this.J+T(this));this.A-=this.B.ec;break;case 132:c=S(this,this.K+T(this));this.A-=this.B.ib;break;case 133:c=S(this,this.J+T(this));this.A-=this.B.ib;break;case 134:c=Nf(this,this.P+T(this));this.A-=this.B.ib;break;case 135:c=S(this,this.H+T(this));this.A-=this.B.ib;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c= +this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this,a);break; +case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} +function Fe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.H+this.K);this.C=this.D;break;case 1:b=S(this,this.H+this.J);this.C=this.D;break;case 2:b=Nf(this,this.P+this.K);this.C=this.D;break;case 3:b=Nf(this,this.P+this.J);this.C=this.D;break;case 4:b=S(this,this.K);this.C=this.D;break;case 5:b=S(this,this.J);this.C=this.D;break;case 6:b=S(this,T(this));this.C=this.D;break;case 7:b=S(this,this.H);this.C=this.D;break;case 64:b=S(this,this.H+this.K+this.T());this.C=this.D;break; +case 65:b=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:b=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:b=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:b=S(this,this.K+this.T());this.C=this.D;break;case 69:b=S(this,this.J+this.T());this.C=this.D;break;case 70:b=Nf(this,this.P+this.T());this.C=this.D;break;case 71:b=S(this,this.H+this.T());this.C=this.D;break;case 128:b=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:b=S(this,this.H+this.J+T(this)); +this.C=this.D;break;case 130:b=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:b=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:b=S(this,this.K+T(this));this.C=this.D;break;case 133:b=S(this,this.J+T(this));this.C=this.D;break;case 134:b=Nf(this,this.P+T(this));this.C=this.D;break;case 135:b=S(this,this.H+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break; +case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 0:case 3:Qf(this,a);this.A-=this.B.ed;break;case 1:case 2:Qf(this,a);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,a);this.A-=this.B.Jc;break;case 6:Qf(this,a);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Qf(this, +a);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,a);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this,a);this.A-=this.B.ib;break;case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a}} +function Ge(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.H+this.K);this.C=this.D;break;case 1:c=S(this,this.H+this.J);this.C=this.D;break;case 2:c=Nf(this,this.P+this.K);this.C=this.D;break;case 3:c=Nf(this,this.P+this.J);this.C=this.D;break;case 4:c=S(this,this.K);this.C=this.D;break;case 5:c=S(this,this.J);this.C=this.D;break;case 6:c=S(this,T(this));this.C=this.D;break;case 7:c=S(this,this.H);this.C=this.D;break;case 64:c=S(this,this.H+this.K+this.T());this.C=this.D;break; +case 65:c=S(this,this.H+this.J+this.T());this.C=this.D;break;case 66:c=Nf(this,this.P+this.K+this.T());this.C=this.D;break;case 67:c=Nf(this,this.P+this.J+this.T());this.C=this.D;break;case 68:c=S(this,this.K+this.T());this.C=this.D;break;case 69:c=S(this,this.J+this.T());this.C=this.D;break;case 70:c=Nf(this,this.P+this.T());this.C=this.D;break;case 71:c=S(this,this.H+this.T());this.C=this.D;break;case 128:c=S(this,this.H+this.K+T(this));this.C=this.D;break;case 129:c=S(this,this.H+this.J+T(this)); +this.C=this.D;break;case 130:c=Nf(this,this.P+this.K+T(this));this.C=this.D;break;case 131:c=Nf(this,this.P+this.J+T(this));this.C=this.D;break;case 132:c=S(this,this.K+T(this));this.C=this.D;break;case 133:c=S(this,this.J+T(this));this.C=this.D;break;case 134:c=Nf(this,this.P+T(this));this.C=this.D;break;case 135:c=S(this,this.H+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break; +case 198:c=this.K;break;case 199:c=this.J}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 0:case 3:Qf(this,c);this.A-=this.B.ed;break;case 1:case 2:Qf(this,c);this.A-=this.B.fd;break;case 4:case 5:case 7:Qf(this,c);this.A-=this.B.Jc;break;case 6:Qf(this,c);this.A-=this.B.Kd;break;case 64:case 67:case 128:case 131:Qf(this,c);this.A-=this.B.ec;break;case 65:case 66:case 129:case 130:Qf(this,c);this.A-=this.B.fc;break;case 68:case 69:case 70:case 71:case 132:case 133:case 134:case 135:Qf(this, +c);this.A-=this.B.ib;break;case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c}} +function He(a){var b,c;switch((this.L=this.xa())&199){case 0:c=Q(this,this.G);break;case 1:c=Q(this,this.I);break;case 2:c=Q(this,this.M);break;case 3:c=Q(this,this.H);break;case 4:c=Q(this,Bj.call(this,0));break;case 5:c=Q(this,T(this));break;case 6:c=Q(this,this.K);break;case 7:c=Q(this,this.J);break;case 64:c=Q(this,this.G+this.T());break;case 65:c=Q(this,this.I+this.T());break;case 66:c=Q(this,this.M+this.T());break;case 67:c=Q(this,this.H+this.T());break;case 68:c=Q(this,Bj.call(this,1)+this.T()); +break;case 69:c=Kf(this,this.P+this.T());break;case 70:c=Q(this,this.K+this.T());break;case 71:c=Q(this,this.J+this.T());break;case 128:c=Q(this,this.G+T(this));break;case 129:c=Q(this,this.I+T(this));break;case 130:c=Q(this,this.M+T(this));break;case 131:c=Q(this,this.H+T(this));break;case 132:c=Q(this,Bj.call(this,2)+T(this));break;case 133:c=Kf(this,this.P+T(this));break;case 134:c=Q(this,this.K+T(this));break;case 135:c=Q(this,this.J+T(this));break;case 192:c=this.G&255;break;case 193:c=this.I& +255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c=this.H>>8&255;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&255;break;case 1:b=this.I&255;break;case 2:b=this.M&255;break;case 3:b=this.H&255;break;case 4:b=this.G>>8&255;break;case 5:b=this.I>>8&255;break;case 6:b=this.M>>8&255;break;case 7:b=this.H>>8&255;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= +this.G&-256|a;break;case 1:this.I=this.I&-256|a;break;case 2:this.M=this.M&-256|a;break;case 3:this.H=this.H&-256|a;break;case 4:this.G=this.G&-65281|a<<8;break;case 5:this.I=this.I&-65281|a<<8;break;case 6:this.M=this.M&-65281|a<<8;break;case 7:this.H=this.H&-65281|a<<8}} +function Ke(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=Q(this,this.G);this.C=this.D;break;case 1:b=Q(this,this.I);this.C=this.D;break;case 2:b=Q(this,this.M);this.C=this.D;break;case 3:b=Q(this,this.H);this.C=this.D;break;case 4:b=Q(this,Bj.call(this,0));this.C=this.D;break;case 5:b=Q(this,T(this));this.C=this.D;break;case 6:b=Q(this,this.K);this.C=this.D;break;case 7:b=Q(this,this.J);this.C=this.D;break;case 64:b=Q(this,this.G+this.T());this.C=this.D;break;case 65:b=Q(this,this.I+this.T()); +this.C=this.D;break;case 66:b=Q(this,this.M+this.T());this.C=this.D;break;case 67:b=Q(this,this.H+this.T());this.C=this.D;break;case 68:b=Q(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Kf(this,this.P+this.T());this.C=this.D;break;case 70:b=Q(this,this.K+this.T());this.C=this.D;break;case 71:b=Q(this,this.J+this.T());this.C=this.D;break;case 128:b=Q(this,this.G+T(this));this.C=this.D;break;case 129:b=Q(this,this.I+T(this));this.C=this.D;break;case 130:b=Q(this,this.M+T(this));this.C= +this.D;break;case 131:b=Q(this,this.H+T(this));this.C=this.D;break;case 132:b=Q(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Kf(this,this.P+T(this));this.C=this.D;break;case 134:b=Q(this,this.K+T(this));this.C=this.D;break;case 135:b=Q(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&255;break;case 193:b=this.I&255;break;case 194:b=this.M&255;break;case 195:b=this.H&255;break;case 196:b=this.G>>8&255;break;case 197:b=this.I>>8&255;break;case 198:b=this.M>>8&255;break;case 199:b= +this.H>>8&255;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&255;break;case 1:c=this.I&255;break;case 2:c=this.M&255;break;case 3:c=this.H&255;break;case 4:c=this.G>>8&255;break;case 5:c=this.I>>8&255;break;case 6:c=this.M>>8&255;break;case 7:c=this.H>>8&255;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-256|a;break;case 193:this.I=this.I&-256|a;break;case 194:this.M=this.M&-256|a;break;case 195:this.H=this.H&-256|a;break;case 196:this.G=this.G&-65281|a<<8;break;case 197:this.I= +this.I&-65281|a<<8;break;case 198:this.M=this.M&-65281|a<<8;break;case 199:this.H=this.H&-65281|a<<8;break;default:Of(this,a)}} +function Le(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=Q(this,this.G);this.C=this.D;break;case 1:c=Q(this,this.I);this.C=this.D;break;case 2:c=Q(this,this.M);this.C=this.D;break;case 3:c=Q(this,this.H);this.C=this.D;break;case 4:c=Q(this,Bj.call(this,0));this.C=this.D;break;case 5:c=Q(this,T(this));this.C=this.D;break;case 6:c=Q(this,this.K);this.C=this.D;break;case 7:c=Q(this,this.J);this.C=this.D;break;case 64:c=Q(this,this.G+this.T());this.C=this.D;break;case 65:c=Q(this,this.I+this.T()); +this.C=this.D;break;case 66:c=Q(this,this.M+this.T());this.C=this.D;break;case 67:c=Q(this,this.H+this.T());this.C=this.D;break;case 68:c=Q(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Kf(this,this.P+this.T());this.C=this.D;break;case 70:c=Q(this,this.K+this.T());this.C=this.D;break;case 71:c=Q(this,this.J+this.T());this.C=this.D;break;case 128:c=Q(this,this.G+T(this));this.C=this.D;break;case 129:c=Q(this,this.I+T(this));this.C=this.D;break;case 130:c=Q(this,this.M+T(this));this.C= +this.D;break;case 131:c=Q(this,this.H+T(this));this.C=this.D;break;case 132:c=Q(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Kf(this,this.P+T(this));this.C=this.D;break;case 134:c=Q(this,this.K+T(this));this.C=this.D;break;case 135:c=Q(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&255;break;case 193:c=this.I&255;break;case 194:c=this.M&255;break;case 195:c=this.H&255;break;case 196:c=this.G>>8&255;break;case 197:c=this.I>>8&255;break;case 198:c=this.M>>8&255;break;case 199:c= +this.H>>8&255;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-256|c;break;case 193:this.I=this.I&-256|c;break;case 194:this.M=this.M&-256|c;break;case 195:this.H=this.H&-256|c;break;case 196:this.G=this.G&-65281|c<<8;break;case 197:this.I=this.I&-65281|c<<8;break;case 198:this.M=this.M&-65281|c<<8;break;case 199:this.H=this.H&-65281|c<<8;break;default:Of(this,c)}} +function Me(a){var b,c;switch((this.L=this.xa())&199){case 0:c=R(this,this.G);break;case 1:c=R(this,this.I);break;case 2:c=R(this,this.M);break;case 3:c=R(this,this.H);break;case 4:c=R(this,Bj.call(this,0));break;case 5:c=R(this,T(this));break;case 6:c=R(this,this.K);break;case 7:c=R(this,this.J);break;case 64:c=R(this,this.G+this.T());break;case 65:c=R(this,this.I+this.T());break;case 66:c=R(this,this.M+this.T());break;case 67:c=R(this,this.H+this.T());break;case 68:c=R(this,Bj.call(this,1)+this.T()); +break;case 69:c=Mf(this,this.P+this.T());break;case 70:c=R(this,this.K+this.T());break;case 71:c=R(this,this.J+this.T());break;case 128:c=R(this,this.G+T(this));break;case 129:c=R(this,this.I+T(this));break;case 130:c=R(this,this.M+T(this));break;case 131:c=R(this,this.H+T(this));break;case 132:c=R(this,Bj.call(this,2)+T(this));break;case 133:c=Mf(this,this.P+T(this));break;case 134:c=R(this,this.K+T(this));break;case 135:c=R(this,this.J+T(this));break;case 192:c=this.G&65535;break;case 193:c=this.I& +65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break;case 199:c=this.J&65535;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G&65535;break;case 1:b=this.I&65535;break;case 2:b=this.M&65535;break;case 3:b=this.H&65535;break;case 4:b=I(this)&65535;break;case 5:b=this.P&65535;break;case 6:b=this.K&65535;break;case 7:b=this.J&65535;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G= +this.G&-65536|a;break;case 1:this.I=this.I&-65536|a;break;case 2:this.M=this.M&-65536|a;break;case 3:this.H=this.H&-65536|a;break;case 4:G(this,I(this)&-65536|a);break;case 5:this.P=this.P&-65536|a;break;case 6:this.K=this.K&-65536|a;break;case 7:this.J=this.J&-65536|a}} +function Ne(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=R(this,this.G);this.C=this.D;break;case 1:b=R(this,this.I);this.C=this.D;break;case 2:b=R(this,this.M);this.C=this.D;break;case 3:b=R(this,this.H);this.C=this.D;break;case 4:b=R(this,Bj.call(this,0));this.C=this.D;break;case 5:b=R(this,T(this));this.C=this.D;break;case 6:b=R(this,this.K);this.C=this.D;break;case 7:b=R(this,this.J);this.C=this.D;break;case 64:b=R(this,this.G+this.T());this.C=this.D;break;case 65:b=R(this,this.I+this.T()); +this.C=this.D;break;case 66:b=R(this,this.M+this.T());this.C=this.D;break;case 67:b=R(this,this.H+this.T());this.C=this.D;break;case 68:b=R(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Mf(this,this.P+this.T());this.C=this.D;break;case 70:b=R(this,this.K+this.T());this.C=this.D;break;case 71:b=R(this,this.J+this.T());this.C=this.D;break;case 128:b=R(this,this.G+T(this));this.C=this.D;break;case 129:b=R(this,this.I+T(this));this.C=this.D;break;case 130:b=R(this,this.M+T(this));this.C= +this.D;break;case 131:b=R(this,this.H+T(this));this.C=this.D;break;case 132:b=R(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Mf(this,this.P+T(this));this.C=this.D;break;case 134:b=R(this,this.K+T(this));this.C=this.D;break;case 135:b=R(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G&65535;break;case 193:b=this.I&65535;break;case 194:b=this.M&65535;break;case 195:b=this.H&65535;break;case 196:b=I(this)&65535;break;case 197:b=this.P&65535;break;case 198:b=this.K&65535;break; +case 199:b=this.J&65535;break;default:b=0}switch(this.L>>3&7){case 0:c=this.G&65535;break;case 1:c=this.I&65535;break;case 2:c=this.M&65535;break;case 3:c=this.H&65535;break;case 4:c=I(this)&65535;break;case 5:c=this.P&65535;break;case 6:c=this.K&65535;break;case 7:c=this.J&65535;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=this.G&-65536|a;break;case 193:this.I=this.I&-65536|a;break;case 194:this.M=this.M&-65536|a;break;case 195:this.H=this.H&-65536|a;break;case 196:G(this,I(this)& +-65536|a);break;case 197:this.P=this.P&-65536|a;break;case 198:this.K=this.K&-65536|a;break;case 199:this.J=this.J&-65536|a;break;default:Pf(this,a)}} +function Oe(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=R(this,this.G);this.C=this.D;break;case 1:c=R(this,this.I);this.C=this.D;break;case 2:c=R(this,this.M);this.C=this.D;break;case 3:c=R(this,this.H);this.C=this.D;break;case 4:c=R(this,Bj.call(this,0));this.C=this.D;break;case 5:c=R(this,T(this));this.C=this.D;break;case 6:c=R(this,this.K);this.C=this.D;break;case 7:c=R(this,this.J);this.C=this.D;break;case 64:c=R(this,this.G+this.T());this.C=this.D;break;case 65:c=R(this,this.I+this.T()); +this.C=this.D;break;case 66:c=R(this,this.M+this.T());this.C=this.D;break;case 67:c=R(this,this.H+this.T());this.C=this.D;break;case 68:c=R(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Mf(this,this.P+this.T());this.C=this.D;break;case 70:c=R(this,this.K+this.T());this.C=this.D;break;case 71:c=R(this,this.J+this.T());this.C=this.D;break;case 128:c=R(this,this.G+T(this));this.C=this.D;break;case 129:c=R(this,this.I+T(this));this.C=this.D;break;case 130:c=R(this,this.M+T(this));this.C= +this.D;break;case 131:c=R(this,this.H+T(this));this.C=this.D;break;case 132:c=R(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Mf(this,this.P+T(this));this.C=this.D;break;case 134:c=R(this,this.K+T(this));this.C=this.D;break;case 135:c=R(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G&65535;break;case 193:c=this.I&65535;break;case 194:c=this.M&65535;break;case 195:c=this.H&65535;break;case 196:c=I(this)&65535;break;case 197:c=this.P&65535;break;case 198:c=this.K&65535;break; +case 199:c=this.J&65535;break;default:c=0}c=a[this.L>>3&7].call(this,c,b.call(this));switch(d){case 192:this.G=this.G&-65536|c;break;case 193:this.I=this.I&-65536|c;break;case 194:this.M=this.M&-65536|c;break;case 195:this.H=this.H&-65536|c;break;case 196:G(this,I(this)&-65536|c);break;case 197:this.P=this.P&-65536|c;break;case 198:this.K=this.K&-65536|c;break;case 199:this.J=this.J&-65536|c;break;default:Pf(this,c)}} +function Pe(a){var b,c;switch((this.L=this.xa())&199){case 0:c=S(this,this.G);break;case 1:c=S(this,this.I);break;case 2:c=S(this,this.M);break;case 3:c=S(this,this.H);break;case 4:c=S(this,Bj.call(this,0));break;case 5:c=S(this,T(this));break;case 6:c=S(this,this.K);break;case 7:c=S(this,this.J);break;case 64:c=S(this,this.G+this.T());break;case 65:c=S(this,this.I+this.T());break;case 66:c=S(this,this.M+this.T());break;case 67:c=S(this,this.H+this.T());break;case 68:c=S(this,Bj.call(this,1)+this.T()); +break;case 69:c=Nf(this,this.P+this.T());break;case 70:c=S(this,this.K+this.T());break;case 71:c=S(this,this.J+this.T());break;case 128:c=S(this,this.G+T(this));break;case 129:c=S(this,this.I+T(this));break;case 130:c=S(this,this.M+T(this));break;case 131:c=S(this,this.H+T(this));break;case 132:c=S(this,Bj.call(this,2)+T(this));break;case 133:c=Nf(this,this.P+T(this));break;case 134:c=S(this,this.K+T(this));break;case 135:c=S(this,this.J+T(this));break;case 192:c=this.G;break;case 193:c=this.I;break; +case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}var d=this.L>>3&7;switch(d){case 0:b=this.G;break;case 1:b=this.I;break;case 2:b=this.M;break;case 3:b=this.H;break;case 4:b=I(this);break;case 5:b=this.P;break;case 6:b=this.K;break;case 7:b=this.J;break;default:b=0}a=a.call(this,b,c);switch(d){case 0:this.G=a;break;case 1:this.I=a;break;case 2:this.M=a;break;case 3:this.H=a;break;case 4:G(this, +a);break;case 5:this.P=a;break;case 6:this.K=a;break;case 7:this.J=a}} +function Qe(a){var b,c,d=(this.L=this.xa())&199;switch(d){case 0:b=S(this,this.G);this.C=this.D;break;case 1:b=S(this,this.I);this.C=this.D;break;case 2:b=S(this,this.M);this.C=this.D;break;case 3:b=S(this,this.H);this.C=this.D;break;case 4:b=S(this,Bj.call(this,0));this.C=this.D;break;case 5:b=S(this,T(this));this.C=this.D;break;case 6:b=S(this,this.K);this.C=this.D;break;case 7:b=S(this,this.J);this.C=this.D;break;case 64:b=S(this,this.G+this.T());this.C=this.D;break;case 65:b=S(this,this.I+this.T()); +this.C=this.D;break;case 66:b=S(this,this.M+this.T());this.C=this.D;break;case 67:b=S(this,this.H+this.T());this.C=this.D;break;case 68:b=S(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:b=Nf(this,this.P+this.T());this.C=this.D;break;case 70:b=S(this,this.K+this.T());this.C=this.D;break;case 71:b=S(this,this.J+this.T());this.C=this.D;break;case 128:b=S(this,this.G+T(this));this.C=this.D;break;case 129:b=S(this,this.I+T(this));this.C=this.D;break;case 130:b=S(this,this.M+T(this));this.C= +this.D;break;case 131:b=S(this,this.H+T(this));this.C=this.D;break;case 132:b=S(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:b=Nf(this,this.P+T(this));this.C=this.D;break;case 134:b=S(this,this.K+T(this));this.C=this.D;break;case 135:b=S(this,this.J+T(this));this.C=this.D;break;case 192:b=this.G;break;case 193:b=this.I;break;case 194:b=this.M;break;case 195:b=this.H;break;case 196:b=I(this);break;case 197:b=this.P;break;case 198:b=this.K;break;case 199:b=this.J;break;default:b=0}switch(this.L>> +3&7){case 0:c=this.G;break;case 1:c=this.I;break;case 2:c=this.M;break;case 3:c=this.H;break;case 4:c=I(this);break;case 5:c=this.P;break;case 6:c=this.K;break;case 7:c=this.J;break;default:c=0}a=a.call(this,b,c);switch(d){case 192:this.G=a;break;case 193:this.I=a;break;case 194:this.M=a;break;case 195:this.H=a;break;case 196:G(this,a);break;case 197:this.P=a;break;case 198:this.K=a;break;case 199:this.J=a;break;default:Qf(this,a)}} +function Re(a,b){var c,d=(this.L=this.xa())&199;switch(d){case 0:c=S(this,this.G);this.C=this.D;break;case 1:c=S(this,this.I);this.C=this.D;break;case 2:c=S(this,this.M);this.C=this.D;break;case 3:c=S(this,this.H);this.C=this.D;break;case 4:c=S(this,Bj.call(this,0));this.C=this.D;break;case 5:c=S(this,T(this));this.C=this.D;break;case 6:c=S(this,this.K);this.C=this.D;break;case 7:c=S(this,this.J);this.C=this.D;break;case 64:c=S(this,this.G+this.T());this.C=this.D;break;case 65:c=S(this,this.I+this.T()); +this.C=this.D;break;case 66:c=S(this,this.M+this.T());this.C=this.D;break;case 67:c=S(this,this.H+this.T());this.C=this.D;break;case 68:c=S(this,Bj.call(this,1)+this.T());this.C=this.D;break;case 69:c=Nf(this,this.P+this.T());this.C=this.D;break;case 70:c=S(this,this.K+this.T());this.C=this.D;break;case 71:c=S(this,this.J+this.T());this.C=this.D;break;case 128:c=S(this,this.G+T(this));this.C=this.D;break;case 129:c=S(this,this.I+T(this));this.C=this.D;break;case 130:c=S(this,this.M+T(this));this.C= +this.D;break;case 131:c=S(this,this.H+T(this));this.C=this.D;break;case 132:c=S(this,Bj.call(this,2)+T(this));this.C=this.D;break;case 133:c=Nf(this,this.P+T(this));this.C=this.D;break;case 134:c=S(this,this.K+T(this));this.C=this.D;break;case 135:c=S(this,this.J+T(this));this.C=this.D;break;case 192:c=this.G;break;case 193:c=this.I;break;case 194:c=this.M;break;case 195:c=this.H;break;case 196:c=I(this);break;case 197:c=this.P;break;case 198:c=this.K;break;case 199:c=this.J;break;default:c=0}c=a[this.L>> +3&7].call(this,c,b.call(this));switch(d){case 192:this.G=c;break;case 193:this.I=c;break;case 194:this.M=c;break;case 195:this.H=c;break;case 196:G(this,c);break;case 197:this.P=c;break;case 198:this.K=c;break;case 199:this.J=c;break;default:Qf(this,c)}} +function Bj(a){var b=this.xa(),c=b>>6,d,e;switch(b>>3&7){case 0:d=this.G;break;case 1:d=this.I;break;case 2:d=this.M;break;case 3:d=this.H;break;case 4:d=0;break;case 5:d=this.P;break;case 6:d=this.K;break;case 7:d=this.J}switch(b&7){case 0:e=this.G;break;case 1:e=this.I;break;case 2:e=this.M;break;case 3:e=this.H;break;case 4:e=I(this);this.ka=this.Ka;break;case 5:a?(e=this.P,this.ka=this.Ka):e=T(this);break;case 6:e=this.K;break;case 7:e=this.J}return(d<>8&255;9<(c&15)||rf(this)?(c+=6,80286<=this.ia&&255>8&255;9<(c&15)||rf(this)?(c=c-6&15,d=d-1&255,a=b=1):a=b=0;this.G=this.G&-65536|d<<8|c;a?wf(this):xf(this);b?Ef(this):Cf(this);this.A-=this.B.He},function(){this.G=oj.call(this,this.G)},function(){this.I=oj.call(this,this.I)},function(){this.M=oj.call(this,this.M)},function(){this.H=oj.call(this,this.H)},function(){G(this,oj.call(this,I(this)))},function(){this.P= +oj.call(this,this.P)},function(){this.K=oj.call(this,this.K)},function(){this.J=oj.call(this,this.J)},function(){this.G=mj.call(this,this.G)},function(){this.I=mj.call(this,this.I)},function(){this.M=mj.call(this,this.M)},function(){this.H=mj.call(this,this.H)},function(){G(this,mj.call(this,I(this)))},function(){this.P=mj.call(this,this.P)},function(){this.K=mj.call(this,this.K)},function(){this.J=mj.call(this,this.J)},function(){J(this,this.G&this.R);this.A-=this.B.Sc},function(){J(this,this.I& +this.R);this.A-=this.B.Sc},function(){J(this,this.M&this.R);this.A-=this.B.Sc},function(){J(this,this.H&this.R);this.A-=this.B.Sc},function(){J(this,I(this)-2&65535);this.A-=this.B.Sc},function(){J(this,this.P&this.R);this.A-=this.B.Sc},function(){J(this,this.K&this.R);this.A-=this.B.Sc},function(){J(this,this.J&this.R);this.A-=this.B.Sc},function(){this.G=this.G&~this.R|D(this);this.A-=this.B.zc},function(){this.I=this.I&~this.R|D(this);this.A-=this.B.zc},function(){this.M=this.M&~this.R|D(this); +this.A-=this.B.zc},function(){this.H=this.H&~this.R|D(this);this.A-=this.B.zc},function(){G(this,I(this)&~this.R|D(this));this.A-=this.B.zc},function(){this.P=this.P&~this.R|D(this);this.A-=this.B.zc},function(){this.K=this.K&~this.R|D(this);this.A-=this.B.zc},function(){this.J=this.J&~this.R|D(this);this.A-=this.B.zc},Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,function(){this.ya.call(this,hk,this.Ma);this.A-=-1===this.C?1:this.B.Dg},Sj,function(){this.ya.call(this, +hk,this.T);this.A-=-1===this.C?1:this.B.Dg},function(){this.$a.call(this,dj)},function(){this.fa.call(this,ej)},function(){this.Oa.call(this,hj)},function(){this.W.call(this,ij)},Uj,Vj,Wj,Xj,function(){this.S|=1;this.fa.call(this,di)},function(){this.S|=1;this.ka=this.Ka=this.qf;this.W.call(this,Uh)},function(){var a;this.W.call(this,ci);switch(this.L>>3&7){case 0:a=this.G;this.G=this.aa;wd(this,a);break;case 1:a=this.I;this.I=this.aa;kf(this,a);break;case 2:a=this.M;this.M=this.aa;kd(this,a);break; +case 3:a=this.H;this.H=this.aa;vd(this,a);break;case 4:a=I(this);G(this,this.aa);80386<=this.ia?this.Ob.load(a):wd(this,a);break;case 5:a=this.P;this.P=this.aa;80386<=this.ia?this.Pb.load(a):kf(this,a);break;case 6:a=this.K;this.K=this.aa;kd(this,a);break;case 7:a=this.J,this.J=this.aa,vd(this,a)}},function(){this.S|=1;this.U=this.ga;this.aa=D(this);this.ya.call(this,ik,vj);this.U=-1},function(){this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.I&this.R;this.I=this.I&~this.R|a&this.R; +this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.M&this.R;this.M=this.M&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.H&this.R;this.H=this.H&~this.R|a&this.R;this.A-=3},function(){var a=this.G,b=I(this);this.G=this.G&~this.R|b&this.R;G(this,b&~this.R|a&this.R);this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.P&this.R;this.P=this.P&~this.R|a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.K&this.R;this.K=this.K&~this.R| +a&this.R;this.A-=3},function(){var a=this.G;this.G=this.G&~this.R|this.J&this.R;this.J=this.J&~this.R|a&this.R;this.A-=3},function(){this.G=2==this.ba?this.G&-65536|this.G<<24>>24&65535:this.G<<16>>16;this.A-=2},function(){this.M=2==this.ba?this.M&-65536|(this.G&32768?65535:0):this.G&-2147483648?-1:0;this.A-=this.B.dj},function(){wj.call(this,this.Ma(),Rf(this));this.A-=this.B.gj},function(){this.A-=3},function(){var a=xd(this);a&131072&&3>this.Pa?C.call(this,13,0):(J(this,a&-196609),this.A-=this.B.Sc)}, +function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=D(this),a=a&65535|this.ca&-65536;yd(this,a);this.A-=this.B.zc}},function(){var a=this.G>>8&255;a&1?wf(this):xf(this);a&4?(this.resultType&=-3,this.ca|=4):(this.resultType&=-3,this.ca&=-5);a&16?Ef(this):Cf(this);a&64?Ff(this):Df(this);a&128?(this.resultType&=-17,this.ca|=128):(this.resultType&=-17,this.ca&=-129);this.A-=this.B.gc},function(){this.G=this.G&-65281|(xd(this)&213)<<8;this.A-=this.B.gc},function(){var a=this.G&-256,b; +b=T(this);b=this.Qa(this.ka.nc(b,1));this.G=a|b;this.A-=this.B.Jh},function(){this.G=this.G&~this.R|od(this,this.ka,T(this));this.A-=this.B.Jh},function(){var a=T(this),b=this.G;this.qc(this.ka.oc(a,1),b);this.A-=this.B.Kh},function(){var a=T(this),b=this.G;this.rc(this.ka.oc(a,this.ba),b);this.A-=this.B.Kh},function(){var a=1,b=0,c=this.Ba,d=this.B.Lh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Nh,this.Ha&256||(this.A-=this.B.Mh));if(a--){var e=this.Qa(this.ka.nc(this.K&c,1));this.qc(this.Xa.oc(this.J& +c,1),e);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Lh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Nh,this.Ha&256||(this.A-=this.B.Mh));if(a--){var e=od(this,this.ka,this.K&c);this.rc(this.Xa.oc(this.J&c,this.ba),e);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.A-=d;this.I=this.I&~c|this.I-b&c;a&&(nf(this),this.S|=256)}}, +function(){var a=1,b=0,c=this.Ba,d=this.B.wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.yh,this.Ha&256||(this.A-=this.B.xh));if(a--){var e=Jf(this,this.ka,this.K),f=Jf(this,this.Xa,this.J);this.C=this.D;Hh.call(this,e,f);e=this.ca&1024?-1:1;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.yh,this.Ha&256||(this.A-=this.B.xh)); +if(a--){var e=Lf(this,this.ka,this.K&c),f=Lf(this,this.Xa,this.J&c);this.C=this.D;Ih.call(this,e,f);e=this.ca&1024?-this.ba:this.ba;this.K=this.K&~c|this.K+e&c;this.J=this.J&~c|this.J+e&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){vf(this,this.G&this.xa(),128);this.A-=this.B.He},function(){vf(this,this.G&this.Ma(),this.Ia);this.A-=this.B.He},function(){var a=1,b=0,c=this.Ba,d=this.B.Wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Yh,this.Ha& +256||(this.A-=this.B.Xh));if(a--){var e=this.G;this.qc(this.Xa.oc(this.J&c,1),e);this.I=this.I&~c|this.I-b&c;80546<=this.Uc&&80564>=this.Uc&&!(this.Ha&2048)!=(103!=this.Qa(this.Ga))&&(c^=-65536);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Wh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Yh,this.Ha&256||(this.A-=this.B.Xh));if(a--){var e=this.G;this.rc(this.Xa.oc(this.J&c,this.ba),e);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba: +this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Dh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Fh,this.Ha&256||(this.A-=this.B.Eh));if(a--){var e=this.Qa(this.ka.nc(this.K&c,1));this.G=this.G&-256|e;this.K=this.K&~c|this.K+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Dh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Fh,this.Ha&256||(this.A-=this.B.Eh));if(a--){var e= +od(this,this.ka,this.K&c);this.G=this.G&~this.R|e;this.K=this.K&~c|this.K+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d;a&&(nf(this),this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Qh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Sh,this.Ha&256||(this.A-=this.B.Rh));if(a--){var e=this.G&255,f=Jf(this,this.Xa,this.J);this.C=this.D;Hh.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-1:1)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this), +this.S|=256)}},function(){var a=1,b=0,c=this.Ba,d=this.B.Qh;this.Ha&192&&(a=this.I&c,b=1,d=this.B.Sh,this.Ha&256||(this.A-=this.B.Rh));if(a--){var e=this.G&this.R,f=Lf(this,this.Xa,this.J&c);this.C=this.D;Ih.call(this,e,f);this.J=this.J&~c|this.J+(this.ca&1024?-this.ba:this.ba)&c;this.I=this.I&~c|this.I-b&c;this.A-=d-this.B.Vb;a&&sf(this)==(this.Ha&64)&&(nf(this),this.S|=256)}},function(){this.G=this.G&-256|this.xa();this.A-=this.B.gc},function(){this.I=this.I&-256|this.xa();this.A-=this.B.gc},function(){this.M= +this.M&-256|this.xa();this.A-=this.B.gc},function(){this.H=this.H&-256|this.xa();this.A-=this.B.gc},function(){this.G=this.G&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.I=this.I&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.M=this.M&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.H=this.H&-65281|this.xa()<<8;this.A-=this.B.gc},function(){this.G=this.G&~this.R|this.Ma();this.A-=this.B.gc},function(){this.I=this.I&~this.R|this.Ma();this.A-=this.B.gc},function(){this.M=this.M& +~this.R|this.Ma();this.A-=this.B.gc},function(){this.H=this.H&~this.R|this.Ma();this.A-=this.B.gc},function(){G(this,I(this)&~this.R|this.Ma());this.A-=this.B.gc},function(){this.P=this.P&~this.R|this.Ma();this.A-=this.B.gc},function(){this.K=this.K&~this.R|this.Ma();this.A-=this.B.gc},function(){this.J=this.J&~this.R|this.Ma();this.A-=this.B.gc},bk,ck,bk,ck,function(){this.W.call(this,Vh)},function(){this.W.call(this,Th)},function(){this.S|=1;this.Jb.call(this,jk,this.xa)},function(){this.S|=1;this.ya.call(this, +jk,this.Ma)},dk,ek,dk,ek,function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var a=this.B.xj;this.rb=-1;xj.call(this,3,null,a)}},function(){var a=this.xa();if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{var b;a:{b=this.Id[a];if(void 0!==b)for(var c=0;cthis.Pa)C.call(this,13,0);else{var a=this.B.yj; +this.rb=-1;xj.call(this,4,null,a)}else this.A-=this.B.zj},function(){if(this.ca&131072&&3>this.Pa)C.call(this,13,0);else{this.sb=this.ta.Z;this.U=this.ga;this.A-=this.B.vj;if(this.Za&1&&this.ca&16384){var a=this.na(this.Sa.Aa+0);ld(this.va,a,!1)}else{var a=this.pa,b=D(this),c=D(this),d=D(this);if(this.ca&131072)d=d&131071|this.ca&-131072;else if(d&131072){var e=D(this),f=D(this),g=D(this),h=D(this),k=D(this),l=D(this);md(this,!0,!0);kd(this,f);G(this,e);wd(this,g);vd(this,h);this.Ob.load(k);this.Pb.load(l)}null!= +zd(this,b,c,!1)&&(yd(this,d,a),this.ne&&ef(this,this.Ga))}this.sb=this.U=-1}},function(){this.Jb.call(this,Yj,rj)},function(){this.ya.call(this,2==this.ba?Zj:ak,rj)},function(){this.Jb.call(this,Yj,sj)},function(){this.ya.call(this,2==this.ba?Zj:ak,sj)},function(){var a=this.xa();if(a){var b=this.G&255;this.G=this.G&-65536|b/a<<8|b%a;vf(this,this.G,128);this.A-=this.B.aj}else Aj.call(this)},function(){var a=this.G&255,b=(this.G>>8&255)*this.xa()|0,c=a+b|0;this.G=this.G&-65536|c&255;of(this,a,b,c, +191);this.A-=this.B.$i},function(){this.G=this.G&-256|(pf(this)?255:0);this.A-=2},function(){this.G=this.G&-256|Jf(this,this.ka,this.H+(this.G&255));this.A-=this.B.Zj},function(){fk.call(this,216)},function(){fk.call(this,217)},function(){fk.call(this,218)},function(){fk.call(this,219)},function(){fk.call(this,220)},function(){fk.call(this,221)},function(){fk.call(this,222)},function(){fk.call(this,223)},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&!sf(this)?(O(this,K(this)+ +a),this.A-=this.B.Gj):this.A-=this.B.Gh},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b&&sf(this)?(O(this,K(this)+a),this.A-=this.B.Hh):this.A-=this.B.Ih},function(){var a=this.T(),b=this.I-1&this.Ba;this.I=this.I&~this.Ba|b;b?(O(this,K(this)+a),this.A-=this.B.Fj):this.A-=this.B.Gh},function(){var a=this.T();this.I&this.Ba?this.A-=this.B.Ih:(O(this,K(this)+a),this.A-=this.B.Hh)},function(){var a=this.xa();Hf(this,a,1,!0)&&(this.G=this.G&-256|ic(this.ea,a,1,this.Ga-2)&255, +this.A-=this.B.Bh)},function(){var a=this.xa();Hf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|ic(this.ea,a,this.ba,this.Ga-2)&this.R,this.A-=this.B.Bh)},function(){var a=this.xa();Hf(this,a,1,!1)&&(mc(this.ea,a,1,this.G&255,this.Ga-2),this.A-=this.B.Ph)},function(){var a=this.xa();Hf(this,a,this.ba,!1)&&(mc(this.ea,a,this.ba,this.G&this.R,this.Ga-2),this.A-=this.B.Ph)},function(){var a=this.Ma(),b=K(this),a=b+a;J(this,b);O(this,a);this.A-=this.B.ej},function(){var a=this.Ma();O(this,K(this)+a);this.A-= +this.B.Ch},function(){zd(this,this.Ma(),Rf(this));this.A-=this.B.Bj},function(){var a=this.T();O(this,K(this)+a);this.A-=this.B.Ch},function(){var a=this.M&65535;Hf(this,a,1,!0)&&(this.G=this.G&-256|ic(this.ea,a,1,this.Ga-1)&255,this.A-=this.B.Ah)},function(){var a=this.M&65535;Hf(this,a,this.ba,!0)&&(this.G=this.G&~this.R|ic(this.ea,a,this.ba,this.Ga-1)&this.R,this.A-=this.B.Ah)},function(){var a=this.M&65535;Hf(this,a,1,!1)&&(mc(this.ea,a,1,this.G&255,this.Ga-1),this.A-=this.B.Oh)},function(){var a= +this.M&65535;Hf(this,a,2,!1)&&(mc(this.ea,a,this.ba,this.G&this.R,this.Ga-1),this.A-=this.B.Oh)},gk,gk,function(){this.S|=132;this.A-=this.B.od},function(){this.S|=68;this.A-=this.B.od},function(){this.ca&131072?C.call(this,13,0):(this.ua|=4,this.A-=2,this.ha&&A(this,-2147483648)?(nf(this),this.ha.Wb()):this.ca&512||(this.ha&&nf(this),this.Wb()))},function(){pf(this)?xf(this):wf(this);this.A-=2},function(){this.cb=!1;this.Jb.call(this,lk,uj);this.cb&&(this.G=this.G&~this.R|this.ja&this.R)},function(){this.cb= +!1;this.ya.call(this,mk,uj);this.cb&&(this.G=this.G&~this.R|this.ja&this.R,this.M=this.M&~this.R|this.wa&this.R)},function(){xf(this);this.A-=2},function(){wf(this);this.A-=2},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca&=-513,this.A-=this.B.cj)},function(){this.pa>this.Pa?C.call(this,13,0):(this.ca|=512,this.S|=4,this.A-=2)},function(){this.ca&=-1025;this.A-=2},function(){this.ca|=1024;this.A-=2},function(){this.Jb.call(this,Dd,uj)},function(){this.ya.call(this,Ed,uj)}],Tj=[rh,ei,ph,gi, +th,bj,jj,Hh],hk=[sh,fi,qh,hi,uh,cj,kj,Ih],ik=[function(a,b){this.A-=-1===this.C?this.B.zc:this.B.Rj;return b},Kh,Kh,Kh,Kh,Kh,Kh,Kh],jk=[function(a,b){this.A-=-1===this.C?this.B.Jj:this.B.Hj;return b},Lh,Lh,Lh,Lh,Lh,Lh,Lh],Yj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<>8-d)&255):e=a<<7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=7)?(e=a<<8-d,c=(a>>>d|e)&255):e=a;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e= +Bf(this);(d%=9)?(c=(a<>9-d)&255,e=a<>d|e<<8-d|a<<9-d)&255,e=a<<8-d):e<<=7;Af(this,c,e,128)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;8>>c-1,a=c>>>1&255,vf(this,a,128,c&1,a&128));return a},Lh,function(a,b){var c=b&this.ra;c&&(9>24>>c-1, +a=c>>1&255,vf(this,a,128,c&1));return a}],Zj=[function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<>16-d)&65535):e=a<<15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e;(d&=15)?(e=a<<16-d,c=(a>>>d|e)&65535):e=a;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=Bf(this);(d%=17)?(c=(a<>17-d)&65535,e=a<>d|e<< +16-d|a<<17-d)&65535,e=a<<16-d):e<<=15;Af(this,c,e,32768)}return c},function(a,b){var c=a,d=b&this.ra;if(d){var e=0;16>>c-1,a=c>>>1&65535,vf(this,a,32768,c&1,a&32768));return a},Lh,function(a,b){var c=b&this.ra;c&&(17>16>>c-1,a=c>>1&65535,vf(this,a,32768,c&1));return a}],ak=[function(a,b){var c=a,d=b&this.ra;d&&(c=a<>>32-d,Af(this,c,a<>>d|e;Af(this,c,e,-2147483648)}return c},function(a,b){var c=a,d=b&this.ra;d&&(c=Bf(this),c=a<>>32-d>>>1,Af(this,c,a<>>d|c<<32-d|a<<32-d<<1,Af(this,c,a<<32-d,-2147483648));return c},function(a,b){var c=a,d=b&this.ra;d&&(d=a<>> +c-1,a=c>>>1,vf(this,a,-2147483648,c&1,a&-2147483648));return a},Lh,function(a,b){var c=b&this.ra;c&&(c=a>>c-1,a=c>>1,vf(this,a,-2147483648,c&1));return a}],lk=[function(a,b){b=this.xa();vf(this,a&b,128);this.A-=-1===this.D?this.B.$h:this.B.Zh;this.S|=2;return a},Lh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^255},function(a){var b=-a|0;of(this,0,a,b,191,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&255},function(a){this.ja=(this.G&255)*a&65535;this.ja&65280?(wf(this),yf(this)): +(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.Nj:this.B.Mj;this.S|=2;return a},function(a){var b=(this.G<<24>>24)*(a<<24>>24)|0;this.ja=b&65535;127b?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.sj:this.B.rj;this.S|=2;return a},function(a,b){if(!a)return Aj.call(this),a;var c=(b=this.G&65535)/a;if(255>24,d=(b=this.G<<16>>16)/c|0;if(d!=d<<24>>24||8086==this.ia&&-128==d)return Aj.call(this),a;this.ja=d&255|(b%c&255)<<8;this.cb=!0;this.A-=-1===this.D?this.B.oj:this.B.nj;this.S|=2;return a}],mk=[function(a,b){b=this.Ma();vf(this,a&b,this.Ia);this.A-=-1===this.D?this.B.$h:this.B.Zh;this.S|=2;return a},Lh,function(a){this.A-=-1===this.D?this.B.Sf:this.B.Rf;return a^this.R},function(a){var b=-a|0;of(this,0,a,b,this.Ia|63,!0);this.A-=-1===this.D?this.B.Sf:this.B.Rf;return b&this.R},function(a, +b){if(2==this.ba){b=this.G&65535;var c=b*a|0;this.ja=c&65535;this.wa=c>>16&65535}else Rh.call(this,a,this.G),80563==this.Uc&&68657152==this.G&&129==a&&(this.wa=0);this.wa?(wf(this),yf(this)):(xf(this),zf(this));this.cb=!0;this.A-=-1===this.D?this.B.Pj:this.B.Oj;this.S|=2;return a},function(a,b){var c;2==this.ba?(b=this.G&65535,c=(b<<16>>16)*(a<<16>>16)|0,this.ja=c&65535,this.wa=c>>16&65535,c=32767c):(Qh.call(this,a,this.G),c=this.wa!=this.ja>>31);c?(wf(this),yf(this)):(xf(this),zf(this)); +this.cb=!0;this.A-=-1===this.D?this.B.uj:this.B.tj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Aj.call(this),a;b=65536*(this.M&65535)+(this.G&65535);var c=b/a;if(65536<=c)return Aj.call(this),a;this.ja=c&65535;this.wa=b%a&65535}else{if(!nj.call(this,this.G,this.M,a))return Aj.call(this),a;this.ja|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.mj:this.B.lj;this.S|=2;return a},function(a,b){if(2==this.ba){if(!a)return Aj.call(this),a;var c=a<<16>>16,d=(b=this.M<<16|this.G&65535)/ +c|0;if(d!=d<<16>>16||8086==this.ia&&-32768==d)return Aj.call(this),a;this.ja=d&65535;this.wa=b%c&65535}else{var c=this.G,d=this.M,e=a,f=0,g=0;0>e&&(e=-e|0,f=1-f);0>d&&(c=-c|0,d=~d+(c?0:1)|0,g=1,f=1-f);!nj.call(this,c,d,e)||this.ja>2147483647+f||this.wa>2147483647+g?c=!1:(f&&(this.ja=-this.ja),g&&(this.wa=-this.wa),c=!0);if(!c)return Aj.call(this),a;this.ja|=0;this.wa|=0}this.cb=!0;this.A-=-1===this.D?this.B.qj:this.B.pj;this.S|=2;return a}],Dd=[function(a){var b=a+1|0;of(this,a,1,b,190);this.A-=-1=== +this.D?this.B.Qf:this.B.Pf;return b&255},function(a){var b=a-1|0;of(this,a,1,b,190,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&255},Lh,Lh,Lh,Lh,Lh,Lh],Ed=[function(a){var b=a+1|0;of(this,a,1,b,this.Ia|62);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){var b=a-1|0;of(this,a,1,b,this.Ia|62,!0);this.A-=-1===this.D?this.B.Qf:this.B.Pf;return b&this.R},function(a){J(this,K(this));O(this,a);this.A-=-1===this.D?this.B.ij:this.B.hj;this.S|=2;return a},function(a){if(-1===this.D)return Lh.call(this, +a);this.U=this.ga;wj.call(this,a,this.na(this.D+this.ba));this.A-=this.B.fj;this.S|=2;this.U=-1;return a},function(a){O(this,a);this.A-=-1===this.D?this.B.Dj:this.B.Cj;this.S|=2;return a},function(a){if(-1===this.D)return Lh.call(this,a);zd(this,a,this.na(this.D+this.ba));this.A-=this.B.Aj;this.S|=2;return a},function(a){var b=a;this.S&512&&(a=a-2&65535,80286>this.ia&&(b=a));J(this,b);this.A-=-1===this.D?this.B.Sc:this.B.Tj;this.S|=2;return a},Lh]; +function oe(){this.W.call(this,gj);this.A-=-1===this.D?6:13}function pe(){this.fa.call(this,fj);this.A-=-1===this.D?12:19}var ge=Array(256);ge[0]=function(){16>(this.Qa(this.Ga)&56)&&(this.S|=1);this.ya.call(this,this.hg,uj)};ge[1]=function(){this.Qa(this.Ga)&16||(this.S|=1);this.ya.call(this,nk,uj)};ge[2]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,Sh)};ge[3]=function(){!(this.Za&1)||this.ca&131072?C.call(this,6):this.W.call(this,Yh)}; +ge[5]=function(){this.pa?C.call(this,13,0,0,!0):(Gf(this,this.na(2054)),this.J=this.na(2086),this.K=this.na(2088),this.P=this.na(2090),this.H=this.na(2094),this.M=this.na(2096),this.I=this.na(2098),this.G=this.na(2100),jd(this.Xa,2102,this.na(2084)),jd(this.va,2108,this.na(2082)),jd(this.ta,2114,this.na(2080)),jd(this.vb,2120,this.na(2078)),yd(this,this.na(2072)),O(this,this.na(2074)),G(this,this.na(2092)),this.Ec=this.na(2126)|this.Qa(2128)<<16,this.Ad=this.Ec+this.na(2130),this.Mc=this.na(2138)| +this.Qa(2140)<<16,this.Td=this.Mc+this.na(2142),jd(this.Bc,2132,this.na(2076)),jd(this.Sa,2144,this.na(2070)),this.A-=195)};ge[6]=function(){this.pa?C.call(this,13,0):(this.Za&=-9,this.A-=2)};ge[11]=Gd;ge[166]=Gd;ge[255]=Gd;var M=[];M[5]=Gd; +M[7]=function(){if(this.pa)C.call(this,13,0,0,!0);else{var a=this.Xa.nc(this.J&this.Ba,204);if(-1!==a){pj.call(this,this.oa(a));var b=this.oa(a+168),c=(b&24576)>>13;yd(this,this.oa(a+4),c);this.Ec=this.oa(a+112);this.Ad=this.Ec+this.oa(a+116);this.Mc=this.oa(a+100);this.Td=this.Mc+this.oa(a+104);id(this.Bc,this.oa(a+56),this.oa(a+120),this.oa(a+124),this.oa(a+128));id(this.Sa,this.oa(a+52),this.oa(a+84),this.oa(a+88),this.oa(a+92));this.J=this.oa(a+12);this.K=this.oa(a+16);this.P=this.oa(a+20);this.H= +this.oa(a+28);this.M=this.oa(a+32);this.I=this.oa(a+36);this.G=this.oa(a+40);id(this.Pb,this.oa(a+60),this.oa(a+132),this.oa(a+136),this.oa(a+140));id(this.Ob,this.oa(a+64),this.oa(a+144),this.oa(a+148),this.oa(a+152));id(this.vb,this.oa(a+68),this.oa(a+156),this.oa(a+160),this.oa(a+164));id(this.ta,this.oa(a+72),b,this.oa(a+172),this.oa(a+176));id(this.va,this.oa(a+76),this.oa(a+180),this.oa(a+184),this.oa(a+188));id(this.Xa,this.oa(a+80),this.oa(a+192),this.oa(a+196),this.oa(a+200));O(this,this.oa(a+ +8));G(this,this.oa(a+24))}this.A-=122<<(a&3?1:0)}};M[16]=Uj;M[17]=Vj;M[18]=Wj;M[19]=Xj;M[32]=function(){if(this.pa)C.call(this,13,0);else{var a,b=this.xa();switch((b&56)>>3){case 0:a=this.Za;break;case 2:a=this.te;break;case 3:a=this.Pd;break;default:he.call(this);return}we(this,b&7,a);this.A-=6}};M[33]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?he.call(this):(we(this,a&7,this.Ja[b]),this.A-=22)}}; +M[34]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=ve(this,a&7);switch((a&56)>>3){case 0:pj.call(this,b);this.A-=10;break;case 2:this.te=b;this.A-=4;break;case 3:Ad.call(this,b);this.A-=5;break;default:he.call(this)}}};M[35]=function(){if(this.pa)C.call(this,13,0);else{var a=this.xa(),b=(a&56)>>3;4==b||5==b?he.call(this):(a=ve(this,a&7),a!=this.Ja[b]&&(ff(this,!1),this.Ja[b]=a,ff(this,!0)),this.A-=4>b?22:14)}}; +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[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[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[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[180]=function(){this.W.call(this,Wh)};M[181]=function(){this.W.call(this,Xh)}; +M[182]=function(){this.Oa.call(this,ai);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|this.G&255;break;case 1:this.I=this.I&~this.R|this.I&255;break;case 2:this.M=this.M&~this.R|this.M&255;break;case 3:this.H=this.H&~this.R|this.H&255;break;case 4:this.gb=this.gb&~this.R|this.G>>8&255;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I>>8&255;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M>>8&255;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H>>8&255,this.H=this.aa}this.A-= +-1===this.D?3:6};M[183]=function(){nd(this,2);this.W.call(this,bi);switch(this.L>>3&7){case 0:this.G=this.G&65535;break;case 1:this.I=this.I&65535;break;case 2:this.M=this.M&65535;break;case 3:this.H=this.H&65535;break;case 4:this.gb=this.gb&65535;break;case 5:this.P=this.P&65535;break;case 6:this.K=this.K&65535;break;case 7:this.J=this.J&65535}this.A-=-1===this.D?3:6};M[186]=function(){this.ya.call(this,ok,this.xa)};M[187]=function(){this.fa.call(this,Eh);-1!==this.D&&(this.A-=5)}; +M[188]=function(){this.W.call(this,xh)};M[189]=function(){this.W.call(this,yh)}; +M[190]=function(){this.Oa.call(this,ai);switch(this.L>>3&7){case 0:this.G=this.G&~this.R|(this.G&255)<<24>>24&this.R;break;case 1:this.I=this.I&~this.R|(this.I&255)<<24>>24&this.R;break;case 2:this.M=this.M&~this.R|(this.M&255)<<24>>24&this.R;break;case 3:this.H=this.H&~this.R|(this.H&255)<<24>>24&this.R;break;case 4:this.gb=this.gb&~this.R|this.G<<16>>24&this.R;this.G=this.aa;break;case 5:this.P=this.P&~this.R|this.I<<16>>24&this.R;this.I=this.aa;break;case 6:this.K=this.K&~this.R|this.M<<16>>24& +this.R;this.M=this.aa;break;case 7:this.J=this.J&~this.R|this.H<<16>>24&this.R,this.H=this.aa}this.A-=-1===this.D?3:6};M[191]=function(){nd(this,2);this.W.call(this,bi);switch(this.L>>3&7){case 0:this.G=this.G<<16>>16;break;case 1:this.I=this.I<<16>>16;break;case 2:this.M=this.M<<16>>16;break;case 3:this.H=this.H<<16>>16;break;case 4:this.gb=this.gb<<16>>16;break;case 5:this.P=this.P<<16>>16;break;case 6:this.K=this.K<<16>>16;break;case 7:this.J=this.J<<16>>16}this.A-=-1===this.D?3:6}; +var gf=[function(){this.A-=2+(-1===this.D?0:1);return this.Bc.Z},function(){this.A-=2+(-1===this.D?0:1);return this.Sa.Z},function(a){this.S|=2;this.Bc.load(a);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;-1!==this.Sa.load(a)&&(this.jb(this.Sa.Xb+4,this.Sa.wb|=512),this.Sa.type|=512);this.A-=17+(-1===this.D?0:2);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&2048!=(this.Ea.wb&2560)&&(this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3)||7168==(this.Ea.wb&7168)))return Ff(this), +a;Df(this);return a},function(a){this.S|=2;this.A-=14+(-1===this.D?0:2);if(-1!==this.Ea.load(a)&&512==(this.Ea.wb&2560)&&this.Ea.Gc>=this.pa&&this.Ea.Gc>=(a&3))return Ff(this),a;Df(this);return a},Lh,Lh],Fd=[$d,$d,$d,$d,$d,$d,Lh,Lh],nk=[function(a){if(-1===this.D)C.call(this,6);else{a=this.Ad-this.Ec;var b=this.Ec;80286==this.ia?b|=-16777216:80386<=this.ia&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=11}return a},function(a){if(-1===this.D)C.call(this,6);else{a=this.Td-this.Mc;var b=this.Mc; +80286==this.ia?b|=-16777216:80386<=this.ia&&2!=this.ba&&(a|=b<<16);this.nb(this.D+2,b);this.A-=12}return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Ec=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Ad=this.Ec+a,this.S|=2,this.A-=11);return a},function(a){-1===this.D||this.ca&131072?C.call(this,6):(this.Mc=this.oa(this.D+2)&(this.R|this.R<<8),a&=65535,this.Td=this.Mc+a,this.S|=2,this.A-=12);return a},function(){this.A-=2+(-1===this.D?0:1);return this.Za},Lh,function(a){this.ca& +131072?C.call(this,6):(Gf(this,a),this.A-=-1===this.D?3:6,this.S|=2);return a},Lh],ok=[Lh,Lh,Lh,Lh,zh,Ch,Bh,Ah]; +function pk(a){Ua.call(this,"ChipSet",a,pk,32768);var b=a.model;b&&!qk[b]&&w("Unrecognized ChipSet model: "+b);this.ia=b&&qk[b]||rk;this.C=[];b=sk(a[tk]);this.C[0]=[b,b];null==b&&(this.ja=[360,360],(b=a.floppies)&&b.length&&(this.ja=b),uk(this,vk,this.ja.length),uk(this,wk,a.monitor||(this.ia=cg&&(this.cb=this.Ea=2);this.ka=a.scaleTimers||!1;this.Ub=a.rtcDate;this.Db=!1;a.sound&&(this.sb=this.Fa=null,window&&(this.sb=window.AudioContext|| +window.webkitAudioContext),this.sb&&(this.Fa=new this.sb));this.reset(!0);rb(this)}db(pk);var rk=5150.9,cg=5170,qk={5150:5150,5160:5160,5170:cg,att6300:5160.101,mpc1600:5150.101,z150:5160.15,compaq:5150.102,other:rk,deskpro386:5180},tk="sw1",xk="sw2",yk={Bk:1,ONE:0,co:64,ao:128,Fn:192,Lc:192,Qg:6},zk={bo:16,yn:32,Nn:48,Lc:48,Qg:4},vk=1,wk=4,Ak={5150:[{},{}]};Ak[5150][0][vk]={Lc:192,hd:{1:0,2:64,3:128,4:192},Qd:"Number of Floppy Drives"};Ak[5150][0][3]={Lc:2,hd:{0:0,1:2},Qd:"Coprocessor"}; +Ak[5150][0][wk]={Lc:48,hd:{0:0,1:16,2:32,3:48,none:0,tv:16,color:32,cga:32,mda:48,mono:48,ega:0,vga:0},Qd:"Monitor Type"};Ak[5150][0][5]={Lc:12,hd:{16:0,32:4,48:8,64:12},Qd:"Base Memory (16Kb Increments)"};Ak[5150][1][6]={Lc:31,hd:{0:0,32:1,64:2,96:3,128:4,160:5,192:6,224:7,256:8,288:9,320:10,352:11,384:12,416:13,448:14,480:15,512:16,544:17,576:18},Qd:"Expansion Memory (32Kb Increments)"};Ak[5160]=[{},{}];Ak[5160][0][vk]=Ak[5150][0][vk];Ak[5160][0][3]=Ak[5150][0][3];Ak[5160][0][wk]=Ak[5150][0][wk]; +Ak[5160][0][5]={Lc:12,hd:{64:0,128:4,192:8,256:12},Qd:"Base Memory (64Kb Increments)"};Ak[5160][1][6]=Ak[5150][1][6];Ak[5160.101]=[{},{}];Ak[5160.101][0][5]={Lc:143,hd:{128:1,256:130,512:8,640:141},Qd:"Base Memory (128Kb Increments)"};Ak[5160.101][0][3]={Lc:16,hd:{0:0,1:16},Qd:"Coprocessor"};Ak[5160.101][1][2]={Lc:1,hd:{0:0,1:1},Qd:"Floppy Type"};Ak[5160.101][1][vk]=Ak[5150][0][vk];Ak[5160.101][1][wk]=Ak[5150][0][wk];m=pk.prototype; +m.Qb=function(a,b,c){switch(b){case tk:return this.qa[b]=c,Bk(this,0,b),!0;case xk:if(5150==(this.ia|0)||5160.101==this.ia)return this.qa[b]=c,Bk(this,1,b),!0;break;case "swdesc":return this.qa[b]=c,!0}return!1}; +m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.V=a;this.Tb=Eb(a,"FPU");uk(this,3,this.Tb?1:0,!0);this.B=Eb(a,"Keyboard");this.gb=c.Y.Jd/1193181;hc(b,this,Ck);lc(b,this,Dk);this.iab;b++){var c=13>=b?Ok(e,b):e.A[b];a&&(a+="\n");a+="CMOS["+t(b)+"]: "+t(c)}e.ha.O(a)})}cf(c,26,this.am.bind(this))}; +m.ic=function(a,b){if(!b)if(!a)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; +m.reset=function(a){var b;Pk(this);this.L=Array(this.cb);for(b=0;b=cg){this.N=16;this.fa=0;this.aa=16;this.Ja=0;this.ga=160;512<=Tk(this)&&(this.ga|=16);3==+Uk(this,wk,void 0)&&(this.ga|=64);5180==(this.ia|0)&&(this.ga|=12);this.Ka= +3;this.ra=Array(8);this.pa=0;a&&(this.A=Array(64));Vk(this,this.Ub);for(a=21;24>=a;a++)this.A[a]=0;for(a=14;46>a;a++)void 0===this.A[a]&&(this.A[a]=0);a=0|+Uk(this,wk,void 0)<b){var d=!1;4!=b&&5!=b||a.A[11]&2||(12>c?c=c?c:12:c=(c-=12)?c+128:140,d=!0);a.A[11]&4||(d&&128c;c++)b+=a.A[c];a.A[47]=b&255;a.A[46]=b>>8} +m.save=function(){var a=new hf(this);N(a,0,[this.C]);for(var b=[],c=0;c=cg&&(N(a,5,[this.N,this.fa,this.aa,this.Ja,this.ga,this.Ka]),N(a,6,[this.ra[7],this.ra,this.pa,this.A,this.Ia,this.ua]));return a.data()}; +m.restore=function(a){var b,c;b=a[0];Array.isArray(b[0])?this.C=b[0]:(this.C[0][0]=b[0],this.C[1][0]=b[1]&15,this.C[0][1]=b[2],this.C[1][1]=b[3]&15);Pk(this);b=a[1];for(c=0;c=f;f++){var g="pcjs-bitCell";f||(g+=" pcjs-bitCellLeft");d+='
    '+f+"
    \n"}e.innerHTML=d;el(a,b,c,!0)}function fl(a,b,c){if(b=(a=Ak[a.ia|0])&&a[b])for(var d in b)if(a=b[d],a.Lc&1<g.Ab[0]&&(g.Ab[0]=255,g.Ab[1]--,0>g.Ab[1]&&(g.Ab[1]=255)));return h}function ll(a,b,c,d,e,f){var g=a.L[b];A(a,768)&&x(a,d,e,f,"DMA"+b+".CHANNEL"+c+".COUNT["+g.Kb+"]",null,!0);a=g.Dc[c];a.Ab[g.Kb]=a.Fc[g.Kb]=e;g.Kb^=1}function ml(a,b,c,d){var e=a.L[b],f=e.Yb|1;e.Yb&=-16;A(a,768)&&x(a,c,null,d,"DMA"+b+".STATUS",f,!0);return f} +function nl(a,b,c,d,e){var f=a.L[b];A(a,768)&&x(a,c,d,e,"DMA"+b+".REQ",null,!0);a=d&3;f.Yb=f.Yb&~(16<>2].Dc[b&3],c,d,e)}function pl(a,b,c){b=a.L[b>>2].Dc[b&3];b.qg&&b.fh&&b.Fg?(c&&(b.done=c),b.Ee||yl(a,b,!0)):c&&c(!0)} +function yl(a,b,c){c&&(b.count=b.Ab[1]<<8|b.Ab[0],b.type=b.mode&12,b.Pi=b.ud=!1);for(var d=!1;0<=b.count&&(c=b.lg<<16|b.Eb[1]<<8|b.Eb[0],4==b.type?(d=!0,function(c){b.fh.call(b.qg,b.Fg,-1,function(f,g){0>f&&(b.Pi||(b.Pi=!0),f=255);b.Ee||a.ea.qc(c,f);(d=g)&&setTimeout(function(){zl(b)||yl(a,b)},0)})}(c)):8==b.type?(c=a.ea.Qa(c),0>b.fh.call(b.qg,b.Fg,c)&&(b.ud=!0)):0!=b.type&&(b.ud=!0)),!d&&!zl(b););} +function zl(a){if(!a.ud&&0<=--a.count&&(a.mode&32?(a.Eb[0]--,0>a.Eb[0]&&(a.Eb[0]=255,a.Eb[1]--,0>a.Eb[1]&&(a.Eb[1]=255))):(a.Eb[0]++,255>3];b=1<<(b&7);d.mc&b||(d.mc|=b,d.nf=c||0,Cl(a))}function dg(a,b){var c=a.vc[b>>3],d=1<<(b&7);c.mc&d&&(c.mc&=~d,Cl(a))}function Cl(a,b){var c,d=-1;1>=1),Yc(a.F,e))),0==b&&2==c&&ad(a))}function Jl(a,b,c,d){x(a,c,null,d,"PIT"+b+".CTRL",null,2048);return b?a.Pa:a.Oa} +function Kl(a,b,c,d,e){x(a,c,d,e,"PIT"+b+".CTRL",null,2048);e=0;c=d&192;b?(e=3,a.Pa=d):a.Oa=d;if(192==c){if(!(d&16))for(c=0;2>=c;c++)if(d&2<=c;c++)d&2<>=6;var f=d&1,g=d&14;d&=48;if(0==d)Ll(a,e+c);else{e=e+c;var h=a.W[e];h.eg=d;h.mode=g;h.Zg=f;h.Fc=[0,0];h.Ab=[0,0];h.ze=[0,0];h.vd=!1;h.Ze=!1;h.Be=!1;h.df=!1;Gl(a,e);0==b&&0==c&&dg(a,0);0==b&&2==c&&255==a.vc[0].Bd&& +77==a.X&&(b=a.W[0],b.$c[0]=b.Fc[0],b.$c[1]=b.Fc[1],b.xd=Wc(a.F,a.ka))}}}function Il(a,b){var c=a.W[b],d=c.Fc[1]<<8|c.Fc[0];d||(d=1==c.nd?256:65536);return d}function cd(a,b){var c=a.W[b],d=c.$c[1]<<8|c.$c[0];d||(d=1==c.nd?256:65536);return d}function Ll(a,b){Nk(a,b);var c=a.W[b];c.ze[0]=c.Ab[0];c.ze[1]=c.Ab[1];c.Ze=!0;Gl(a,b)}function Gl(a,b){var c=a.W[b];c.Fd=32==c.eg?1:0;c.nd=48==c.eg?2:1} +function Nk(a,b,c){var d=a.W[b];if(d.Be&&(2!=b||a.X&1)){var e=Wc(a.F,a.ka),f=(e-d.xd)/a.gb|0;0>f&&(d.xd=e,f=0);var g=Il(a,b),h=cd(a,b)-f;0==d.mode?(0>=h&&(h=0),h||(d.vd=!0,d.Be=!1,b||eg(a,0))):4==d.mode?(d.vd=1!=h,0>=h&&(h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0))):6==d.mode&&(h-=f,0>=h&&(d.vd=!d.vd,h=g+h,0>=h&&(h=g),d.$c[0]=h&255,d.$c[1]=h>>8&255,d.xd=e,!b&&d.vd&&eg(a,0)));d.Ab[0]=h&255;d.Ab[1]=h>>8&255;c&&(a.xd=0)}return d} +function bd(a,b){for(var c=0;c=cg){var c=a.F.Y.Jd,d=Wc(a.F,a.ka);null==a.fb&&(a.Ia=Wc(a.F,a.ka),a.Jb=1024,a.fb=Math.floor(a.F.Y.Jd/a.Jb),Yk(a));d>=a.ua&&(a.A[12]|=64,a.A[11]&64&&(a.A[12]|=128,eg(a,8)),a.ua=d+a.fb);a.A[0]==a.A[1]&&a.A[2]==a.A[3]&&a.A[4]==a.A[5]&&(a.A[12]|=32,a.A[11]&32&&(a.A[12]|=128,eg(a,8)));var e=d-a.Ia,f=Math.floor(e/c);if(f&&!(a.A[11]&128)){for(;f--;)if(60<=++a.A[0]&&(a.A[0]=0,60<=++a.A[2]&&(a.A[2]=0,24<=++a.A[4]))){a.A[4]=0;a.A[6]=a.A[6]%7+1; +var g;g=a.A[9];var h=ra[a.A[8]-1];28==h&&0===g%4&&(g%100||0===g%400)&&h++;g=h;++a.A[7]>g&&(a.A[7]=1,12<++a.A[8]&&(a.A[8]=1,a.A[9]=(a.A[9]+1)%100))}a.A[12]|=16;a.A[11]&16&&(a.A[12]|=128,eg(a,8))}a.Ia=d-e%c}}m=pk.prototype;m.Kl=function(a,b){var c=this.$a;this.Ca&16&&(this.X&128?c=this.C[0][1]:this.B&&(c=Ml(this.B)));x(this,a,null,b,"PPI_A",c);return c};m.dn=function(a,b,c){x(this,a,b,c,"PPI_A");this.$a=b};m.Ll=function(a,b){var c=this.X;x(this,a,null,b,"PPI_B",c);return c}; +m.en=function(a,b,c){x(this,a,b,c,"PPI_B");Nl(this,b)};function Nl(a,b){var c=!!(b&2),d=!!(a.X&2);a.X=b;a.B&&Ol(a.B,!(b&128),!!(b&64));c!=d&&ad(a,c)}m.Ml=function(a,b){var c=0,c=5150==(this.ia|0)?this.X&4?c|this.C[1][1]&15:c|this.C[1][1]>>4&1:this.X&8?c|this.C[0][1]>>4:c|this.C[0][1]&15;this.X&1&&Nk(this,2).vd&&(c=this.X&2?c|32:c|16);x(this,a,null,b,"PPI_C",c,32896);return c};m.fn=function(a,b,c){x(this,a,b,c,"PPI_C");this.rb=b};m.Nl=function(a,b){var c=this.Ca;x(this,a,null,b,"PPI_CTRL",c);return c}; +m.gn=function(a,b,c){x(this,a,b,c,"PPI_CTRL");this.Ca=b};m.Wk=function(a,b){var c=this.B?Ml(this.B):0;x(this,a,null,b,"8041_KBD",c);this.wa&=-2;return c};m.pm=function(a,b,c){x(this,a,b,c,"8041_KBD")};m.Vk=function(a,b){var c=this.X;x(this,a,null,b,"8041_CTRL",c);return c};m.om=function(a,b,c){x(this,a,b,c,"8041_CTRL");Nl(this,b)};m.Xk=function(a,b){var c=this.wa;x(this,a,null,b,"8041_STATUS",c);return c}; +m.Yk=function(a,b){var c=this.Ja;x(this,a,null,b,"8042_OUTBUFF",c,16384);this.N&=-258;this.B&&Pl(this.B);return c}; +m.rm=function(a,b,c){x(this,a,b,c,"8042_INBUF.DATA",null,16384);if(this.N&8)switch(this.fa){case 96:Ql(this,b);break;case 209:Rl(this,b);break;default:if(Ql(this,this.aa&-17),this.B){a=this.B;c=b;var d=-1;A(a)&&y(a,"sendCmd("+t(c)+")");switch(a.W||c){case 255:d=250;Sl(a);break;case 243:a.W&&(c=0);Tl(a,250);a.W=c;break;case 237:a.W&&(c=0);Tl(a,250);a.W=c;break;default:y(a,"sendCmd(): unrecognized command")}Ul(this,d)}}this.fa=b;this.N&=-9}; +m.Zk=function(a,b){var c=this.X&-209|(Wc(this.F)&64?16:0);x(this,a,null,b,"8042_RWREG",c,16384);return c};m.sm=function(a,b,c){x(this,a,b,c,"8042_RWREG",null,16384);Nl(this,b)};m.$k=function(a,b){x(this,a,null,b,"8042_STATUS",this.N,16384);var c=this.N&255;this.N&256&&(this.N|=1,this.N&=-257);return c}; +m.qm=function(a,b,c){x(this,a,b,c,"8042_INBUFF.CMD",null,16384);this.fa=b;this.N|=8;a=0;240<=this.fa&&(a=this.fa^15,this.fa=240);switch(this.fa){case 32:Ul(this,this.aa);break;case 173:Ql(this,this.aa|16);break;case 174:Ql(this,this.aa&-17);this.B&&Pl(this.B);break;case 170:this.B&&(a=this.B,a.A=[],A(a)&&y(a,"scan codes flushed"));Ql(this,this.aa|16);Ul(this,85);Rl(this,3);break;case 171:Ul(this,0);break;case 192:Ul(this,this.ga);break;case 208:Ul(this,this.Ka);break;case 224:Ul(this,this.aa&16?0: +1);break;case 240:a&1&&qe(this.F)}};function Ql(a,b){a.aa=b;a.N=a.N&-5|b&4;a.B&&Ol(a.B,!!(b&8),!(b&16))}function Ul(a,b,c){0<=b&&(a.Ja=b,c?a.N|=1:(a.N&=-2,a.N|=256))}function Rl(a,b){a.Ka=b;Rb(a.ea,!!(b&2));b&1||qe(a.F)}function Vl(a,b){a.ia=c?Ok(this,c):this.A[c];A(this,4352)&&x(this,a,null,b,"CMOS.DATA["+t(c)+"]",d,!0);null!=b&&12==c&&(this.A[c]&=15,d&128&&dg(this,8),d&64&&this.A[11]&64&&Yk(this));return d}; +m.Hm=function(a,b,c){var d=this.pa&63;A(this,4352)&&x(this,a,b,c,"CMOS.DATA["+t(d)+"]",null,!0);a=b^this.A[d];if(13>=d){if(c=b,10>d){var e=!1;this.A[11]&4||(c=10*(c>>4)+(c&15),e=!0);if(4==d||5==d)e&&23=c?c=12==c?0:c:(c-=116,c=24==c?12:c))}}else c=b;this.A[d]=c;11==d&&a&64&&b&64&&Yk(this)};m.fk=function(a,b,c){x(this,a,b,c,"NMI");this.ya=b};m.Rm=function(a,b,c){x(this,a,b,c,"FPU.CLEAR")};m.Sm=function(a,b,c){x(this,a,b,c,"FPU.RESET");this.Tb&&Yf(this.Tb)}; +m.am=function(a){if(A(this,16)&&kk(this.ha,26,a)){var b=this.F.G>>8;df(this.F,a,function(a,d){return function(e){d=Wc(a.F)-d;var f,g=a.F.M&255,h=a.F.M>>8,k=a.F.M&255,l=a.F.M>>8;if(2==b||3==b)f=" CH(hour)="+u(h)+" CL(min)="+t(g)+" DH(sec)="+t(l);else if(4==b||5==b)f=" CX(year)="+u(a.F.I)+" DH(month)="+t(l)+" DL(day)="+t(k);g=a.ha;h=d;g.message("INT "+t(26)+": C="+(pf(g.F)?1:0)+(f||"")+" (cycles="+h+(e?",level="+(e+1):"")+")")}}(this,Wc(this.F)))}return!0}; +function ad(a,b){if(a.Fa)try{void 0!==b?a.Db=b:b=a.Db&&a.F&&a.F.la.Ib;var c=Math.round(1193181/Il(a,2));if(20>c||2E4>>4,0,this.L,this.C,this.Rd),delete this.Rd);return!0};Yl.prototype.hc=function(){return!0}; +function Zl(a,b,c,d){if(d)a.Na("Unable to load system ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,g=e.data;if(f)a.A=f;else if(g)for(a.A=Array(4*g.length),d=c=0;c>8&255,a.A[d++]=g[c]>>16&255,a.A[d++]=g[c]>>24&255;else a.A=e;a.Rd=e.symbols;if(!a.A.length){w("Empty ROM: "+b);return}if(1==a.A.length){w(a.A[0]);return}}catch(h){a.Na("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, +" ").replace(/ +$/,"").split(" "),a.A=Array(b.length),e=0;e>>d.La].wf(e&d.A,a.A[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.N?b.push(a.N):null!=a.N&&a.N.length&&(b=a.N);for(c=0;cthis.B?21:23,c=a.A[b]|a.A[b+1]<<8,c=c+(this.A>>10);a.A[b]=c&255;a.A[b+ +1]=c>>8;Xk(a)}}else w("No RAM allocated")};m.save=function(){var a=new hf(this);this.controller&&N(a,0,this.controller.save());return a.data()};m.restore=function(a){return this.controller?this.controller.restore(a[0]):!0};function em(a){this.N=a;this.C=gm;this.ha=hm;this.B=im;this.A=null}var fm=-2134900736,gm=65535,hm=2575,im=2,jm=[null,0],km=[function(a){return this.controller.Qa(a)},null,null,function(a,b){this.controller.qc(a,b)},null,null];m=em.prototype;m.save=function(){return[this.C,this.B]}; +m.restore=function(a){this.qc(0,a[0]&255);this.qc(2,a[1]&255);return!0};m.Qa=function(a){var b=255;2>a?b=a&1?this.ha>>8:this.ha&255:4>a&&(b=a&1?this.B>>8:this.B&255);return b};m.qc=function(a,b){if(a)2==a&&(this.B=this.B&-256|b);else if(b!=(this.C&255)){var c=this.N.ea;if(b&1)this.A&&(Wb(c,917504,131072,this.A),this.A=null);else{this.A||(this.A=Xb(c,917504,131072));var d=Xb(c,16646144,131072);Wb(c,917504,131072,d,b&2?1:$b)}this.C=this.C&-256|b}};m.Ri=function(){return jm};m.gh=function(){return km}; +Qa(function(){for(var a=nb(document,"pcjs","ram"),b=0;b":62,"?":63,"@":64,vn:65,wn:66,xn:67,Cn:68,E:69,Dn:70,Gn:71,Hn:72,In:73,Jn:74,Kn:75,Ln:76,Mn:77,On:78,Pn:79,Qn:80,Q:81,Rn:82,Vn:83,$n:84,eo:85,fo:86,ho:87,jo:88,ko:89,lo:90,"[":91,"\\":92,"]":93,"^":94,_:95,"`":96,mo:97,no:98,po:99,d:100,e:101,qo:102,ro:103,so:104, +to:105,uo:106,k:107,vo:108,wo:109,n:110,yo:111,p:112,q:113,r:114,zo:115,t:116,Bo:117,Co:118,Do:119,x:120,y:121,z:122,"{":123,"|":124,"}":125,"~":126},om={};om[186]=X[";"];om[187]=X["="];om[188]=X[","];om[189]=X["-"];om[190]=X["."];om[191]=X["/"];om[192]=X["`"];om[219]=X["["];om[220]=X["\\"];om[221]=X["]"];om[222]=X["'"];om[173]=X["-"];var pm={};pm[X["1"]]=X["!"];pm[X["2"]]=X["@"];pm[X["3"]]=X["#"];pm[X["4"]]=X.$;pm[X["5"]]=X["%"];pm[X["6"]]=X["^"];pm[X["7"]]=X["&"];pm[X["8"]]=X["*"];pm[X["9"]]=X["("]; +pm[X["0"]]=X[")"];pm[186]=X[":"];pm[187]=X["+"];pm[188]=X["<"];pm[189]=X._;pm[190]=X[">"];pm[191]=X["?"];pm[192]=X["~"];pm[219]=X["{"];pm[220]=X["|"];pm[221]=X["}"];pm[222]=X['"'];pm[173]=X._;pm[61]=X["+"];pm[59]=X[":"]; +var qm={3016:1,1016:2,1017:8,1018:32,1091:128,1093:64,1224:128,1020:512,1144:1024,1145:2048},rm={TAB:1009,ESC:1027,F1:1112,F2:1113,F3:1114,F4:1115,F5:1116,F6:1117,F7:1118,F8:1119,F9:1120,F10:1121,LEFT:1037,UP:1038,RIGHT:1039,DOWN:1040,SYSREQ:4027,CTRL_C:4003,CTRL_BREAK:4008,CTRL_ALT_DEL:4046,CTRL_ALT_INS:4045,CTRL_ALT_ENTER:4013},sm={esc:1027,1:X["1"],2:X["2"],3:X["3"],4:X["4"],5:X["5"],6:X["6"],7:X["7"],8:X["8"],9:X["9"],0:X["0"],"-":X["-"],"=":X["="],bs:1008,tab:1009,q:81,w:87,e:69,r:82,t:84,y:89, +u:85,i:73,o:79,p:80,"[":X["["],"]":X["]"],enter:13,ctrl:1017,a:65,s:83,d:68,f:70,g:71,h:72,j:74,k:75,l:76,";":X[";"],quote:X["'"],"`":X["`"],shift:1016,"\\":X["\\"],z:90,x:88,c:67,v:86,b:66,n:78,m:77,",":X[","],".":X["."],"/":X["/"],"right-shift":3016,prtsc:1044,alt:1018,space:1032,"caps-lock":1020,f1:1112,f2:1113,f3:1114,f4:1115,f5:1116,f6:1117,f7:1118,f8:1119,f9:1120,f10:1121,"num-lock":1144,"scroll-lock":1145,"num-home":1036,"num-up":1038,"num-pgup":1033,"num-sub":1109,"num-left":1037,"num-center":1101, +"num-right":1039,"num-add":1107,"num-end":1035,"num-down":1040,"num-pgdn":1034,"num-ins":1045,"num-del":1046,sysreq:84},tm={"caps-lock":512,"num-lock":1024,"scroll-lock":2048},Y={1027:1};Y[X["1"]]=2;Y[X["!"]]=10754;Y[X["2"]]=3;Y[X["@"]]=10755;Y[X["3"]]=4;Y[X["#"]]=10756;Y[X["4"]]=5;Y[X.$]=10757;Y[X["5"]]=6;Y[X["%"]]=10758;Y[X["6"]]=7;Y[X["^"]]=10759;Y[X["7"]]=8;Y[X["&"]]=10760;Y[X["8"]]=9;Y[X["*"]]=10761;Y[X["9"]]=10;Y[X["("]]=10762;Y[X["0"]]=11;Y[X[")"]]=10763;Y[X["-"]]=12;Y[X._]=10764; +Y[X["="]]=13;Y[X["+"]]=10765;Y[1008]=14;Y[1009]=15;Y[113]=16;Y[81]=10768;Y[119]=17;Y[87]=10769;Y[101]=18;Y[69]=10770;Y[114]=19;Y[82]=10771;Y[116]=20;Y[84]=10772;Y[121]=21;Y[89]=10773;Y[117]=22;Y[85]=10774;Y[105]=23;Y[73]=10775;Y[111]=24;Y[79]=10776;Y[112]=25;Y[80]=10777;Y[X["["]]=26;Y[X["{"]]=10778;Y[X["]"]]=27;Y[X["}"]]=10779;Y[13]=28;Y[1017]=29;Y[97]=30;Y[65]=10782;Y[115]=31;Y[83]=10783;Y[100]=32;Y[68]=10784;Y[102]=33;Y[70]=10785;Y[103]=34;Y[71]=10786;Y[104]=35;Y[72]=10787;Y[106]=36;Y[74]=10788; +Y[107]=37;Y[75]=10789;Y[108]=38;Y[76]=10790;Y[X[";"]]=39;Y[X[":"]]=10791;Y[X["'"]]=40;Y[X['"']]=10792;Y[X["`"]]=41;Y[X["~"]]=10793;Y[1016]=42;Y[X["\\"]]=43;Y[X["|"]]=10795;Y[122]=44;Y[90]=10796;Y[120]=45;Y[88]=10797;Y[99]=46;Y[67]=10798;Y[118]=47;Y[86]=10799;Y[98]=48;Y[66]=10800;Y[110]=49;Y[78]=10801;Y[109]=50;Y[77]=10802;Y[X[","]]=51;Y[X["<"]]=10803;Y[X["."]]=52;Y[X[">"]]=10804;Y[X["/"]]=53;Y[X["?"]]=10805;Y[3016]=54;Y[1044]=55;Y[1018]=56;Y[1032]=57;Y[1020]=58;Y[1112]=59;Y[1113]=60;Y[1114]=61; +Y[1115]=62;Y[1116]=63;Y[1117]=64;Y[1118]=65;Y[1119]=66;Y[1120]=67;Y[1121]=68;Y[1144]=69;Y[1145]=70;Y[1036]=71;Y[1038]=72;Y[1033]=73;Y[1109]=74;Y[1037]=75;Y[1101]=76;Y[1039]=77;Y[1107]=78;Y[1035]=79;Y[1040]=80;Y[1034]=81;Y[1045]=82;Y[1046]=83;Y[4027]=84;Y[1122]=87;Y[1123]=88;Y[1091]=91;Y[1093]=93;Y[1224]=91;Y[4003]=7470;Y[4008]=7494;Y[4046]=3677523;Y[4045]=3677522;Y[4013]=3677468;m=lm.prototype; +m.Qb=function(a,b,c,d){var e=this,f=a+"-"+b;if(void 0===this.qa[f])switch(b){case "kbd":return c.onkeydown=function(a){return um(e,a,!0)},c.onkeypress=function(a){a=a||window.event;a=a.which||a.keyCode;e.L="";var b=!Y[a]||!!(e.xc&128);b||vm(e,a,!0);return b},c.onkeyup=function(a){return um(e,a,!1)},!0;case "caps-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();vm(e,1020,!0)},!0;case "num-lock":return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();vm(e,1144,!0)},!0;case "scroll-lock":return this.qa[f]= +c,c.onclick=function(){e.V&&e.V.yd();vm(e,1145,!0)},!0;default:var g=b.toUpperCase().replace(/-/g,"_");if(void 0!==rm[g]&&"button"==a)return this.qa[f]=c,c.onclick=function(a,b,c){return function(){a.V&&a.V.yd();wm(a,c,!0);vm(a,c,!0)}}(this,g,rm[g]),!0;if(void 0!==sm[b])return this.ga++,this.qa[f]=c,a=function(a,b,c){return function(){vm(a,c)}}(this,b,sm[b]),b=function(a,b,c){return function(){xm(a,c)}}(this,b,sm[b]),"ontouchstart"in window?(c.ontouchstart=a,c.ontouchend=b):(c.onmousedown=a,c.onmouseup= +c.onmouseout=b),!0;if(d)return this.qa[f]=c,c.onclick=function(){e.V&&e.V.yd();d&&!e.L&&(e.L=d,ym(e,300))},!0}return!1};function zm(a,b,c){if(a.ga){for(var d in pm)if(b==pm[d]){b=+d;(d=om[d])&&(b=d);break}for(var e in sm)if((d=sm[e]==b)||(d=b,97<=d&&122>=d&&(d-=32),d=sm[e]==d),d){(a=a.qa["key-"+e])&&void 0!==c&&(a.style.color=c?"#ffffff":"#000000",a.style.backgroundColor=c?"#000000":"#ffffff");break}}}m.Ic=function(a,b,c,d){this.V=a;this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet")}; +function mm(a,b){var c=0;a.ia=null;b&&(a.ia=b.toUpperCase(),c=nm.indexOf(a.ia),0>c&&(c=0));b=nm[c];a.ra=parseInt(b.substr(2),10)}function Sl(a){y(a,"keyboard reset",65792);a.A=[];Tl(a,170)}function Ol(a,b,c){a.aa!==c&&(a.aa=a.fa=c)&&(a.U=!0);a.X!==b&&(a.X=b)&&!a.fa&&Wl(a,!0);a.X&&a.fa&&(Sl(a),a.fa=!1)}function Tl(a,b){a.N&&(a.A.unshift(b),a.U=!0,Vl(a.N,b))}function Pl(a){var b=0;a.A.length&&a.U&&(b=a.A[0],a.N&&Vl(a.N,b));A(a)&&y(a,b?"scan code "+t(b)+" available":"no scan codes available")} +function Ml(a){var b=0;a.A.length&&(b=a.A[0]);A(a)&&y(a,"scan code "+t(b)+" delivered");return b}function Wl(a,b){0>=1);if(b&3584){if(!1===d)return!0;d=null}null==d?d=!((c?a.C:a.xc)&b):d||b&255&&(b=255);if(c){a.C&=~b;d&&(a.C|=b);c=b;var f,g;for(g in tm)d="led-"+g,e=tm[g],c&&c!=e||!(f=a.qa[d])||(f.style.backgroundColor=a.C&e?"#00ff00":"#000000")}else a.xc&=~b,d&&(a.xc|=b);return!0}}return!1} +function vm(a,b,c){if(Y[b]&&a.F&&a.F.la.Ib){qm[b]&&a.B.length&&0e||(e==a.B.length&&(d={},d.Me=b,d.xc=a.xc,zm(a,b,!0),e++),0b.Ld){if(!b.Ef){xm(a,b.Me);return}b.Ef=!1;c=a.ua}else c=1==b.Ld++?500:100;b.rk=setTimeout(function(a){return function(){Bm(a,b)}}(a),c)}} +function Dm(a,b,c){var d=b;if(65<=b&&90>=b)!(a.xc&515)==c&&(d=b+32);else if(97<=b&&122>=b)!!(a.xc&515)==c&&(d=b-32);else if(!!(a.xc&3)==c){if(a=pm[b])d=a}else if(a=om[b])d=a;return d}m.Gg=function(a){a||(this.xc&=-256)}; +function um(a,b,c){var d=!0,e=!1,f=!1,g=b.keyCode,h=Dm(a,g,!0);a.bh&&h==X["`"]&&(g=h=27);if(Y[g+1E3])if(h+=1E3,2==b.location&&(h+=2E3),wm(a,h,!1,c)){if(20==g||144==g||145==g)a.pa||(c=e=!0);if(!(c||91!=g&&93!=g))for(var k=0;k=b||97<=b&&122>=b;e>>>=8;){var g=0,h=e&255;224==f||225==f?d.push(f|(c?0:128)):(42==h?a.C&3||a.C&512&&b||(g=h):29==h?a.C&12||(g=h):56==h?a.C&48||(g=h):d.push(f|(c?0:128)),g&&(c?d.unshift(g):d.push(g|128)))}for(c=0;ce.A.length?(A(e)&&y(e,"scan code "+t(f)+" buffered"),e.A.push(f),1== +e.A.length&&e.N&&Vl(e.N,f)):(20==e.A.length&&e.A.push(255),y(e,"scan code buffer overflow")));d=!0}return d}Qa(function(){for(var a=nb(document,"pcjs","keyboard"),b=0;bc.length)c=[!1,0,null,null,0,Array(5>b?Vm:Wm)];this.ha=a.ha;this.type=e[0];this.port=e[1];this.Ua=b;this.ob=e[2];this.ac=e[3];this.Ed=d||e[4];65536<=this.Ed&&720896<=this.ob&&(this.ac=Math.min(this.Ed>>2,32768));this.Hc=c[0];this.gd=c[1];this.sf=c[2];this.ma=c[3];this.Ac=c[4]&255;this.Jg=c[4]>>8&255;this.mb=c[5];this.nh=Vm;this.kg=Xm;if(5<=b){this.nh=Wm;this.kg=Ym;b=c[6];void 0===b&&(b=[!1,0,Array(20), +0,3==f?0:1,0,0,Array(5),0,0,0,Array(9),0,[this.ob,this.ac,this.Ed],Array(this.Ed>>2),-2147478512,0,-1,0,-1,0,-1,0,0,0,0,1,255,0,0,0,Array(256)]);this.Xe=b[0];this.Od=b[1];this.Tc=b[2];this.Tg=Zm;this.Mg=b[3];this.uf=b[4];this.dg=b[5];this.ce=b[6];this.Je=b[7];this.Vg=$m;this.hk=b[8];this.ik=b[9];this.be=b[10];this.ae=b[11];this.Ug=an;this.Fb=b[12];d=b[13];"number"==typeof d&&(d=[this.ob,this.ac,d]);this.ob=d[0];this.ac=d[1];d=this.Ed>>2;if((this.sd=b[14])&&this.sd.length>this.controller.di&255};cn[17408]=function(a){return(this.controller.Fb=this.da[(a&-4)+this.C])>>((a&3)<<3)&255};cn[5120]=function(a){a+=this.C;var b=this.controller.Fb=this.da[a&-2];return(a&1?b>>8:b)&255};cn[1280]=function(a){a+=this.C;a=this.controller.Fb=this.da[a];for(var b=this.controller.ph,c=this.controller.oh&b,d=0,e=128;e;)(a&b)==c&&(d|=e),c>>>=1,b>>>=1,e>>=1;return d}; +cn[0]=function(a,b){var c=a+this.C,d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; +cn[32]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; +cn[96]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d&=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; +cn[160]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d|=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; +cn[224]=function(a,b){var c=a+this.C;b=b>>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.$d|this.controller.qe;d^=this.controller.Fb;d=d&this.controller.Mb|this.controller.Fb&~this.controller.Mb;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)};cn[4]=function(a,b){var c=(a&-4)+this.C,d=(a&3)<<3,d=b<>this.controller.dd|b<<8-this.controller.dd&255;var d;d=(b|b<<8|b<<16|b<<24)&this.controller.Mb;d=this.controller.Uf&d|this.controller.Fb&~d;d=d&this.controller.qb|this.da[c]&~this.controller.qb;this.da[c]!=d&&(this.da[c]=d,this.Wa=!0)}; +function dn(a){var b=[];if(void 0!==a.Ua){b[0]=a.Hc;b[1]=a.gd;b[2]=a.sf;b[3]=a.ma;b[4]=a.Ac|a.Jg<<8;b[5]=a.mb;if(5<=a.Ua){var c=[];c[0]=a.Xe;c[1]=a.Od;c[2]=a.Tc;c[3]=a.Mg;c[4]=a.uf;c[5]=a.dg;c[6]=a.ce;c[7]=a.Je;c[8]=a.hk;c[9]=a.ik;c[10]=a.be;c[11]=a.ae;c[12]=a.Fb;c[13]=[a.ob,a.ac,a.Ed];var d;a:if(d=a.sd){var e=0,f=[];if(void 0!==d[0])for(var g=0;2>g;g++)for(var h=g;h>1;f[e++]=k;h=l}if(f.length>3;for(c=0;c=d&&(z=d,q=!0);break;case "p":0<= +d&&3>=d&&(F=d);break;case "w":d=b.ob&&(f-=b.ob);a="";for(c=0;cF?r(H):da(H>>(F<<3),8));q&&(f+=v-z);a&&(a+="\n");a+=E}a&&b.ha.O(a);b.B=f}else b.ha.O("no buffer")}else e.ha.O("BIOSMODE: "+t(e.Ia)),b=e.C,en(b,"CRTC",b.Ac,b.mb,b.kg),5<=b.Ua&&(en(b," GRC",b.be,b.ae,b.Ug),en(b," SEQ",b.ce,b.Je,b.Vg),en(b," ATC",b.Od,b.Tc,b.Tg),en(b," ATCINDX", +b.Od),b.ha.O(" ATCDATA: "+b.Xe),en(b," FEAT",b.dg),en(b," MISC",b.uf),en(b," STATUS0",b.Mg)),en(b," STATUS1",b.ma),1!=b.Ua&&3!=b.Ua||en(b," MODEREG",b.gd),3==b.Ua&&en(b," COLOR",b.sf),5<=b.Ua&&(b.ha.O(" LATCHES: "+r(b.Fb)),b.ha.O(" ACCESS: "+r(b.wg,4)),b.ha.O("Use 'dump video [addr]' to dump video memory"));else e.ha.O("no active video card")})}if((this.B=Eb(a,"Keyboard"))&&this.ka){for(var f in this.qa)0c&&(a=Math.round(c/b*100)+"%")}this.qf?(this.ka.style.width=a,this.ka.style.width=a,this.ka.style.display="block",this.ka.style.margin="auto"):(this.ga.style.width=a,this.ga.style.height="auto");this.ga.style.backgroundColor="black";this.ga.We();a=!0}this.V&&this.V.focus()}return a}; +function Hm(a,b){!b&&a.ga&&(a.qf?a.ka.style.width=a.ka.style.height="":a.ga.style.width=a.ga.style.height="");y(a,"notifyFullScreen("+b+")",!0);a.B&&(a.B.bh=b)}m.De=function(a){var b=!1;this.V&&(a?this.V.De&&(this.V.De(),this.W&&this.W.Vf(!0),b=!0):this.V.sk&&(this.V.sk(),this.W&&this.W.Vf(!1),b=!0),this.V&&this.V.focus());return b};m.Vf=function(a){this.W&&(this.W.Vf(a),this.B&&(this.B.bh=a));var b=this.qa.lockPointer;b&&(b.textContent=a?"Press Esc to Unlock Pointer":this.uk)}; +function pn(a,b){var c=a.V;c&&!a.me&&(c.addEventListener("touchstart",function(b){rn(a,b,!0)},!1),c.addEventListener("touchmove",function(b){rn(a,b)},!0),c.addEventListener("touchend",function(b){rn(a,b,!1)},!1),a.me=b,a.uc=a.Cc=a.hg=-1,a.Id=!1,a.Xc=null,a.Hd=!1,a.un=function(){a.Hd=!0;a.W.je(sn,!0)})}m.Gg=function(a){this.B&&this.B.Gg(a)}; +function rn(a,b,c){var d,e,f=0,g=0;e=a.ka;do isNaN(e.offsetLeft)||(f+=e.offsetLeft,g+=e.offsetTop);while(e=e.offsetParent);var h=a.ra/a.ka.offsetWidth,k=a.Ea/a.ka.offsetHeight;b.targetTouches&&b.targetTouches.length?(d=b.targetTouches[0].pageX,e=b.targetTouches[0].pageY):(d=b.pageX,e=b.pageY);d=(d-f)*h;e=(e-g)*k;if(1==a.me)d=d/(a.ra/3)|0,e=e/(a.Ea/3)|0,1!=e?e?vm(a.B,1040,!0):vm(a.B,1038,!0):1!=d&&(d?vm(a.B,1039,!0):vm(a.B,1037,!0));else if(a.W){g=a.Id;f=b.timeStamp-a.hg;!0===c?(a.Id=500f){a.W.je(sn,!0);a.W.je(sn,!1);return}}if(c||0>a.uc||0>a.Cc)a.uc=d,a.Cc=e;c=Math.round(d-a.uc);b=Math.round(e-a.Cc);a.uc=d;a.Cc=e;a.W.Hf(c,b,a.uc,a.Cc)}}m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0}; +m.reset=function(){var a=!0,b=0;this.N&&(b=+Uk(this.N,wk,void 0));this.ia||(this.Ua=3==b?1:3);this.wa=3;switch(this.Ua){case cm:b=7;break;case 5:var c=Km[this.Vc];c&&(b=c[0]);b||(b=4);break;case 1:b=3;this.wa=7;break;default:b=2}this.ya!==b&&(this.ya=b,a=!0);this.C=null;this.pa=this.rd=new Tm(this,1);this.aa=this.Wc=new Tm(this,3);5>this.Ua?this.A=new Tm:(this.A=new Tm(this,this.Ua,null,this.Ed),tn(this));un(this);this.Ia=null;this.cb=this.ua=-1;this.Pa=0;vn(this,this.wa);if(this.C.ob&&a){a=this.C.ob+ +this.Ub;for(b=this.C.ob;b>1&255,d=d>>8&-129,d>>4==(d&15)&&(d^=15)):(c=d&255,d=(d&256?7:112)|8&d>>8);fc(this.ea,b,c|d<<8)}qn(this,!0)}};function tn(a){a.A.uf&1?(a.pa=a.rd,a.aa=a.A):(a.pa=a.A,a.aa=a.Wc)}m.save=function(){var a=new hf(this);N(a,0,dn(this.rd));N(a,1,dn(this.Wc));N(a,2,[this.ya,this.wa,this.Ia]);N(a,3,dn(this.A));return a.data()}; +m.restore=function(a){var b=a[2];this.ya=b[0];this.wa=b[1];this.Ia=b[2];this.C=null;this.pa=this.rd=new Tm(this,1,a[0]);this.aa=this.Wc=new Tm(this,3,a[1]);this.A=new Tm(this,this.Ua,a[3],this.Ed);this.A.Hc&&tn(this);un(this);if(!wn(this))return!1;xn(this);return!0}; +function Im(a,b,c,d){if(d)a.Na("Unable to load font ROM (error "+d+": "+b+")");else{fb(a.ve,b,c);try{var e=eval("("+c+")"),f=e.bytes||e;if(!f.length){w("Empty font ROM: "+b);return}if(1==f.length){w(f[0]);return}if(8192==f.length)bm(a,f,[6144,0]);else if(2048==f.length)bm(a,f,[0]);else{a.Na("Unrecognized font data length ("+f.length+")");return}}catch(g){a.Na("Font ROM data error: "+g.message);return}(a.ja||a.ha)&&rb(a)}} +function yn(a,b){if(1==b)return a.Ca[0]=Nm[0],a.Ca[1]=Nm[7],a.Ca;if(2==b){var c=a.C.sf;if(a.C===a.A){var d=a.A.Tc[0],c=d&7;d&16&&(c|=8);18!=a.A.Tc[1]&&(c|=32)}a.Ca[0]=Nm[c&15];c=c&32?Pm:Om;for(d=0;df;f++)g=d[f]||0,h=g<<2&252,k=g>>4&252,g=g>>10&252,a.Ca[f]=[h,k,g,255];else{var l=d&&d[255];e=null!=c.Tc[15]?c.Tc:Qm;for(f=0;16>f;f++)g=e[f]&63,l?(g|= +(c.Tc[20]&12)<<4,c.Tc[16]&128&&(g&=-49,g|=(c.Tc[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.Ca[f]=[h,k,g,255]}a.rb=!0}return a.Ca}function bm(a,b,c,d){a.Uc=b;a.Jb=c;a.Tb=d} +function un(a,b){var c=!1;if(window&&a.Uc&&(!b||a.U)){var d=0,e=a.Tb?a.Tb:8,f=yn(a);null!=a.Jb[0]&&zn(a,3,a.Jb[0],d,e,8,a.Uc,f)&&(c=!0);d=a.Tb?0:2048;e=a.Tb?a.Tb:9;null!=a.Jb[1]&&(zn(a,1,a.Jb[1],d,e,14,a.Uc,Lm,Mm)&&(c=!0),a.Tb&&zn(a,a.Ua,a.Jb[1],0,a.Tb,14,a.Uc,f)&&(c=!0))}return c}function zn(a,b,c,d,e,f,g,h,k){var l=!1;null!=c&&(An(a,b,c,d,e,f,g,h,k)&&(l=!0),a.tn&&An(a,b<<1,c,d,e,f,g,h,k)&&(l=!0));return l} +function An(a,b,c,d,e,f,g,h,k){var l=!1,n=b&1?0:1,q=a.Oa[b],p=16>h.length?h.length:16;q||(q={Qc:e<V||!H?V:8,wa=ja.createImageData(l.Qc,l.Rc),Ha=0;256>Ha;Ha++){for(Ba= +0;Ba=V-2,Rc=P[Ba>(8<=Xa&&192<=Ha&&223>=Ha?7:Xa)?z:bb;Bn(wa,Ie,Xd,Je);v&&Bn(wa,Ie+1,Xd,Je)}ja.putImageData(wa,(Ha&15)*l.Qc,(Ha>>4)*l.Rc)}l.Oe[F]="#"+r(z[0],2)+r(z[1],2)+r(z[2],2);l.si[F]=z;l.Sg[F]=ia;l=!0}}a.Oa[b]=q;return l}function Cn(a){0a.cb&&(a.cb=0):a.cb=-1} +function xn(a){if(a.U){for(var b=10;15>=b;b++)if(null==a.C.mb[b])return;var c=a.C.mb[10],b=c&31,d=a.C.mb[11]&31,e=a.C.mb[9]&31,f=!1;a.C===a.A&&(f=!0,7!=e||4!=b||d||(d=7));if(c&32||b>d&&!f||b>e)Dn(a);else{c=a.C.mb[15]+((a.C.mb[14]&63)<<8);a.ua!=c&&(Dn(a),a.ua=c);d=d-b+1;if(a.ig!=b||a.Ce!=d)a.ig=b,a.Ce=d;a.$a=e+1;Cn(a)}}} +function Dn(a){if(0<=a.ua){if(void 0!==a.fa){var b=a.fa[a.ua];if(b&131072){var b=b&-131073,c=a.ua%a.L,d=a.ua/a.L|0;a.U&&a.Oa[a.U]&&(a.gb&&bo(a,c,d,b,a.gb),bo(a,c,d,b));a.fa[a.ua]=b}}a.ua=-1}} +function co(a){var b,c=a.C;a.gf=!1;var d=c.ae[5];if(null!=d){b=1024;var e=0,f=c.ae[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.dd=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.Ua==cm&&(e=3,c.dd=f&7)}d&8&&(b=1280);c=c.Je[4];null!=c&&(c&4||(b|=4096,e|=16),d&64&&(c&8&&(b|=16384,e|=4),a.gf=!0));b|=e}return b} +function eo(a,b){var c=a.C;return c&&null!=b&&b!=c.wg?(c.Og(b),a.ea.Og(c.ob,c.ac,c.gh(),!0),!0):!1} +function wn(a,b){var c,d=a.Ia,e=a.C;if(e)if(1==e.Ua)d=7;else if(5<=e.Ua){var d=null,f=e.Ed>>2,g=32768=e.mb[18]?19:20:21:g&128||350>f?d= +l?13:14:480<=f&&(d=3==a.ya?17:18):d=l?7-d:6:d-=l?2:0);c=co(a)}}else e.gd&8&&(e.gd&2?(d=e.gd&16?6:5,e.gd&4||--d):(d=e.gd&1?3:1,e.gd&4&&--d));else a.Ia=null,null==d&&(d=a.wa);if(!vn(a,d,b))return!1;eo(a,c);return!0} +function vn(a,b,c){if(null!=b&&(b!=a.Ia||c)){a.Pg=0;a.Ia=b;a.rb=!1;b=a.C||(7==b?a.pa:a.aa);if(b!=a.C||b.ob!=a.ob||b.ac!=a.ac){Dn(a);if(a.ob){if(!Zb(a.ea,a.ob,a.ac))return!1;a.C&&(a.C.Hc=!1)}a.C=b;b.Hc=!0;a.ob=b.ob;a.ac=b.ac;if(!Sb(a.ea,b.ob,b.ac,3,b===a.A?b:null))return!1}a:{a.U=0;a.L=a.kd;a.X=a.le;a.Db=a.L;a.jd=Fm[7][2];b=0;if(c=Fm[a.Ia])a.L=c[0],a.X=c[1],a.jd=c[2],b=c[3],a.U=c[4],4!=a.ya&&7!=a.ya||a.C!==a.A||3!=a.U||(7==(a.A.mb[9]&31)?a.X=350>fn(a.A,18)?43:50:a.U=a.Ua);a.ag=a.L*a.X|0;a.Yf=a.ag/ +a.jd|0;a.Ub=a.Yf;a.td=0;void 0!==b&&(a.Ub=(a.Ub<<1)+b|0,a.td=a.Ub+b>>1);if(a.Oa.length){a.Ja=a.ra/a.L|0;a.Ka=a.Ea/a.X|0;if(a.U){b=a.Oa[a.U];if(!b)break a;c=a.Oa[a.U<<1];a.Wf&&80==a.L?c&&a.Ja>=3*c.Qc>>2&&(a.U<<=1,b=c):(c&&a.Ja>=c.Qc&&(a.U<<=1,b=c),a.Wf||(a.Ja=b.Qc,a.Ka=b.Rc));a.bc=a.tc=0;b&&(a.bc=a.L*b.Qc,a.tc=a.X*b.Rc)}else a.Ja=a.Ka=1,a.bc=a.L,a.tc=a.X;a.sb=a.ja.createImageData(a.bc,a.tc);a.fb=document.createElement("canvas");a.fb.width=a.bc;a.fb.height=a.tc;a.gb=a.fb.getContext("2d");a.ne=a.oe= +0;a.Dd=a.ra;a.Gd=a.Ea;b=a.ra-a.L*a.Ja;c=a.Ea-a.X*a.Ka;0>1,a.Dd-=b);0>1,a.Gd-=c);if(b||c)a.ja.fillStyle=a.ka.style.backgroundColor,a.ja.fillRect(0,0,a.ra,a.Ea)}}fo(a,!0);qn(a)}return!0}function Bn(a,b,c,d){b=(b+c*a.width)*d.length;a.data[b]=d[0];a.data[b+1]=d[1];a.data[b+2]=d[2];a.data[b+3]=d[3]}function go(a){a.Pa=-1;a.Fa=!1;var b=a.Yf;if(void 0===a.fa||a.fa.length!=b)a.fa=Array(b)}function fo(a,b){b||(a.rb=!1);go(a)} +function bo(a,b,c,d,e){var f=d&255,g=d>>8;d=g&15;var h=a.Oa[a.U];h.zf&&(d=h.zf[d]);var k=g>>4&15;h.zf&&(k=h.zf[k]);e?(b*=h.Qc,c*=h.Rc,e.fillStyle=h.Oe[k],e.fillRect(b,c,h.Qc,h.Rc)):(b=b*a.Ja+a.ne,c=c*a.Ka+a.oe,a.ja.fillStyle=h.Oe[k],a.ja.fillRect(b,c,a.Ja,a.Ka));g&256&&(k=(f&15)*h.Qc,f=(f>>4)*h.Rc,e?e.drawImage(h.Sg[d],k,f,h.Qc,h.Rc,b,c,h.Qc,h.Rc):a.ja.drawImage(h.Sg[d],k,f,h.Qc,h.Rc,b,c,a.Ja,a.Ka));g&512&&(f=a.ig,g=a.Ce,e?(a.$a&&a.$a!==h.Rc&&(f=f*h.Rc/a.$a|0,g=g*h.Rc/a.$a|0),e.fillStyle=h.Oe[d], +e.fillRect(b,c+f,h.Qc,g)):(a.$a&&a.$a!==a.Ka&&(f=f*a.Ka/a.$a|0,g=g*a.Ka/a.$a|0),a.ja.fillStyle=h.Oe[d],a.ja.fillRect(b,c+f,a.Ja,g)))} +function qn(a,b){if(a.la.cc){var c=!1,d=a.C;d&&(d!==a.A?d.gd&8&&(c=!0):d.Od&32&&(c=!0));if(c||b){if(b)go(a);else if(void 0===a.fa)return;var e=!1;!(b||++a.Pg&15)&&0<=a.cb&&(a.cb++,e=!0);var f=0,g=a.ag,h=a.ob,c=h,k=c+a.ac;19<=a.Ia&&(h=c=655360,k=c+65536);if(ho(a,d)&8||d.pf&&d.pf=a.Ia&& +(n<<=1));c+n>k&&(n=k-c,0>n&&(n=0));k=c+n;if(l=!b&&a.Fa){for(var l=a.ea,q=!0,p=c>>>l.La;0f)return;g=f+1}}if(a.U){if(a.Oa[a.U]){d=f;f=0;e=a.Pa=0;h=1048575;n=a.C.gd&32;5<=a.Ua&&(n=a.C.Tc[16]&8);l=a.ua-a.C.Md;n&&(e=32768,h&=~e,a.cb&2||(h&=-65537));for(c+=d<<1;c>8|(z&255)<<8;var H=e,L=16;n>=h))>>(L-=h);Bn(a.sb,n++,q,l[P])}n>F&&(F=n);q=E&&(E=q+1)}k+=2;d++;if(n>=a.L){n=0;q+=2;if(q>a.X)break;q==a.X&&(q=1,k=c+a.td)}}a.Fa=!0; +pa.L?a.Db-a.L-z>>3:0;c>=8;l>p&&(p=l);n=v&&(v=n+1)}c+=E;if(l>=a.L){l=0;if(++n>a.X)break;c+=H}}z||(a.Fa=!0);qa.L?a.Db-a.L-v>>3:0;cH&&(L=H)):(z<<=v,L-=v,a.Fa=!1):(a.Fa&&z===a.fa[d]?(h+=L,L=0):a.fa[d]=z,d++);if(L){hq&&(q=h);l=F&&(F=l+1)}if(h>=a.L){h=0;if(++l>a.X)break;c+=E}}v||(a.Fa=!0);nd&&(b.vh=d,d=-d|0);d%b.qh>b.jm&&(c|=1);d%b.th>b.lm&&(c|=9);b.ei=d/b.th|0;return c}m.Gl=function(a,b){return io(this,this.pa,a,b)};m.an=function(a,b,c){var d=this.pa;d.Jg=d.Ac;d.Ac=b&31;x(this,a,b,c,"CRTC.INDX")};m.Fl=function(a,b){return jo(this,this.pa,a,b)};m.$m=function(a,b,c){ko(this,this.pa,a,b,c)};m.Hl=function(a,b){return lo(this,this.pa,b)};m.bn=function(a,b,c){a=this.pa;x(this,a.port+4,b,c,"MODE");a.gd=b;wn(this,!1)}; +m.Il=function(a,b){return mo(this,this.pa,b)};m.ek=function(a,b,c){this.A.dg=this.A.dg&-4|b&3;x(this,a,b,c,"FEAT")};m.el=function(a,b){var c=this.A.Od;b&&!A(this)||x(this,960,null,b,"ATC.INDX",c);return c};m.Ck=function(a,b){var c=this.A.Tc[this.A.Od&31];b&&!A(this)||x(this,960,null,b,"ATC."+this.A.Tg[this.A.Od&31],c);return c}; +m.dk=function(a,b,c){var d=this.A,e=d.Od&32;if(d.Xe){d.Xe=!1;var f=d.Od&31;if(16<=f||!e)c&&!A(this)||x(this,a,b,c,"ATC."+d.Tg[f]),d.Tc[f]=b,fo(this,!1)}else d.Od=b,x(this,a,b,c,"ATC.INDX"),d.Xe=!0,b&32&&!e&&un(this,!0)&&qn(this,!0),a=(d.mb[12]<<8)+d.mb[13]|0,d.Md!=a&&(d.Md=a,fo(this)),d.pf=0}; +m.Sl=function(a,b){var c=0;if(5==this.Ua)c=3-((this.A.uf&12)>>2),c=(this.Vc&1<>this.A.Kc&63;b&&!A(this)||x(this,969,null,b,"DAC.DATA["+t(this.A.pd)+"]["+t(this.A.Kc)+"]",c);this.A.Kc+=6;12Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ya().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= +(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+Ya.aspect;f&&.3<=f&&3.33>=f&&(Pa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ga("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);var g=e.getContext("2d"),d=new Z(d,e,g,f,c);mb(d,c)}}); +function no(a){this.W=a.adapter;switch(this.W){case 1:this.V=956;this.C=7;break;case 2:this.V=888;this.C=7;break;case 3:this.V=632;this.C=5;break;default:w("Unrecognized parallel adapter #"+this.W);return}this.A=this.B=null;Ua.call(this,"ParallelPort",a,no,4194304);a=a.binding;"console"==a?this.B="":kb(this,a,oo)}db(no);var oo="buffer";m=no.prototype;m.Qb=function(a,b,c){switch(b){case oo:return this.qa[b]=this.A=c,!0}return!1}; +m.Ic=function(a,b,c,d){this.ea=b;this.F=c;this.ha=d;this.N=Eb(a,"ChipSet");hc(b,this,po,this.V);lc(b,this,qo,this.V);rb(this)};m.ic=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};m.hc=function(a){return a?this.save():!0};m.reset=function(){ro(this)};m.save=function(){var a=new hf(this),b=0,c=[];c[b++]=this.L;c[b++]=this.Yb;c[b]=this.Bf;N(a,0,c);return a.data()};m.restore=function(a){return ro(this,a[0])}; +function ro(a,b){var c=0;void 0===b&&(b=[0,0,0]);a.L=b[c++];a.Yb=b[c++];a.Bf=b[c];return!0}m.tl=function(a,b){var c=this.L;x(this,a,null,b,"DATA",c);return c};m.Rl=function(a,b){var c=this.Yb;x(this,a,null,b,"STAT",c);return c};m.pl=function(a,b){var c=this.Bf;x(this,a,null,b,"CTRL",c);return c}; +m.Nm=function(a,b,c){x(this,a,b,c,"DATA");this.L=b;this.Yb|=64;if(this.A)8==b?this.A.value=this.A.value.slice(0,-1):(this.A.value+=String.fromCharCode(b),this.A.scrollTop=this.A.scrollHeight),a=!0;else if(null!=this.B){if(10==b||1024<=this.B.length)this.O(this.B),this.B="";10!=b&&(this.B+=String.fromCharCode(b));a=!0}else a=!1;a&&(this.Yb&=-65);so(this)};m.Im=function(a,b,c){x(this,a,b,c,"CTRL");this.Bf=b;so(this)};function so(a){a.N&&a.C&&(a.Bf&16&&!(a.Yb&64)?eg(a.N,a.C):dg(a.N,a.C))} +var po={0:no.prototype.tl,1:no.prototype.Rl,2:no.prototype.pl},qo={0:no.prototype.Nm,2:no.prototype.Im};Qa(function(){for(var a=nb(document,"pcjs","parallel"),b=0;b=b)a.preventDefault&&a.preventDefault(),64>8:this.ja;x(this,a,null,b,this.B&128?"DLM":"IER",c);return c};m.Bl=function(a,b){var c=this.L;x(this,a,null,b,"IIR",c);return c}; +m.Cl=function(a,b){var c=this.B;x(this,a,null,b,"LCR",c);return c};m.El=function(a,b){var c=this.C;x(this,a,null,b,"MCR",c);return c};m.Dl=function(a,b){var c=this.A;x(this,a,null,b,"LSR",c);return c};m.Jl=function(a,b){var c=this.ua;x(this,a,null,b,"MSR",c);return c}; +m.kn=function(a,b,c){x(this,a,b,c,this.B&128?"DLL":"THR");if(this.B&128)this.aa=this.aa&-256|b;else{this.wa=b;this.A&=-97;if(this.V)13==b?this.X=0:8==b?(this.V.value=this.V.value.slice(0,-1),0a.L||0>a.W)a.L=b.clientX,a.W=b.clientY;a.ga?(c=b.movementX||b.mozMovementX||b.webkitMovementX||0,d=b.movementY||b.mozMovementY||b.webkitMovementY||0):(c=b.clientX-a.L,d=b.clientY-a.W);a.L=b.clientX;a.W=b.clientY;a.Hf(c,d,a.L,a.W)}} +m.je=function(a,b){if(this.Hc&&this.F&&this.F.la.Ib){var c="mouse button"+a+" "+(b?"dn":"up");switch(a){case sn:if(this.aa!=b){this.aa=b;Go(this,c);return}break;case 2:if(this.fa!=b){this.fa=b;Go(this,c);return}}y(this,c+": ignored")}};m.Hf=function(a,b,c,d){this.Hc&&this.F&&this.F.la.Ib&&(a||b)&&(this.U=a,this.X=b,Go(this,null,c,d))}; +function Go(a,b,c,d){var e=64|(a.aa?32:0)|(a.fa?16:0)|(a.X&192)>>4|(a.U&192)>>6,f=a.U&63,g=a.X&63;A(a,8388608)&&y(a,(b?b+": ":"")+(void 0!==d?"mouse ("+c+","+d+"): ":"")+"serial packet ["+t(e)+","+t(f)+","+t(g)+"]",0,!0);vo(a.N,[e,f,g]);a.U=a.X=0}Qa(function(){for(var a=nb(document,"pcjs","mouse"),b=0;b>9]);if(f){if(e+c<=f.length)return Zo(a.za,f,e,c);for(e=d=0;c--;)d|=Xo(a,b++,1)<=e.fi&&a<=e.ak){d=a-=e.fi;var f,g;for(g in e.we){var h=e.we[g],k=a-h[0];if(!k){c=this.fg+"!"+h[1];break}b&&0>2;var e=d=0,a=new DataView(a,0,c);g.A=Array(g.Bb);for(c=0;cb.indexOf("/api/v1/dump")&&(a=ga(b),"json"==a||"gz"==a?f=encodeURI(b):"demandrw"==this.mode||"demandro"==this.mode?(f=dp(this,b),this.rg=!0):(c="path",d="&mbhd=10",!b.indexOf("http:")||!b.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(a)?(c="disk",d="&mbhd=0"):ha(b,"/")&& +(c="dir"),f=xa()+"/api/v1/dump?"+c+"="+encodeURIComponent(b)+(this.bf?"":d)+"&format=json"));return!!va(f,null,!0,function(a,b,c){ep(g,a,b,c)})}; +function ep(a,b,c,d){var e=null;a.ef=!1;var f=0>d&&a.V&&!a.V.la.cc;if(a.rg)d?a.controller.Na('Unable to connect to disk "'+a.W+'" (error '+d+": "+c+")",f):(a.N=!0,fp(a),e=a);else if(d)a.controller.Na('Unable to load disk "'+a.ea+'" (error '+d+": "+b+")",f);else{fb(a.controller.ve,b,c);try{if(0g&&0c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+c+")");if(h.length)if(1==h.length)w(h[0]);else{a.Bb=h.length;a.ub=h[0].length;a.lb=h[0][0].length;var k=h[0][0][0];a.Va=k&&k.length||512;for(d=c=0;d>2,n=k.pattern;void 0===n&&(n=k.pattern=0);var q=k.data;if(void 0===q){var p=k.bytes;if(void 0!==p&&p.length){for(var z= +l<<2,F=p.length;Fb;b++){if(128==Zo(a,e,c+0,1)){d.Zf=Zo(a,e,c+8,4);(e=Yo(a,d.Zf))&&(f=!0);break}c+=16}if(!f)return}d.Gf||(d.Gf=Zo(a,e,19,2)||Zo(a,e,32,4),d.Ff=Zo(a,e,14,2),d.kh=d.Ff+Zo(a,e,22,2)*Zo(a,e,16,1),d.uh=Zo(a,e,17,2),d.yg=Zo(a,e,13,1));d.ih=d.kh+((32*d.uh+(d.Va-1))/d.Va|0);d.im=(d.Gf-d.ih)/d.yg|0;d.Ag=4084>=d.im?12:16;d.Sk=12==d.Ag?4086:65526;b=[];for(e=d.kh;e>8;f+=2;if(k)for(;l--;)Xo(d,f,1),254>=k?(n=k,q=Xo(d,f+1),f+=3):(n=Xo(d,f+3,1),q=Xo(d,f+4),f+=6),d.zd[n]&&(d.zd[n].we[h]=[q]),d.A[h]=[n,q],h++;else h+=l}(g=$o(e,Uo,c))&&ap(e,g+c);g=$o(e,Vo,c);h=$o(e,So,c);g&&h&&ap(e,g,g+h)}}}} +function ip(a,b,c,d,e){var f,g=a.C.length,h=b.Va/32|0;b.Ao=d+"\\";for(var k=0;kF)break;for(var v=p.ih+(F-2)*p.yg,E=0;E>3,1),d?e=16==b.Ag?e<<8:c&7?e<<4:(e&15)<<8:c&7&&(e>>=4));return e} +function Yo(a,b){var c=a.ub*a.lb,d=b/c|0;return dg)break;e|=g<=f)break;e+=String.fromCharCode(f)}return e}function cp(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Tk=b;a.Uk=c;a.wd=a.Zc=0;a.Wa=!1;return a} +function dp(a,b){var c;c="action=open&volume="+b+("&mode="+a.mode);c+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;c+="&machine="+a.controller.ff();c+="&user="+a.controller.ke();return xa()+"/api/v1/disk?"+c} +function kp(a,b,c,d,e,f,g){if(a.N){var h;h="action=read&volume="+a.W;h+="&chs="+a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h=h+("&addr="+b+":"+c+":"+d+":"+e)+("&machine="+a.controller.ff());h+="&user="+a.controller.ke();va(xa()+"/api/v1/disk?"+h,null,f,function(h,l,n){h=[b,c,d,e,f,g];var q=!1,p=h[0],z=h[1],F=h[2],v=h[3];if(!n){l=JSON.parse(l);for(q=0;v--;){var E=a.seek(p,z,F,!0);if(!E)break;gp(E,l,q);q+=E.length;F++}q=h[4]}(h=h[5])&&h(n,q)})}else g&&g(-1,!1)} +function lp(a,b,c,d,e,f,g){if(a.N){var h={};a.ga=!0;h.action="write";h.volume=a.W;h.chs=a.Bb+":"+a.ub+":"+a.lb+":"+a.Va;h.addr=b+":"+c+":"+d+":"+e;h.machine=a.controller.ff();h.user=a.controller.ke();h.data=JSON.stringify(f);va(xa()+"/api/v1/disk",h,g,function(f,h,n){var q=[b,c,d,e,g];f=q[0];h=q[1];var p=q[2],z=q[3],q=q[4];a.ga=!1;if(0<=f&&fb&&(b=0);2E3>2,e=Array(d),f=0;f>2,e=a.data;a=a.pattern;for(var f=0;f>8&255;c[d++]=g>>16&255;c[d++]=g>>24&255}return c}m.read=function(a,b){var c=-1;if(a&&b>2,c=(d>((b&3)<<3)&255;return c}; +m.write=function(a,b,c){if(this.ef)return!1;if(b>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Zc?f=a.wd+a.Zc&&(a.Zc+=f-(a.wd+a.Zc)+1):(a.wd=f,a.Zc=1);d[f]=d[f]&~(255<=this.A.length||k>=this.A[h].length||l>=this.A[h][k].length){c="sector (CHS="+h+":"+k+":"+l+") out of range ("+ +b+" changes applied)";b=-1;break}if(this.ef){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.A[h][k][l]){for(k=h.data.length;kb?-2!=b&&this.controller.Na("Unable to restore disk '"+this.ea+": "+c):fp(this);return b}; +m.toJSON=function(){var a;a=0;for(var b;b=Yo(this,a++);)qp(b);a=JSON.stringify(this.A,function(a,b){return"file"==a?void 0:b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")}; +function qp(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function rp(a){Ua.call(this,"FDC",a,rp,524288);this.dmaRead=this.wk;this.dmaWrite=this.xk;this.dmaFormat=this.Lk;this.U=a.autoMount||null;this.ga=a.sortBy||"name";"none"==this.ga&&(this.ga=null);this.B=[];this.ja=!Ga("Mobi")&&window&&"FileReader"in window}db(rp);aa={}; +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.io},6:{Vd:9,ie:7,name:aa.Sn},7:{Vd:2,ie:0,name:aa.Un},8:{Vd:1,ie:2,name:aa.Yn},10:{Vd:2,ie:7,name:aa.Tn},13:{Vd:6,ie:7,name:aa.En},15:{Vd:3,ie:0,name:aa.Wn}};m=rp.prototype; +m.Qb=function(a,b,c){var d=this;switch(b){case "listDisks":this.qa[b]=c;if(this.ga){b=[];for(a=0;ab.value?1:a.valueb.textContent?1:a.textContent'+b+"");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}; +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){if(!b){if(!a||!this.restore){if(this.reset(),this.V.dh){this.B=[];for(var c=0;cg.za.restore(p)&&(h=!1);h&&g.za&&void 0!==g.eb&&(g.pb=g.za.seek(g.Rb,g.kb,g.xb));h||(e=!1)}a.X=b[c++]||0;a.kc=b[c]||0;return e}m.Gi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; +m.lk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[2],f=d[1]*e;if(b+c<=d[0]*f)return a.Rb=Math.floor(b/f),b%=f,a.kb=Math.floor(b/e),a.xb=b%e+1,a.Hb=c*d[3],a.Cb=0,!0}return!1}; +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(!(f=d.name))a:{if((f=a.qa.listDisks)&&f.options)for(var g=0;gCp(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;ha.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=this.C&&(this.ma&=-81,this.L=this.C=0);return c}; +m.Pm=function(a,b,c){A(this)&&x(this,a,b,c,"DATA["+this.C+"]");this.C=sp[a].Vd){b=!1;this.L=0;a=Ep(this);var d,e,f,g,h=a&31;switch(h){case 3:Ep(this);Ep(this);Fp(this);break;case 4:c=Ep(this);this.hb=c&3;d=this.A[this.hb];Fp(this);Gp(this,(d.Cb&-16777216)>>>24);break;case 5:case 6:c=Ep(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];d.kb=b;c=d.Rb=Ep(this);e=Ep(this);f=d.xb=Ep(this);g=Ep(this);d.Hb=128<>2&1;this.hb=c&3;d= +this.A[this.hb];c=d.Rb;e=d.kb=b;f=d.xb=1;g=0;d.Cb=0;d.za&&(d.pb=d.za.seek(d.Rb,d.kb,d.xb))?g=d.pb.length>>8:d.Cb=72;Hp(this,d,a,b,c,e,f,g);b=!0;break;case 13:c=Ep(this);b=c>>2&1;this.hb=c&3;d=this.A[this.hb];c=d.Rb;e=d.kb=b;f=1;g=Ep(this);d.Hb=128<>2&1,c=Ep(this),d.Rb+=c-d.ge,0>d.Rb&&(d.Rb=0),d.Rb>=d.Bb&&(d.Rb=d.Bb-1),d.ge=c,d.Cb=32,d.Rb||(d.Cb|=268435456),Fp(this),b=!0}0>>8);Gp(a,(b.Cb&16711680)>>>16);var k=0;if(e!=b.Rb||f!=b.kb)k=g=1;c&128&&(f^=k,d||(k=0));Gp(a,e+k);Gp(a,f);Gp(a,g);Gp(a,h)}function Ep(a){var b=a.W[a.L];a.L++;return b}function Fp(a){a.L=a.C=0}function Gp(a,b){a.W[a.C++]=b} +m.wk=function(a,b,c){if(void 0===b||0>b){b=-1;var d=null,e=0;if(!a.Cb&&a.za){do{if(a.pb&&(e=a.eb,0<=(b=a.za.read(a.pb,a.eb++)))){d=a.pb;break}a.pb=a.za.seek(a.Rb,a.kb,a.xb);if(!a.pb){a.Cb=1088;break}a.eb=0;Ip(a)}while(1)}c(b,!1,d,e)}else c(-1,!1)};m.xk=function(a,b){return void 0!==b&&0<=b?Jp(a,b):-1}; +m.Lk=function(a,b){var c;if(void 0!==b&&0<=b)a:if(c=b,a.Cb)c=-1;else{a.md[a.Ve++]=c;if(a.Ve==a.md.length){a.Rb=a.md[0];a.kb=a.md[1];a.xb=a.md[2];a.Hb=128<Jp(a,a.xi)){c=-1;break a}a.ng++}a.ng>=a.he&&(c=-1)}else c=-1;return c};function Jp(a,b){if(a.Cb||!a.za)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.pb=a.za.seek(a.Rb,a.kb,a.xb);if(!a.pb){a.Cb=8256;b=-1;break}a.eb=0;Ip(a)}while(1);return b} +function Ip(a){a.xb++;a.xb>=a.Of+1&&(a.xb=1,a.kb++,a.kb>=a.Nf&&(a.kb=0,a.Rb++))}var wp={1009:rp.prototype.vl,1012:rp.prototype.xl,1013:rp.prototype.ul,1015:rp.prototype.wl},xp={1010:rp.prototype.Qm,1013:rp.prototype.Pm,1015:rp.prototype.Om};Qa(function(){for(var a=nb(document,"pcjs","fdc"),b=0;bk.za.restore(g)&&(z=!1),z&&void 0!==k.eb&&(k.pb=k.za.seek(k.de,k.kb,k.xb+ +k.mg)));z||(e=!1);null!=a.pa&&1>=d&&(a.pa|=(f.type&3)<<(1-d<<1))}0<=a.hb&&(a.B=a.A[a.hb]);return e}m.Gi=function(a){var b;a=this.A[a];if(void 0!==a){b={};for(var c in a)b[c]=a[c]}return b}; +function Tp(a,b,c){if(b){var d=0,e=0;null==c&&((d=b.Qe[2])?e=b.Qe[0]<<8|b.Qe[1]:c=b.type);null==c||d||(d=Mp[a.U][c][1],e=Mp[a.U][c][0]);d&&((c=Mp[a.U][b.type])&&e!=c[0]&&d!=c[1]&&a.Na("Warning: drive parameters ("+e+","+d+") do not match drive type "+b.type+" ("+c[0]+","+c[1]+")"),b.Bb=e,b.ub=d,null==b.za&&(b.za=new Ho(a,b,b.mode)))}} +m.lk=function(a,b,c){if(a.za){var d=a.za.info(),e=d[0];if(e){var f=d[2],g=d[1]*f;if(b+c<=e*g)return a.de=Math.floor(b/g),b%=g,a.kb=Math.floor(b/f),a.xb=b%f,a.Hb=c*d[3],a.errorCode=0,!0}}return!1}; +function Rp(a,b){b||(a.fa=0);for(var c=0;c=this.C&&(this.L=this.C=0,this.ma&=-15);return c};m.nn=function(a,b,c){x(this,a,b,c,"DATA["+this.C+"]");this.C=a&&(this.ma|=2,this.ma&=-2,Up(this))};m.Yl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.L=a.B.Va?(a.ma=128,Wp(a.B,function(b){0<=b?(Xp(a),a.N&&5180==a.N.ia&&(a.ma=0),a.ma|=88):(a.ma=1,a.X=16)},!1)):a.ma=80));return d}m.Ak=function(a,b){return Vp(this,a,b)|Vp(this,a,b)<<8}; +function Yp(a,b,c,d){if(a.B&&a.B.Hb>=a.B.Va)if(0>Zp(a.B,c))a.ma=1,a.X=16;else if(1==a.B.eb||a.B.eb==a.B.Va)A(a,1048832)&&x(a,b,c,d,"DATA["+a.B.eb+"]"),1=a.B.Va&&(a.ma|=8))}m.wm=function(a,b,c){Yp(this,a,b&255,c);Yp(this,a,b>>8&255,c)};m.dl=function(a,b){var c=this.X;x(this,a,null,b,"ERROR",c);return c};m.Bm=function(a,b,c){x(this,a,b,c,"WPREC");this.Pa=b};m.fl=function(a,b){var c=this.aa;x(this,a,null,b,"SECCNT",c);return c}; +m.zm=function(a,b,c){x(this,a,b,c,"SECCNT");this.aa=b};m.gl=function(a,b){var c=this.Ca;x(this,a,null,b,"SECNUM",c);return c};m.Am=function(a,b,c){x(this,a,b,c,"SECNUM");this.Ca=b};m.bl=function(a,b){var c=this.ya;x(this,a,null,b,"CYLLO",c);return c};m.vm=function(a,b,c){x(this,a,b,c,"CYLLO");this.ya=b};m.al=function(a,b){var c=this.wa;x(this,a,null,b,"CYLHI",c);return c};m.um=function(a,b,c){x(this,a,b,c,"CYLHI");this.wa=b};m.cl=function(a,b){var c=this.ra;x(this,a,null,b,"DRVHD",c);return c}; +m.xm=function(a,b,c){x(this,a,b,c,"DRVHD");this.ra=b;this.ma=this.A[this.ra&16?1:0]?this.ma|80:this.ma&-65};m.hl=function(a,b){var c=this.ma;x(this,a,null,b,"STATUS",c);this.ma&64&&(this.ma&=-129);return c};m.tm=function(a,b,c){x(this,a,b,c,"COMMAND");this.Ea=b;this.N&&dg(this.N,14);$p(this)};m.ym=function(a,b,c){x(this,a,b,c,"FDR");this.ga&4&&!(b&4)&&(this.X=1);this.ga=b}; +function $p(a){var b=!1,c=a.Ea,d=a.ra&16?1:0,e=a.ra&15,f=a.ya|(a.wa&3)<<8,g=a.Ca,h=a.aa||256;a.hb=-1;a.B=null;a.X=0;a.ma=80;var k=a.A[d];k?(k.de=f,k.kb=e,k.xb=g,k.Hb=h*k.Va,c=144<=c?c:c&240,k.pb=null,k.eb=0,k.errorCode=0,a.hb=d,a.B=k):c=-1;switch(c&240){case 16:b=!0;break;case 32:a.ma=128;Wp(k,function(b){0<=b&&a.N?(Xp(a),a.ma=88):(a.ma=1,a.X=16)},!1);break;case 48:a.ma=8;break;case 64:b=!0;break;case 112:b=!0;break;case 144:a.X=1;b=!0;break;case 145:k.ub=e+1,k.lb=h,b=!0}b&&Xp(a)} +function Xp(a){!a.N||a.ga&2||eg(a.N,14,120)} +function Up(a){a.L=0;var b=aq(a),c=aq(a),d=c&32,e=d>>5,f=c&31,g=aq(a),h=aq(a),k=g<<2&768|h,l=g&63,n=aq(a),q=aq(a),p=a.A[e];p&&(p.de=k,p.kb=f,p.xb=l,p.Hb=n*p.Va);switch(b){case 3:bq(a,p?p.errorCode:4);cq(a,c);cq(a,g);cq(a,h);cq(a,0|d);b=-1;break;case 12:for(c=0;0<=(b=aq(a));)p&&cb?Wp(a,c):c(-1,!1)};m.zk=function(a,b){return void 0!==b&&0<=b?Zp(a,b):-1}; +m.Mk=function(a,b){var c;void 0!==b&&0<=b?(c=b,a.ebZp(a,a.xi)){c=-1;break a}a.ng++}a.ng>=a.he&&(c=-1)}else c=-1;return c}; +function dq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;xl(a.N,3,a,"dmaRead",b);pl(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)});return}c(b.errorCode?2:0)}function eq(a,b,c){b.errorCode=4;if(b.za&&(b.pb=null,a.N)){b.errorCode=0;xl(a.N,3,a,"dmaWrite",b);pl(a.N,3,function(a){a||(0==b.errorCode&&(b.errorCode=4),20==b.errorCode&&(b.errorCode=0));c(b.errorCode?2:0)});return}c(b.errorCode?2:0)} +function fq(a,b,c){b.errorCode=4;b.Re&&b.Re.length==b.Hb||(b.Re=Array(b.Hb));b.eb=0;a.N?(b.errorCode=0,xl(a.N,3,a,"dmaWriteBuffer",b),pl(a.N,3,function(a){a||0!=b.errorCode||(b.errorCode=4);c(b.errorCode?2:0)})):c(b.errorCode?2:0)} +function Wp(a,b,c){var d=-1,e=null,f=0;if(a.errorCode)return b&&b(d,!1,e,f),d;var g=!1!==c?1:0;if(a.pb&&(f=a.eb,d=a.za.read(a.pb,a.eb),a.eb+=g,0<=d))return e=a.pb,b&&b(d,!1,e,f),d;if(b){if(a.za)return a.za.seek(a.de,a.kb,a.xb+a.mg,!1,function(c,k){(a.pb=c)?(e=c,f=a.eb=0,gq(a),d=a.za.read(a.pb,a.eb),a.eb+=g):a.errorCode=20;b(d,k,e,f)}),d;a.errorCode=20;b(d,!1,e,f)}return d} +function Zp(a,b){if(a.errorCode)return-1;do{if(a.pb&&a.za.write(a.pb,a.eb++,b))break;a.za&&a.za.seek(a.de,a.kb,a.xb+a.mg,!0,function(b){a.pb=b});if(!a.pb){a.errorCode=20;b=-1;break}a.eb=0;gq(a)}while(1);return b}function gq(a){a.xb++;var b=1-a.mg;a.xb>=a.lb+b&&(a.xb=b,a.kb++,a.kb>=a.ub&&(a.kb=0,a.de++))}m.Zl=function(){var a=this.F.M&255;!(this.F.G>>8)&&128>8||!this.N)||(a=!(this.N.vc[0].Bd&64));return a?!0:!1}; +var Op={800:Kp.prototype.Xl,801:Kp.prototype.Yl,802:Kp.prototype.Wl},Np={496:Kp.prototype.Ak,497:Kp.prototype.dl,498:Kp.prototype.fl,499:Kp.prototype.gl,500:Kp.prototype.bl,501:Kp.prototype.al,502:Kp.prototype.cl,503:Kp.prototype.hl},Qp={800:Kp.prototype.nn,801:Kp.prototype.qn,802:Kp.prototype.pn,803:Kp.prototype.on,807:Kp.prototype.gi,811:Kp.prototype.gi,815:Kp.prototype.gi},Pp={496:Kp.prototype.wm,497:Kp.prototype.Bm,498:Kp.prototype.zm,499:Kp.prototype.Am,500:Kp.prototype.vm,501:Kp.prototype.um, +502:Kp.prototype.xm,503:Kp.prototype.tm,1014:Kp.prototype.ym};Qa(function(){for(var a=nb(document,"pcjs","hdc"),b=0;b>2;this.Ba=b.xg;this.bc=new ed(this.F,7,"DBG");this.Ia=zq;80186<=this.F.ia&&(this.Ia=zq.slice(),this.Ia[15]=xq,80286<=this.F.ia&&(this.Ia[15]=yq,80386<=this.F.ia&&(this.Ja=8)));Mk(this,64,function(a){Dq(d,d.F.ld,a[0])});Mk(this,4,function(a){if(a=a[0]){var b=Eq(d,a);if(void 0===b)d.O("invalid selector: "+a);else if(a=Fq(d, +b,2),d.O("dumpSel("+u(a?a.Z:b)+"): %"+r(a?a.Xb:null,d.Ca)),a){var c,b=!1;if(a.type&4096)a.type&2048?(c="code"+(a.type&512?",readable":",execonly"),a.type&1024&&(c+=",conforming")):(c="data"+(a.type&512?",writable":",readonly"),a.type&1024&&(c+=",expdown")),a.type&256&&(c+=",accessed");else{var h=Gq[a.type];h&&(c=h[0],b=h[1])}!c||a.wb&32768||(c+=",not present");d.O((b?"seg="+u(a.Aa&65535)+" off="+u(a.Ta):"base="+r(a.Aa,d.Ca)+" limit="+Hq(a.Ta))+" type="+t(a.type>>8)+" ("+c+") ext="+u(a.ext&-65296)+ +" dpl="+t(a.Gc))}}else d.O("no selector")});Mk(this,134217728,function(a){var b;(a=a[0])&&(b=Eq(d,a));if(void 0===b)d.O("invalid MCB");else for(d.O("dumpMCB("+u(b)+")");b;){a=iq(d,0,b);var c=d.Qa(a,1),h=d.na(a,2),k=d.na(a,5);if(77!=c&&90!=c)break;d.O(Iq(0,b)+": '"+String.fromCharCode(c)+"' PID="+u(h)+" LEN="+u(k)+' "'+Jq(d,a,8)+'"');b+=1+k}});Mk(this,128,function(a){Dq(d,d.F.sa,a[0],d.F.sa!==d.F.ld)});Mk(this,8,function(a){a:{if(a=a[0]){var b=Eq(d,a);if(void 0===b){d.O("invalid task selector: "+a); +break a}a=Fq(d,b,2)}else a=d.F.Sa;d.O("dumpTSS("+u(a?a.Z:b)+"): %"+r(a?a.Aa:null,d.Ca));if(a){var b="",c=a.type&-513,h=256==c?4:8,k=256==c?Kq:Lq,l,n,q,p;for(p in k)l=k[p],n=a.Aa+l,q=If(d.F,n,2),2304==c&&(q|=If(d.F,n+2,2)<<16),b&&(b+="\n"),b+=u(l)+" "+ma(p+":",11)+r(q,h);if(2304==c)for(p=0,l=q>>>16;lp;)n=a.Aa+l,q=If(d.F,n,2),b+="\n"+u(l)+" ports "+u(p)+"-"+u(p+15)+": "+ea(q,2),p+=16,l+=2;d.O(b)}}});this.C=null;this.rb=0;this.cb=!1;cf(this.F,48,this.bm.bind(this));cf(this.F,65,this.cm.bind(this)); +this.ka=null;cf(this.F,104,this.dm.bind(this));rb(this)};function Mq(a,b,c,d,e,f){b=Jq(a,b);var g=Fq(a,d),g=g?g.Ta+1:0,h=(e?"_CODE":"_DATA")+r(c,2);f&&A(a,128)&&a.message(b+" "+(e?"code":"data")+"("+r(c,4)+")=#"+r(d,4)+" len "+r(g));e=Nq(a,b,c);e[b+h]=0;am(a,b,c,d,0,null,g,e)} +function Oq(a,b,c,d){var e=a.na(b,2),f=a.na(b,2),g=a.oa(b,4),h=a.oa(b,4),k=iq(a,a.oa(b,4),a.na(b,2));b=iq(a,a.oa(b,4),a.na(b,2));b=Jq(a,b).toUpperCase();var k=Jq(a,k).toUpperCase(),l=(c?"_CODE":"_DATA")+r(e,2);d&&A(a,128)&&a.message((b==k?"":b+"!")+k+" "+(c?"code":"data")+"("+r(e,4)+")="+r(f,4)+":"+r(g)+" len "+r(h));c=Nq(a,k,e);c[k+l]=g;am(a,k,e,f,g,null,h,c)}function Pq(a,b,c){c=Jq(a,c).toUpperCase();Qq(a,c,b)} +m.bm=function(){var a=this.F;if(null!=this.C&&2752554==a.G){var b=a.M&65535,c=a.K&65535,d=iq(this,I(a)+12,a.ta.Z);switch(this.oa(d)){case 336:Oq(this,iq(this,a.H,b),!c,!!this.C)}}return!0}; +m.cm=function(a){var b=this.F,c=b.G&65535,d=b.H&65535,e=b.I&65535,f=b.M&65535,g=b.K&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.C)return 79==c&&df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x41 handling enabled",128),a.C=!0):(y(a,"INT 0x41 monitoring enabled",128),a.C=!1)}}(this)),!0;switch(c){case 79:this.C&&(b.G=b.G&-65536|62342,y(this,"INT 0x41 handling enabled",128));break;case 80:Mq(this,iq(this,h,k),d+1,e,!(g&1),!!this.C);break;case 82:Qq(this,null,d); +break;case 127:this.C&&(b.G=b.G&-65536|(this.cb?0:1));break;case 131:this.C&&(a=iq(this,b.M,e),this.rb++?(this.O("TRAPFAULT failed"),Rq(this,this.A,a,!0,!0),this.rb=0,this.Wb()):(this.O("INT 0x41 TRAPFAULT: fault="+u(d)+" error="+("0x"+r(b.K))+" addr="+Sq(a)),this.Sd(this.A,a,!0),kq(this,!0)));break;case 141:this.C&&(b.G=b.G&-65536|1);break;case 336:Oq(this,iq(this,b.H,f),!g,!!this.C);break;case 338:Pq(this,d,iq(this,b.J,f))}this.cb=!1;return!this.C}; +m.dm=function(a){var b=this.F,c=b.G&255,d=b.G>>8&255,e=b.H&65535,f=b.I&65535,g=b.M&65535,h=b.J&65535,k=b.Xa.Z;if(null==this.ka){if(67==d){if(609437257==b.oa((b.va.Z<<4)+10)||1111835735==b.oa((b.va.Z<<4)+95))return!0;df(b,a,function(a){return function(){62342!=(b.G&65535)?(b.G=b.G&-65536|62342,y(a,"INT 0x68 handling enabled",128),a.C=a.ka=!0):(y(a,"INT 0x68 monitoring enabled",128),a.ka=!1)}}(this))}return!0}switch(d){case 67:this.ka&&(b.G=b.G&-65536|62342);break;case 68:this.ka&&(a=gd(b.va,this.Hk.bind(this)))&& +(b.J=a[0],wd(b,a[1]));break;case 72:Qq(this,null,e);break;case 80:32==c?Mq(this,iq(this,h,k),0,f,!0,!!this.ka):128>c?Mq(this,iq(this,h,k),e+1,c&64?g:f,!(c&1),!!this.ka):Oq(this,iq(this,h,k),!(c&1),!!this.ka),this.ka&&(b.G=b.G&-256|1)}return!this.ka};m.Hk=function(){var a=this.F;5==(a.G&255)&&(a.I=a.K=0,a.G=a.G&-256|1);return!1}; +m.Qb=function(a,b,c){var d=this;switch(b){case "debugInput":return this.Ka=this.qa[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",mq(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?d.U>>0)+1;a.wb=f;a.type=g;a.ext=k;a.Xb=d;fd(a,!0,!0,!1)}}return a}m.dc=function(a,b,c){var d=a&&a.Da;if(null==d&&(d=-1,a)){var e=Fq(this,a.Z,a.type);e&&(b=a.Ra||0,c=c||1,d=e=-1===e.Xb||e.cd&&(b>>>0)+c>e.Zb||!e.cd&&(b>>>0)+c<=e.Zb?e.Aa+b|0:-1,a.Da=d)}return d};m.Qa=function(a,b){var c=255,d=this.dc(a,!1,1);-1!==d&&(c=If(this.F,d,1,5==a.type)|0,b&&Uq(this,a,b));return c}; +m.tb=function(a,b){return a.Sb?this.oa(a,b?4:0):this.na(a,b?2:0)};m.na=function(a,b){var c=65535,d=this.dc(a,!1,2);-1!==d&&(c=If(this.F,d,2,5==a.type),b&&Uq(this,a,b));return c};m.oa=function(a,b){var c=-1,d=this.dc(a,!1,4);-1!==d&&(c=If(this.F,d,4,5==a.type),b&&Uq(this,a,b));return c};m.qc=function(a,b,c){var d=this.dc(a,!0,1);if(-1!==d){if(5!=a.type)this.F.qc(d,b);else{var e=this.ea;e.sa[(d&e.Gb)>>>e.La].wf(d&e.A,b&255,d)}c&&Uq(this,a,c);Qc(this.F,!0)}}; +m.jb=function(a,b,c){var d=this.dc(a,!0,2);-1!==d&&(5!=a.type?this.F.jb(d,b):fc(this.ea,d,b),c&&Uq(this,a,c),Qc(this.F,!0))};function iq(a,b,c,d,e,f,g){return Vq(a,{},b,c,d,e,f,g)}function Vq(a,b,c,d,e,f,g,h){b.Ra=c||0;b.Z=d;b.Da=e;b.type=f||(Tq(a)?2:1);b.Sb=null!=g?g:a.F&&4==a.F.va.ba;b.pc=null!=h?h:a.F&&4==a.F.va.Oc;b.Xd=!1;return b}function Wq(a){return[a.Ra,a.Z,a.Da,a.Xd,a.Sb,a.pc,a.Se,a.Wd]}function Xq(a){return{Ra:a[0],Z:a[1],Da:a[2],Xd:a[3],Sb:a[4],pc:a[5],Se:a[6],Wd:a[7]}} +function Yq(a,b,c){if(null!=b.Z&&(a=Fq(a,b.Z,b.type))){var d=b.Ra&a.Ba;if(!a.cd){if(d>>>0>=a.Zb)return!1}else if(d>>>0f?null!=h?(g=ar(a,b,void 0),f=null):(f=ar(a,b,void 0),null==f&&(g=null)):(h=ar(a,b.substring(0,f),void 0),g=ar(a,b.substring(f+1),void 0),f=null)}null!=g&&(e=iq(a,g,h,f,c),d||Yq(a,e,!0)||(a.O("invalid offset: "+Sq(e)),e=null));return e}function br(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Dk=cr(a,b.jk=c[2]))}function Uq(a,b,c){c=c||1;null!=b.Da&&(b.Da+=c);null!=b.Z&&(b.Ra+=c,Yq(a,b)||(b.Ra=0,b.Da=null))}function Iq(a,b,c){return null!=b?r(b,4)+":"+r(a,a&-65536||c?8:4):r(a)} +function Sq(a){var b;switch(a.type){case 1:case 3:b="&";break;case 2:b="#";break;case 4:b="%";break;case 5:b="%%";break;default:b=a.Z?"":"%"}return 4<=a.type||null==a.Z?b+r(a.Da):b+Iq(a.Ra,a.Z,a.pc)}function Jq(a,b,c){var d="";for(c=c||256;d.length>>a.F.La;g=1}a.O("blockid "+(d?"linear ":"physical")+" blockaddr used size type");a.O("-------- --------- ---------- ------ ------ ----");c=-1;for(var h=0;g--;)(d=b[f])&&5==d.type&&(d=Fc(a.F,e,!1,!0)),d.type==c?h++||a.O("..."):(c=d.type,h=sc[c],6==c&&(d=d.Cd,h+=" -> "+sc[d.type]),d&&a.O(r(d.id)+" %"+r(f<c&&(c=ua(uq,a.substr(b,2))));return c} +function fr(a,b){var c=0,d=gr(a,b);if(void 0!==d)switch(b){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:c=2;break;case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 22:case 16:case 17:case 18:case 19:case 20:case 21:c=4;break;case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 56:c=8;break;case 23:c=a.Ja}return c?r(d,c):"??"} +function gr(a,b){var c;if(0<=b){var d=a.F;switch(b){case 0:c=d.G&255;break;case 1:c=d.I&255;break;case 2:c=d.M&255;break;case 3:c=d.H&255;break;case 4:c=d.G>>8&255;break;case 5:c=d.I>>8&255;break;case 6:c=d.M>>8&255;break;case 7:c=d.H>>8&255;break;case 8:c=d.G&65535;break;case 9:c=d.I&65535;break;case 10:c=d.M&65535;break;case 11:c=d.H&65535;break;case 12:c=I(d)&65535;break;case 13:c=d.P&65535;break;case 14:c=d.K&65535;break;case 15:c=d.J&65535;break;case 22:c=K(d)&65535;break;case 23:c=xd(d);break; +case 16:c=d.Xa.Z;break;case 17:c=d.va.Z;break;case 18:c=d.ta.Z;break;case 19:c=d.vb.Z;break;default:if(80286==a.F.ia)32==b&&(c=d.Za);else if(80386<=a.F.ia)switch(b){case 24:c=d.G;break;case 25:c=d.I;break;case 26:c=d.M;break;case 27:c=d.H;break;case 28:c=I(d);break;case 29:c=d.P;break;case 30:c=d.K;break;case 31:c=d.J;break;case 32:c=d.Za;break;case 33:c=d.ji;break;case 34:c=d.te;break;case 35:c=d.Pd;break;case 20:c=d.Ob.Z;break;case 21:c=d.Pb.Z;break;case 56:c=K(d)}}}return c} +function hr(a,b){b=$q(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=er(b,c+1),0<=e&&(b=b.substr(0,c)+fr(a,e)+b.substr(c+1+uq[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=ca(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=Zq(a,e))?(d=e+' "'+Jq(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=Zq(a,e))?(Uq(a,d),d=e+ +' "'+Jq(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}m=hq.prototype;m.message=function(a,b){b&&(a+=" at "+Sq(iq(this,K(this.F),this.F.va.Z))+" (%"+r(this.F.Ga)+")");if(!this.Pa||a!=this.Pa)if(this.Pa=a,this.wc&-2147483648&&(this.Wb(),a+=" (cpu halted)"),this.O(a),this.F){var c=this.F;c.Y.mf=0;c.fb-=c.A;c.A=0;Qc(c)}}; +function kk(a,b,c,d){var e,f;if(!d&&(d=A(a,1)&&0>oq.indexOf(b),!d)){var g=nq[b];g&&(d=A(a,g)?!0:524288==g&&A(a,g=1048576))}d&&(e=a.F.G>>8&255,f=a.F.M&255,33==b&&11==e||524288==g&&128<=f||1048576==g&&128>f)&&(d=!1);d&&((g=(g=yb[b])&&g[e]||"")&&(g=" "+hr(a,g)),a.message("INT "+t(b)+": AH="+t(e)+" at "+Iq(c-2-a.F.va.Aa,a.F.va.Z)+g));return d} +function ob(a,b,c,d,e,f,g,h){h|=256;if(null==e||(a.wc&h)==h)h=null,null!=e&&(h=a.F.va.Z,e-=a.F.va.Aa),a.message(b.ee+"."+(null!=d?"outPort":"inPort")+"("+u(c)+","+(f?f:"unknown")+(null!=d?","+t(d):"")+")"+(null!=g?": "+t(g):"")+(null!=e?" at "+Iq(e,h):""))}m.hh=function(){this.O("Type ? for help with PCjs Debugger commands");this.qd();if(this.gb){var a=this.gb;this.gb=null;mq(this,a)}}; +function kq(a,b){var c;if(Tf(a)){if(!a.ja||!a.ja.length){a.ja=Array(1E3);for(c=0;c>>f.La].Sd(e&f.Fa,a==this.ga);g&&Ub(f)}}d&&(a.push(b),c?(null!=b.Da&&(b.Z=null),b.Xd=!0):(nr(this,a,a.length-1,"set"),kq(this)));return d}; +function Rq(a,b,c,d,e){for(var f=!1,g=or(a,a.dc(c)),h=1;h>3&7,z=(3>(g>>6&3)?0:48)+p;(217==f||219==f)&&52<=z&&(z=p<<4|g&7);(p=Bq[f])&&(q=p[z]);q&&(n=rq,k=q,l=k[0])}l>=n.length&&(g=a.Qa(b,1),k=Cq[l-n.length][g>>3&7],l=k[0]);n=n[l];p=k.length-1;q="";b.Sb&&(18==l? +n="CWDE":28==l?n="CDQ":104<=l&&107>=l&&(n+="D"));if(164<=f&&167>=f||170<=f&&175>=f)p=0,b.Sb&&"W"==n.slice(-1)&&(n=n.slice(0,-1)+"D");for(var f=null,z=!0,F=1;F<=p;F++){var v,E;v="";E=k[F];if(void 0!==E){null==f&&(f=E>>14);80==l&&(2==f?q="[%800]":3==f&&(q="ES:["+(b.pc?"E":"")+"DI]"));var H=E&15;if(0!=H)if(8==H)z=!1;else{var L=E&240;if(128<=L)if(0>g&&(g=a.Qa(b,1)),160>L){v=a;var V=p,H=b,P="",bb=g>>6,ia=g&7;if(3>bb){var ja=void 0,L=0==n.indexOf("FI");if(!bb&&(!H.pc&&6==ia||H.pc&&5==ia))bb=2;else{if(H.pc)if(4!= +ia)ia+=8;else{var P=v,ja=bb,Ha=H,Xa=P.Qa(Ha,1),Ba=Xa>>6,Vb=Xa>>3&7,Xa=Xa&7,wa="";if(ja||5!=Xa)wa=vq[Xa+8];4!=Vb&&(wa&&(wa+="+"),wa+=vq[Vb+8],Ba&&(wa+="*"+(1<>24,P+="-"+r(-ja,2)):P+="+"+r(ja,2)):2==bb&&(P&&(P+="+"),H.pc?(ja=v.oa(H,4),P+=r(ja)):(ja=v.na(H,2),P+=r(ja,4)));P="["+P+"]";if(1==V){v="";E&=15;4==E&&(E=H.Sb?5:3);switch(E){case 7:v="FAR";break;case 1:v="BYTE";break;case 3:if(L){v="INT16"; +break}v="WORD";break;case 5:v="DWORD";break;case 11:if(L){v="INT32";break}case 11:v="REAL32";break;case 12:if(L){v="INT64";break}case 12:v="REAL64";break;case 13:v="REAL80";break;case 14:v="BCD80"}v&&(P=v+" "+P)}}else P=sr(v,ia,E,H);v=P}else v=160==L?sr(a,g&7,E,b):sr(a,g>>3&7,E,b);else if(16==L)v="1";else if(0==L){v=a;H=E;L=b;E=" ";switch(H&15){case 1:H&12288&&(E=r(v.Qa(L,1),2));break;case 2:E=r(v.Qa(L,1)<<24>>24,L.Sb?8:4);break;case 4:if(L.Sb){E=r(v.oa(L,4));break}case 3:E=r(v.na(L,2),4);break;case 7:L= +iq(v,v.tb(L,!0),v.na(L,2),null,L.type,L.Sb,L.pc);E=Sq(L);v=tr(v,L);v[0]&&(E+=" ("+v[0]+")");break;default:E="imm("+u(H)+")"}v=E}else 32==L?(b.pc?(v=8,E=a.oa(b,4)):(v=4,E=a.na(b,2)),v="["+r(E,v)+"]"):48==L?(v=1==H?a.Qa(b,1)<<24>>24:a.tb(b,!0),E=b.Ra+v&(b.Sb?-1:65535),v=r(E,b.Sb?8:4),E=tr(a,iq(a,E,b.Z)),E[0]&&(v+=" ("+E[0]+")")):96==L?v=9==H?"ST":10==H?"ST("+(g&7)+")":sr(a,(E&3840)>>8,E,b):112==L?v=sr(a,(E&3840)>>8,192,b):64==L?v="DS:[SI]":80==L&&(v="ES:[DI]");if(!v||!v.length){q="INVALID";break}0< +q.length&&(q+=",");q+=v||"???"}}}g="";k=Sq(e)+" ";if(-1!==e.Da&&-1!==b.Da){do if(g+=r(a.Qa(e,1),2),null==e.Da)break;while(e.Da!=b.Da)}k+=ma(g,e.pc?24:16);k+=ma(n,8);q&&(k+=" "+q);a.F.iaa.F.ia)return"??";b+=16}else if(208==e)b+=32;else if(224==e)b+=40;else if(240==e)b+=48;else if(a=c&15,3<=a&&(8>b&&(b+=8),5==a||4==a&&d.Sb))b+=16;return uq[b]} +function vr(a,b){var c;switch(b){case "V":c=uf(a.F);break;case "D":c=a.F.ca&1024;break;case "I":c=a.F.ca&512;break;case "T":c=a.F.ca&256;break;case "S":c=tf(a.F);break;case "Z":c=sf(a.F);break;case "A":c=rf(a.F);break;case "P":c=qf(a.F);break;case "C":c=pf(a.F);break;default:c=0}return b+(c?"1":"0")+" "}function Hq(a){return r(a,a&-65536?8:4)}function wr(a,b){8<=b&&15>=b&&4a.F.ia&&(d="\n"+d,c+=e,e="");c+="\n"+xr(a,a.F.va,b)+" ";80386<=a.F.ia&&(e+="\n",c+=xr(a,a.F.Ob,b)+" "+xr(a,a.F.Pb,b)+"\n");c+=yr(a,"LD",a.F.Bc.Z,a.F.Bc.Aa,a.F.Bc.Aa+a.F.Bc.Ta)+" "+yr(a,"GD",null,a.F.Ec,a.F.Ad)+" "+yr(a,"ID", +null,a.F.Mc,a.F.Td)+" ";c=c+(d+" "+e)+wr(a,32);80386<=a.F.ia&&(c+=wr(a,34)+wr(a,35))}else 80386<=a.F.ia&&(c+=xr(a,a.F.Ob,b)+" "+xr(a,a.F.Pb,b)+" ");return c+=wr(a,23)+vr(a,"V")+vr(a,"D")+vr(a,"I")+vr(a,"T")+vr(a,"S")+vr(a,"Z")+vr(a,"A")+vr(a,"P")+vr(a,"C")}var Ar={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function Br(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; +case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} +function ar(a,b,c){var d;if(b){b=$q(a,b);for(var e=0,f=!1,g=b,h=[],k=[],l=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);eb[0]?1:a[0]>>0,n],v=oa(z,p,a.sb);0>v&&z.splice(-(v+1),0,p)}F&&(q.a=F.replace(/''/g,'"'))}a.B.push({fg:b,mm:c,Z:d,Ra:e,Da:f,em:g,Rd:h,ri:l})} +function Qq(a,b,c){for(var d=0;d>>0,f=a.dc(b)>>>0,g=0;g>>0,n=h.Da;null!=n&&(n>>>=0);var q=h.em;48==k&&(k=40);if(k==b.Z&&e>=l&&e=n&&fc?(a.O("out of data at address "+Sq(b)),n=!0):(a.qc(b,c,1),l++)})})(a,g);a.O(l+" bytes read at "+ +c)}else a.O("sector "+e+" request out of range");else a.O("drive "+d+" not loaded");else a.O("invalid drive: "+d)}else a.O("disk controller not present")}}else a.O("list/load commands:"),a.O("\tl [address] [drive #] [sector #] [# sectors]")} +function jr(a,b){var c;if(b&&"?"==b[1])a.O("register commands:"),a.O("\tr\tdump registers"),a.Tb&&a.O("\trfp\tdump floating-point registers"),a.O("\trp\tdump all registers"),a.O("\trx [#]\tset flag or register x to [#]");else{var d;null==c&&(c=!0);if(null!=b&&1g;g++){var h=c,e=null;if(g=a.Ja&&(k=null), +k){case "AL":a.F.G=a.F.G&-256|h&255;break;case "AH":a.F.G=a.F.G&-65281|h<<8&255;break;case "AX":a.F.G=a.F.G&-65536|h&65535;break;case "BL":a.F.H=a.F.H&-256|h&255;break;case "BH":a.F.H=a.F.H&-65281|h<<8&255;break;case "BX":a.F.H=a.F.H&-65536|h&65535;break;case "CL":a.F.I=a.F.I&-256|h&255;break;case "CH":a.F.I=a.F.I&-65281|h<<8&255;break;case "CX":a.F.I=a.F.I&-65536|h&65535;break;case "DL":a.F.M=a.F.M&-256|h&255;break;case "DH":a.F.M=a.F.M&-65281|h<<8&255;break;case "DX":a.F.M=a.F.M&-65536|h&65535; +break;case "SP":G(a.F,I(a.F)&-65536|h&65535);break;case "BP":a.F.P=a.F.P&-65536|h&65535;break;case "SI":a.F.K=a.F.K&-65536|h&65535;break;case "DI":a.F.J=a.F.J&-65536|h&65535;break;case "DS":vd(a.F,h);break;case "ES":wd(a.F,h);break;case "SS":kd(a.F,h);break;case "CS":kf(a.F,h);a.aa=iq(a,K(a.F),a.F.va.Z);break;case "IP":case "EIP":O(a.F,h);a.aa=iq(a,K(a.F),a.F.va.Z);break;case "PC":case "PS":yd(a.F,h);break;case "C":h?wf(a.F):xf(a.F);break;case "P":h?(e=a.F,e.resultType&=-3,e.ca|=4):(e=a.F,e.resultType&= +-3,e.ca&=-5);break;case "A":h?Ef(a.F):Cf(a.F);break;case "Z":h?Ff(a.F):Df(a.F);break;case "S":h?(e=a.F,e.resultType&=-17,e.ca|=128):(e=a.F,e.resultType&=-17,e.ca&=-129);break;case "I":h?(e=a.F,e.ca|=512):(e=a.F,e.ca&=-513);break;case "D":h?(e=a.F,e.ca|=1024):(e=a.F,e.ca&=-1025);break;case "V":h?yf(a.F):zf(a.F);break;default:var l=!0;if(80286<=a.F.ia)switch(l=!1,k){case "MS":Gf(a.F,h);break;case "TR":-1===a.F.Sa.load(h)&&(g=!1);break;default:if(l=!0,80386<=a.F.ia)switch(l=!1,k){case "EAX":a.F.G=h; +break;case "EBX":a.F.H=h;break;case "ECX":a.F.I=h;break;case "EDX":a.F.M=h;break;case "ESP":G(a.F,h);break;case "EBP":a.F.P=h;break;case "ESI":a.F.K=h;break;case "EDI":a.F.J=h;break;case "FS":a.F.Ob.load(h);break;case "GS":a.F.Pb.load(h);break;case "CR0":a.F.Za=h;pj.call(a.F,h);break;case "CR2":a.F.te=h;break;case "CR3":a.F.Pd=h;Ad.call(a.F,h);break;default:l=!0}}if(l){a.O("unknown register: "+e);return}}if(!g){a.O("invalid value: "+f);return}Qc(a.F);a.O("updated registers:")}}a.O(zr(a,d));c&&(a.aa= +iq(a,K(a.F),a.F.va.Z),kr(a,Sq(a.aa)))}}function Kr(a,b){b=na(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.O(hr(a,c[2])):ar(a,b,!0)}function Lr(a,b,c){for(var d=null,e=b.Ra,f=e,g=1;6>=g&&e;g++){if(2h[0].indexOf("+"))){var l=h[0]+":";h[2]&&(l+=" "+h[2]);a.O(l)}h[3]&&(g=h[3],f=null);f=rr(a,b,g,f);b.Wd||d||d++;a.O(f);a.aa=b;e-=b.Da-k;c++}}} +function cr(a,b,c,d){if(c)if(b){0>a.U&&a.L.length&&(a.U=0);if(0>a.U||b!=a.L[a.U])a.L.splice(0,0,b),a.U=0;a.U--}else b=a.L[a.U+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(na(b.substring(c,f))),c=f+1}}return a} +function qr(a,b,c){var d=!0;try{if(!b.length||"end"==b)a.Ea&&(a.O("ended assemble at "+Sq(a.ua)),a.aa=a.ua,a.Ea=!1),b="";else if(!c){var e=">> ";a.F.Za&1&&(e=a.F.ca&131072?"-- ":"## ");a.O(e+b)}var f=b.charAt(0);if('"'==f||"'"==f)return!0;a.Pa=null;if(sb(a)&&0n||"z">>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); +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=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>> +0,65536>4||1,mi="dd"==ia?4:"dw"==ia?2:1,Nn=0;Nnpi;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]; +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;vgvi;){for(var uc=null,ns=256;Tc.Ra>>>0>>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);0Vr){if(d.load(this.aa)){this.V=new hf(this,Xr,"failsafe");this.V.load()&&(as(this,d),a=2,Pr(this.V));N(this.V,"timestamp",qa());Qr(this.V);var e=this.A&&!this.W;if(1==a||za("Click OK to restore the previous PCjs machine state, or CANCEL to reset the machine.")){if(c=Rr(d)){var f=Sr(d,"code"),g=Sr(d,"data");f&&("ok"==f?d.load(g):("error"==f&&"no machine state"!= +g?(this.Na("Error: "+g),"unable to verify user"==g&&(Fa("user",""),this.B=null)):this.O(f+": "+g),Pr(d),d.load()?(c=Rr(d),e=!0):c=!1))}e&&$r(this,c?d:null)}else 2==a&&d.clear()}else $r(this);delete this.aa;delete this.fa}e=gb(this.id);for(f=0;fa[1];a=a[2];this.la.cc=!0;var d=this.qa.power;d&&(d.textContent="Shutdown");this.ka||(this.O("PCjs v"+Xr+"\nCopyright \u00a9 2012-2016 Jeff Parsons \nLicense: GPL version 3 or later "),this.ka=!0);this.F&&(bs(this,this.F,b,c,a),Sc(this.F));this.pa&&(as(this,b),b.clear());!c&&this.V&&(this.V.clear(),delete this.V);this.N=0}; +function as(a,b){if(za("There may be a problem with your PCjs machine.\n\nTo help us diagnose it, click OK to send this PCjs machine state to http://www.pcjs.org.")){var c=a.wa,d=a.ke(),e=b.toString(),f={app:"PCjs"};f.ver=Xr;f.url=c;f.user=d;f.type="bug";f.data=e;va("http://www.pcjs.org/api/v1/report",f,!0)}} +function Nr(a,b,c){var d,e="none";if(a.N)return null;a.N--;var f=new hf(a,Xr),g=new hf(a,Xr,"validate"),h=qa();N(g,"timestamp",h);N(f,"timestamp",h);N(f,"version","1.21.7");N(f,"url",window?window.location.href:null);N(f,"browser",ya());a.F&&a.F.hc&&(c&&a.F.Wb(),d=a.F.hc(b,c),"object"===typeof d&&N(f,a.F.id,d),c&&(a.F.la.cc=!1,!1===d&&(e=null)));for(var h=gb(a.id),k=0;k>>d.La;f=f+g-1>>>d.La;e.$g=0;for(e.Ud=0;h<=f;)g=d.sa[h],e.$g+=g.size,g.size&&(e.Rg.push(sa(Hb,h,0,0,g.type)),e.Ud++),h++;c.A=e;c.ya=c.A.Ud*c.ea.Nb/691200;d=0;c.A.Ai=0;c.A.Af||(c.A.Af=[]);var e=-1,h=0,k=-1;for(f=0;f>1),k=g.y+(g.A>>1),l=g.A,g.ad>1,h.U+=(h.X>>1)-2,Jb(h,e),h.ra&&(h.N.restore(),h.ra=!1)}}else Jb(c,"This space intentionally left blank");c.context.drawImage(c.aa,0,0,c.aa.width,c.aa.height,c.sb,c.Jb,c.$a,c.fb);c.Ja=!1}} +Qa(function(){for(var a=nb(document,"pcjs-machine"),b=0;bh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g, +"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(q){h=null,a=q.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");va(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var k=h[0],l,n=/( [a-z]+=)(['"])(.*?)\2/g;l=n.exec(f);)k=0>k.indexOf(l[1])?k.replace(">",l[0]+">"):k.replace(new RegExp(l[1]+"(['\"])(.*?)\\1"),l[0]);h[0]!=k&&(g=g.replace(h[0],k))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],g);ss(a,b,c)}})}else c(a,null)} +function ts(a,b,c,d){function e(a){if(void 0===h){var b=g&&nb(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=la(a))}function f(a){e("Error: "+a);k&&(--es||Sa(!0));k=!1}var g,h,k=!0;es++;eb[a]={};try{if(g=document.getElementById(a)){var l;if("object"==typeof resources&&(l=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],q=document.createElement("style");q.type="text/css";q.styleSheet?q.styleSheet.cssText=l:q.appendChild(document.createTextNode(l));n.appendChild(q)}c|| +(c="/versions/pcjs/1.21.7/components.xsl");l=function(d,h){h?fs(c,null,null,!1,e,function(d,k){if(k)if(fb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(k);l?(g.outerHTML=l,--es||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(k),(l=l.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--es||Sa(!0)):f("invalid machine element: "+ +a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?fs(b,a,d,!0,e,l):rs(b,null,a,d,!1,e,l)}else f("missing machine element: "+a)}catch(p){f(p.message)}return k}window.embedPC=function(a,b,c,d){Sa(!1);return ts(a,b,c,d)};window.enableEvents=Sa;window.sendEvent=Ta; +function us(a,b,c,d){if(!c&&b){d.push(b);a=eb[d[0]];b=null;for(var e in a)if(ha(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?va(b,null,!0,function(a,b){vs(b,d)}):vs(null,d)}else w("Error ("+c+") requesting "+a)} +function vs(a,b){var c,d,e,f=b[0],g=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=eb[f],k={},l;for(l in h){var n=h[l],q=ga(l);if("xml"==q){for(q=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=q.exec(h[l]);){var p=d[2];p&&(h[p]||(n=n.replace(d[0],"")))}d=l=fa(l)}else"xsl"==q&&(e=l=fa(l));k[l]=n}a&&(k[l="css"]=a);b[2]&&(k[l="parms"]=b[2]);b[3]&&(k[l="state"]=b[3]);d&&e?(l=JSON.stringify(k),g+=".js",c=c[1]+"var resources="+l+";"+c[2]+c[3],c=c.replace(/\u00A9/g, +"©"),c=Ia(c,"javascript",!1,g),c=c+(', copy it to your web server as "'+g+'", and then add the following to your web page:\n\n')+('
    \n'),c+="...\n",c+='{% endcapture %} @@ -118,8 +119,12 @@ of our Markdown or XML documents. Examples: 'automount' becomes 'autoMount', 'a {% capture machine_scripts %}{{ machine_scripts }}{{ machine_script }}{% endcapture %} {% endif %} {% endfor %} - {% if machine_template == "" %} - {% capture machine_template %}{{ site.baseurl }}/modules/{{ machine_type }}js/templates/components.xsl{% endcapture %} + {% if machine_template == "" %} + {% if machine_type != "c1p" %} + {% capture machine_template %}{{ site.baseurl }}/modules/shared/templates/components.xsl{% endcapture %} + {% else %} + {% capture machine_template %}{{ site.baseurl }}/modules/{{ machine_type }}js/templates/components.xsl{% endcapture %} + {% endif %} {% endif %} {% endif %} diff --git a/_includes/machine-styles.html b/_includes/machine-styles.html index c20ee94de..9a2403b78 100644 --- a/_includes/machine-styles.html +++ b/_includes/machine-styles.html @@ -1,8 +1,13 @@ {% for machine in page.machines %} + {% capture machine_type %}{{ machine.type | remove:"-dbg" }}{% endcapture %} {% unless site.pcjs.compiled == true and machine.uncompiled != true %} - {% capture machine_style %}{{ site.baseurl }}/modules/{{ machine.type | remove:'-dbg' }}js/templates/components.css{% endcapture %} + {% if machine_type != "c1p" %} + {% capture machine_style %}{{ site.baseurl }}/modules/shared/templates/components.css{% endcapture %} + {% else %} + {% capture machine_style %}{{ site.baseurl }}/modules/{{ machine_type }}js/templates/components.css{% endcapture %} + {% endif %} {% else %} - {% capture machine_style %}{{ site.baseurl }}/versions/{{ machine.type | remove:'-dbg' }}js/{{ site.pcjs.version }}/components.css{% endcapture %} + {% capture machine_style %}{{ site.baseurl }}/versions/{{ machine_type }}js/{{ site.pcjs.version }}/components.css{% endcapture %} {% endunless %} {% unless machine_styles contains machine_style %} diff --git a/devices/pc8080/machine/invaders/README.md b/devices/pc8080/machine/invaders/README.md new file mode 100644 index 000000000..4b949ad4d --- /dev/null +++ b/devices/pc8080/machine/invaders/README.md @@ -0,0 +1,137 @@ +--- +layout: page +title: Space Invaders (Prototype) +permalink: /devices/pc8080/machine/invaders/ +machines: + - type: pc8080 + id: invaders +--- + +Space Invaders (Prototype) +--- + +This is a work-in-progress, with [Development Notes](#development-notes) below. + +{% include machine.html id="invaders" %} + +Development Notes +--- + +From [emutalk.net](http://www.emutalk.net/threads/38177-Space-Invaders): + + Space Invaders, (C) Taito 1978, Midway 1979 + + CPU: Intel 8080 @ 2MHz (CPU similar to the (newer) Zilog Z80) + + Interrupts: $cf (RST 8) at the start of vblank, $d7 (RST $10) at the end of vblank. + + Video: 256(x)*224(y) @ 60Hz, vertical monitor. Colours are simulated with a + plastic transparent overlay and a background picture. + Video hardware is very simple: 7168 bytes 1bpp bitmap (32 bytes per scanline). + + Sound: SN76477 and samples. + + Memory map: + ROM + $0000-$07ff: invaders.h + $0800-$0fff: invaders.g + $1000-$17ff: invaders.f + $1800-$1fff: invaders.e + + RAM + $2000-$23ff: work RAM + $2400-$3fff: video RAM + + $4000-: RAM mirror + + Ports: + Read 1 + BIT 0 coin (0 when active) + 1 P2 start button + 2 P1 start button + 3 ? + 4 P1 shoot button + 5 P1 joystick left + 6 P1 joystick right + 7 ? + + Read 2 + BIT 0,1 dipswitch number of lives (0:3,1:4,2:5,3:6) + 2 tilt 'button' + 3 dipswitch bonus life at 1:1000,0:1500 + 4 P2 shoot button + 5 P2 joystick left + 6 P2 joystick right + 7 dipswitch coin info 1:off,0:on + + Read 3 shift register result + + Write 2 shift register result offset (bits 0,1,2) + Write 3 sound related + Write 4 fill shift register + Write 5 sound related + Write 6 strange 'debug' port? eg. it writes to this port when + it writes text to the screen (0=a,1=b,2=c, etc) + + (write ports 3,5,6 can be left unemulated, read port 1=$01 and 2=$00 + will make the game run, but but only in attract mode) + + I haven't looked into sound details. + + 16 bit shift register: + f 0 bit + xxxxxxxxyyyyyyyy + + Writing to port 4 shifts x into y, and the new value into x, eg. + $0000, + write $aa -> $aa00, + write $ff -> $ffaa, + write $12 -> $12ff, .. + + Writing to port 2 (bits 0,1,2) sets the offset for the 8 bit result, eg. + offset 0: + rrrrrrrr result=xxxxxxxx + xxxxxxxxyyyyyyyy + + offset 2: + rrrrrrrr result=xxxxxxyy + xxxxxxxxyyyyyyyy + + offset 7: + rrrrrrrr result=xyyyyyyy + xxxxxxxxyyyyyyyy + + Reading from port 3 returns said result. + + Overlay dimensions (screen rotated 90 degrees anti-clockwise): + ,_______________________________. + |WHITE ^ | + | 32 | + | v | + |-------------------------------| + |RED ^ | + | 32 | + | v | + |-------------------------------| + |WHITE | + | < 224 > | + | | + | ^ | + | 120 | + | v | + | | + | | + | | + |-------------------------------| + |GREEN | + | ^ ^ | + |56 ^ 56 | + | v 72 v | + |____ v ______________| + | ^ | | ^ | + |<16> | < 118 > |16 < 122 > | + | v | | v | + |WHITE| | WHITE| + `-------------------------------' + + Way of out of proportion :P diff --git a/modules/README.md b/modules/README.md index 400d10de8..b33b77845 100644 --- a/modules/README.md +++ b/modules/README.md @@ -14,6 +14,7 @@ The project includes these emulation modules: * C1Pjs, the 6502-based C1P Emulation Module * [PCjs](pcjs/), the x86-based IBM PC Emulation Module +* PC8080, an 8080 CPU Emulation Module (work-in-progress) along with variety of Node support modules, such as: diff --git a/modules/pc8080/lib/debugger.js b/modules/pc8080/lib/debugger.js index 16b05d44c..ccbe8d293 100644 --- a/modules/pc8080/lib/debugger.js +++ b/modules/pc8080/lib/debugger.js @@ -2473,11 +2473,11 @@ if (DEBUGGER) { } sLine += str.pad(sBytes, 11); - sLine += str.pad(sOpcode, 8); + sLine += str.pad(sOpcode, 7); if (sOperands) sLine += ' ' + sOperands; if (sComment) { - sLine = str.pad(sLine, 56) + ';' + sComment; + sLine = str.pad(sLine, 40) + ';' + sComment; if (!this.cpu.flags.fChecksum) { sLine += (nSequence != null? '=' + nSequence.toString() : ""); } else { diff --git a/versions/pcjs/1.21.7/components.css b/versions/pcjs/1.21.7/components.css index 3fa6fff6e..03664918e 100644 --- a/versions/pcjs/1.21.7/components.css +++ b/versions/pcjs/1.21.7/components.css @@ -106,13 +106,13 @@ line-height: 19px; background-color: #000000; } -.pcjs-video-object { +.pcjs-screen { clear: both; height: auto; position: relative; line-height: 0; } -.pcjs-video-object textarea { +.pcjs-screen textarea { position: absolute; left: 0; top: 0; diff --git a/versions/pcjs/1.21.7/components.xsl b/versions/pcjs/1.21.7/components.xsl index 9fd3dc2e9..89aa05628 100644 --- a/versions/pcjs/1.21.7/components.xsl +++ b/versions/pcjs/1.21.7/components.xsl @@ -162,6 +162,7 @@ width:; + width:;max-width:; width:auto;max-width:; @@ -217,8 +218,11 @@ + + --object -screen + -
    +
    From f324b624938e39c6740b036f6f206260b4fa5756 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Thu, 21 Apr 2016 09:50:03 -0700 Subject: [PATCH 25/54] Fixed Node rendering of PC8080 pages (all one of them) --- devices/pc8080/machine/invaders/README.md | 20 ++++-- devices/pc8080/machine/invaders/machine.xml | 2 +- modules/htmlout/lib/htmlout.js | 72 ++++++++++----------- modules/markout/lib/markout.js | 3 +- modules/pc8080/README.md | 35 ++++++++++ 5 files changed, 89 insertions(+), 43 deletions(-) create mode 100644 modules/pc8080/README.md diff --git a/devices/pc8080/machine/invaders/README.md b/devices/pc8080/machine/invaders/README.md index 4b949ad4d..06e0f9c79 100644 --- a/devices/pc8080/machine/invaders/README.md +++ b/devices/pc8080/machine/invaders/README.md @@ -1,20 +1,32 @@ --- layout: page -title: Space Invaders (Prototype) +title: Space Invaders (Under Construction) permalink: /devices/pc8080/machine/invaders/ +sitemap: false machines: - type: pc8080 id: invaders + debugger: true --- -Space Invaders (Prototype) +Space Invaders (Under Construction) --- -This is a work-in-progress, with [Development Notes](#development-notes) below. +This is the first test of [PC8080](/modules/pc8080/), a new 8080-based machine emulator being added to the +PCjs Project. It's a work-in-progress, so there's not much to look at yet. + +The idea is to make [PC8080](/modules/pc8080/) sufficiently configurable so that it will work with a variety of +8080-based systems, including those with memory-mapped video displays (like Space Invaders), as well as simpler +terminal-based systems, like the CP/M-based systems of old. + +In fact, as soon as Space Invaders is working, my next adaptation will be a DEC VT-100 terminal emulator, which is +itself is an 8080-based machine. + +Assorted [Space Invaders Hardware Notes](#space-invaders-hardware-notes) are collected below. {% include machine.html id="invaders" %} -Development Notes +Space Invaders Hardware Notes --- From [emutalk.net](http://www.emutalk.net/threads/38177-Space-Invaders): diff --git a/devices/pc8080/machine/invaders/machine.xml b/devices/pc8080/machine/invaders/machine.xml index f568b2cdc..644ec6d31 100644 --- a/devices/pc8080/machine/invaders/machine.xml +++ b/devices/pc8080/machine/invaders/machine.xml @@ -11,7 +11,7 @@ diff --git a/modules/htmlout/lib/htmlout.js b/modules/htmlout/lib/htmlout.js index 3283afd46..421ed9c72 100644 --- a/modules/htmlout/lib/htmlout.js +++ b/modules/htmlout/lib/htmlout.js @@ -1881,57 +1881,55 @@ HTMLOut.prototype.processMachines = function(aMachines, buildOptions, done) asFiles.push("/versions/" + sScriptFolder + "/" + sVersion + "/" + sScriptFile); this.addFilesToHTML(asFiles, sScriptEmbed); } - else { + else if (asFiles = aMachineFiles[sClass]) { /* * SIDEBAR: Why the "slice()"? It's a handy way to create a copy of the array, and we need a copy, * because if it turns out we need to "cut out" some of the files below (using splice), we don't want that * affecting the original array. */ - if ((asFiles = aMachineFiles[sClass].slice())) { - var i; + asFiles = asFiles.slice(); + /* + * We need to find the shared "defines.js" source file, because we may need to follow it + * with "nodebug.js" and/or "private.js". + */ + for (var i = 0; i < asFiles.length; i++) { + if (asFiles[i].indexOf("shared/lib/defines.js") >= 0) { + if (fPrivate) { + asFiles.splice(i + 1, 0, asFiles[i].replace("defines.js", "private.js")); + } + if (fNoDebug) { + asFiles.splice(i + 1, 0, asFiles[i].replace("defines.js", "nodebug.js")); + } + break; + } + } + if (!fDebugger) { /* - * We need to find the shared "defines.js" source file, because we may need to follow it - * with "nodebug.js" and/or "private.js". + * Step 1: We need to find the client's "defines.js" source file, and follow it with "nodebugger.js". */ for (i = 0; i < asFiles.length; i++) { - if (asFiles[i].indexOf("shared/lib/defines.js") >= 0) { - if (fPrivate) { - asFiles.splice(i + 1, 0, asFiles[i].replace("defines.js", "private.js")); - } - if (fNoDebug) { - asFiles.splice(i + 1, 0, asFiles[i].replace("defines.js", "nodebug.js")); - } + if (asFiles[i].indexOf("js/lib/defines.js") >= 0) { + asFiles.splice(i + 1, 0, asFiles[i].replace("defines.js", "nodebugger.js")); break; } } - if (!fDebugger) { - /* - * Step 1: We need to find the client's "defines.js" source file, and follow it with "nodebugger.js". - */ - for (i = 0; i < asFiles.length; i++) { - if (asFiles[i].indexOf("js/lib/defines.js") >= 0) { - asFiles.splice(i + 1, 0, asFiles[i].replace("defines.js", "nodebugger.js")); - break; - } - } - /* - * Step 2: If there's a "debugger.js" source file in the list of uncompiled files, we need to remove - * it, which we do by using the Array splice() method, removing the 1 matching element from the array. - */ - for (i = 0; i < asFiles.length; i++) { - if (asFiles[i].indexOf("/debugger.js") >= 0) { - asFiles.splice(i, 1); - break; - } + /* + * Step 2: If there's a "debugger.js" source file in the list of uncompiled files, we need to remove + * it, which we do by using the Array splice() method, removing the 1 matching element from the array. + */ + for (i = 0; i < asFiles.length; i++) { + if (asFiles[i].indexOf("/debugger.js") >= 0) { + asFiles.splice(i, 1); + break; } } + } + this.addFilesToHTML(asFiles, sScriptEmbed); + if (buildOptions.id) { + asFiles = []; + asFiles.push("/modules/build/lib/build.js"); + sScriptEmbed = ''; this.addFilesToHTML(asFiles, sScriptEmbed); - if (buildOptions.id) { - asFiles = []; - asFiles.push("/modules/build/lib/build.js"); - sScriptEmbed = ''; - this.addFilesToHTML(asFiles, sScriptEmbed); - } } } } diff --git a/modules/markout/lib/markout.js b/modules/markout/lib/markout.js index a56e718d9..647a9d037 100644 --- a/modules/markout/lib/markout.js +++ b/modules/markout/lib/markout.js @@ -1157,7 +1157,8 @@ MarkOut.prototype.convertMDMachineLinks = function(sBlock) sMachineVersion = ((machine['uncompiled'] == "true")? "uncompiled" : ""); sMachineParms = machine['parms'] || ""; sReplacement = machine['name'] || "Embedded PC"; - sReplacement = "[" + sReplacement + "](" + sMachineXMLFile + ' "' + sMachine + 'js!' + sMachineID + '!' + sMachineXSLFile + '!!' + sMachineOptions + '!' + sMachineParms + '")'; + if (sMachine == "pc" || sMachine == "c1p") sMachine += "js"; + sReplacement = "[" + sReplacement + "](" + sMachineXMLFile + ' "' + sMachine + '!' + sMachineID + '!' + sMachineXSLFile + '!!' + sMachineOptions + '!' + sMachineParms + '")'; } sBlock = sBlock.replace(aMatch[0], sReplacement); reIncludes.lastIndex = 0; // reset lastIndex, since we just modified the string that reIncludes is iterating over diff --git a/modules/pc8080/README.md b/modules/pc8080/README.md new file mode 100644 index 000000000..aad8c7275 --- /dev/null +++ b/modules/pc8080/README.md @@ -0,0 +1,35 @@ +--- +layout: page +title: 8080 Machine Emulation Module (PC8080) +permalink: /modules/pc8080/ +--- + +8080 Machine Emulation Module (PC8080) +=== + +Overview +--- +PC8080 is an 8080-based Machine Emulation Module. The code is derived from [PCjs](/modules/pcjs/), +the IBM PC Emulation Module. + +It is still a work-in-progress, so it likely contains code that will be removed from the finished version. + +PC8080 is currently comprised of the following non-shared components, as listed in [package.json](../../package.json) +(see the *pc8080Files* property): + +* [defines.js](/modules/pc8080/lib/defines.js) +* [cpudef.js](/modules/pc8080/lib/cpudef.js) +* [messages.js](/modules/pc8080/lib/messages.js) +* [panel.js](/modules/pc8080/lib/panel.js) +* [bus.js](/modules/pc8080/lib/bus.js) +* [memory.js](/modules/pc8080/lib/memory.js) +* [cpu.js](/modules/pc8080/lib/cpu.js) +* [cpusim.js](/modules/pc8080/lib/cpusim.js) +* [cpuops.js](/modules/pc8080/lib/cpuops.js) +* [rom.js](/modules/pc8080/lib/rom.js) +* [ram.js](/modules/pc8080/lib/ram.js) +* [keyboard.js](/modules/pc8080/lib/keyboard.js) +* [video.js](/modules/pc8080/lib/video.js) +* [debugger.js](/modules/pc8080/lib/debugger.js) +* [state.js](/modules/pc8080/lib/state.js) +* [computer.js](/modules/pc8080/lib/computer.js) From 4019a4c8a981c096c9f8f5bf9395ff2df71c719b Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Thu, 21 Apr 2016 10:05:07 -0700 Subject: [PATCH 26/54] Updated home page --- README.md | 11 +++++++---- index.md | 11 +++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 1c48eb7a9..e31830716 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,15 @@ PCjs: The Virtual IBM PC Welcome to [PCjs](/docs/about/pcjs/), the first IBM PC simulation to run in your web browser without any plugins. It was added to the [JavaScript Machines](/docs/about/) project in Fall 2012, and it is now part of the -[PCjs Project](https://github.com/jeffpar/pcjs) on GitHub. The project includes: +[PCjs Project](https://github.com/jeffpar/pcjs) on GitHub. -* [PCjs](/docs/pcjs/), a simulation of the IBM PC and PC compatibles -* [C1Pjs](/docs/c1pjs/), a simulation of the 6502-based OSI Challenger 1P +The project includes the following web-based emulators: -PCjs first simulated the 4.77Mhz 8088-based IBM PC, and has steadily evolved to support more classic machines, +* [PCjs](/docs/pcjs/): an IBM PC and PC-compatible emulator +* [PC8080](/modules/pc8080/): an 8080-based machine emulation module +* [C1Pjs](/docs/c1pjs/): a simulation of the 6502-based OSI Challenger 1P + +PCjs first simulated the 4.77Mhz 8088-based IBM PC, and has steadily evolved to support more classic x86 machines, including the IBM PC XT, the 80286-based IBM PC AT, and the 80386-based COMPAQ DeskPro 386. PCjs fully supports the original machine original ROMs, video cards, etc, and all machines run at their original speeds. diff --git a/index.md b/index.md index 901be9bef..cb836ec3d 100644 --- a/index.md +++ b/index.md @@ -13,12 +13,15 @@ machines: Welcome to [PCjs](/docs/about/pcjs/), the first IBM PC simulation to run in your web browser without any plugins. It was added to the [JavaScript Machines](/docs/about/) project in Fall 2012, and it is now part of the -[PCjs Project](https://github.com/jeffpar/pcjs) on GitHub. The project includes: +[PCjs Project](https://github.com/jeffpar/pcjs) on GitHub. -* [PCjs](/docs/pcjs/), a simulation of the IBM PC and PC compatibles -* [C1Pjs](/docs/c1pjs/), a simulation of the 6502-based OSI Challenger 1P +The project includes the following web-based emulators: -PCjs first simulated the 4.77Mhz 8088-based IBM PC, and has steadily evolved to support more classic machines, +* [PCjs](/docs/pcjs/): an IBM PC and PC-compatible emulator +* [PC8080](/modules/pc8080/): an 8080-based machine emulation module +* [C1Pjs](/docs/c1pjs/): a simulation of the 6502-based OSI Challenger 1P + +PCjs first simulated the 4.77Mhz 8088-based IBM PC, and has steadily evolved to support more classic x86 machines, including the IBM PC XT, the 80286-based IBM PC AT, and the 80386-based COMPAQ DeskPro 386. PCjs fully supports the original machine ROMs, video cards, etc, and all machines run at their original speeds. From 98d114a4327c015cd8a2c7542583a38de36b4637 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Thu, 21 Apr 2016 10:26:23 -0700 Subject: [PATCH 27/54] Fixed PC8080 build --- Gruntfile.js | 21 +- versions/pc8080/1.21.7/common.css | 262 ++++++ versions/pc8080/1.21.7/common.xsl | 59 ++ versions/pc8080/1.21.7/components.css | 148 ++++ versions/pc8080/1.21.7/components.xsl | 1138 +++++++++++++++++++++++++ versions/pc8080/1.21.7/document.css | 162 ++++ versions/pc8080/1.21.7/document.xsl | 452 ++++++++++ versions/pc8080/1.21.7/machine.xsl | 49 ++ versions/pc8080/1.21.7/manifest.xsl | 247 ++++++ versions/pc8080/1.21.7/outline.xsl | 47 + versions/pc8080/1.21.7/pc8080-dbg.js | 165 ++++ versions/pc8080/1.21.7/pc8080.js | 92 ++ 12 files changed, 2841 insertions(+), 1 deletion(-) create mode 100644 versions/pc8080/1.21.7/common.css create mode 100644 versions/pc8080/1.21.7/common.xsl create mode 100644 versions/pc8080/1.21.7/components.css create mode 100644 versions/pc8080/1.21.7/components.xsl create mode 100644 versions/pc8080/1.21.7/document.css create mode 100644 versions/pc8080/1.21.7/document.xsl create mode 100644 versions/pc8080/1.21.7/machine.xsl create mode 100644 versions/pc8080/1.21.7/manifest.xsl create mode 100644 versions/pc8080/1.21.7/outline.xsl create mode 100644 versions/pc8080/1.21.7/pc8080-dbg.js create mode 100644 versions/pc8080/1.21.7/pc8080.js diff --git a/Gruntfile.js b/Gruntfile.js index ad217bc1b..702f6e821 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -414,7 +414,8 @@ module.exports = function(grunt) { ], options: { process: function(content, srcPath) { - var s = content.replace(/()[^<]*(<\/xsl:variable>)/g, "$1" + pkg.version + "$2"); + var s = content.replace(/()[^<]*(<\/xsl:variable>)/g, "$1pc8080$2"); + s = s.replace(/()[^<]*(<\/xsl:variable>)/g, "$1" + pkg.version + "$2"); s = s.replace(/"[^"]*\/?(common.css|common.xsl|components.css|components.xsl|document.css|document.xsl)"/g, '"/versions/pc8080/' + pkg.version + '/$1"'); s = s.replace(/[ \t]*\/\*[^\*][\s\S]*?\*\//g, "").replace(/[ \t]*[ \t]*\n?/g, ""); return s; @@ -455,6 +456,24 @@ module.exports = function(grunt) { } } }, + "pc8080": { + files: [ + { + cwd: "modules/shared/templates/", + src: ["components.*"], + dest: "versions/pc8080/<%= pkg.version %>/", + expand: true + } + ], + options: { + process: function(content, srcPath) { + var s = content.replace(/()[^<]*(<\/xsl:variable>)/g, "$1pc8080$2"); + s = s.replace(/()[^<]*(<\/xsl:variable>)/g, "$1" + pkg.version + "$2"); + s = s.replace(/[ \t]*\/\*[^\*][\s\S]*?\*\//g, "").replace(/[ \t]*[ \t]*\n?/g, ""); + return s; + } + } + }, "examples": { files: [ { diff --git a/versions/pc8080/1.21.7/common.css b/versions/pc8080/1.21.7/common.css new file mode 100644 index 000000000..48999bc28 --- /dev/null +++ b/versions/pc8080/1.21.7/common.css @@ -0,0 +1,262 @@ +@CHARSET "UTF-8"; +/** + @author Jeff Parsons (@jeffpar) + @website http://www.pcjs.org/ + @created 2013-05-05 + @modified 2014-02-23 + @license http://www.gnu.org/licenses/gpl.html + */ +body { + margin: 0; + background: #202020; +} +h1, h2 { + margin-top: 0; + color: #cccccc; +} +h1, h2, h3, h4 { + word-wrap: break-word; +} + +h4 a { + color: #cccccc !important; +} +p { + line-height: 1.5em; +} +img { + max-width: 100%; +} +a img { + vertical-align: bottom; +} +pre, code { + color: #000000; + background-color: #cccccc; + font-family: Monaco, Consolas, "Lucida Console", monospace; + font-size: 12px; +} +pre { + margin: 1em 2em; + padding: 1em; + border-radius: 5px; + overflow: auto; +} +code { + padding: 1px; +} +pre a, code a { + color: #006400 !important; +} +.common { + width: 100%; + margin: 0 auto; + color: #cccccc; +} +.common a { + + color: #7fc07f; + text-decoration: none; +} +.common hr { + border-color: #808080; +} +.common a:hover { + text-decoration: underline; +} +.common, .machine { + font-family: "Helvetica Neue", Helvetica, Arial, Geneva, sans-serif; + font-size: 15px; +} +.machine { + margin: 15px; + overflow: hidden; +} +.c1pjs { + overflow: visible; +} +.machine-placeholder { + text-align: center; + font-weight: bold; +} +.common-top { + background: #202020; + font-size: small; +} +.common-top-left { + float: left; + width: 60%; +} +.common-top-left ul { + line-height: 1.5em; + list-style-type: none; + margin: 0; + padding: 1em 1em 1em 9px; + overflow: hidden; +} +.common-top-left ul li { + display: block; + float: left; +} +.common-top-left ul li a { + border-right: 1px solid #6f6f6f; + padding: 2px 6px 2px 6px; +} +.common-top-left ul li:last-child a { + border-right: none; +} +.common-top-right { + float: right; + width: 40%; +} +.common-top-right p { + float: right; + margin: 0; + padding: 1em; +} +.common-middle { + clear: both; + padding: 1px 1em 1px 1em; + background: #404040; +} +.common-sidebar { + float: left; + font-size: small; + width: 140px; + padding-bottom: 20px; + overflow: hidden; + white-space: nowrap; + word-wrap: break-word; +} +.common-list { + list-style-type: none; + margin-top: 0; + margin-bottom: 0; + padding-left: 0; +} +.common-list li { + + padding-bottom: 7px; +} +.common-list-data { + list-style-type: none; + margin-top: 0; + margin-bottom: 0; + padding-left: 0; +} +.common-list-data li { + line-height: 1.5em; +} +.common-list-data-items, .common-list-data-subitems { + font-size: x-small; + list-style-type: none; + margin-top: 0; + margin-bottom: 0; + padding-left: 2em; +} +.common-list-data-items li, .common-list-data-subitems li { + padding-bottom: 0; +} +.common-main { + margin-left: 150px; + +} +.common-image-gallery { + margin: 0 auto; + text-align: center; +} +.common-image-gallery:after { + content: ''; + display: block; +} +.common-image-frame { + display: inline-block; + margin: 8px; + text-align: center; +} +.common-image-link { + padding: 5px; + border: 1px solid black; + border-radius: 5px; + background-color: #FAEBD7; +} +.common-image-label { + font-size: x-small; +} +.common-bottom { + clear: both; + padding-top: 1em; +} +.common-bottom:after { + content: ''; + display: block; + clear: both; +} +.common-reference { + float: left; + font-size: x-small; +} +.common-reference a { + text-decoration: none; +} +.common-copyright { + float: right; + font-size: x-small; +} +.common-copyright a { + text-decoration: none; +} +.md-list { +} +.md-list li { + line-height: 1.5em; + margin-bottom: 1em; +} +.md-list li p { + padding-left: 2em; +} +.md-list-compact { +} +.md-list-compact li { + margin-bottom: 0; +} +.md-list-none { + list-style-type: none; + padding-left: 2em; +} +.md-list-none li { + margin-bottom: 0; +} +@media screen and (max-width: 900px) { + + .common-sidebar { + width: 100%; + white-space: normal; + } + .common-list { + padding-left: 0; + } + .common-list-data { + padding-left: 0; + } + .common-sidebar h4, .common-list li, .common-list-data li, .common-list-data-items li { + width: 130px; + float: left; + overflow: hidden; + vertical-align: top; + padding-right: 1em; + margin-top: 0; + } + .common-list-data-subitems { + display: none; + } + .common-main { + clear: both; + margin-left: 0; + padding-left: 0; + padding-right: 0; + } + .md-list-none { + padding-left: 1em; + } +} diff --git a/versions/pc8080/1.21.7/common.xsl b/versions/pc8080/1.21.7/common.xsl new file mode 100644 index 000000000..0855d530f --- /dev/null +++ b/versions/pc8080/1.21.7/common.xsl @@ -0,0 +1,59 @@ + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    +

    Powered by JavaScript and GitHub

    +
    +
    +
    + + +
    +

    + +
    +
    + +
    diff --git a/versions/pc8080/1.21.7/components.css b/versions/pc8080/1.21.7/components.css new file mode 100644 index 000000000..03664918e --- /dev/null +++ b/versions/pc8080/1.21.7/components.css @@ -0,0 +1,148 @@ +@CHARSET "UTF-8"; + + +*:not(input,textarea) { + -webkit-user-select: none; +} +.pcjs-embed { +} +.pcjs-embed:after { + clear:both; +} +.pcjs-machine { +} +.pcjs-name, .pcjs-menu { + clear: both; + font-weight: bold; + padding-bottom: 4px; +} +.pcjs-menu { + float: left; +} +.pcjs-canvas { + width: 100%; + height: auto; +} +.pcjs-container { + color: #000000; + position: relative; +} +.pcjs-label { + font-size: small; + line-height: 19px; + vertical-align: middle; + float: left; + font-family: "Lucida Console", monospace; +} +.pcjs-controls textarea { + font-family: Monaco, monospace; + font-size: x-small; +} +.pcjs-fieldset { + border: none; + margin: 0; + padding: 0; +} +.pcjs-flag { + font-family: "Lucida Console", monospace; + font-size: small; + text-align: center; + line-height: 19px; + vertical-align: middle; +} +.pcjs-register { + font-family: "Lucida Console", monospace; + font-size: small; + text-align: center; + line-height: 19px; + vertical-align: middle; + border: 1px solid black; +} +.pcjs-switches { + float: left; +} +.pcjs-bitBucket { + float: left; + width: 19px; + height: 38px; +} +.pcjs-bitCell { + float: left; + width: 19px; + height: 19px; + margin-right: -1px; + margin-bottom: -1px; + border: 1px solid black; + text-align: center; + line-height: 19px; +} +.pcjs-bitCellLeft { + border-left: 1px solid black; +} +.pcjs-bitLabel { + font-size: xx-small; + text-align: center; +} +.pcjs-description, .pcjs-status { + font-size: x-small; + line-height: 2em; +} +.pcjs-key { + border: 1px solid black; + font-size: x-small; + text-align: center; + position: absolute; + height: 34px; + line-height: 34px; + background-color: #ffffff; +} +.pcjs-led { + float: left; + width: 8px; + height: 8px; + margin: 4px; + border: 1px solid black; + text-align: center; + line-height: 19px; + background-color: #000000; +} +.pcjs-screen { + clear: both; + height: auto; + position: relative; + line-height: 0; +} +.pcjs-screen textarea { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + opacity: 0; + border: 0; + padding: 0; + line-height: 0; +} +.pcjs-reference { + float: left; + font-size: x-small; +} +.pcjs-reference a { + text-decoration: none; +} +.pcjs-copyright { + float: right; + font-size: x-small; +} +.pcjs-copyright a { + text-decoration: none; +} + +@media screen and (max-width: 900px) { + .pcjs-textarea { + width: 100% !important; + } + .pcjs-registers { + width: 100% !important; + } +} diff --git a/versions/pc8080/1.21.7/components.xsl b/versions/pc8080/1.21.7/components.xsl new file mode 100644 index 000000000..4be8327a6 --- /dev/null +++ b/versions/pc8080/1.21.7/components.xsl @@ -0,0 +1,1138 @@ + + + + + + + + + + + pc + pcjs + pc8080 + 1.21.7 + www.pcjs.org + + + + + + + + + + + + + + + + + /devices/pc/machine/5150/mda/64kb/machine.xml + + + + + + + + + + + + + + + + + + + + + + + + + + float: + + + + js + + + +
    + + + + + + + + + + js + + + "" + + + + + +
    +
    + + + + + + + + + + + + + + + , + + + + + + + + + + + + + .machine + . + . + + + + + + + + + + + + + + + + + + + + ,comment:'' + + + + + + border:1px solid black;border-radius:15px; + border:; + + + + + + left:; + + + + + + top:; + + + + + + + + width:; + width:;max-width:; + width:auto;max-width:; + + + + + + + + height:; + + + + + + padding:; + + padding-top:; + padding-right:; + padding-bottom:; + padding-left:; + + + + + + float:left; + float:right; + margin:0 auto;clear:both; + position:; + position:relative; + + + + + overflow:auto;width:100%; + background-color:; + + + + - -component + +
    + + + + + + +
    + + + + + + + + --object -screen + + +
    +
    + +
    + +
    +
    + + + + +
    + + +
    [XML]
    + +
    + + +
    +
    +
    +
    + + + + + text-align:center; + + + +

    +
    + + +
    +
    + + + + + + +
    +
    + + + + type:'' + + + binding:'' + + + value:'' + + + + border:1px solid black; + border:; + + + + + + width:; + + + + + + height:; + + + + + + left:; + + + + + + top:; + + + + + + padding:; + + padding-top:; + padding-right:; + padding-bottom:; + padding-left:; + + + + + + float:left; + float:right; + margin:0 auto; + position:; + position:relative; + float:left; + + + + + + + + + + + + + + + + + + +
    + + + font-size:; + + + + + -label + + + + width:; + width:; + + + + + + + + text-align:right; + + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    +
    + + +
    +
    +
    + +
    +
    + +
    +
    + + + + +
    +
    + +
    +
    +
    + + +
    +
    +
    +
    +
    +
    + + + + + + + + + + desc:'' + + ,href:'' + + + + + + + + + + + + + + + desc:'' + + ,href:'' + + + + + + + + ; + + + + + + + + + + + + + + + : + + + + + + + + + + + + + + + + + desc:'' + + ,href:'' + + + + + + + + + + + + ; + + + + + + + + + + + + + + + + + + + + + + + + + + + + 8088 + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + 1 + + + + + + + null + + + + + + + -1 + + + + + + + -1 + + + + + + + -1 + + + + + + ,model:,stepping:'',fpu:,cycles:,multiplier:,autoStart:,csStart:,csInterval:,csStop: + + + + + + + + + + + + + + + 8087 + + + + + + + + + + + + ,model:,stepping:'' + + + + + + + + + + + + + + + 5150 + + + + + + + + + + + + + + + + + + true + + + + + + false + + + + + + {} + + + + + + + + + + + + + + + + + chipset + ,model:'',scaleTimers:,sw1:'',sw2:'',sound:,floppies:,monitor:'',rtcDate:'' + + + + + + + + + + + + + + + + + + + + keyboard + ,model:'' + + + + + + + + + + + + + + + 0 + + + + + + + + + + + parallel + ,adapter:,binding:'' + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + 0 + + + + + + + 0 + + + + + serial + ,adapter:,binding:'',tabSize:,charBOL: + + + + + + + + + + + + + + + + + + + + mouse + ,serial:'' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fdc + ,autoMount:'',sortBy:'' + + + + + + + + + + + + + + + + + + + + + xt + + + + + hdc + ,drives:'',type:'' + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + null + + + + + + + + + + + + + + + + + rom + ,addr:,size:,alias:,file:'',notify:'' + + + + + + + + + + + + + + + 0 + + + + + + 0 + + + + + + true + + + + + ram + ,addr:,size:,test: + + + + + + + + + + + + + + + + + + + + + null + + + + + + + 256 + + + + + + + 224 + + + + + + 0 + + + + + + + + + + + + false + + + + + + + 80 + + + + + + + 25 + + + + + + + + + + + + + + + black + + + + + + + + + + + + + + false + + + + + video + ,model:'',mode:,screenWidth:,screenHeight:,memory:,switches:'',scale:,charCols:,charRows:,fontROM:'',screenColor:'',touchScreen:'',autoLock: + + + + + + + + + + + + + + + + + + + + + + + + + + debugger + ,commands:'',messages:'' + + + + + + + + + + + + + + panel + + + + + + + + + + + + + + + + + + + + + true + + + + + + + 20 + + + + + + 0 + + + + + + + + + + + + computer + ,autoPower:,busWidth:,resume:,state:'' + + + + + + + +
    diff --git a/versions/pc8080/1.21.7/document.css b/versions/pc8080/1.21.7/document.css new file mode 100644 index 000000000..7072b406e --- /dev/null +++ b/versions/pc8080/1.21.7/document.css @@ -0,0 +1,162 @@ +@CHARSET "UTF-8"; + +.page { + margin: 2% 2%; + padding: 2% 2%; + min-width: 30em; + overflow: auto; + font-size: large; + font-family: Helvetica, Arial, sans-serif; + background: #303030; + color: #ccc; + +} +.page-header { +} +.page-header-title { + text-align: center; + +} +.page a { + color: #7fc07f; + text-decoration: none; +} +a.footlink, a.paralink { + text-decoration: none; +} +a.footlink:link, a.paralink:link { + color: blue; +} +a.footlink:visited, a.paralink:visited { + color: blue; +} +.galleryitem { + float: left; + width: 200px; +} +.item { + float: left; + width: 2em; + text-indent: 1em; +} +.list { + margin-left: 3em; + text-indent: 0; + text-align: justify; +} +ul { + list-style: none; +} +div.pnumber { + float: left; + width: 2em; + text-indent: 1em; +} +div.pitem { + margin-left: 10em; +} +p.indent, .justified p { + text-indent: 2em; + text-align: justify; + line-height: 1.5em; +} +p.noindent { + text-indent: 0; + text-align: justify; +} +p.center, .center { + text-align: center; +} +li.para { + margin-top: 1em; + margin-bottom: 1em; +} +.left { + text-align: left; +} +.right { + text-align: right; +} +blockquote.tag { + font-size: small; + font-family: Monaco, Fixed, monospace; + margin-top: 0; + margin-bottom: 0; +} +.blockquote { + padding-left: 1em; + text-indent: 0; + text-align: justify; +} +.italics { + font-style: italic; +} +.medium { + font-size: medium; +} +.small { + font-size: x-small; +} +.smallcaps { + font-variant: small-caps; +} +.strike { + text-decoration: line-through; +} +.summation, .bracelist { + display: inline-block; + position: relative; + vertical-align: middle; + text-align: center; + margin-bottom: 0.5ex; + text-indent: 0; +} +.bracelist-symbol { + font-size: 3em; + vertical-align: -40%; +} +.summation .summation-lower, .summation .summation-upper, .bracelist-item { + display: block; + font-size: 75%; + text-align: center; +} +.summation .summation-upper { + margin-bottom: 0; + margin-left: 0.8ex; + font-style: italic; +} +.summation .summation-lower{ + margin-bottom: -0.6ex; + font-style: italic; +} +.summation .summation-symbol { + font-size: 2em; +} +p sup { + vertical-align: baseline; + position: relative; + bottom: .5em; + font-size: small; +} +p sub { + vertical-align: baseline; + position: relative; + bottom: -.5em; + font-size: small; +} +.footnote { + font-size: medium; + text-indent: 1em; + text-align: justify; + margin-top: .5em; +} +.image-right { + float: right; + margin-left: 1em; + margin-top: 1em; + margin-bottom: 1em; +} +.image-caption { + font-size: small; + text-align: center; +} \ No newline at end of file diff --git a/versions/pc8080/1.21.7/document.xsl b/versions/pc8080/1.21.7/document.xsl new file mode 100644 index 000000000..b17419fb6 --- /dev/null +++ b/versions/pc8080/1.21.7/document.xsl @@ -0,0 +1,452 @@ + + + + + +]> + + + + + + + + + +

    +
    + + + + + + + +

    +
    + +

    +
    +
    +
    + + + + + + +
    +
    + + +
    + +   + + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + +

    +
    + + +

    +
    + + +

    +
    + + +
    +
    + + +
    +
    + + + + + + + + + + + + + + +
    +
    + + +
    +
    + + +
  • +
    + + +
    image
    +
    + + +
    +
    + + + + +
    {.}
    +
    + +
    {.}
    +
    +
    +
    + + + + + + + + + + < + > + + + + × + + ÷ + σ + + + + + + + + + + + + { + + + + + + + + + + [] + + + + +
    + +
    +
    + + + , and + + + + + MDY + + + + + + + + + + + + + + + + + + + + January + February + March + April + May + June + July + August + September + October + November + December + + + , + + + + + +

    + +
    +
    + + +
    + {.}
    +
    +
    +
    + + + +

    Timeline

    +
    + +

    +
    +
    + +
    +
    + + + + + + + + + +

    +
    + +
    +
    +
    + + + +

    People

    +
    + +

    +
    +
    + +
    +
    + + +

    + +
    + + +

    +
      + +
    +
    + + + + + + + + + + +
  • + +
  • +
    + + + +

    +
    +

    + +

    +
    +
    + + + + false + + + + + + [Original] + + + + + + + + + + [] + + +
    by
    + + +
    + [Source: + + + + + + + ] +
    +
    +
    + + + +

    Resources

    +
    + +

    +
    +
    + +
    +
    + + +

    + +
    + + + +

    +
    +
      + +
    +
    + + +
  • +
    + + + +

    +
    +
    + +
    +
    + + + +

    +
    + +
    + + + +

    +
    +
      + +
    +
    + + + + + +
      + +
    +
    + + + + +
  • +
    + +
  • +
    + +
  • +
    +
    +
    + + +
  • +
    + + + + + + + + + + +
    + < ="" + + ></> + ></> + /> + +
    +
    + +
    diff --git a/versions/pc8080/1.21.7/machine.xsl b/versions/pc8080/1.21.7/machine.xsl new file mode 100644 index 000000000..6a4b8cfb0 --- /dev/null +++ b/versions/pc8080/1.21.7/machine.xsl @@ -0,0 +1,49 @@ + + + + +]> + + + + + + + + + + + <xsl:value-of select="$SITEHOST"/> + + + + +
    + +
    +

    +
    + + + + js + , + +
    +
    + +
    + + + + -dbg + + + + + + +
    + +
    diff --git a/versions/pc8080/1.21.7/manifest.xsl b/versions/pc8080/1.21.7/manifest.xsl new file mode 100644 index 000000000..7156049d8 --- /dev/null +++ b/versions/pc8080/1.21.7/manifest.xsl @@ -0,0 +1,247 @@ + + + + +]> + + + + + + + + + + + <xsl:value-of select="$SITEHOST"/> + + + + +
    + +
    +

    Document Manifest

    +
    +
      + + + + None + + + + + + + + + + + + + + + + +
    +
    +
    +

    + +
    +
    +
    + + +
    + + + + + + + + + + + <xsl:value-of select="$SITEHOST"/> + + + + +
    + +
    +

    Software Manifest

    +
    +
      + + + + None + + + + + Unknown + + + + + None + + + + + None + + + + + + + + + + + + + UpdatedReleased + + Unknown + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + + + + + + + +

    No default machine specified for '' in manifest.xml

    +
    + +
    +
    +
    + + + + -dbg + + + + + + +
    + + + + + Unknown + +
  • +
      + + + + + + + + +
    • + + + + + + + + + + + + + + + + + + + + + + + + + +
        + +
      • + + + + + + +
      • +
        +
      +
      +
    • +
      + + + + + + + + +
    +
  • +
    +
    + +
    diff --git a/versions/pc8080/1.21.7/outline.xsl b/versions/pc8080/1.21.7/outline.xsl new file mode 100644 index 000000000..1dc120db7 --- /dev/null +++ b/versions/pc8080/1.21.7/outline.xsl @@ -0,0 +1,47 @@ + + + + +]> + + + + + + + + + + + + + + + + + + <xsl:value-of select="title"/><xsl:text> | </xsl:text><xsl:value-of select="$SITEHOST"/> + + + + + +
    +
    + +
    +
    + + + + -dbg + + + + + + +
    + +
    diff --git a/versions/pc8080/1.21.7/pc8080-dbg.js b/versions/pc8080/1.21.7/pc8080-dbg.js new file mode 100644 index 000000000..1cf4e251b --- /dev/null +++ b/versions/pc8080/1.21.7/pc8080-dbg.js @@ -0,0 +1,165 @@ +(function(){var g;function da(a,b){var c;if(a){b||(b=16);if("$"==a.charAt(0))b=16,a=a.substr(1);else if("0x"==a.substr(0,2))b=16,a=a.substr(2);else{var d=a.charAt(a.length-1).toLowerCase();"h"==d?(b=16,d=null):"."==d&&(b=10,d=null);null==d&&(a=a.substr(0,a.length-1))}var e,d=a,f=b;(f&&10!=f?16==f?null!==d.match(/^[0-9a-f]+$/i):2==f&&null!==d.match(/^[01]+$/i):null!==d.match(/^[0-9]+$/))&&!isNaN(e=parseInt(a,b))&&(c=e|0)}return c} +function n(a,b){var c="";void 0===b?b=8:8=d?48:55),c=String.fromCharCode(d)+c;a>>=4}return c}function q(a){return"0x"+n(a,4)}function ea(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0":">",'"':""","'":"'"};function ma(a){return a.replace(/[&<>"']/g,function(a){return la[a]})}function ra(a,b){return(a+" ").slice(0,b)}function sa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")} +function ta(a,b,c){var d=0,e=a.length,f=0;for(void 0===c&&(c=function(a,b){return a>b?1:a>1,h;h=c(b,a[k]);0a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())} +function wa(a,b){var c;if(Array.prototype.indexOf)return a.indexOf(b,c);c=c||0;0>c&&(c+=a.length);0>c&&(c=0);for(var d=a.length;c=this.J?12:24>=this.J?14:15;this.X=1<>2;this.s=this.X-1;this.I=this.L/this.X|0;this.K=this.I-1;this.A=[];this.D=[];this.F=this.G=!1;this.P=[];this.T=[];a=new H;zb(a,this.C);this.B=Array(this.I);for(b=0;b>>a.O;0a.X?a.X:c;if(f&&f.size){if(f.type==d){if(b+c<=f.w)return f.eb+=f.w-b,f.w=b,!0;if(b>=f.w+f.eb){h=f.size-(b-k);h>c&&(h=c);f.eb=b-f.w+h;c-=h;b=k+a.X;continue}}return Bb(1,b,c)}f=a.B[e];b=new H(b,h,a.X,d);zb(b,a.C,f);a.B[e++]=b;b=k+a.X;c-=h}return 0>=c?!0:Bb(2,b,c)}function Cb(a,b){return a.B[(b&a.u)>>>a.O].bb(b&a.s,b)} +function Db(a,b){if(void 0===b)return a.F=!a.F,a.F;void 0===a.A[b]&&(a.A[b]=[null,!1]);a.A[b][1]=!a.A[b][1];return a.A[b][1]}function Eb(a,b){if(void 0===b)return a.G=!a.G,a.G;void 0===a.D[b]&&(a.D[b]=[null,!1]);a.D[b][1]=!a.D[b][1];return a.D[b][1]}function Bb(a,b,c){v("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Rb;if(tb){var Sb=new ArrayBuffer(2);(new DataView(Sb)).setUint16(0,256,!0);Rb=256===(new Uint16Array(Sb))[0]}else Rb=!1;var Tb=Rb; +function H(a,b,c,d){this.id=Ub+=2;this.b=null;this.w=a;this.eb=b;this.size=c||0;this.type=d||Vb;this.F=d==Wb;zb(this);this.ma=this.Rb=!1;if(c)if(tb)this.A=new ArrayBuffer(c),this.D=new DataView(this.A,0,c),this.H=new Uint8Array(this.A,0,c),this.I=new Uint16Array(this.A,0,c>>1),this.b=new Int32Array(this.A,0,c>>2),Xb(this,Tb?Yb:Zb);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},P:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ea:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},Fa:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<>8);this.ma=!0},L:function(a,b){if(this.C&&null!=this.w){var c=this.C;ec(c,this.w+a,1,c.M)&&c.S(!0)}return this.bb(a,b)},Y:function(a,b){if(this.C&&null!=this.w){var c=this.C;ec(c,this.w+a,2,c.M)&&c.S(!0)}return this.Ib(a,b)},qa:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;ec(d,this.w+a,1,d.F)&&d.S(!0)}this.F?this.u(a,b,c):this.Sa(a,b,c)},Ua:function(a,b,c){if(this.C&& +null!=this.w){var d=this.C;ec(d,this.w+a,2,d.F)&&d.S(!0)}this.F?this.u(a,b,c):this.Lb(a,b,c)},K:function(a){return this.H[a]},M:function(a){return this.H[a]},T:function(a){return this.D.getUint16(a,!0)},da:function(a){return a&1?this.H[a]|this.H[a+1]<<8:this.I[a>>1]},ga:function(a,b){this.H[a]=b;this.ma=!0},ra:function(a,b){this.H[a]=b;this.ma=!0},Ta:function(a,b){this.D.setUint16(a,b,!0);this.ma=!0},gb:function(a,b){a&1?(this.H[a]=b,this.H[a+1]=b>>8):this.I[a>>1]=b;this.ma=!0}}; +function zb(a,b,c){a.C=b;a.B=a.s=0;c&&((a.B=c.B)&&dc(a,cc,!1),(a.s=c.s)&&bc(a,cc,!1))}function fc(a,b){b?0===--a.s&&(a.G=a.F?a.u:a.Sa):0===--a.B&&(a.lb=a.bb)}function bc(a,b,c){c&&a.s||(a.G=!a.F&&b[2]||a.u);if(c||void 0===c)a.Sa=b[2]||a.u,a.Lb=b[3]||a.Va}function dc(a,b,c){c&&a.B||(a.lb=b[0]||a.J);if(c||void 0===c)a.bb=b[0]||a.J,a.Ib=b[1]||a.aa}function Xb(a,b){b||(b=gc);dc(a,b,void 0);bc(a,b,void 0)} +var gc=[],$b=[H.prototype.P,H.prototype.ea,H.prototype.Fa,H.prototype.hb],cc=[H.prototype.L,H.prototype.Y,H.prototype.qa,H.prototype.Ua];if(tb)var Zb=[H.prototype.K,H.prototype.T,H.prototype.ga,H.prototype.Ta],Yb=[H.prototype.M,H.prototype.da,H.prototype.ra,H.prototype.gb]; +function hc(a,b){x.call(this,"CPU",a,hc,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.Qa=c;this.i.ya=d;this.i.pb=Math.round(this.i.Qa/1E4)/100;this.i.wa=this.i.pb*this.i.ya;this.j.V=!1;this.j.ob=!1;this.j.Ab=a.autoStart;this.j.Bb=!1;this.j.Ha=!1;this.i.Wa=this.i.Na=0;this.i.Xa=a.csStart;this.i.Ma=a.csInterval;this.i.Oa=a.csStop;this.aa=this.Ea.bind(this);G(this)}z(hc);var ic=["power","reset"];g=hc.prototype; +g.Ka=function(a,b,c,d){this.s=a;this.B=b;this.C=d;for(b=0;b=a.i.Na&&(a.i.Na+=a.i.Ma,c=!0);0<=a.i.Oa&&a.i.Oa<=pc(a)&&(a.i.Ma=a.i.Oa=-1,lc(a),a.S(),c=!0);c&&a.g(pc(a)+" cycles: checksum="+n(a.i.Wa))}} +g.ba=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.H[b]=c;a=!0;break;case "run":this.H[b]=c;c.onclick=function(){var a;if(a=d.s)if(a=d.s,a.j.U)a=!0;else{var b=null,c,h=C(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.i.va/a.i.wa?b=1:d=!0;a.i.ya=b;b=a.i.pb*a.i.ya;if(a.i.wa!=b){a.i.wa=b;b=a.i.wa.toFixed(2)+"Mhz";var e=a.H.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.s&&a.s.cb()}rc(a,a.I);a.I=0;a.i.La=ua();a.i.xa=0;sc(a);return d} +g.Ea=function(a){if(pb(this,!0)){if(!this.j.V){qc(this);this.s&&this.s.start(this.i.La,pc(this));this.j.V=!0;this.j.ob=!0;this.D&&this.D.Wb();var b=this.H.run;b&&(b.textContent="Halt");this.s&&(this.s.ca(!0),a&&this.s.cb(!0))}this.i.rb>=this.i.Qa&&sc(this,!0);this.i.$a=0;this.i.kb=ua();this.i.xa&&(a=this.i.kb-this.i.xa,a>this.i.Eb&&(this.i.La+=a,this.i.La>this.i.kb&&(this.i.La=this.i.kb)));try{do{var c=this.j.Ha?1:this.i.Vb;this.D&&(this.D.Kb(),c=this.D.Yb(0,c),c=this.D.Xb(c));try{this.Ra(c)}catch(e){if("number"!= +typeof e)throw e;}var d=this.G-this.u;this.I+=d;this.i.$a+=d;rc(this,0,!0);oc(this,d);this.i.Za-=d;0>=this.i.Za&&(this.i.Za+=this.i.Gb);this.i.Ya-=d;0>=this.i.Ya&&(this.i.Ya+=this.i.Fb,this.s&&this.s.ca());this.i.Pa-=d;if(0>=this.i.Pa){this.i.Pa+=this.i.qb;break}}while(this.j.V)}catch(e){this.S();I(this);this.s&&this.s.stop(ua(),pc(this));pb(this,!1);sb(this,e.stack||e.message);return}c=setTimeout;d=this.aa;this.i.xa=ua();a=this.i.Eb;this.i.$a&&(a=Math.round(a*this.i.$a/this.i.qb));a-=this.i.xa-this.i.kb; +if(b=this.i.xa-this.i.La)this.i.va=Math.round(this.I/(10*b))/100,864E5<=b&&(this.J=0,this.D&&this.D.Kb(!0),qc(this));if(0>a||this.i.va>1?128:0}function Yc(a){Xc(a)||(a.R^=a.A>>1|a.A>>2,a.F^=32896)}function Wc(a){return a.Ca&-2262|(a.b&a.A?1:0)|(ub[a.R&255]?4:0)|((a.R^a.F)&16?16:0)|(a.b&a.A-1?0:64)|Xc(a)}function Vc(a,b){a.A=256;a.b=a.R=a.F=0;b&1&&(a.b|=a.A);b&4||(a.R|=1);b&16&&(a.F|=16);b&64||(a.b|=a.A-1);b&128&&Yc(a);a.Ca=a.Ca&-513|b&512|2} +g.ba=function(a,b,c){var d=!1;switch(b){case "A":case "B":case "C":case "D":case "E":case "H":case "L":case "SP":case "PC":case "F":case "C":case "P":case "A":case "Z":case "S":case "V":this.H[b]=c;this.T++;d=!0;break;default:d=this.parent.ba.call(this,a,b,c)}return d};function Zc(a){var b;b=a.N+1|0;var c;c=a.N;c=a.sa[(c&a.P)>>>a.O].lb(c&a.M,c);a.N=b;return c} +function N(a,b,c,d){d=d||2;a.H[b]&&(void 0===c&&(sb(a,"Value for "+b+" is invalid"),a.S()),c=!a.j.V||a.j.Bb?n(c,d):"--------".substr(0,d),a.H[b].textContent!=c&&(a.H[b].textContent=c))} +g.ca=function(a){this.T&&(a||!this.j.V||this.j.Bb)&&(N(this,"A",this.za),N(this,"B",this.ka),N(this,"C",this.na),N(this,"D",this.oa),N(this,"E",this.Aa),N(this,"H",this.pa),N(this,"L",this.Ba),N(this,"SP",this.Da,4),N(this,"PC",this.N,4),a=Wc(this),N(this,"F",a,2),N(this,"S",a&128,1),N(this,"Z",a&64,1),N(this,"A",a&16,1),N(this,"P",a&4,1),N(this,"C",a&1,1));if(a=this.H.speed)a.textContent=this.j.V&&this.i.va?this.i.va.toFixed(2)+"Mhz":"Stopped"}; +g.Ra=function(a){this.j.ib=!0;var b=this.j.Qb=this.C&&$c(this.C),c=a?this.j.ob?0:1:-1;this.j.ob=!1;this.G=this.u=a;this.D&&!a&&this.D.Kb();a||(this.K|=4);do{if(this.L&&this.L&4){this.K=this.u=0;break}if(b){if(ad(this.C,this.N,c)){this.S();break}c=1}this.K=0;this.Y[Zc(this)].call(this)}while(0>>0,k],r=ta(p,l,a.tb);0>r&&p.splice(-(r+1),0,l)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({Zb:b,w:c,Ub:d,ha:e,ub:f})}delete this.ha}return!0};bd.prototype.ia=function(){return!0}; +function cd(a,b,c,d){if(d)a.Z("Unable to load system ROM (error "+d+": "+b+")");else{kb(a.wb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,k=e.data;if(f)a.s=f;else if(k)for(a.s=Array(4*k.length),d=c=0;c>8&255,a.s[d++]=k[c]>>16&255,a.s[d++]=k[c]>>24&255;else a.s=e;a.ha=e.symbols;if(!a.s.length){v("Empty ROM: "+b);return}if(1==a.s.length){v(a.s[0]);return}}catch(h){a.Z("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, +" ").replace(/ +$/,"").split(" "),a.s=Array(b.length),e=0;e>>d.O].Sa(e&d.s,a.s[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.A?b.push(a.A):null!=a.A&&a.A.length&&(b=a.A);for(c=0;c>>e.O;0>>=e.O;0Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ya().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= +(a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Va.aspect);f&&.3<=f&&3.33>=f&&(Pa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ja("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);e.getContext("2d");d=new gd(d);mb(d,c)}}); +function hd(a){x.call(this,"Debugger",a,hd);this.T=this.Fa=this.J=0;this.L=P();this.vb=P();this.D=-1;this.A=[];this.da=!1;this.Y=P();this.G=[];this.aa={};this.u=this.M=this.F=[];id(this);this.qa=0;jd(this);this.Ta=[];kd(this,a.messages);this.Va=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return mc(b,a)}):void 0===global.$&&(global.$=function(a){return mc(b,a)})}z(hd); +var ld={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",ln:"list nearest symbol(s)",m:"messages","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine","t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},md="NONE ACI ADC ADD ADI ANA ANI CALL CC CM CNC CNZ CP CPE CPO CZ CMA CMC CMP CPI DAA DAD DCR DCX DI EI HLT IN INR INX JMP JC JM JNC JNZ JP JPE JPO JZ LDA LDAX LHLD LXI MOV MVI NOP ORA ORI OUT PCHL POP PUSH RAL RAR RET RC RM RNC RNZ RP RPE RPO RZ RLC RRC RST SBB SBI SHLD SPHL STA STAX STC SUB SUI XCHG XRA XRI XTHL".split(" "), +nd="B C D E H L M A F BC DE HL PSW SP PC".split(" "),od=[[45],[42,2323,32],[71,2387],[29,2323],[28,17],[22,17],[44,17,32],[63],[45,32768],[21,6419],[40,2387],[23,2323],[28,273],[22,273],[44,273,32],[64],[45,32768],[42,2579,32],[71,2643],[29,2579],[28,529],[22,529],[44,529,32],[52],[45,32768],[21,6675],[40,2643],[23,2579],[28,785],[22,785],[44,785,32],[53],[45,32768],[42,2835,32],[68,99],[29,2835],[28,1041],[22,1041],[44,1041,32],[20],[45,32768],[21,6931],[41,99],[23,2835],[28,1297],[22,1297],[44, +1297,32],[16],[45,32768],[42,3347,32],[70,97],[29,3347],[28,1553],[22,1553],[44,1553,32],[72],[45,32768],[21,7443],[39,97],[23,3347],[28,1809],[22,1809],[44,1809,32],[17],[43,17,17],[43,17,273],[43,17,529],[43,17,785],[43,17,1041],[43,17,1297],[43,17,1553],[43,17,1809],[43,273,17],[43,273,273],[43,273,529],[43,273,785],[43,273,1041],[43,273,1297],[43,273,1553],[43,273,1809],[43,529,17],[43,529,273],[43,529,529],[43,529,785],[43,529,1041],[43,529,1297],[43,529,1553],[43,529,1809],[43,785,17],[43,785, +273],[43,785,529],[43,785,785],[43,785,1041],[43,785,1297],[43,785,1553],[43,785,1809],[43,1041,17],[43,1041,273],[43,1041,529],[43,1041,785],[43,1041,1041],[43,1041,1297],[43,1041,1553],[43,1041,1809],[43,1297,17],[43,1297,273],[43,1297,529],[43,1297,785],[43,1297,1041],[43,1297,1297],[43,1297,1553],[43,1297,1809],[43,1553,17],[43,1553,273],[43,1553,529],[43,1553,785],[43,1553,1041],[43,1553,1297],[43,1553,1553],[43,1553,1809],[43,1809,17],[43,1809,273],[43,1809,529],[43,1809,785],[43,1809,1041], +[43,1809,1297],[43,1809,1553],[43,1809,1809],[3,17],[3,273],[3,529],[3,785],[3,1041],[3,1297],[3,1553],[3,1809],[2,17],[2,273],[2,529],[2,785],[2,1041],[2,1297],[2,1553],[2,1809],[73,17],[73,273],[73,529],[73,785],[73,1041],[73,1297],[73,1553],[73,1809],[66,17],[66,273],[66,529],[66,785],[66,1041],[66,1297],[66,1553],[66,1809],[5,17],[5,273],[5,529],[5,785],[5,1041],[5,1297],[5,1553],[5,1809],[76,17],[76,273],[76,529],[76,785],[76,1041],[76,1297],[76,1553],[76,1809],[46,17],[46,273],[46,529],[46, +785],[46,1041],[46,1297],[46,1553],[46,1809],[18,17],[18,273],[18,529],[18,785],[18,1041],[18,1297],[18,1553],[18,1809],[58],[50,2323],[34,35],[30,35],[11,35],[51,2323],[4,33],[65],[62],[54],[38,35],[30,32803],[15,35],[7,35],[1,33],[65],[57],[50,2579],[33,35],[48,33],[10,35],[51,2579],[74,33],[65],[55],[54,32768],[31,35],[27,33],[8,35],[7,32803],[67,33],[65],[61],[50,2835],[37,35],[78],[14,35],[51,2835],[6,33],[65],[60],[49],[36,35],[75],[13,35],[7,32803],[77,33],[65],[59],[50,3091],[35,35],[24], +[12,35],[51,3091],[47,33],[65],[56],[69],[32,35],[25],[9,35],[7,32803],[19,33],[65]],Q={cpu:1,bus:64,mem:128,port:256,timer:2048,keyboard:65536,key:131072,video:262144,fdc:524288,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:536870912,warn:1073741824,halt:-2147483648};g=hd.prototype; +g.Ka=function(a,b,c,d){this.B=b;this.b=c;this.s=a;(a=jc(a,"messages"))&&kd(this,a);this.gb=od;pd(this,function(a){a:{var b=d.b.sa,c=a[0],h=a=0,l=b.length;if(c){a=T(U(d,c));if(-1===a){d.g("invalid address: "+c);break a}h=a>>>d.b.O;l=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;l--;){var p=b[h];p.type==c?m++||d.g("..."):(c=p.type,m=ac[c],p&&d.g(n(p.id)+" %"+n(h<>>c.O,c=e!=c.s?c.B[f].Ib(e,d):c.B[f++].bb(e,d)|c.B[f&c.K].bb(0,d+1)<<8;b&&qd(a,b)}return c}; +g.sb=function(a,b,c){var d=T(a);if(-1!==d){var e=this.B;e.B[(d&e.u)>>>e.O].Sa(d&e.s,b&255,d);c&&qd(a,c);I(this.b,!0)}};g.Mb=function(a,b,c){var d=T(a);if(-1!==d){var e=this.B,f=d&e.s,k=(d&e.u)>>>e.O;f!=e.s?e.B[k].Lb(f,b&65535,d):(e.B[k++].Sa(f,b&255,d),e.B[k&e.K].Sa(0,b>>8&255,d+1));c&&qd(a,c);I(this.b,!0)}};function P(a){return{w:a||0,fa:!1}}function rd(a){return[a.w,a.fa]}function sd(a){return{w:a[0],fa:a[1]}} +function U(a,b,c){var d;c=(c?a.L:a.vb).w;if(void 0!==b){d=b=td(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cc&&(c=wa(nd,a.substr(b,2))));return c}function zd(a,b){var c=0,d=Ad(a,b);if(void 0!==d)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 8:c=2;break;case 9:case 10:case 11:case 12:case 13:case 14:c=4}return c?n(d,c):"??"} +function Ad(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.za;break;case 8:c=Wc(d)&255;break;case 0:c=d.ka;break;case 1:c=d.na;break;case 9:c=d.ka<<8|d.na;break;case 2:c=d.oa;break;case 3:c=d.Aa;break;case 10:c=d.oa<<8|d.Aa;break;case 4:c=d.pa;break;case 5:c=d.Ba;break;case 11:c=d.pa<<8|d.Ba;break;case 12:c=d.za<<8|Wc(d)&255;break;case 13:c=d.Da;break;case 14:c=d.N}}return c} +function Bd(a,b){b=td(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=yd(b,c+1),0<=e&&(b=b.substr(0,c)+zd(a,e)+b.substr(c+1+nd[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=da(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=U(a,e))?(d=e+' "'+xd(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=U(a,e))?(qd(d),d=e+' "'+ +xd(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}g.message=function(a,b){b&&(a+=" at "+n(P(this.b.N).w,4));if(!this.ra||a!=this.ra)if(this.ra=a,this.W&-2147483648&&(this.S(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.Pa=0;c.G-=c.u;c.u=0;I(c)}};function Cd(a,b,c,d){a.message(b.Ua+"."+(null!=d?"outPort":"inPort")+"("+q(c)+",unknown"+(null!=d?",0x"+n(d,2):"")+")")} +function jd(a){var b;if($c(a)){if(!a.K||!a.K.length){a.K=Array(1E3);for(b=0;b>>d.O],!1)}a.M=["br"];if(void 0!==a.F)for(b=1;b>>d.O],!0);a.F=["bw"];a.xb=0}g.ta=function(a,b,c){var d=!0;c||Jd(this,a,b,!1,!0);if(a!=this.u){var e=T(b);if(-1===e)this.g("invalid address: "+n(b.w,4)),d=!1;else{var f=this.b;f.sa[e>>>f.O].ta(e&f.M,a==this.F)}}d&&(a.push(b),c?b.fa=!0:(Kd(this,a,a.length-1,"set"),jd(this)));return d}; +function Jd(a,b,c,d,e){var f=!1;c=T(c);for(var k=1;k>>d.O],b==a.F));h.fa||jd(a);break}}return f}function Ld(a,b){for(var c=1;c>24,4);break;case 3:B=n(r.fb(K,2),4);break;default:B="imm("+q(t)+")"}r=B}else 16==K&&(r=nd[(t&3840)>>8]);if(!r||!r.length){f="INVALID";break}0=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +function Qd(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; +case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} +function ud(a,b,c){var d;if(b){b=td(a,b);for(var e=0,f=!1,k=b,h=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;k=p+"b"+k;d>>=8}d="0x"+n(c)+" "+c+". ("+k+")"}a.g((null!=b?b+": ":"")+d);return e}function se(a,b){if(b)return re(a,b,a.aa[b]);var c=0;for(b in a.aa)re(a,b,a.aa[b]),c++;return 0b[0]?1:a[0]>>0;for(b=0;b>>0,h=f.Ub;if(e>=k&&e>1|d.A>>2,d.F^=32896));break;case "I":k?(d=a.b,d.Ca|=512):(d=a.b,d.Ca&=-513);break;default:a.g("unknown register: "+d);return}}if(!f){a.g("invalid value: "+e);return}I(a.b);a.g("updated registers:")}a.g(V(a,7)+V(a,8)+V(a,0)+V(a,1)+V(a,2)+V(a,3)+V(a,4)+V(a,5)+V(a,13)+Od(a,"I")+Od(a,"S")+Od(a,"Z")+Od(a,"A")+Od(a,"P")+Od(a,"C"));c&&(a.L=P(a.b.N),Fd(a,n(a.L.w,4)))}} +function ye(a,b){b=sa(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(Bd(a,c[2])):ud(a,b,!0)}function ze(a,b,c){var d="t"!=b;c=Rd(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ka(c,function(){return pb(a,!0)&&a.Ra(e,d,!1)},function(){I(a.b);pb(a,!1)})} +function Fd(a,b,c,d){if(b=U(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=U(a,c,!0);if(!d||d.wh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(k=h[3],f=null);f=Nd(a,b,k,f);a.g(f);a.L=b;e-=b.w-l;c++}}} +function wd(a,b,c,d){if(c)if(b){0>a.D&&a.A.length&&(a.D=0);if(0>a.D||b!=a.A[a.D])a.A.splice(0,0,b),a.D=0;a.D--}else b=a.A[a.D+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var k=b.charAt(f);if('"'==k||"'"==k)e?k==e&&(e=null):e=k;else if(k==d&&!e||!k)a.push(sa(b.substring(c,f))),c=f+1}}return a} +function Md(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.da&&(a.g("ended assemble at "+n(a.Y.w,4)),a.L=a.Y,a.da=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ra=null;if(rb(a)&&0m||"z"aa.length&&(a.g("note: only "+aa.length+" available"),L=aa.length);D-=L;0>D&&(null==aa[aa.length-1].w?(L=D+L,D=0):D+=aa.length);var vc=[];"call"==Xd&& +(Ga=1E5,vc=["CALL"]);for(void 0!==Wd&&a.g(L+" instructions earlier:");0=aa.length&&(D=0);a.yb=L;Zd++;Ga--}}Zd||(a.g("no "+Yd+"history available"),a.yb=void 0)}else{var Fb=U(a,Y);if(Fb){var Gb=0;na&&("l"==na.charAt(0)&&(na=na.substr(1)||Ve),Gb=Rd(a,na)>>>0,65536>4||1,wc="dd"== +Da?4:"dw"==Da?2:1,be=0;bezc;zc++){var Ib=a.la(Fb,1),Hb=Hb|Ib<<(xc++<<3);xc==wc&&($a+=n(Hb,2*wc),$a+=1==wc?7==zc?"-":" ":" ",Hb=xc=0);yc+=32<=Ib&&128>Ib?String.fromCharCode(Ib):"."}oa&&(oa+="\n");oa+=Y+" "+$a+" "+yc}oa&&a.g(oa);a.vb=Fb}}}}break;case "e":if("else"==f[0])break;var Jb=1,ce=255,de=a.la,ee=a.sb;"ew"==f[0]&&(Jb=2,ce=65535,de=a.fb,ee=a.Mb);var fe=Jb<<1,ge=f[1];if(null==ge)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"), +a.g("\tew [a] [...] edit words at address a");else{var Kb=U(a,ge);if(Kb)for(var Lb=2;LbJc;){for(var pa=null,af=256;65536>db.w>>>0;){ie.w=a.fb(db,2);if(null==db.w||!af--)break; +for(var bf=a,Nb=ie,je=null,eb=Nb.w,ke=eb,Kc=1;6>=Kc&&eb;Kc++){if(2>>=Pc)&ff;if(void 0!==Pb){if(Pb[0])Pb[0](ja,Qb,void 0);S.C&&S.G!=Pb[1]&&Id(S.C,ja,Qb)}else S.C&& +(Cd(S.C,S,ja,Qb),S.G&&Id(S.C,ja,Qb));Pc+=fb<<3;ja+=fb;Oc-=fb}a.g(q(Mc)+": "+("0x"+n(Nc,2)))}}else a.g("output commands:"),a.g("\to [p] [b]\twrite byte [b] to port [p]"),a.g("warning: port accesses can affect hardware state");break;case "p":if("print"==f[0]){ye(a,b.substr(5));break}var pe="pr"==f[0]?1:0,gf=1+pe;if(a.P)a.g("step in progress");else{var Qc=P(a.b.N);switch(a.la(Qc)){case 205:a.P=gf,qd(Qc,3)}a.P?(a.ta(a.u,Qc,!0),a.Ea()||(a.s&&a.s.cb(),a.P=0)):ze(a,pe?"tr":"t")}break;case "r":if("reset"== +b){a.s&&a.s.reset();break}Ed(a,f);break;case "t":ze(a,f[0],f[1]);break;case "u":Fd(a,f[1],f[2],8);break;case "v":if("var"==f[0]){we(a,b.substr(3))||(d=!1);break}a.g("PC8080 version 1.21.7 ("+a.b.Db+",RELEASE"+(tb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(ya());break;case "x":a:if(f[1]&&"?"!=f[1])switch(f[1]){case "cs":var gb;void 0!==f[3]&&(gb=+f[3]);switch(f[2]){case "int":a.b.i.Ma=gb;break;case "start":a.b.i.Xa=gb;break;case "stop":a.b.i.Oa=gb;break;default:a.g("unknown cs option");break a}void 0!== +gb&&lc(a.b);a.g("checksums "+(a.b.j.Ha?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(qc(a.b,+f[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.i.wa.toFixed(2)+"Mhz")+" ("+a.b.i.ya+"x)");break;default:a.g("unknown option: "+f[1])}else a.g("execution options:"),a.g("\tcs int #\tset checksum cycle interval to #"),a.g("\tcs start #\tset checksum cycle start count to #"),a.g("\tcs stop #\tset checksum cycle stop count to #"),a.g("\tsp #\t\tset speed multiplier to #"); +break;case "?":if(f[1]){ye(a,b.substr(1));break}var hb="commands:",Rc;for(Rc in ld)hb+="\n"+ra(Rc,7)+ld[Rc];$c(a)||(hb+="\nnote: frequency/history disabled if no exec breakpoints");a.g(hb);break;default:a.g("unknown command: "+b),d=!1}}}catch(qe){a.g("debugger error: "+(qe.stack||qe.message)),d=!1}return d}function mc(a,b,c){b=wd(a,b,c);for(var d in b)if(!Md(a,b[d]))return!1;return!0}Qa(function(){for(var a=F(document,"pc8080","debugger"),b=0;bJe){if(Fe(d,this.K)){this.F=new J(this,W,"failsafe");Fe(this.F)&&(Oe(this,d),a=2,Ce(this.F));M(this.F,"timestamp",va());De(this.F);var e=this.s&&!this.G;if(1==a||za("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=Ee(d)){var f=Ge(d,"code"),k=Ge(d,"data");f&&("ok"==f?Fe(d,k):("error"==f&&"no machine state"!= +k?(this.Z("Error: "+k),"unable to verify user"==k&&(Ia("user",""),this.u=null)):this.g(f+": "+k),Ce(d),Fe(d)?(c=Ee(d),e=!0):c=!1))}e&&Ne(this,c?d:null)}else 2==a&&d.clear()}else Ne(this);delete this.K;delete this.L}e=C(this.id);for(f=0;fa[1];a=a[2];this.j.U=!0;var d=this.H.power;d&&(d.textContent="Shutdown");this.T||(this.g("PC8080 v"+W+"\nCopyright \u00a9 2012-2016 Jeff Parsons \nLicense: GPL version 3 or later "),this.T=!0);this.b&&(Pe(this,this.b,b,c,a),nc(this.b));this.Y&&(Oe(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.A=0}; +function Oe(a,b){if(za("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.ea,d=a.u||"",e=b.toString(),f={app:"PC8080"};f.ver=W;f.url=c;f.user=d;f.type="bug";f.data=e;u("http://www.pcjs.org/api/v1/report",f,!0)}} +function Ae(a,b,c){var d,e="none";if(a.A)return null;a.A--;var f=new J(a,W),k=new J(a,W,"validate"),h=va();M(k,"timestamp",h);M(f,"timestamp",h);M(f,"version","1.21.7");M(f,"url",window?window.location.href:null);M(f,"browser",ya());a.b&&a.b.ia&&(c&&a.b.S(),d=a.b.ia(b,c),"object"===typeof d&&M(f,a.b.id,d),c&&(a.b.j.U=!1,!1===d&&(e=null)));for(var h=C(a.id),l=0;lh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2")); +h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){h=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");u(e,null,!0,function(f,k,h){if(h||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(k=k.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/, +"");a=a.replace(d[0],k);jf(a,b,c)}})}else c(a,null)} +function kf(a,b,c,d){function e(a){if(void 0===h){var b=k&&F(k,"machine-warning");h=b&&b[0]||k}h&&(h.innerHTML=ma(a))}function f(a){e("Error: "+a);l&&(--Se||Sa(!0));l=!1}var k,h,l=!0;Se++;jb[a]={};try{if(k=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));p.appendChild(r)}c|| +(c="/versions/pc8080/1.21.7/components.xsl");m=function(d,h){h?Te(c,null,null,!1,e,function(d,m){if(m)if(kb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window){var l=h.transformNode(m);l?(k.outerHTML=l,--Se||Sa(!0)):f("transformNodeToObject failed")}else document.implementation&&document.implementation.createDocument?(l=new XSLTProcessor,l.importStylesheet(m),(l=l.transformToFragment(h,document))?k.parentNode?(k.parentNode.replaceChild(l,k),--Se||Sa(!0)):f("invalid machine element: "+ +a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser");else f(d)}):f(d)};"<"!=b.charAt(0)?Te(b,a,d,!0,e,m):hf(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(t){f(t.message)}return l}window.embedPC8080=function(a,b,c,d){Sa(!1);return kf(a,b,c,d)};window.enableEvents=Sa;window.sendEvent=Ta; +function lf(a,b,c,d){if(!c&&b){d.push(b);a=jb[d[0]];b=null;for(var e in a)if(ka(e,"components.xsl")){b=e.replace(".xsl",".css");break}b?u(b,null,!0,function(a,b){mf(b,d)}):mf(null,d)}else v("Error ("+c+") requesting "+a)} +function mf(a,b){var c,d,e,f=b[0],k=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=jb[f],l={},m;for(m in h){var p=h[m],r=fa(m);if("xml"==r){for(r=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=r.exec(h[m]);){var t=d[2];t&&(h[t]||(p=p.replace(d[0],"")))}d=m=ea(m)}else"xsl"==r&&(e=m=ea(m));l[m]=p}a&&(l[m="css"]=a);b[2]&&(l[m="parms"]=b[2]);b[3]&&(l[m="state"]=b[3]);d&&e?(m=JSON.stringify(l),k+=".js",c=c[1]+"var resources="+m+";"+c[2]+c[3],c=c.replace(/\u00A9/g, +"©"),m=k,h=null,l="data:application/javascript,",l=Ja("Firefox")?l+encodeURIComponent(c):l+encodeURI(c),m&&(h=document.createElement("a"),"string"!=typeof h.download&&(h=null)),h?(h.href=l,h.download=m,document.body.appendChild(h),h.click(),document.body.removeChild(h),c="Check your Downloads folder for "+m+"."):(window.open(l),c="Check your browser for a new window/tab containing the requested data"+(m?" ("+m+")":"")+"."),c+=', copy it to your web server as "'+k+'", and then add the following to your web page:\n\n', +c+='
    \n',c+="...\n",c+='{% endcapture %} + {% capture machine_script %}{% endcapture %} {% unless machine_scripts contains machine_script %} {{ machine_script }} {% endunless %} {% capture machine_scripts %}{{ machine_scripts }}{{ machine_script }}{% endcapture %} {% if machine_template == "" %} - {% capture machine_template %}{{ site.baseurl }}/versions/{{ machine_type }}js/{{ site.pcjs.version }}/components.xsl{% endcapture %} + {% capture machine_template %}{{ site.baseurl }}/versions/{{ machine_app }}/{{ site.pcjs.version }}/components.xsl{% endcapture %} {% endif %} {% else %} {% if machine_type == "c1p" %}{% assign array_scripts = site.pcjs.c1p_scripts %}{% endif %} @@ -120,10 +125,10 @@ of our Markdown or XML documents. Examples: 'automount' becomes 'autoMount', 'a {% endif %} {% endfor %} {% if machine_template == "" %} - {% if machine_type != "c1p" %} + {% if machine_app != "c1pjs" %} {% capture machine_template %}{{ site.baseurl }}/modules/shared/templates/components.xsl{% endcapture %} {% else %} - {% capture machine_template %}{{ site.baseurl }}/modules/{{ machine_type }}js/templates/components.xsl{% endcapture %} + {% capture machine_template %}{{ site.baseurl }}/modules/{{ machine_app }}/templates/components.xsl{% endcapture %} {% endif %} {% endif %} {% endif %} diff --git a/_includes/machine-styles.html b/_includes/machine-styles.html index 9a2403b78..9c16c6098 100644 --- a/_includes/machine-styles.html +++ b/_includes/machine-styles.html @@ -1,13 +1,18 @@ {% for machine in page.machines %} {% capture machine_type %}{{ machine.type | remove:"-dbg" }}{% endcapture %} + {% if machine_type != "pc" and machine_type != "c1p" %} + {% capture machine_app %}{{ machine_type }}{% endcapture %} + {% else %} + {% capture machine_app %}{{ machine_type }}js{% endcapture %} + {% endif %} {% unless site.pcjs.compiled == true and machine.uncompiled != true %} - {% if machine_type != "c1p" %} + {% if machine_app != "c1pjs" %} {% capture machine_style %}{{ site.baseurl }}/modules/shared/templates/components.css{% endcapture %} {% else %} - {% capture machine_style %}{{ site.baseurl }}/modules/{{ machine_type }}js/templates/components.css{% endcapture %} + {% capture machine_style %}{{ site.baseurl }}/modules/{{ machine_app }}/templates/components.css{% endcapture %} {% endif %} {% else %} - {% capture machine_style %}{{ site.baseurl }}/versions/{{ machine_type }}js/{{ site.pcjs.version }}/components.css{% endcapture %} + {% capture machine_style %}{{ site.baseurl }}/versions/{{ machine_app }}/{{ site.pcjs.version }}/components.css{% endcapture %} {% endunless %} {% unless machine_styles contains machine_style %} From fd8cf4a690ef647fa7abf842e8c5c904bc892037 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Thu, 21 Apr 2016 11:47:55 -0700 Subject: [PATCH 29/54] The savePC() function is only available for PCjs, so changed the XSL check from MACHINECLASS to APPCLASS --- docs/pcjs/examples/components.xsl | 2 +- modules/shared/templates/components.xsl | 2 +- versions/pc8080/1.21.7/components.xsl | 2 +- versions/pcjs/1.21.7/components.xsl | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/pcjs/examples/components.xsl b/docs/pcjs/examples/components.xsl index 793fa498d..78921c789 100644 --- a/docs/pcjs/examples/components.xsl +++ b/docs/pcjs/examples/components.xsl @@ -239,7 +239,7 @@
    [XML]
    - + diff --git a/modules/shared/templates/components.xsl b/modules/shared/templates/components.xsl index 62a0cd841..d37e22d07 100644 --- a/modules/shared/templates/components.xsl +++ b/modules/shared/templates/components.xsl @@ -240,7 +240,7 @@
    [XML]
    - + diff --git a/versions/pc8080/1.21.7/components.xsl b/versions/pc8080/1.21.7/components.xsl index 4be8327a6..0e4378174 100644 --- a/versions/pc8080/1.21.7/components.xsl +++ b/versions/pc8080/1.21.7/components.xsl @@ -239,7 +239,7 @@
    [XML]
    - + diff --git a/versions/pcjs/1.21.7/components.xsl b/versions/pcjs/1.21.7/components.xsl index 89aa05628..48347394f 100644 --- a/versions/pcjs/1.21.7/components.xsl +++ b/versions/pcjs/1.21.7/components.xsl @@ -239,7 +239,7 @@
    [XML]
    - + From 2b03e25c47c982924459b50e193b95a0b089b31f Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Thu, 21 Apr 2016 11:57:10 -0700 Subject: [PATCH 30/54] 8080 README update --- devices/pc8080/machine/invaders/README.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/devices/pc8080/machine/invaders/README.md b/devices/pc8080/machine/invaders/README.md index 06e0f9c79..7983d7168 100644 --- a/devices/pc8080/machine/invaders/README.md +++ b/devices/pc8080/machine/invaders/README.md @@ -13,14 +13,17 @@ Space Invaders (Under Construction) --- This is the first test of [PC8080](/modules/pc8080/), a new 8080-based machine emulator being added to the -PCjs Project. It's a work-in-progress, so there's not much to look at yet. +PCjs Project. It's a work-in-progress, so there's not much to look at yet. And the goal is not to build +yet-another Space Invaders/Arcade Machine emulator -- that's been done many times over -- but to start with +a well-understood 8080-based machine architecture that doesn't need a lot of peripherals, and use it as the +first test case for another CPU that we can add to the PCjs toolbox. The idea is to make [PC8080](/modules/pc8080/) sufficiently configurable so that it will work with a variety of 8080-based systems, including those with memory-mapped video displays (like Space Invaders), as well as simpler terminal-based systems, like the CP/M-based systems of old. -In fact, as soon as Space Invaders is working, my next adaptation will be a DEC VT-100 terminal emulator, which is -itself is an 8080-based machine. +In fact, as soon as Space Invaders is working, my next adaptation will be a DEC VT100 terminal emulator (itself +an 8080-based machine) which can then "wired up" to other PCjs machine simulations. Assorted [Space Invaders Hardware Notes](#space-invaders-hardware-notes) are collected below. From 425f565b111a16d93f456557e393c09d616df494 Mon Sep 17 00:00:00 2001 From: Jeff Parsons Date: Thu, 21 Apr 2016 15:41:58 -0700 Subject: [PATCH 31/54] Simplified flag management --- devices/pc8080/panel/default.xml | 12 +- modules/pc8080/lib/cpudef.js | 26 +-- modules/pc8080/lib/cpuops.js | 101 ++++++++- modules/pc8080/lib/cpusim.js | 306 +++++++++++++-------------- modules/shared/lib/embed.js | 2 +- versions/pc8080/1.21.7/pc8080-dbg.js | 235 ++++++++++---------- versions/pc8080/1.21.7/pc8080.js | 145 ++++++------- 7 files changed, 444 insertions(+), 383 deletions(-) diff --git a/devices/pc8080/panel/default.xml b/devices/pc8080/panel/default.xml index 96e857114..ea9f08d02 100644 --- a/devices/pc8080/panel/default.xml +++ b/devices/pc8080/panel/default.xml @@ -16,12 +16,12 @@ 0000 0000 - 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 + 0 + 0 Speed: Stopped diff --git a/modules/pc8080/lib/cpudef.js b/modules/pc8080/lib/cpudef.js index dd362b52f..b692c2aac 100644 --- a/modules/pc8080/lib/cpudef.js +++ b/modules/pc8080/lib/cpudef.js @@ -71,25 +71,7 @@ var CPUDef = { SF: 0x0080, // bit 7: Sign flag ALL: 0x00D5, // CF, PF, AF, ZF, SF MASK: 0x00FF, // - IF: 0x0200, // bit 9: Interrupt flag (for internal use only) - OF: 0x0800 // bit 11: Overflow flag (for internal use only) - }, - RESULT: { - /* - * Flags are computed using the following internal registers: - * - * CF: resultZeroCarry & resultSize (ie, 0x100 or 0x10000) - * PF: resultParitySign & 0xff - * AF: (resultParitySign ^ resultAuxOverflow) & 0x0010 - * ZF: resultZeroCarry & (resultSize - 1) - * SF: resultParitySign & (resultSize >> 1) - * OF: (resultParitySign ^ resultAuxOverflow ^ (resultParitySign >> 1)) & (resultSize >> 1) - */ - SIZE_BYTE: 0x00100, // mask for byte arithmetic instructions (after subtracting 1) - SIZE_WORD: 0x10000, // mask for word arithmetic instructions (after subtracting 1) - AUXOVF_AF: 0x00010, - AUXOVF_OF: 0x08080, - AUXOVF_CF: 0x10100 + IF: 0x0200 // bit 9: Interrupt flag (for internal use only) }, PARITY: [ // 256-byte array with a 1 wherever the number of set bits of the array index is EVEN 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, @@ -132,10 +114,6 @@ var CPUDef = { ACI: 0xCE, // PS.ALL CALL: 0xCD // to be continued.... - }, - CYCLES: { - ACI: 7 // 2 cycles, 7 states - // to be continued.... } }; @@ -148,7 +126,7 @@ CPUDef.PS.DIRECT = (CPUDef.PS.IF); * However, PS "arithmetic" flags are NOT stored in regPS; they are maintained across * separate result registers, hence the "indirect" designation. */ -CPUDef.PS.INDIRECT = (CPUDef.PS.CF | CPUDef.PS.PF | CPUDef.PS.AF | CPUDef.PS.ZF | CPUDef.PS.SF | CPUDef.PS.OF); +CPUDef.PS.INDIRECT = (CPUDef.PS.CF | CPUDef.PS.PF | CPUDef.PS.AF | CPUDef.PS.ZF | CPUDef.PS.SF); /* * These are the default "always set" PS bits for the 8080. diff --git a/modules/pc8080/lib/cpuops.js b/modules/pc8080/lib/cpuops.js index ffea89c91..ca233b01c 100644 --- a/modules/pc8080/lib/cpuops.js +++ b/modules/pc8080/lib/cpuops.js @@ -55,11 +55,102 @@ CPUDef.opNOP = function() */ CPUDef.opLXIB = function() { - this.regC = this.getPCByte(); - this.regB = this.getPCByte(); + this.setBC(this.getPCWord()); this.nStepCycles -= 10; }; +/** + * op=0x02 (STAX B) + * + * @this {CPUSim} + */ +CPUDef.opSTAXB = function() +{ + this.setByte(this.getBC(), this.regA); + this.nStepCycles -= 7; +}; + +/** + * op=0x03 (INX B) + * + * @this {CPUSim} + */ +CPUDef.opINXB = function() +{ + this.setBC(this.getBC() + 1); + this.nStepCycles -= 5; +}; + +/** + * op=0x04 (INR B) + * + * @this {CPUSim} + */ +CPUDef.opINRB = function() +{ + this.regB = this.incByte(this.regB); + this.nStepCycles -= 5; +}; + +/** + * op=0x05 (DCR B) + * + * @this {CPUSim} + */ +CPUDef.opDCRB = function() +{ + this.regB = this.decByte(this.regB); + this.nStepCycles -= 5; +}; + +/** + * op=0x06 (MVI B,d8) + * + * @this {CPUSim} + */ +CPUDef.opMVIB = function() +{ + this.regB = this.getPCByte(); + this.nStepCycles -= 7; +}; + +/** + * op=0x07 (RLC) + * + * @this {CPUSim} + */ +CPUDef.opRLC = function() +{ + var b = this.regA << 1; + this.regA = (b & 0xff) | (b >> 8); + this.resultZeroCarry = (this.resultZeroCarry & 0xff) | (b & 0x100); + this.nStepCycles -= 4; +}; + +/** + * op=0x09 (DAD B) + * + * @this {CPUSim} + */ +CPUDef.opDADB = function() +{ + var w; + this.setHL(w = this.getHL() + this.getBC()); + this.resultZeroCarry = (this.resultZeroCarry & 0xff) | ((w >> 8) & 0x100); + this.nStepCycles -= 10; +}; + +/** + * op=0x0A (LDAX B) + * + * @this {CPUSim} + */ +CPUDef.opLDAXB = function() +{ + this.regA = this.getByte(this.getBC()); + this.nStepCycles -= 7; +}; + /** * opTBD() * @@ -80,9 +171,9 @@ CPUDef.opTBD = function() * money on array lookup. */ CPUDef.aOps = [ - /* 0x00-0x03 */ CPUDef.opNOP, CPUDef.opLXIB, CPUDef.opTBD, CPUDef.opTBD, - /* 0x04-0x07 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, - /* 0x08-0x0B */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, + /* 0x00-0x03 */ CPUDef.opNOP, CPUDef.opLXIB, CPUDef.opSTAXB, CPUDef.opINXB, + /* 0x04-0x07 */ CPUDef.opINRB, CPUDef.opDCRB, CPUDef.opMVIB, CPUDef.opRLC, + /* 0x08-0x0B */ CPUDef.opNOP, CPUDef.opDADB, CPUDef.opLDAXB, CPUDef.opTBD, /* 0x0C-0x0F */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, /* 0x10-0x13 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, /* 0x14-0x17 */ CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, CPUDef.opTBD, diff --git a/modules/pc8080/lib/cpusim.js b/modules/pc8080/lib/cpusim.js index 695d5a1dc..6afaf34b2 100644 --- a/modules/pc8080/lib/cpusim.js +++ b/modules/pc8080/lib/cpusim.js @@ -212,7 +212,6 @@ CPUSim.prototype.removeMemCheck = function(addr, fWrite) */ CPUSim.prototype.initProcessor = function() { - this.cycleCounts = CPUDef.CYCLES; this.aOps = CPUDef.aOps; }; @@ -323,37 +322,113 @@ CPUSim.prototype.restore = function(data) }; /** - * getPC() + * setBinding(sHTMLType, sBinding, control, sValue) + * + * @this {CPUSim} + * @param {string|null} sHTMLType is the type of the HTML control (eg, "button", "list", "text", "submit", "textarea", "canvas") + * @param {string} sBinding is the value of the 'binding' parameter stored in the HTML control's "data-value" attribute (eg, "AX") + * @param {Object} control is the HTML control DOM object (eg, HTMLButtonElement) + * @param {string} [sValue] optional data value + * @return {boolean} true if binding was successful, false if unrecognized binding request + */ +CPUSim.prototype.setBinding = function(sHTMLType, sBinding, control, sValue) +{ + var fBound = false; + switch (sBinding) { + case "A": + case "B": + case "C": + case "D": + case "E": + case "H": + case "L": + case "SP": + case "PC": + case "F": + case "CF": + case "PF": + case "AF": + case "ZF": + case "SF": + case "VF": + this.bindings[sBinding] = control; + this.cLiveRegs++; + fBound = true; + break; + default: + fBound = this.parent.setBinding.call(this, sHTMLType, sBinding, control); + break; + } + return fBound; +}; + +/** + * getBC() * * @this {CPUSim} * @return {number} */ -CPUSim.prototype.getPC = function() +CPUSim.prototype.getBC = function() { - return this.regPC; + return (this.regB << 8) | this.regC; }; /** - * setPC(off) + * setBC(w) * * @this {CPUSim} - * @param {number} off + * @param {number} w */ -CPUSim.prototype.setPC = function(off) +CPUSim.prototype.setBC = function(w) { - this.regPC = off & 0xffff; + this.regB = (w >> 8) & 0xff; + this.regC = w & 0xff; }; /** - * checkPC(inc) + * getDE() * * @this {CPUSim} - * @param {number} inc (positive) - * @return {number} new PC + * @return {number} */ -CPUSim.prototype.checkPC = function(inc) +CPUSim.prototype.getDE = function() { - return (this.regPC + inc)|0; + return (this.regD << 8) | this.regE; +}; + +/** + * setDE(w) + * + * @this {CPUSim} + * @param {number} w + */ +CPUSim.prototype.setDE = function(w) +{ + this.regD = (w >> 8) & 0xff; + this.regE = w & 0xff; +}; + +/** + * getHL() + * + * @this {CPUSim} + * @return {number} + */ +CPUSim.prototype.getHL = function() +{ + return (this.regH << 8) | this.regL; +}; + +/** + * setHL(w) + * + * @this {CPUSim} + * @param {number} w + */ +CPUSim.prototype.setHL = function(w) +{ + this.regH = (w >> 8) & 0xff; + this.regL = w & 0xff; }; /** @@ -379,14 +454,25 @@ CPUSim.prototype.setSP = function(off) }; /** - * getCarry() + * getPC() * * @this {CPUSim} - * @return {number} 0 or 1, depending on whether CF is clear or set + * @return {number} */ -CPUSim.prototype.getCarry = function() +CPUSim.prototype.getPC = function() { - return this.getCF()? 1 : 0; + return this.regPC; +}; + +/** + * setPC(off) + * + * @this {CPUSim} + * @param {number} off + */ +CPUSim.prototype.setPC = function(off) +{ + this.regPC = off & 0xffff; }; /** @@ -397,7 +483,7 @@ CPUSim.prototype.getCarry = function() */ CPUSim.prototype.getCF = function() { - return (this.resultValue & this.resultSize)? CPUDef.PS.CF : 0; + return (this.resultZeroCarry & 0x100)? CPUDef.PS.CF : 0; }; /** @@ -419,7 +505,7 @@ CPUSim.prototype.getPF = function() */ CPUSim.prototype.getAF = function() { - return ((this.resultParitySign ^ this.resultAuxOverflow) & CPUDef.RESULT.AUXOVF_AF)? CPUDef.PS.AF : 0; + return ((this.resultParitySign ^ this.resultAuxOverflow) & 0x10)? CPUDef.PS.AF : 0; }; /** @@ -430,7 +516,7 @@ CPUSim.prototype.getAF = function() */ CPUSim.prototype.getZF = function() { - return (this.resultValue & (this.resultSize - 1))? 0 : CPUDef.PS.ZF; + return (this.resultZeroCarry & 0xff)? 0 : CPUDef.PS.ZF; }; /** @@ -441,7 +527,7 @@ CPUSim.prototype.getZF = function() */ CPUSim.prototype.getSF = function() { - return (this.resultParitySign & (this.resultSize >> 1))? CPUDef.PS.SF : 0; + return (this.resultParitySign & 0x80)? CPUDef.PS.SF : 0; }; /** @@ -455,17 +541,6 @@ CPUSim.prototype.getIF = function() return (this.regPS & CPUDef.PS.IF); }; -/** - * getOF() - * - * @this {CPUSim} - * @return {number} 0 or CPUDef.PS.OF - */ -CPUSim.prototype.getOF = function() -{ - return ((this.resultParitySign ^ this.resultAuxOverflow ^ (this.resultParitySign >> 1)) & (this.resultSize >> 1))? CPUDef.PS.OF : 0; -}; - /** * clearCF() * @@ -473,7 +548,7 @@ CPUSim.prototype.getOF = function() */ CPUSim.prototype.clearCF = function() { - this.resultValue &= ~this.resultSize; + this.resultZeroCarry &= 0xff; }; /** @@ -493,7 +568,7 @@ CPUSim.prototype.clearPF = function() */ CPUSim.prototype.clearAF = function() { - this.resultAuxOverflow = (this.resultParitySign & CPUDef.RESULT.AUXOVF_AF) | (this.resultAuxOverflow & ~CPUDef.RESULT.AUXOVF_AF); + this.resultAuxOverflow = (this.resultParitySign & 0x10) | (this.resultAuxOverflow & ~0x10); }; /** @@ -503,7 +578,7 @@ CPUSim.prototype.clearAF = function() */ CPUSim.prototype.clearZF = function() { - this.resultValue |= (this.resultSize - 1); + this.resultZeroCarry |= 0xff; }; /** @@ -513,10 +588,7 @@ CPUSim.prototype.clearZF = function() */ CPUSim.prototype.clearSF = function() { - if (this.getSF()) { - this.resultParitySign ^= (this.resultSize >> 1) | (this.resultSize >> 2); - this.resultAuxOverflow ^= CPUDef.RESULT.AUXOVF_OF; - } + if (this.getSF()) this.resultParitySign ^= 0xc0; }; /** @@ -529,17 +601,6 @@ CPUSim.prototype.clearIF = function() this.regPS &= ~CPUDef.PS.IF; }; -/** - * clearOF() - * - * @this {CPUSim} - */ -CPUSim.prototype.clearOF = function() -{ - this.resultParitySign &= ~this.resultSize; - this.resultAuxOverflow = (this.resultParitySign & CPUDef.RESULT.AUXOVF_OF) | (this.resultAuxOverflow & ~CPUDef.RESULT.AUXOVF_OF); -}; - /** * setCF() * @@ -547,7 +608,7 @@ CPUSim.prototype.clearOF = function() */ CPUSim.prototype.setCF = function() { - this.resultValue |= this.resultSize; + this.resultZeroCarry |= 0x100; }; /** @@ -567,7 +628,7 @@ CPUSim.prototype.setPF = function() */ CPUSim.prototype.setAF = function() { - this.resultAuxOverflow = ~(this.resultParitySign & CPUDef.RESULT.AUXOVF_AF) & CPUDef.RESULT.AUXOVF_AF | (this.resultAuxOverflow & ~CPUDef.RESULT.AUXOVF_AF); + this.resultAuxOverflow = (~this.resultParitySign & 0x10) | (this.resultAuxOverflow & ~0x10); }; /** @@ -577,7 +638,7 @@ CPUSim.prototype.setAF = function() */ CPUSim.prototype.setZF = function() { - this.resultValue &= ~(this.resultSize - 1); + this.resultZeroCarry &= ~0xff; }; /** @@ -587,10 +648,7 @@ CPUSim.prototype.setZF = function() */ CPUSim.prototype.setSF = function() { - if (!this.getSF()) { - this.resultParitySign ^= (this.resultSize >> 1) | (this.resultSize >> 2); - this.resultAuxOverflow ^= CPUDef.RESULT.AUXOVF_OF; - } + if (!this.getSF()) this.resultParitySign ^= 0xc0; }; /** @@ -603,17 +661,6 @@ CPUSim.prototype.setIF = function() this.regPS |= CPUDef.PS.IF; }; -/** - * setOF() - * - * @this {CPUSim} - */ -CPUSim.prototype.setOF = function() -{ - this.resultParitySign |= this.resultSize; - this.resultAuxOverflow = (this.resultParitySign & CPUDef.RESULT.AUXOVF_OF) | (this.resultAuxOverflow & ~CPUDef.RESULT.AUXOVF_OF); -}; - /** * getPS() * @@ -622,7 +669,7 @@ CPUSim.prototype.setOF = function() */ CPUSim.prototype.getPS = function() { - return (this.regPS & ~CPUDef.PS.INDIRECT) | (this.getCF() | this.getPF() | this.getAF() | this.getZF() | this.getSF()); + return (this.regPS & ~CPUDef.PS.INDIRECT) | (this.getSF() | this.getZF() | this.getAF() | this.getPF() | this.getCF()); }; /** @@ -630,82 +677,52 @@ CPUSim.prototype.getPS = function() * * @this {CPUSim} * @param {number} regPS - * @param {number} [cpl] */ -CPUSim.prototype.setPS = function(regPS, cpl) +CPUSim.prototype.setPS = function(regPS) { - this.resultSize = CPUDef.RESULT.SIZE_BYTE; - this.resultValue = this.resultParitySign = this.resultAuxOverflow = 0; - - if (regPS & CPUDef.PS.CF) { - this.setCF(); - } - if (!(regPS & CPUDef.PS.PF)) { - this.resultParitySign |= 0x1; - } - if (regPS & CPUDef.PS.AF) { - this.resultAuxOverflow |= CPUDef.RESULT.AUXOVF_AF; - } - if (!(regPS & CPUDef.PS.ZF)) { - this.clearZF(); - } - if (regPS & CPUDef.PS.SF) { - this.setSF(); - } + this.resultZeroCarry = this.resultParitySign = this.resultAuxOverflow = 0; + if (regPS & CPUDef.PS.CF) this.resultZeroCarry |= 0x100; + if (!(regPS & CPUDef.PS.PF)) this.resultParitySign |= 0x01; + if (regPS & CPUDef.PS.AF) this.resultAuxOverflow |= 0x10; + if (!(regPS & CPUDef.PS.ZF)) this.resultZeroCarry |= 0xff; + if (regPS & CPUDef.PS.SF) this.resultParitySign ^= 0xc0; this.regPS = (this.regPS & ~CPUDef.PS.DIRECT) | (regPS & CPUDef.PS.DIRECT) | CPUDef.PS.SET; - /* - * Assert that all requested flag bits now agree with our simulated (PS_INDIRECT) bits - */ Component.assert((regPS & CPUDef.PS.INDIRECT) == (this.getPS() & CPUDef.PS.INDIRECT)); }; /** - * setBinding(sHTMLType, sBinding, control, sValue) + * incByte(b) * * @this {CPUSim} - * @param {string|null} sHTMLType is the type of the HTML control (eg, "button", "list", "text", "submit", "textarea", "canvas") - * @param {string} sBinding is the value of the 'binding' parameter stored in the HTML control's "data-value" attribute (eg, "AX") - * @param {Object} control is the HTML control DOM object (eg, HTMLButtonElement) - * @param {string} [sValue] optional data value - * @return {boolean} true if binding was successful, false if unrecognized binding request + * @param {number} b + * @return {number} */ -CPUSim.prototype.setBinding = function(sHTMLType, sBinding, control, sValue) +CPUSim.prototype.incByte = function(b) { - var fBound = false; - switch (sBinding) { - case "A": - case "B": - case "C": - case "D": - case "E": - case "H": - case "L": - case "SP": - case "PC": - case "F": - case "C": - case "P": - case "A": - case "Z": - case "S": - case "V": - this.bindings[sBinding] = control; - this.cLiveRegs++; - fBound = true; - break; - default: - fBound = this.parent.setBinding.call(this, sHTMLType, sBinding, control); - break; - } - return fBound; + this.resultAuxOverflow = b; + b = (this.resultParitySign = b + 1) & 0xff; + this.resultZeroCarry = (this.resultZeroCarry & ~0xff) | b; + return b; +}; + +/** + * decByte(b) + * + * @this {CPUSim} + * @param {number} b + * @return {number} + */ +CPUSim.prototype.decByte = function(b) +{ + this.resultAuxOverflow = b; + b = (this.resultParitySign = b - 1) & 0xff; + this.resultZeroCarry = (this.resultZeroCarry & ~0xff) | b; + return b; }; /** * getByte(addr) * - * Use bus.getByte() for physical addresses, and cpu.getByte() for linear addresses; the latter takes care - * of cycle counts, if any. - * * @this {CPUSim} * @param {number} addr is a linear address * @return {number} byte (8-bit) value at that address @@ -773,9 +790,8 @@ CPUSim.prototype.setWord = function(addr, w) */ CPUSim.prototype.getPCByte = function() { - var newPC = this.checkPC(1); var b = this.getByte(this.regPC); - this.regPC = newPC; + this.setPC(this.regPC + 1); return b; }; @@ -787,37 +803,11 @@ CPUSim.prototype.getPCByte = function() */ CPUSim.prototype.getPCWord = function() { - var newPC = this.checkPC(2); var w = this.getWord(this.regPC); - this.regPC = newPC; + this.setPC(this.regPC + 2); return w; }; -/** - * getPCDisp() - * - * @this {CPUSim} - * @return {number} sign-extended (32-bit) value from the byte at the current PC; PC advanced by 1 - */ -CPUSim.prototype.getPCDisp = function() -{ - var newPC = this.checkPC(1); - var w = ((this.getByte(this.regPC)) << 24) >> 24; - this.regPC = newPC; - return w; -}; - -/** - * peekPCByte() - * - * @this {CPUSim} - * @return {number} byte at the current PC - */ -CPUSim.prototype.peekPCByte = function() -{ - return this.getByte(this.regPC); -}; - /** * popWord() * diff --git a/modules/shared/lib/embed.js b/modules/shared/lib/embed.js index 7107a86be..ec8788608 100644 --- a/modules/shared/lib/embed.js +++ b/modules/shared/lib/embed.js @@ -165,7 +165,7 @@ function parseXML(sXML, sXMLFile, idMachine, sAppClass, sParms, fResolve, displa if (!fResolve) { /* * I'm trying to switch to a shared components.xsl (at least for all PC-class machines), - * but in the interim, that means hacking the XSL file on the fly to reflect the chosen class. + * but in the interim, that means hacking the XSL file on the fly to reflect the actual class. */ sXML = sXML.replace(/().*?(<\/xsl:variable>)/, "$1" + sAppClass + "$2"); diff --git a/versions/pc8080/1.21.7/pc8080-dbg.js b/versions/pc8080/1.21.7/pc8080-dbg.js index 1cf4e251b..d441d8a0a 100644 --- a/versions/pc8080/1.21.7/pc8080-dbg.js +++ b/versions/pc8080/1.21.7/pc8080-dbg.js @@ -9,60 +9,61 @@ function ya(){return window?window.navigator.userAgent:""}function v(a){window&& function Ha(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function Ia(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ja(a){if(window){var b=ya();return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Ka(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0=this.J?12:24>=this.J?14:15;this.X=1<>2;this.s=this.X-1;this.I=this.L/this.X|0;this.K=this.I-1;this.A=[];this.D=[];this.F=this.G=!1;this.P=[];this.T=[];a=new H;zb(a,this.C);this.B=Array(this.I);for(b=0;b>>a.O;0a.X?a.X:c;if(f&&f.size){if(f.type==d){if(b+c<=f.w)return f.eb+=f.w-b,f.w=b,!0;if(b>=f.w+f.eb){h=f.size-(b-k);h>c&&(h=c);f.eb=b-f.w+h;c-=h;b=k+a.X;continue}}return Bb(1,b,c)}f=a.B[e];b=new H(b,h,a.X,d);zb(b,a.C,f);a.B[e++]=b;b=k+a.X;c-=h}return 0>=c?!0:Bb(2,b,c)}function Cb(a,b){return a.B[(b&a.u)>>>a.O].bb(b&a.s,b)} -function Db(a,b){if(void 0===b)return a.F=!a.F,a.F;void 0===a.A[b]&&(a.A[b]=[null,!1]);a.A[b][1]=!a.A[b][1];return a.A[b][1]}function Eb(a,b){if(void 0===b)return a.G=!a.G,a.G;void 0===a.D[b]&&(a.D[b]=[null,!1]);a.D[b][1]=!a.D[b][1];return a.D[b][1]}function Bb(a,b,c){v("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Rb;if(tb){var Sb=new ArrayBuffer(2);(new DataView(Sb)).setUint16(0,256,!0);Rb=256===(new Uint16Array(Sb))[0]}else Rb=!1;var Tb=Rb; -function H(a,b,c,d){this.id=Ub+=2;this.b=null;this.w=a;this.eb=b;this.size=c||0;this.type=d||Vb;this.F=d==Wb;zb(this);this.ma=this.Rb=!1;if(c)if(tb)this.A=new ArrayBuffer(c),this.D=new DataView(this.A,0,c),this.H=new Uint8Array(this.A,0,c),this.I=new Uint16Array(this.A,0,c>>1),this.b=new Int32Array(this.A,0,c>>2),Xb(this,Tb?Yb:Zb);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},P:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ea:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},Fa:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<>8);this.ma=!0},L:function(a,b){if(this.C&&null!=this.w){var c=this.C;ec(c,this.w+a,1,c.M)&&c.S(!0)}return this.bb(a,b)},Y:function(a,b){if(this.C&&null!=this.w){var c=this.C;ec(c,this.w+a,2,c.M)&&c.S(!0)}return this.Ib(a,b)},qa:function(a,b,c){if(this.C&&null!=this.w){var d=this.C;ec(d,this.w+a,1,d.F)&&d.S(!0)}this.F?this.u(a,b,c):this.Sa(a,b,c)},Ua:function(a,b,c){if(this.C&& -null!=this.w){var d=this.C;ec(d,this.w+a,2,d.F)&&d.S(!0)}this.F?this.u(a,b,c):this.Lb(a,b,c)},K:function(a){return this.H[a]},M:function(a){return this.H[a]},T:function(a){return this.D.getUint16(a,!0)},da:function(a){return a&1?this.H[a]|this.H[a+1]<<8:this.I[a>>1]},ga:function(a,b){this.H[a]=b;this.ma=!0},ra:function(a,b){this.H[a]=b;this.ma=!0},Ta:function(a,b){this.D.setUint16(a,b,!0);this.ma=!0},gb:function(a,b){a&1?(this.H[a]=b,this.H[a+1]=b>>8):this.I[a>>1]=b;this.ma=!0}}; -function zb(a,b,c){a.C=b;a.B=a.s=0;c&&((a.B=c.B)&&dc(a,cc,!1),(a.s=c.s)&&bc(a,cc,!1))}function fc(a,b){b?0===--a.s&&(a.G=a.F?a.u:a.Sa):0===--a.B&&(a.lb=a.bb)}function bc(a,b,c){c&&a.s||(a.G=!a.F&&b[2]||a.u);if(c||void 0===c)a.Sa=b[2]||a.u,a.Lb=b[3]||a.Va}function dc(a,b,c){c&&a.B||(a.lb=b[0]||a.J);if(c||void 0===c)a.bb=b[0]||a.J,a.Ib=b[1]||a.aa}function Xb(a,b){b||(b=gc);dc(a,b,void 0);bc(a,b,void 0)} -var gc=[],$b=[H.prototype.P,H.prototype.ea,H.prototype.Fa,H.prototype.hb],cc=[H.prototype.L,H.prototype.Y,H.prototype.qa,H.prototype.Ua];if(tb)var Zb=[H.prototype.K,H.prototype.T,H.prototype.ga,H.prototype.Ta],Yb=[H.prototype.M,H.prototype.da,H.prototype.ra,H.prototype.gb]; -function hc(a,b){x.call(this,"CPU",a,hc,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.Qa=c;this.i.ya=d;this.i.pb=Math.round(this.i.Qa/1E4)/100;this.i.wa=this.i.pb*this.i.ya;this.j.V=!1;this.j.ob=!1;this.j.Ab=a.autoStart;this.j.Bb=!1;this.j.Ha=!1;this.i.Wa=this.i.Na=0;this.i.Xa=a.csStart;this.i.Ma=a.csInterval;this.i.Oa=a.csStop;this.aa=this.Ea.bind(this);G(this)}z(hc);var ic=["power","reset"];g=hc.prototype; -g.Ka=function(a,b,c,d){this.s=a;this.B=b;this.C=d;for(b=0;b=a.i.Na&&(a.i.Na+=a.i.Ma,c=!0);0<=a.i.Oa&&a.i.Oa<=pc(a)&&(a.i.Ma=a.i.Oa=-1,lc(a),a.S(),c=!0);c&&a.g(pc(a)+" cycles: checksum="+n(a.i.Wa))}} -g.ba=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.H[b]=c;a=!0;break;case "run":this.H[b]=c;c.onclick=function(){var a;if(a=d.s)if(a=d.s,a.j.U)a=!0;else{var b=null,c,h=C(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.i.va/a.i.wa?b=1:d=!0;a.i.ya=b;b=a.i.pb*a.i.ya;if(a.i.wa!=b){a.i.wa=b;b=a.i.wa.toFixed(2)+"Mhz";var e=a.H.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.s&&a.s.cb()}rc(a,a.I);a.I=0;a.i.La=ua();a.i.xa=0;sc(a);return d} -g.Ea=function(a){if(pb(this,!0)){if(!this.j.V){qc(this);this.s&&this.s.start(this.i.La,pc(this));this.j.V=!0;this.j.ob=!0;this.D&&this.D.Wb();var b=this.H.run;b&&(b.textContent="Halt");this.s&&(this.s.ca(!0),a&&this.s.cb(!0))}this.i.rb>=this.i.Qa&&sc(this,!0);this.i.$a=0;this.i.kb=ua();this.i.xa&&(a=this.i.kb-this.i.xa,a>this.i.Eb&&(this.i.La+=a,this.i.La>this.i.kb&&(this.i.La=this.i.kb)));try{do{var c=this.j.Ha?1:this.i.Vb;this.D&&(this.D.Kb(),c=this.D.Yb(0,c),c=this.D.Xb(c));try{this.Ra(c)}catch(e){if("number"!= -typeof e)throw e;}var d=this.G-this.u;this.I+=d;this.i.$a+=d;rc(this,0,!0);oc(this,d);this.i.Za-=d;0>=this.i.Za&&(this.i.Za+=this.i.Gb);this.i.Ya-=d;0>=this.i.Ya&&(this.i.Ya+=this.i.Fb,this.s&&this.s.ca());this.i.Pa-=d;if(0>=this.i.Pa){this.i.Pa+=this.i.qb;break}}while(this.j.V)}catch(e){this.S();I(this);this.s&&this.s.stop(ua(),pc(this));pb(this,!1);sb(this,e.stack||e.message);return}c=setTimeout;d=this.aa;this.i.xa=ua();a=this.i.Eb;this.i.$a&&(a=Math.round(a*this.i.$a/this.i.qb));a-=this.i.xa-this.i.kb; -if(b=this.i.xa-this.i.La)this.i.va=Math.round(this.I/(10*b))/100,864E5<=b&&(this.J=0,this.D&&this.D.Kb(!0),qc(this));if(0>a||this.i.va>1?128:0}function Yc(a){Xc(a)||(a.R^=a.A>>1|a.A>>2,a.F^=32896)}function Wc(a){return a.Ca&-2262|(a.b&a.A?1:0)|(ub[a.R&255]?4:0)|((a.R^a.F)&16?16:0)|(a.b&a.A-1?0:64)|Xc(a)}function Vc(a,b){a.A=256;a.b=a.R=a.F=0;b&1&&(a.b|=a.A);b&4||(a.R|=1);b&16&&(a.F|=16);b&64||(a.b|=a.A-1);b&128&&Yc(a);a.Ca=a.Ca&-513|b&512|2} -g.ba=function(a,b,c){var d=!1;switch(b){case "A":case "B":case "C":case "D":case "E":case "H":case "L":case "SP":case "PC":case "F":case "C":case "P":case "A":case "Z":case "S":case "V":this.H[b]=c;this.T++;d=!0;break;default:d=this.parent.ba.call(this,a,b,c)}return d};function Zc(a){var b;b=a.N+1|0;var c;c=a.N;c=a.sa[(c&a.P)>>>a.O].lb(c&a.M,c);a.N=b;return c} -function N(a,b,c,d){d=d||2;a.H[b]&&(void 0===c&&(sb(a,"Value for "+b+" is invalid"),a.S()),c=!a.j.V||a.j.Bb?n(c,d):"--------".substr(0,d),a.H[b].textContent!=c&&(a.H[b].textContent=c))} -g.ca=function(a){this.T&&(a||!this.j.V||this.j.Bb)&&(N(this,"A",this.za),N(this,"B",this.ka),N(this,"C",this.na),N(this,"D",this.oa),N(this,"E",this.Aa),N(this,"H",this.pa),N(this,"L",this.Ba),N(this,"SP",this.Da,4),N(this,"PC",this.N,4),a=Wc(this),N(this,"F",a,2),N(this,"S",a&128,1),N(this,"Z",a&64,1),N(this,"A",a&16,1),N(this,"P",a&4,1),N(this,"C",a&1,1));if(a=this.H.speed)a.textContent=this.j.V&&this.i.va?this.i.va.toFixed(2)+"Mhz":"Stopped"}; -g.Ra=function(a){this.j.ib=!0;var b=this.j.Qb=this.C&&$c(this.C),c=a?this.j.ob?0:1:-1;this.j.ob=!1;this.G=this.u=a;this.D&&!a&&this.D.Kb();a||(this.K|=4);do{if(this.L&&this.L&4){this.K=this.u=0;break}if(b){if(ad(this.C,this.N,c)){this.S();break}c=1}this.K=0;this.Y[Zc(this)].call(this)}while(0>>0,k],r=ta(p,l,a.tb);0>r&&p.splice(-(r+1),0,l)}m&&(h.a=m.replace(/''/g,'"'))}a.G.push({Zb:b,w:c,Ub:d,ha:e,ub:f})}delete this.ha}return!0};bd.prototype.ia=function(){return!0}; -function cd(a,b,c,d){if(d)a.Z("Unable to load system ROM (error "+d+": "+b+")");else{kb(a.wb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,k=e.data;if(f)a.s=f;else if(k)for(a.s=Array(4*k.length),d=c=0;c>8&255,a.s[d++]=k[c]>>16&255,a.s[d++]=k[c]>>24&255;else a.s=e;a.ha=e.symbols;if(!a.s.length){v("Empty ROM: "+b);return}if(1==a.s.length){v(a.s[0]);return}}catch(h){a.Z("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, +function yb(a,b,c){x.call(this,"Bus",a,yb);this.b=b;this.B=c;this.J=a.buswidth||16;this.M=Math.pow(2,this.J);this.w=this.M-1|0;this.P=20>=this.J?12:24>=this.J?14:15;this.Z=1<>2;this.s=this.Z-1;this.I=this.M/this.Z|0;this.L=this.I-1;this.C=[];this.D=[];this.F=this.H=!1;this.S=[];this.V=[];a=new H;zb(a,this.B);this.A=Array(this.I);for(b=0;b>>a.P;0a.Z?a.Z:c;if(f&&f.size){if(f.type==d){if(b+c<=f.u)return f.gb+=f.u-b,f.u=b,!0;if(b>=f.u+f.gb){h=f.size-(b-k);h>c&&(h=c);f.gb=b-f.u+h;c-=h;b=k+a.Z;continue}}return Bb(1,b,c)}f=a.A[e];b=new H(b,h,a.Z,d);zb(b,a.B,f);a.A[e++]=b;b=k+a.Z;c-=h}return 0>=c?!0:Bb(2,b,c)}function Cb(a,b){return a.A[(b&a.w)>>>a.P].eb(b&a.s,b)} +function Db(a,b){if(void 0===b)return a.F=!a.F,a.F;void 0===a.C[b]&&(a.C[b]=[null,!1]);a.C[b][1]=!a.C[b][1];return a.C[b][1]}function Qb(a,b){if(void 0===b)return a.H=!a.H,a.H;void 0===a.D[b]&&(a.D[b]=[null,!1]);a.D[b][1]=!a.D[b][1];return a.D[b][1]}function Bb(a,b,c){v("Memory block error ("+a+": "+n(b)+","+n(c)+")");return!1}var Rb;if(tb){var Sb=new ArrayBuffer(2);(new DataView(Sb)).setUint16(0,256,!0);Rb=256===(new Uint16Array(Sb))[0]}else Rb=!1;var Tb=Rb; +function H(a,b,c,d){this.id=Ub+=2;this.b=null;this.u=a;this.gb=b;this.size=c||0;this.type=d||Vb;this.F=d==Wb;zb(this);this.sa=this.Ub=!1;if(c)if(tb)this.C=new ArrayBuffer(c),this.D=new DataView(this.C,0,c),this.G=new Uint8Array(this.C,0,c),this.H=new Uint16Array(this.C,0,c>>1),this.b=new Int32Array(this.C,0,c>>2),Xb(this,Tb?Yb:Zb);else{this.b=Array(c>>2);for(a=0;a>2),b=0;b>8,c)},S:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},ia:function(a){var b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+1]&255)<<8},va:function(a,b){var c=a>>2,d=(a&3)<<3;this.b[c]=this.b[c]&~(255<>2,d=(a&3)<<3;24>d?this.b[c]=this.b[c]&~(65535<>8);this.sa=!0},M:function(a,b){if(this.B&&null!=this.u){var c=this.B;ec(c,this.u+a,1,c.R)&&c.U(!0)}return this.eb(a,b)},aa:function(a,b){if(this.B&&null!=this.u){var c=this.B;ec(c,this.u+a,2,c.R)&&c.U(!0)}return this.tb(a,b)},ma:function(a,b,c){if(this.B&&null!=this.u){var d=this.B;ec(d,this.u+a,1,d.F)&&d.U(!0)}this.F?this.w(a,b,c):this.Ua(a,b,c)},Va:function(a,b, +c){if(this.B&&null!=this.u){var d=this.B;ec(d,this.u+a,2,d.F)&&d.U(!0)}this.F?this.w(a,b,c):this.Ob(a,b,c)},L:function(a){return this.G[a]},R:function(a){return this.G[a]},V:function(a){return this.D.getUint16(a,!0)},ca:function(a){return a&1?this.G[a]|this.G[a+1]<<8:this.H[a>>1]},ja:function(a,b){this.G[a]=b;this.sa=!0},ua:function(a,b){this.G[a]=b;this.sa=!0},Ga:function(a,b){this.D.setUint16(a,b,!0);this.sa=!0},Xa:function(a,b){a&1?(this.G[a]=b,this.G[a+1]=b>>8):this.H[a>>1]=b;this.sa=!0}}; +function zb(a,b,c){a.B=b;a.A=a.s=0;c&&((a.A=c.A)&&dc(a,cc,!1),(a.s=c.s)&&bc(a,cc,!1))}function fc(a,b){b?0===--a.s&&(a.mb=a.F?a.w:a.Ua):0===--a.A&&(a.Sa=a.eb,a.Lb=a.tb)}function bc(a,b,c){c&&a.s||(a.mb=!a.F&&b[2]||a.w);if(c||void 0===c)a.Ua=b[2]||a.w,a.Ob=b[3]||a.Wa}function dc(a,b,c){c&&a.A||(a.Sa=b[0]||a.I,a.Lb=b[1]||a.J);if(c||void 0===c)a.eb=b[0]||a.I,a.tb=b[1]||a.J}function Xb(a,b){b||(b=gc);dc(a,b,void 0);bc(a,b,void 0)} +var gc=[],$b=[H.prototype.S,H.prototype.ia,H.prototype.va,H.prototype.ib],cc=[H.prototype.M,H.prototype.aa,H.prototype.ma,H.prototype.Va];if(tb)var Zb=[H.prototype.L,H.prototype.V,H.prototype.ja,H.prototype.Ga],Yb=[H.prototype.R,H.prototype.ca,H.prototype.ua,H.prototype.Xa]; +function hc(a,b){x.call(this,"CPU",a,hc,1);var c=a.cycles||b,d=a.multiplier||1;this.i={};this.i.Ra=c;this.i.Ba=d;this.i.qb=Math.round(this.i.Ra/1E4)/100;this.i.za=this.i.qb*this.i.Ba;this.j.X=!1;this.j.pb=!1;this.j.Db=a.autoStart;this.j.Eb=!1;this.j.Ia=!1;this.i.Ya=this.i.Oa=0;this.i.Za=a.csStart;this.i.Na=a.csInterval;this.i.Pa=a.csStop;this.ca=this.Fa.bind(this);G(this)}z(hc);var ic=["power","reset"];g=hc.prototype; +g.La=function(a,b,c,d){this.s=a;this.A=b;this.B=d;for(b=0;b=a.i.Oa&&(a.i.Oa+=a.i.Na,c=!0);0<=a.i.Pa&&a.i.Pa<=pc(a)&&(a.i.Na=a.i.Pa=-1,lc(a),a.U(),c=!0);c&&a.g(pc(a)+" cycles: checksum="+n(a.i.Ya))}} +g.ea=function(a,b,c){var d=this;a=!1;switch(b){case "power":case "reset":this.G[b]=c;a=!0;break;case "run":this.G[b]=c;c.onclick=function(){var a;if(a=d.s)if(a=d.s,a.j.W)a=!0;else{var b=null,c,h=C(a.id);for(c=0;cc&&(c=60);2>c&&(c=2);var d=1;b&&1a.i.ya/a.i.za?b=1:d=!0;a.i.Ba=b;b=a.i.qb*a.i.Ba;if(a.i.za!=b){a.i.za=b;b=a.i.za.toFixed(2)+"Mhz";var e=a.G.setSpeed;e&&(e.textContent=b);a.g("target speed: "+b)}c&&a.s&&a.s.fb()}Qc(a,a.F);a.F=0;a.i.Ma=ua();a.i.Aa=0;Rc(a);return d} +g.Fa=function(a){if(pb(this,!0)){if(!this.j.X){qc(this);this.s&&this.s.start(this.i.Ma,pc(this));this.j.X=!0;this.j.pb=!0;this.w&&this.w.Zb();var b=this.G.run;b&&(b.textContent="Halt");this.s&&(this.s.fa(!0),a&&this.s.fb(!0))}this.i.sb>=this.i.Ra&&Rc(this,!0);this.i.bb=0;this.i.lb=ua();this.i.Aa&&(a=this.i.lb-this.i.Aa,a>this.i.Hb&&(this.i.Ma+=a,this.i.Ma>this.i.lb&&(this.i.Ma=this.i.lb)));try{do{var c=this.j.Ia?1:this.i.Yb;this.w&&(this.w.Nb(),c=this.w.ac(0,c),c=this.w.$b(c));try{this.Ta(c)}catch(e){if("number"!= +typeof e)throw e;}var d=this.D-this.b;this.F+=d;this.i.bb+=d;Qc(this,0,!0);oc(this,d);this.i.ab-=d;0>=this.i.ab&&(this.i.ab+=this.i.Jb);this.i.$a-=d;0>=this.i.$a&&(this.i.$a+=this.i.Ib,this.s&&this.s.fa());this.i.Qa-=d;if(0>=this.i.Qa){this.i.Qa+=this.i.rb;break}}while(this.j.X)}catch(e){this.U();I(this);this.s&&this.s.stop(ua(),pc(this));pb(this,!1);sb(this,e.stack||e.message);return}c=setTimeout;d=this.ca;this.i.Aa=ua();a=this.i.Hb;this.i.bb&&(a=Math.round(a*this.i.bb/this.i.rb));a-=this.i.Aa-this.i.lb; +if(b=this.i.Aa-this.i.Ma)this.i.ya=Math.round(this.F/(10*b))/100,864E5<=b&&(this.H=0,this.w&&this.w.Nb(!0),qc(this));if(0>a||this.i.ya>>a.P].Sa(b&a.I,b)}function Yc(a){var b=Xc(a,a.N);a.N=a.N+1&65535;return b}function N(a,b,c,d){d=d||2;a.G[b]&&(void 0===c&&(sb(a,"Value for "+b+" is invalid"),a.U()),c=!a.j.X||a.j.Eb?n(c,d):"--------".substr(0,d),a.G[b].textContent!=c&&(a.G[b].textContent=c))} +g.fa=function(a){this.V&&(a||!this.j.X||this.j.Eb)&&(N(this,"A",this.ha),N(this,"B",this.T),N(this,"C",this.da),N(this,"D",this.ta),N(this,"E",this.Ca),N(this,"H",this.la),N(this,"L",this.qa),N(this,"SP",this.Ea,4),N(this,"PC",this.N,4),a=Wc(this),N(this,"F",a,2),N(this,"S",a&128,1),N(this,"Z",a&64,1),N(this,"A",a&16,1),N(this,"P",a&4,1),N(this,"C",a&1,1));if(a=this.G.speed)a.textContent=this.j.X&&this.i.ya?this.i.ya.toFixed(2)+"Mhz":"Stopped"}; +g.Ta=function(a){this.j.jb=!0;var b=this.j.Tb=this.B&&Zc(this.B),c=a?this.j.pb?0:1:-1;this.j.pb=!1;this.D=this.b=a;this.w&&!a&&this.w.Nb();a||(this.J|=4);do{if(this.M&&this.M&4){this.J=this.b=0;break}if(b){if($c(this.B,this.N,c)){this.U();break}c=1}this.J=0;this.aa[Yc(this)].call(this)}while(0>>this.P;b>8&255;this.da=a&255;this.b-=10},function(){var a=this.T<<8|this.da;this.ga[(a&this.L)>>>this.P].mb(a&this.I,this.ha&255,a);this.b-=7},function(){var a=(this.T<<8|this.da)+1;this.T=a>>8&255;this.da=a&255;this.b-=5},function(){var a=this.T;this.C=a;a=(this.K=a+1)&255;this.O=this.O&-256|a;this.T=a;this.b-= +5},function(){var a=this.T;this.C=a;a=(this.K=a-1)&255;this.O=this.O&-256|a;this.T=a;this.b-=5},function(){this.T=Yc(this);this.b-=7},function(){var a=this.ha<<1;this.ha=a&255|a>>8;this.O=this.O&255|a&256;this.b-=4},ad,function(){var a,b=a=(this.la<<8|this.qa)+(this.T<<8|this.da);this.la=b>>8&255;this.qa=b&255;this.O=this.O&255|a>>8&256;this.b-=10},function(){this.ha=Xc(this,this.T<<8|this.da);this.b-=7},O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O, +O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O,O]; +function bd(a){x.call(this,"ROM",a,bd);this.s=null;this.F=a.addr;this.w=a.size;this.C=a.alias;this.D=a.file;this.H=ea(this.D);if(this.D){a=this.D;var b=fa(this.H);"json"!=b&&"hex"!=b&&(a=xa()+"/api/v1/dump?file="+this.D+"&format=bytes&decimal=true");var c=this;u(a,null,!0,function(a,b,f){cd(c,a,b,f)})}}z(bd);bd.prototype.La=function(a,b,c,d){this.A=b;this.b=c;this.B=d;dd(this)}; +bd.prototype.pa=function(){if(this.na){if(this.B){var a=this.B,b=this.id,c=this.F,d=this.w,e=this.na,f=[],k;for(k in e){var h=e[k];"number"==typeof h&&(e[k]=h={o:h});var l=h.o,m=h.a;if(void 0!==l){var p=f,l=[l>>>0,k],r=ta(p,l,a.wb);0>r&&p.splice(-(r+1),0,l)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({bc:b,u:c,Xb:d,na:e,xb:f})}delete this.na}return!0};bd.prototype.oa=function(){return!0}; +function cd(a,b,c,d){if(d)a.ba("Unable to load system ROM (error "+d+": "+b+")");else{kb(a.zb,b,c);if("["==c.charAt(0)||"{"==c.charAt(0))try{var e=eval("("+c+")"),f=e.bytes,k=e.data;if(f)a.s=f;else if(k)for(a.s=Array(4*k.length),d=c=0;c>8&255,a.s[d++]=k[c]>>16&255,a.s[d++]=k[c]>>24&255;else a.s=e;a.na=e.symbols;if(!a.s.length){v("Empty ROM: "+b);return}if(1==a.s.length){v(a.s[0]);return}}catch(h){a.ba("ROM data error: "+h.message);return}else for(b=c.replace(/\n/gm, " ").replace(/ +$/,"").split(" "),a.s=Array(b.length),e=0;e>>d.O].Sa(e&d.s,a.s[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.A?b.push(a.A):null!=a.A&&a.A.length&&(b=a.A);for(c=0;c>>e.O;0>>=e.O;0>>d.P].Ua(e&d.s,a.s[c]&255,e)}b=!0}else b=!1;if(b){b=[];"number"==typeof a.C?b.push(a.C):null!=a.C&&a.C.length&&(b=a.C);for(c=0;c>>e.P;0>>=e.P;0Missing <canvas> support. Please try a newer web browser.";break}e.setAttribute("class","pcjs-canvas");e.setAttribute("width",d.screenWidth);e.setAttribute("height",d.screenHeight);e.style.backgroundColor=d.screenColor;e.style.height="auto";0<=ya().indexOf("MSIE")&&(c.onresize=function(a,b,c,d){return function(){b.style.height= (a.clientWidth*d/c|0)+"px"}}(c,e,d.screenWidth,d.screenHeight),c.onresize());var f=+(d.aspect||Va.aspect);f&&.3<=f&&3.33>=f&&(Pa("onresize",function(a,b,c){return function(){b.style.height=(a.clientWidth/c|0)+"px"}}(c,e,f)),window.onresize());c.appendChild(e);f=document.createElement("textarea");Ja("iOS")&&(f.setAttribute("autocapitalize","off"),f.setAttribute("autocorrect","off"));c.appendChild(f);e.getContext("2d");d=new gd(d);mb(d,c)}}); -function hd(a){x.call(this,"Debugger",a,hd);this.T=this.Fa=this.J=0;this.L=P();this.vb=P();this.D=-1;this.A=[];this.da=!1;this.Y=P();this.G=[];this.aa={};this.u=this.M=this.F=[];id(this);this.qa=0;jd(this);this.Ta=[];kd(this,a.messages);this.Va=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return mc(b,a)}):void 0===global.$&&(global.$=function(a){return mc(b,a)})}z(hd); +function hd(a){x.call(this,"Debugger",a,hd);this.V=this.Ga=this.J=0;this.M=P();this.yb=P();this.D=-1;this.C=[];this.ia=!1;this.aa=P();this.H=[];this.ca={};this.w=this.R=this.F=[];id(this);this.ua=0;jd(this);this.Va=[];kd(this,a.messages);this.Xa=a.commands;var b=this;window?void 0===window.$&&(window.$=function(a){return mc(b,a)}):void 0===global.$&&(global.$=function(a){return mc(b,a)})}z(hd); var ld={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory",f:"frequencies","g [#]":"go [to #]",h:"halt","i [#]":"input port #","if":"eval expression",k:"stack trace",ln:"list nearest symbol(s)",m:"messages","o [#]":"output port #",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine","t [#]":"trace","u [#]":"unassemble",x:"execution options",v:"print version","var":"assign variable"},md="NONE ACI ADC ADD ADI ANA ANI CALL CC CM CNC CNZ CP CPE CPO CZ CMA CMC CMP CPI DAA DAD DCR DCX DI EI HLT IN INR INX JMP JC JM JNC JNZ JP JPE JPO JZ LDA LDAX LHLD LXI MOV MVI NOP ORA ORI OUT PCHL POP PUSH RAL RAR RET RC RM RNC RNZ RP RPE RPO RZ RLC RRC RST SBB SBI SHLD SPHL STA STAX STC SUB SUI XCHG XRA XRI XTHL".split(" "), nd="B C D E H L M A F BC DE HL PSW SP PC".split(" "),od=[[45],[42,2323,32],[71,2387],[29,2323],[28,17],[22,17],[44,17,32],[63],[45,32768],[21,6419],[40,2387],[23,2323],[28,273],[22,273],[44,273,32],[64],[45,32768],[42,2579,32],[71,2643],[29,2579],[28,529],[22,529],[44,529,32],[52],[45,32768],[21,6675],[40,2643],[23,2579],[28,785],[22,785],[44,785,32],[53],[45,32768],[42,2835,32],[68,99],[29,2835],[28,1041],[22,1041],[44,1041,32],[20],[45,32768],[21,6931],[41,99],[23,2835],[28,1297],[22,1297],[44, 1297,32],[16],[45,32768],[42,3347,32],[70,97],[29,3347],[28,1553],[22,1553],[44,1553,32],[72],[45,32768],[21,7443],[39,97],[23,3347],[28,1809],[22,1809],[44,1809,32],[17],[43,17,17],[43,17,273],[43,17,529],[43,17,785],[43,17,1041],[43,17,1297],[43,17,1553],[43,17,1809],[43,273,17],[43,273,273],[43,273,529],[43,273,785],[43,273,1041],[43,273,1297],[43,273,1553],[43,273,1809],[43,529,17],[43,529,273],[43,529,529],[43,529,785],[43,529,1041],[43,529,1297],[43,529,1553],[43,529,1809],[43,785,17],[43,785, @@ -70,87 +71,87 @@ nd="B C D E H L M A F BC DE HL PSW SP PC".split(" "),od=[[45],[42,2323,32],[71,2 [43,1809,1297],[43,1809,1553],[43,1809,1809],[3,17],[3,273],[3,529],[3,785],[3,1041],[3,1297],[3,1553],[3,1809],[2,17],[2,273],[2,529],[2,785],[2,1041],[2,1297],[2,1553],[2,1809],[73,17],[73,273],[73,529],[73,785],[73,1041],[73,1297],[73,1553],[73,1809],[66,17],[66,273],[66,529],[66,785],[66,1041],[66,1297],[66,1553],[66,1809],[5,17],[5,273],[5,529],[5,785],[5,1041],[5,1297],[5,1553],[5,1809],[76,17],[76,273],[76,529],[76,785],[76,1041],[76,1297],[76,1553],[76,1809],[46,17],[46,273],[46,529],[46, 785],[46,1041],[46,1297],[46,1553],[46,1809],[18,17],[18,273],[18,529],[18,785],[18,1041],[18,1297],[18,1553],[18,1809],[58],[50,2323],[34,35],[30,35],[11,35],[51,2323],[4,33],[65],[62],[54],[38,35],[30,32803],[15,35],[7,35],[1,33],[65],[57],[50,2579],[33,35],[48,33],[10,35],[51,2579],[74,33],[65],[55],[54,32768],[31,35],[27,33],[8,35],[7,32803],[67,33],[65],[61],[50,2835],[37,35],[78],[14,35],[51,2835],[6,33],[65],[60],[49],[36,35],[75],[13,35],[7,32803],[77,33],[65],[59],[50,3091],[35,35],[24], [12,35],[51,3091],[47,33],[65],[56],[69],[32,35],[25],[9,35],[7,32803],[19,33],[65]],Q={cpu:1,bus:64,mem:128,port:256,timer:2048,keyboard:65536,key:131072,video:262144,fdc:524288,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:536870912,warn:1073741824,halt:-2147483648};g=hd.prototype; -g.Ka=function(a,b,c,d){this.B=b;this.b=c;this.s=a;(a=jc(a,"messages"))&&kd(this,a);this.gb=od;pd(this,function(a){a:{var b=d.b.sa,c=a[0],h=a=0,l=b.length;if(c){a=T(U(d,c));if(-1===a){d.g("invalid address: "+c);break a}h=a>>>d.b.O;l=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;l--;){var p=b[h];p.type==c?m++||d.g("..."):(c=p.type,m=ac[c],p&&d.g(n(p.id)+" %"+n(h<>>c.O,c=e!=c.s?c.B[f].Ib(e,d):c.B[f++].bb(e,d)|c.B[f&c.K].bb(0,d+1)<<8;b&&qd(a,b)}return c}; -g.sb=function(a,b,c){var d=T(a);if(-1!==d){var e=this.B;e.B[(d&e.u)>>>e.O].Sa(d&e.s,b&255,d);c&&qd(a,c);I(this.b,!0)}};g.Mb=function(a,b,c){var d=T(a);if(-1!==d){var e=this.B,f=d&e.s,k=(d&e.u)>>>e.O;f!=e.s?e.B[k].Lb(f,b&65535,d):(e.B[k++].Sa(f,b&255,d),e.B[k&e.K].Sa(0,b>>8&255,d+1));c&&qd(a,c);I(this.b,!0)}};function P(a){return{w:a||0,fa:!1}}function rd(a){return[a.w,a.fa]}function sd(a){return{w:a[0],fa:a[1]}} -function U(a,b,c){var d;c=(c?a.L:a.vb).w;if(void 0!==b){d=b=td(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;c>>d.b.P;l=1}d.g("blockid physical blockaddr used size type");d.g("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;l--;){var p=b[h];p.type==c?m++||d.g("..."):(c=p.type,m=ac[c],p&&d.g(n(p.id)+" %"+n(h<>>c.P,c=e!=c.s?c.A[f].tb(e,d):c.A[f++].eb(e,d)|c.A[f&c.L].eb(0,d+1)<<8;b&&qd(a,b)}return c}; +g.ub=function(a,b,c){var d=T(a);if(-1!==d){var e=this.A;e.A[(d&e.w)>>>e.P].Ua(d&e.s,b&255,d);c&&qd(a,c);I(this.b,!0)}};g.Pb=function(a,b,c){var d=T(a);if(-1!==d){var e=this.A,f=d&e.s,k=(d&e.w)>>>e.P;f!=e.s?e.A[k].Ob(f,b&65535,d):(e.A[k++].Ua(f,b&255,d),e.A[k&e.L].Ua(0,b>>8&255,d+1));c&&qd(a,c);I(this.b,!0)}};function P(a){return{u:a||0,ka:!1}}function rd(a){return[a.u,a.ka]}function sd(a){return{u:a[0],ka:a[1]}} +function U(a,b,c){var d;c=(c?a.M:a.yb).u;if(void 0!==b){d=b=td(a,b);var e;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),c=0;cc&&(c=wa(nd,a.substr(b,2))));return c}function zd(a,b){var c=0,d=Ad(a,b);if(void 0!==d)switch(b){case 7:case 0:case 1:case 2:case 3:case 4:case 5:case 8:c=2;break;case 9:case 10:case 11:case 12:case 13:case 14:c=4}return c?n(d,c):"??"} -function Ad(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.za;break;case 8:c=Wc(d)&255;break;case 0:c=d.ka;break;case 1:c=d.na;break;case 9:c=d.ka<<8|d.na;break;case 2:c=d.oa;break;case 3:c=d.Aa;break;case 10:c=d.oa<<8|d.Aa;break;case 4:c=d.pa;break;case 5:c=d.Ba;break;case 11:c=d.pa<<8|d.Ba;break;case 12:c=d.za<<8|Wc(d)&255;break;case 13:c=d.Da;break;case 14:c=d.N}}return c} +function Ad(a,b){var c;if(0<=b){var d=a.b;switch(b){case 7:c=d.ha;break;case 8:c=Wc(d)&255;break;case 0:c=d.T;break;case 1:c=d.da;break;case 9:c=d.T<<8|d.da;break;case 2:c=d.ta;break;case 3:c=d.Ca;break;case 10:c=d.ta<<8|d.Ca;break;case 4:c=d.la;break;case 5:c=d.qa;break;case 11:c=d.la<<8|d.qa;break;case 12:c=d.ha<<8|Wc(d)&255;break;case 13:c=d.Ea;break;case 14:c=d.N}}return c} function Bd(a,b){b=td(a,b);for(var c=0,d,e;0<=(c=b.indexOf("@",c));)e=yd(b,c+1),0<=e&&(b=b.substr(0,c)+zd(a,e)+b.substr(c+1+nd[e].length)),c++;for(c=0;0<=(c=b.indexOf("#",c));)e=b.substr(c+1,2),d=da(e,16),null!=d&&32<=d&&128>d?(d=e+" '"+String.fromCharCode(d)+"'",b=b.replace("#"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("$",c));)e=b.substr(c+1,9),(d=U(a,e))?(d=e+' "'+xd(a,d)+'"',b=b.replace("$"+e,d),c+=d.length):c++;for(c=0;0<=(c=b.indexOf("^",c));)e=b.substr(c+1,9),(d=U(a,e))?(qd(d),d=e+' "'+ -xd(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}g.message=function(a,b){b&&(a+=" at "+n(P(this.b.N).w,4));if(!this.ra||a!=this.ra)if(this.ra=a,this.W&-2147483648&&(this.S(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.Pa=0;c.G-=c.u;c.u=0;I(c)}};function Cd(a,b,c,d){a.message(b.Ua+"."+(null!=d?"outPort":"inPort")+"("+q(c)+",unknown"+(null!=d?",0x"+n(d,2):"")+")")} -function jd(a){var b;if($c(a)){if(!a.K||!a.K.length){a.K=Array(1E3);for(b=0;b>>d.O],!1)}a.M=["br"];if(void 0!==a.F)for(b=1;b>>d.O],!0);a.F=["bw"];a.xb=0}g.ta=function(a,b,c){var d=!0;c||Jd(this,a,b,!1,!0);if(a!=this.u){var e=T(b);if(-1===e)this.g("invalid address: "+n(b.w,4)),d=!1;else{var f=this.b;f.sa[e>>>f.O].ta(e&f.M,a==this.F)}}d&&(a.push(b),c?b.fa=!0:(Kd(this,a,a.length-1,"set"),jd(this)));return d}; -function Jd(a,b,c,d,e){var f=!1;c=T(c);for(var k=1;k>>d.O],b==a.F));h.fa||jd(a);break}}return f}function Ld(a,b){for(var c=1;c>24,4);break;case 3:B=n(r.fb(K,2),4);break;default:B="imm("+q(t)+")"}r=B}else 16==K&&(r=nd[(t&3840)>>8]);if(!r||!r.length){f="INVALID";break}0=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; +xd(a,d,11)+'"',b=b.replace("^"+e,d),c+=d.length):c++;return b}g.message=function(a,b){b&&(a+=" at "+n(P(this.b.N).u,4));if(!this.va||a!=this.va)if(this.va=a,this.Y&-2147483648&&(this.U(),a+=" (cpu halted)"),this.g(a),this.b){var c=this.b;c.i.Qa=0;c.D-=c.b;c.b=0;I(c)}};function Cd(a,b,c,d){a.message(b.Wa+"."+(null!=d?"outPort":"inPort")+"("+q(c)+",unknown"+(null!=d?",0x"+n(d,2):"")+")")} +function jd(a){var b;if(Zc(a)){if(!a.L||!a.L.length){a.L=Array(1E3);for(b=0;b>>d.P],!1)}a.R=["br"];if(void 0!==a.F)for(b=1;b>>d.P],!0);a.F=["bw"];a.Ab=0}g.wa=function(a,b,c){var d=!0;c||Jd(this,a,b,!1,!0);if(a!=this.w){var e=T(b);if(-1===e)this.g("invalid address: "+n(b.u,4)),d=!1;else{var f=this.b;f.ga[e>>>f.P].wa(e&f.I,a==this.F)}}d&&(a.push(b),c?b.ka=!0:(Kd(this,a,a.length-1,"set"),jd(this)));return d}; +function Jd(a,b,c,d,e){var f=!1;c=T(c);for(var k=1;k>>d.P],b==a.F));h.ka||jd(a);break}}return f}function Ld(a,b){for(var c=1;c>24,4);break;case 3:B=n(r.hb(K,2),4);break;default:B="imm("+q(t)+")"}r=B}else 16==K&&(r=nd[(t&3840)>>8]);if(!r||!r.length){f="INVALID";break}0=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9}; function Qd(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break; case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0} function ud(a,b,c){var d;if(b){b=td(a,b);for(var e=0,f=!1,k=b,h=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e>=1;k=p+"b"+k;d>>=8}d="0x"+n(c)+" "+c+". ("+k+")"}a.g((null!=b?b+": ":"")+d);return e}function se(a,b){if(b)return re(a,b,a.aa[b]);var c=0;for(b in a.aa)re(a,b,a.aa[b]),c++;return 0b[0]?1:a[0]>>0;for(b=0;b>>0,h=f.Ub;if(e>=k&&e>1|d.A>>2,d.F^=32896));break;case "I":k?(d=a.b,d.Ca|=512):(d=a.b,d.Ca&=-513);break;default:a.g("unknown register: "+d);return}}if(!f){a.g("invalid value: "+e);return}I(a.b);a.g("updated registers:")}a.g(V(a,7)+V(a,8)+V(a,0)+V(a,1)+V(a,2)+V(a,3)+V(a,4)+V(a,5)+V(a,13)+Od(a,"I")+Od(a,"S")+Od(a,"Z")+Od(a,"A")+Od(a,"P")+Od(a,"C"));c&&(a.L=P(a.b.N),Fd(a,n(a.L.w,4)))}} -function ye(a,b){b=sa(b);var c=b.match(/^(['"])(.*?)\1$/);c?a.g(Bd(a,c[2])):ud(a,b,!0)}function ze(a,b,c){var d="t"!=b;c=Rd(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Ka(c,function(){return pb(a,!0)&&a.Ra(e,d,!1)},function(){I(a.b);pb(a,!1)})} -function Fd(a,b,c,d){if(b=U(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c){d=U(a,c,!0);if(!d||d.wh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(k=h[3],f=null);f=Nd(a,b,k,f);a.g(f);a.L=b;e-=b.w-l;c++}}} -function wd(a,b,c,d){if(c)if(b){0>a.D&&a.A.length&&(a.D=0);if(0>a.D||b!=a.A[a.D])a.A.splice(0,0,b),a.D=0;a.D--}else b=a.A[a.D+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var k=b.charAt(f);if('"'==k||"'"==k)e?k==e&&(e=null):e=k;else if(k==d&&!e||!k)a.push(sa(b.substring(c,f))),c=f+1}}return a} -function Md(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.da&&(a.g("ended assemble at "+n(a.Y.w,4)),a.L=a.Y,a.da=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.ra=null;if(rb(a)&&0m||"z"aa.length&&(a.g("note: only "+aa.length+" available"),L=aa.length);D-=L;0>D&&(null==aa[aa.length-1].w?(L=D+L,D=0):D+=aa.length);var vc=[];"call"==Xd&& -(Ga=1E5,vc=["CALL"]);for(void 0!==Wd&&a.g(L+" instructions earlier:");0=aa.length&&(D=0);a.yb=L;Zd++;Ga--}}Zd||(a.g("no "+Yd+"history available"),a.yb=void 0)}else{var Fb=U(a,Y);if(Fb){var Gb=0;na&&("l"==na.charAt(0)&&(na=na.substr(1)||Ve),Gb=Rd(a,na)>>>0,65536>4||1,wc="dd"== -Da?4:"dw"==Da?2:1,be=0;bezc;zc++){var Ib=a.la(Fb,1),Hb=Hb|Ib<<(xc++<<3);xc==wc&&($a+=n(Hb,2*wc),$a+=1==wc?7==zc?"-":" ":" ",Hb=xc=0);yc+=32<=Ib&&128>Ib?String.fromCharCode(Ib):"."}oa&&(oa+="\n");oa+=Y+" "+$a+" "+yc}oa&&a.g(oa);a.vb=Fb}}}}break;case "e":if("else"==f[0])break;var Jb=1,ce=255,de=a.la,ee=a.sb;"ew"==f[0]&&(Jb=2,ce=65535,de=a.fb,ee=a.Mb);var fe=Jb<<1,ge=f[1];if(null==ge)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"), -a.g("\tew [a] [...] edit words at address a");else{var Kb=U(a,ge);if(Kb)for(var Lb=2;LbJc;){for(var pa=null,af=256;65536>db.w>>>0;){ie.w=a.fb(db,2);if(null==db.w||!af--)break; -for(var bf=a,Nb=ie,je=null,eb=Nb.w,ke=eb,Kc=1;6>=Kc&&eb;Kc++){if(2>>=Pc)&ff;if(void 0!==Pb){if(Pb[0])Pb[0](ja,Qb,void 0);S.C&&S.G!=Pb[1]&&Id(S.C,ja,Qb)}else S.C&& -(Cd(S.C,S,ja,Qb),S.G&&Id(S.C,ja,Qb));Pc+=fb<<3;ja+=fb;Oc-=fb}a.g(q(Mc)+": "+("0x"+n(Nc,2)))}}else a.g("output commands:"),a.g("\to [p] [b]\twrite byte [b] to port [p]"),a.g("warning: port accesses can affect hardware state");break;case "p":if("print"==f[0]){ye(a,b.substr(5));break}var pe="pr"==f[0]?1:0,gf=1+pe;if(a.P)a.g("step in progress");else{var Qc=P(a.b.N);switch(a.la(Qc)){case 205:a.P=gf,qd(Qc,3)}a.P?(a.ta(a.u,Qc,!0),a.Ea()||(a.s&&a.s.cb(),a.P=0)):ze(a,pe?"tr":"t")}break;case "r":if("reset"== -b){a.s&&a.s.reset();break}Ed(a,f);break;case "t":ze(a,f[0],f[1]);break;case "u":Fd(a,f[1],f[2],8);break;case "v":if("var"==f[0]){we(a,b.substr(3))||(d=!1);break}a.g("PC8080 version 1.21.7 ("+a.b.Db+",RELEASE"+(tb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(ya());break;case "x":a:if(f[1]&&"?"!=f[1])switch(f[1]){case "cs":var gb;void 0!==f[3]&&(gb=+f[3]);switch(f[2]){case "int":a.b.i.Ma=gb;break;case "start":a.b.i.Xa=gb;break;case "stop":a.b.i.Oa=gb;break;default:a.g("unknown cs option");break a}void 0!== -gb&&lc(a.b);a.g("checksums "+(a.b.j.Ha?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(qc(a.b,+f[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.i.wa.toFixed(2)+"Mhz")+" ("+a.b.i.ya+"x)");break;default:a.g("unknown option: "+f[1])}else a.g("execution options:"),a.g("\tcs int #\tset checksum cycle interval to #"),a.g("\tcs start #\tset checksum cycle start count to #"),a.g("\tcs stop #\tset checksum cycle stop count to #"),a.g("\tsp #\t\tset speed multiplier to #"); -break;case "?":if(f[1]){ye(a,b.substr(1));break}var hb="commands:",Rc;for(Rc in ld)hb+="\n"+ra(Rc,7)+ld[Rc];$c(a)||(hb+="\nnote: frequency/history disabled if no exec breakpoints");a.g(hb);break;default:a.g("unknown command: "+b),d=!1}}}catch(qe){a.g("debugger error: "+(qe.stack||qe.message)),d=!1}return d}function mc(a,b,c){b=wd(a,b,c);for(var d in b)if(!Md(a,b[d]))return!1;return!0}Qa(function(){for(var a=F(document,"pc8080","debugger"),b=0;b>=1;k=p+"b"+k;d>>=8}d="0x"+n(c)+" "+c+". ("+k+")"}a.g((null!=b?b+": ":"")+d);return e}function se(a,b){if(b)return re(a,b,a.ca[b]);var c=0;for(b in a.ca)re(a,b,a.ca[b]),c++;return 0b[0]?1:a[0]>>0;for(b=0;b>>0,h=f.Xb;if(e>=k&&eh[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.g(m)}h[3]&&(k=h[3],f=null);f=Nd(a,b,k,f);a.g(f);a.M=b;e-=b.u-l;c++}}} +function wd(a,b,c,d){if(c)if(b){0>a.D&&a.C.length&&(a.D=0);if(0>a.D||b!=a.C[a.D])a.C.splice(0,0,b),a.D=0;a.D--}else b=a.C[a.D+1];a=[];if(b){b=b.toLowerCase().replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var k=b.charAt(f);if('"'==k||"'"==k)e?k==e&&(e=null):e=k;else if(k==d&&!e||!k)a.push(sa(b.substring(c,f))),c=f+1}}return a} +function Md(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.g(">> "+b):(a.ia&&(a.g("ended assemble at "+n(a.aa.u,4)),a.M=a.aa,a.ia=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.va=null;if(rb(a)&&0m||"z"aa.length&&(a.g("note: only "+aa.length+" available"),L=aa.length);D-=L;0>D&&(null==aa[aa.length-1].u?(L=D+L,D=0):D+=aa.length);var tc=[];"call"==Xd&& +(Ga=1E5,tc=["CALL"]);for(void 0!==Wd&&a.g(L+" instructions earlier:");0=aa.length&&(D=0);a.Bb=L;Zd++;Ga--}}Zd||(a.g("no "+Yd+"history available"),a.Bb=void 0)}else{var Eb=U(a,Y);if(Eb){var Fb=0;na&&("l"==na.charAt(0)&&(na=na.substr(1)||Ve),Fb=Rd(a,na)>>>0,65536>4||1,uc="dd"== +Da?4:"dw"==Da?2:1,be=0;bexc;xc++){var Hb=a.ra(Eb,1),Gb=Gb|Hb<<(vc++<<3);vc==uc&&($a+=n(Gb,2*uc),$a+=1==uc?7==xc?"-":" ":" ",Gb=vc=0);wc+=32<=Hb&&128>Hb?String.fromCharCode(Hb):"."}oa&&(oa+="\n");oa+=Y+" "+$a+" "+wc}oa&&a.g(oa);a.yb=Eb}}}}break;case "e":if("else"==f[0])break;var Ib=1,ce=255,de=a.ra,ee=a.ub;"ew"==f[0]&&(Ib=2,ce=65535,de=a.hb,ee=a.Pb);var fe=Ib<<1,ge=f[1];if(null==ge)a.g("edit memory commands:"),a.g("\teb [a] [...] edit bytes at address a"), +a.g("\tew [a] [...] edit words at address a");else{var Jb=U(a,ge);if(Jb)for(var Kb=2;KbHc;){for(var pa=null,af=256;65536>db.u>>>0;){ie.u=a.hb(db,2);if(null==db.u||!af--)break; +for(var bf=a,Mb=ie,je=null,eb=Mb.u,ke=eb,Ic=1;6>=Ic&&eb;Ic++){if(2>>=Nc)&ff;if(void 0!==Ob){if(Ob[0])Ob[0](ja,Pb,void 0);S.B&&S.H!=Ob[1]&&Id(S.B,ja,Pb)}else S.B&& +(Cd(S.B,S,ja,Pb),S.H&&Id(S.B,ja,Pb));Nc+=fb<<3;ja+=fb;Mc-=fb}a.g(q(Kc)+": "+("0x"+n(Lc,2)))}}else a.g("output commands:"),a.g("\to [p] [b]\twrite byte [b] to port [p]"),a.g("warning: port accesses can affect hardware state");break;case "p":if("print"==f[0]){ye(a,b.substr(5));break}var pe="pr"==f[0]?1:0,gf=1+pe;if(a.S)a.g("step in progress");else{var Oc=P(a.b.N);switch(a.ra(Oc)){case 205:a.S=gf,qd(Oc,3)}a.S?(a.wa(a.w,Oc,!0),a.Fa()||(a.s&&a.s.fb(),a.S=0)):ze(a,pe?"tr":"t")}break;case "r":if("reset"== +b){a.s&&a.s.reset();break}Ed(a,f);break;case "t":ze(a,f[0],f[1]);break;case "u":Fd(a,f[1],f[2],8);break;case "v":if("var"==f[0]){we(a,b.substr(3))||(d=!1);break}a.g("PC8080 version 1.21.7 ("+a.b.Gb+",RELEASE"+(tb?",TYPEDARRAYS":",LONGARRAYS")+")");a.g(ya());break;case "x":a:if(f[1]&&"?"!=f[1])switch(f[1]){case "cs":var gb;void 0!==f[3]&&(gb=+f[3]);switch(f[2]){case "int":a.b.i.Na=gb;break;case "start":a.b.i.Za=gb;break;case "stop":a.b.i.Pa=gb;break;default:a.g("unknown cs option");break a}void 0!== +gb&&lc(a.b);a.g("checksums "+(a.b.j.Ia?"enabled":"disabled"));break;case "sp":void 0!==f[2]&&(qc(a.b,+f[2])||a.g("warning: using 1x multiplier, previous target not reached"));a.g("target speed: "+(a.b.i.za.toFixed(2)+"Mhz")+" ("+a.b.i.Ba+"x)");break;default:a.g("unknown option: "+f[1])}else a.g("execution options:"),a.g("\tcs int #\tset checksum cycle interval to #"),a.g("\tcs start #\tset checksum cycle start count to #"),a.g("\tcs stop #\tset checksum cycle stop count to #"),a.g("\tsp #\t\tset speed multiplier to #"); +break;case "?":if(f[1]){ye(a,b.substr(1));break}var hb="commands:",Pc;for(Pc in ld)hb+="\n"+ra(Pc,7)+ld[Pc];Zc(a)||(hb+="\nnote: frequency/history disabled if no exec breakpoints");a.g(hb);break;default:a.g("unknown command: "+b),d=!1}}}catch(qe){a.g("debugger error: "+(qe.stack||qe.message)),d=!1}return d}function mc(a,b,c){b=wd(a,b,c);for(var d in b)if(!Md(a,b[d]))return!1;return!0}Qa(function(){for(var a=F(document,"pc8080","debugger"),b=0;bJe){if(Fe(d,this.K)){this.F=new J(this,W,"failsafe");Fe(this.F)&&(Oe(this,d),a=2,Ce(this.F));M(this.F,"timestamp",va());De(this.F);var e=this.s&&!this.G;if(1==a||za("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=Ee(d)){var f=Ge(d,"code"),k=Ge(d,"data");f&&("ok"==f?Fe(d,k):("error"==f&&"no machine state"!= -k?(this.Z("Error: "+k),"unable to verify user"==k&&(Ia("user",""),this.u=null)):this.g(f+": "+k),Ce(d),Fe(d)?(c=Ee(d),e=!0):c=!1))}e&&Ne(this,c?d:null)}else 2==a&&d.clear()}else Ne(this);delete this.K;delete this.L}e=C(this.id);for(f=0;fa[1];a=a[2];this.j.U=!0;var d=this.H.power;d&&(d.textContent="Shutdown");this.T||(this.g("PC8080 v"+W+"\nCopyright \u00a9 2012-2016 Jeff Parsons \nLicense: GPL version 3 or later "),this.T=!0);this.b&&(Pe(this,this.b,b,c,a),nc(this.b));this.Y&&(Oe(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.A=0}; -function Oe(a,b){if(za("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.ea,d=a.u||"",e=b.toString(),f={app:"PC8080"};f.ver=W;f.url=c;f.user=d;f.type="bug";f.data=e;u("http://www.pcjs.org/api/v1/report",f,!0)}} -function Ae(a,b,c){var d,e="none";if(a.A)return null;a.A--;var f=new J(a,W),k=new J(a,W,"validate"),h=va();M(k,"timestamp",h);M(f,"timestamp",h);M(f,"version","1.21.7");M(f,"url",window?window.location.href:null);M(f,"browser",ya());a.b&&a.b.ia&&(c&&a.b.S(),d=a.b.ia(b,c),"object"===typeof d&&M(f,a.b.id,d),c&&(a.b.j.U=!1,!1===d&&(e=null)));for(var h=C(a.id),l=0;lJe){if(Fe(d,this.L)){this.F=new J(this,W,"failsafe");Fe(this.F)&&(Oe(this,d),a=2,Ce(this.F));M(this.F,"timestamp",va());De(this.F);var e=this.s&&!this.H;if(1==a||za("Click OK to restore the previous PC8080 machine state, or CANCEL to reset the machine.")){if(c=Ee(d)){var f=Ge(d,"code"),k=Ge(d,"data");f&&("ok"==f?Fe(d,k):("error"==f&&"no machine state"!= +k?(this.ba("Error: "+k),"unable to verify user"==k&&(Ia("user",""),this.w=null)):this.g(f+": "+k),Ce(d),Fe(d)?(c=Ee(d),e=!0):c=!1))}e&&Ne(this,c?d:null)}else 2==a&&d.clear()}else Ne(this);delete this.L;delete this.M}e=C(this.id);for(f=0;fa[1];a=a[2];this.j.W=!0;var d=this.G.power;d&&(d.textContent="Shutdown");this.V||(this.g("PC8080 v"+W+"\nCopyright \u00a9 2012-2016 Jeff Parsons \nLicense: GPL version 3 or later "),this.V=!0);this.b&&(Pe(this,this.b,b,c,a),nc(this.b));this.aa&&(Oe(this,b),b.clear());!c&&this.F&&(this.F.clear(),delete this.F);this.C=0}; +function Oe(a,b){if(za("There may be a problem with your PC8080 machine.\n\nTo help us diagnose it, click OK to send this PC8080 machine state to http://www.pcjs.org.")){var c=a.ja,d=a.w||"",e=b.toString(),f={app:"PC8080"};f.ver=W;f.url=c;f.user=d;f.type="bug";f.data=e;u("http://www.pcjs.org/api/v1/report",f,!0)}} +function Ae(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new J(a,W),k=new J(a,W,"validate"),h=va();M(k,"timestamp",h);M(f,"timestamp",h);M(f,"version","1.21.7");M(f,"url",window?window.location.href:null);M(f,"browser",ya());a.b&&a.b.oa&&(c&&a.b.U(),d=a.b.oa(b,c),"object"===typeof d&&M(f,a.b.id,d),c&&(a.b.j.W=!1,!1===d&&(e=null)));for(var h=C(a.id),l=0;lh.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(h=window.location.pathname+h);d?"}"==d.slice(-1)?(d=d.slice(0,-1),1]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(h?' url="'+h+'"':""))}e||(a=a.replace(/().*?(<\/xsl:variable>)/,"$1pc8080$2")); h=null;if("<"==a.charAt(0))try{e||(a=a.replace(/\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(h=new window.ActiveXObject("Microsoft.XMLDOM"),h.async=!1,h.loadXML(a)):h=(new window.DOMParser).parseFromString(a,"text/xml")}catch(r){h=null,a=r.message}else a="unrecognized XML: "+(255/g.exec(a)){var e=d[2];b("Loading "+e+"...");u(e,null,!0,function(f,k,h){if(h||!k)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=k.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,p=/( [a-z]+=)(['"])(.*?)\2/g;m=p.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(k=k.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}k=k.replace(/<\?xml[^>]*>[\r\n]*/, @@ -162,4 +163,4 @@ function lf(a,b,c,d){if(!c&&b){d.push(b);a=jb[d[0]];b=null;for(var e in a)if(ka( function mf(a,b){var c,d,e,f=b[0],k=b[1];c=b[4];c=c.match(/^(\s*\(function\(\)\{)([\s\S]*)(}\)\(\);\s*)$/);var h=jb[f],l={},m;for(m in h){var p=h[m],r=fa(m);if("xml"==r){for(r=/[ \t]*]*path=(['"])(.*?)\1.*?<\/disk>\n?/g;d=r.exec(h[m]);){var t=d[2];t&&(h[t]||(p=p.replace(d[0],"")))}d=m=ea(m)}else"xsl"==r&&(e=m=ea(m));l[m]=p}a&&(l[m="css"]=a);b[2]&&(l[m="parms"]=b[2]);b[3]&&(l[m="state"]=b[3]);d&&e?(m=JSON.stringify(l),k+=".js",c=c[1]+"var resources="+m+";"+c[2]+c[3],c=c.replace(/\u00A9/g, "©"),m=k,h=null,l="data:application/javascript,",l=Ja("Firefox")?l+encodeURIComponent(c):l+encodeURI(c),m&&(h=document.createElement("a"),"string"!=typeof h.download&&(h=null)),h?(h.href=l,h.download=m,document.body.appendChild(h),h.click(),document.body.removeChild(h),c="Check your Downloads folder for "+m+"."):(window.open(l),c="Check your browser for a new window/tab containing the requested data"+(m?" ("+m+")":"")+"."),c+=', copy it to your web server as "'+k+'", and then add the following to your web page:\n\n', c+='
    \n',c+="...\n",c+='